Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

Помогите определить связи   Найти похожие ветки 

 
freak   (2006-07-06 18:00) [0]

Доброго времени суток.

Задача: Имеется таблица сущностей. Некоторые сущности могут при определенных условиях "заменять" другие (не в самой таблице, а как бы... хм... в реальной жизни). Причем есть такие, которые заменяются не одной, а сразу несколькими. Например, при продаже... есть номенклатура книга (1шт.), включающаяя в себя несколько томов, которая в случае отсутствия на складе может быть заменена несколькими книгами по одному тому. Как определить подобную связь в БД?

Заранее благодарен.


 
Ega23 ©   (2006-07-06 18:04) [1]

Сделать ещё одну таблицу со связью "многие-ко-многим" на данную таблицу.


 
freak   (2006-07-06 18:08) [2]

Под конец дня че-т туго соображается, можно проиллюстрировать? Если не затруднит конечно =/


 
Ega23 ©   (2006-07-06 18:14) [3]



alter table GoodSubstitutes
  drop constraint FK_GOODSUBS_REF_GOODS
go

alter table GoodSubstitutes
  drop constraint FK_GOODSUBS_REF2_GOODS
go

if exists (select 1
           from  sysobjects
          where  id = object_id("GoodSubstitutes")
           and   type = "U")
  drop table GoodSubstitutes
go

if exists (select 1
           from  sysobjects
          where  id = object_id("Goods")
           and   type = "U")
  drop table Goods
go

/*==============================================================*/
/* Table: GoodSubstitutes                                       */
/*==============================================================*/
create table GoodSubstitutes (
  UNID                 Int Identity(0,1)              not null,
  GoodID               int                            null,
  SubstGoodID          int                            null
)
go

/*==============================================================*/
/* Table: Goods                                                 */
/*==============================================================*/
create table Goods (
  GoodID               int                            not null,
  GoodName             varchar(255)                   not null,
  constraint PK_GOODS primary key  (GoodID)
)
go

alter table GoodSubstitutes
  add constraint FK_GOODSUBS_REF_GOODS foreign key (GoodID)
     references Goods (GoodID)
go

alter table GoodSubstitutes
  add constraint FK_GOODSUBS_REF2_GOODS foreign key (SubstGoodID)
     references Goods (GoodID)
go

Print "===  Cоздание  объектов  БД завершено"
go


 
Ega23 ©   (2006-07-06 18:16) [4]

В таком вот акцепте. На большее уж извини - сейчас времени вообще нет...

В принципе, это скрипт на создание структур таблиц.
Думаю разберёшься.


 
Desdechado ©   (2006-07-07 10:31) [5]

Пришел купить энциклопедию в 10 томах, а мне дали 5 томов Есенина и 5 сборников кроссвордов?
что-то мне это напоминает...



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.041 c
2-1155927508
ronyn
2006-08-18 22:58
2006.09.10
Таки не ответили


1-1153903742
youta
2006-07-26 12:49
2006.09.10
Уважаемые мастера! Как по кнопке Esc закрыть окно формы??


15-1155117731
Аноним
2006-08-09 14:02
2006.09.10
Есть ли в Windows возможность использовать несколько мышей?


3-1151917108
Bless
2006-07-03 12:58
2006.09.10
Как отловить момент, когда в DBGrid-е перешли на другую запись?


4-1147767225
aleks_z
2006-05-16 12:13
2006.09.10
SetupApi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский