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

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

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

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

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

Т.ч., Харумамбуру , определяйся.
...
Рейтинг: 0 / 0
03.08.2010, 16:26
    #36773366
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Направление связи между реляциями
ЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁотстал от жизни - что такое "реляции"
Просвящайся !
...
Рейтинг: 0 / 0
03.08.2010, 18:40
    #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
03.08.2010, 21:48
    #36773978
bootty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Направление связи между реляциями
Харумамбуру... медицинские услуги и оказываются только физическим лицам.Адрес прописки - г. Самара. Адрес временной регистрации - г. Москва. Адрес фактического проживания - г. Балашиха. Что будете хранить и как использовать? (:
...
Рейтинг: 0 / 0
03.08.2010, 21:56
    #36773986
Rin@t
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Направление связи между реляциями
boottyХарумамбуру... медицинские услуги и оказываются только физическим лицам.Адрес прописки - г. Самара. Адрес временной регистрации - г. Москва. Адрес фактического проживания - г. Балашиха. Что будете хранить и как использовать? (:Медикам чаще всего требуется фактический адрес проживания.
...
Рейтинг: 0 / 0
04.08.2010, 11:47
    #36774658
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Направление связи между реляциями
lLocust wrote:
> 1й совет Client (единственное число) и Address (множественное число) -
> определитесь.

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

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


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

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


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