powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Направление связи между реляциями
15 сообщений из 15, страница 1 из 1
Направление связи между реляциями
    #36773054
Прошу прощения, если тема уже обсуждалась. Подскажите, как правильнее будет сделать. Есть 2 таблицы: Client и Address. Как направлена связь между ними? Что на что ссылается?
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773088
Фотография lLocust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Харумамбуру,
1й совет Client (единственное число) и Address (множественное число) - определитесь.

Далее, если чуть-чуть подумать, то клиент - один, а адресов у него много... значит адреса ссылаются на клиента:
Clients
CL_IDnameSortNameblablabla1name1SortName1blablabla12name2SortName2blablabla2
Address
A_ID CL_IDcitystreetblablabla1 1city1street1blablabla12 1city2street2blablabla23 1city3street3blablabla34 2city21street21blablabla21
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773112
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lLocustХарумамбуру,
1й совет Client (единственное число) и Address (множественное число) - определитесь.

Далее, если чуть-чуть подумать, то клиент - один, а адресов у него много... значит адреса ссылаются на клиента:
Clients
CL_IDnameSortNameblablabla1name1SortName1blablabla12name2SortName2blablabla2
Address
A_ID CL_IDcitystreetblablabla1 1city1street1blablabla12 1city2street2blablabla23 1city3street3blablabla34 2city21street21blablabla21

смотря в каком контексте говорить, от предметной области зависит, может быть и наоборот
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773205
lLocust1й совет Client (единственное число) и Address (множественное число) - определитесь.Не понял, с чем определится? Вса названия таблиц в единственном числе, я так всегда делаю. Считаете что это неправильно или что?
lLocustДалее, если чуть-чуть подумать, то клиент - один, а адресов у него много... значит адреса ссылаются на клиента:Подумал. В соответствии с текущей бизнес-логикой у клиента может быть один только один адрес на определенном отрезке времени. Это адрес прописки физлица.
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773266
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХарумамбуруВ соответствии с текущей бизнес-логикой у клиента может быть один только один адрес на определенном отрезке времени. Это адрес прописки физлица.
Вооот, уже вопрос: а историю адресов хранить надо или нет?
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773340
Фотография bootty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХарумамбуруПодумал. В соответствии с текущей бизнес-логикой у клиента может быть один только один адрес на определенном отрезке времени. Это адрес прописки физлица.Все клиенты — физ.лица?
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773354
отстал от жизни - что такое "реляции"
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773361
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХарумамбуруlLocust1й совет Client (единственное число) и Address (множественное число) - определитесь.Не понял, с чем определится?
Т.с. с сопоставлением количества штук одного с количеством штук другого.

Например если первичным рассматриваем клиентов - то адреса должны ссылаться на них. Если же имеем первичным адрес (например сдаём квартиры в домах) - тогда клиентура будет ссылаться на адрес.

Т.ч., Харумамбуру , определяйся.
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773366
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁотстал от жизни - что такое "реляции"
Просвящайся !
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773747
boottyХарумамбуруПодумал. В соответствии с текущей бизнес-логикой у клиента может быть один только один адрес на определенном отрезке времени. Это адрес прописки физлица.Все клиенты — физ.лица?Да. Это медицинские услуги и оказываются только физическим лицам.NafХарумамбуруВ соответствии с текущей бизнес-логикой у клиента может быть один только один адрес на определенном отрезке времени. Это адрес прописки физлица.
Вооот, уже вопрос: а историю адресов хранить надо или нет?Прааавильно ставите вопросы, товарищ ))) Пока неизвестно нужна ли история, но думаю, что лучше пусть будет. Тогда направление связи от Address к Client и скрипт создания таблиц (простите за некоторую академичность в терминологии с этими реляциями я загнул, конечно =) ) будет такой
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create table client(
  client_id int not null,
  surname varchar( 30 ) not null,
  name varchar( 30 ) not null,
  midname varchar( 30 ) not null
);

create table address(
  address_id int not null,
  client_id int not null,
  from_date date default current_date not null,
  to_date date default '3000-01-01' not null
;

alter table client add constraint pk_client primary key(client_id);
alter table address add constraint pk_address primary key(address_id);
alter table address add constraint fk_address_client
  foreign key(client_id) references client(client_id);
alter table address add constraint uq_address unique(client_id, to_date);
commit;
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773978
Фотография bootty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Харумамбуру... медицинские услуги и оказываются только физическим лицам.Адрес прописки - г. Самара. Адрес временной регистрации - г. Москва. Адрес фактического проживания - г. Балашиха. Что будете хранить и как использовать? (:
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36773986
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boottyХарумамбуру... медицинские услуги и оказываются только физическим лицам.Адрес прописки - г. Самара. Адрес временной регистрации - г. Москва. Адрес фактического проживания - г. Балашиха. Что будете хранить и как использовать? (:Медикам чаще всего требуется фактический адрес проживания.
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36774658
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lLocust wrote:
> 1й совет Client (единственное число) и Address (множественное число) -
> определитесь.

Это смотря на каком языке. На английском, например, -- единственное.

>
> Далее, если чуть-чуть подумать, то клиент - один, а адресов у него
> много... значит адреса ссылаются на клиента:


Если немного ещё подумать, то клиентов у финмы тоже много.
и адресов у них ещё больще. Ты уж определись, так сказать...

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36774794
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Харумамбуру wrote:

> Прошу прощения, если тема уже обсуждалась. Подскажите, как правильнее
> будет сделать. Есть 2 таблицы: Client и Address. Как направлена связь
> между ними? Что на что ссылается?

Твою постановку задачи никто кроме тебя не знает. ОБычно конечно же
у клиента Client есть адрес (Adress) т.е. в таблице Adress должна быть
ссылка на Client , foreign key (client_id) references Client.

Это если Client --один-ко-многим-- Adress

если Client --многие-к-одному-- Adress, то будет ровно наоборот,
в таблице Client поле adress_id, foreign key (adress_id) references Adress.

Если Client --многие-ко-многим-- Adress, то вообще ещё одну таблицу
нужно делать, адреса клиента.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Направление связи между реляциями
    #36775311
Ortogon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае наверное не так уж и важно, что на что ссылается, хотя в таблице адреса в ключ лучче добавить поле, до какой даты он действует. А вот если вы что-то дальше планируете развивать, то предпочтительнее ссылка из таблицы клиентов на адрес. Потому что потом на эту таблицу адресов можно будет добавить ссылок из таблиц: Поставщики, Подотчетники, Сотрудники, Банки и другие.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Направление связи между реляциями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]