Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Отношение "многие ко многим" (Илья Коробков) 20/11/2001 - 13:52:35
      Re: Отношение (Василий) 20/11/2001 - 15:32:49
      Re: Отношение (dim-dim) 20/11/2001 - 20:48:37
      Re: Отношение (Танечка) 23/02/2007 - 21:55:58
      Re: Отношение (Cesar) 08/02/2008 - 03:54:34
      Re: Отношение (Cesar) 09/02/2008 - 02:00:10

> Original message text:
> From: Илья Коробков - 20/11/2001 - 13:52:35
> Subject:Отношение "многие ко многим"
> -----------------
> Здравствуйте!
> Подскажите, пожалуйста, что и где в Интернете можно почитать про создание БД с использованием отношения "многие ко многим"? Что-то я даже в довольно толстой книжке "MySQL" Поля Дюбуа не нашел ничего на эту тему (что, вообще говоря, странно).
> Спасибо!
>


From: Василий - 20/11/2001 - 15:32:49
Subject:Отношение
-----------------
А здесь ничего сложного нет.

Вкратце дело обстоит так :

Такое отношение между двумя сущностями реализуется через таблицу - связку.

create table Items1(Item1ID int not null, ... , primary key Item1ID);

create table Items2(Item2ID int not null, ... , primary key Item2ID);

create table ItemLinks(Item1ID int not null, Item2ID int not null, ... , primary key (Item1ID, Item2ID));

впрочем, последнего primary key может и не быть - в случае если конкретные Item1 и Item2 могут быть связаны больше одного раза.

вообще, для полноты картины следовало бы в
create table ItemLinks
добавить
foreign key (Item1ID) references Items1(Item1ID),
foreign key (Item2ID) references Items2(Item2ID)

но пока mysql поддерживает внешние ключи только в 4-й версии, которая альфа, да и то неполно (они теряются при вызове alter table, кажется (точно не помню) отсутствуют on delete cascade).


в сети конкретных ссылок указать не укажу, но думаю, что искать надо что-нить по проектированию баз данных, обычно там это освещают.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
33023



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |