![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите определить связи
freak © (2006-07-06 18:00:00)Доброго времени суток.
Задача: Имеется таблица сущностей. Некоторые сущности могут при определенных условиях "заменять" другие (не в самой таблице, а как бы... хм... в реальной жизни). Причем есть такие, которые заменяются не одной, а сразу несколькими. Например, при продаже... есть номенклатура книга (1шт.), включающаяя в себя несколько томов, которая в случае отсутствия на складе может быть заменена несколькими книгами по одному тому. Как определить подобную связь в БД?
Заранее благодарен.
Desdechado (2006-07-07 10:31:00) [1]Пришел купить энциклопедию в 10 томах, а мне дали 5 томов Есенина и 5 сборников кроссвордов?
что-то мне это напоминает...
Ega23 (2006-07-06 18:16:00) [2]В таком вот акцепте. На большее уж извини - сейчас времени вообще нет...
В принципе, это скрипт на создание структур таблиц.
Думаю разберёшься.
Ega23 (2006-07-06 18:14:00) [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
freak (2006-07-06 18:08:00) [4]Под конец дня че-т туго соображается, можно проиллюстрировать? Если не затруднит конечно =/
Ega23 (2006-07-06 18:04:00) [5]Сделать ещё одну таблицу со связью "многие-ко-многим" на данную таблицу.