![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FOREIGN KEY Обеспечение целоостности [D5, IB6.x]
Борис © (2002-12-17 11:15:00)Уважаемые господа!
Есть N таблиц.
Одна главная:
CREATE TABLE "T_SKLAD"
(
"PKEY" INTEGER NOT NULL,
"NOMINAL" VARCHAR(250) CHARACTER SET WIN1251,
"TYPE_ELEM" VARCHAR(250) CHARACTER SET WIN1251,
"TYPE_ELEM_SVAZ" INTEGER,
"PRICE" INTEGER,
"POSTAVCHIK" INTEGER,
"PRIMECHANIE" VARCHAR(250) CHARACTER SET WIN1251,
"SROK_POSTAVKI" VARCHAR(250) CHARACTER SET WIN1251,
"OSTATOK" FLOAT,
"DEFICIT_NORM" INTEGER,
"ZAKAZAT" INTEGER,
"ZAKAZANO" INTEGER,
"OPLATIT" INTEGER,
"OPLACHENO" INTEGER,
"P1" INTEGER,
"P2" INTEGER,
"P3" INTEGER,
"P4" INTEGER,
"P5" INTEGER,
PRIMARY KEY ("PKEY")
);
И есть подчиненные таблицы (их много, но они одинаковые)
CREATE TABLE "T_NORM_1"
(
"PKEY" INTEGER NOT NULL,
"SECOND_KEY" INTEGER,
"NORMA" FLOAT,
"NORMA_NA_N" FLOAT,
"P1" FLOAT,
"P2" FLOAT,
"P3" FLOAT,
"P4" FLOAT,
"P5" FLOAT,
PRIMARY KEY ("PKEY")
);
ALTER TABLE "T_NORM_1" ADD FOREIGN KEY ("SECOND_KEY") REFERENCES T_SKLAD ("PKEY");
Задача - Обеспечетиь, чтобы для каждой строки в таблице T_SKLAD была своя строка в таблицах T_NORM_N (1..N) завязанная Первичный ключ T_SKLAD - Вторичный ключ SECOND_KEY T_NORM_N.
Reindeer Moss Eater (2002-12-17 11:30:00) [41]Да, именно этого и хотелось бы. Только вот как?
Триггер на вставку
Борис (2002-12-17 11:27:00) [42]Romkin
А как её привести к 3-й нормальной форме, чтобы небыло зависимостей между атрибутами (но не ключами)?
XM-AD
Да, именно этого и хотелось бы. Только вот как?
XM-AD (2002-12-17 11:23:00) [43]Не въехал...... Ты хочешь, чтобы при добавлении записи в t_sklad добавлялись записи во все таблицы t_norm_N???
Reindeer Moss Eater (2002-12-17 11:23:00) [44]Все как раз наеоборт.
Для каждой записи в T_NORM_1 должна быть строка в T_SKLAD
Romkin (2002-12-17 11:21:00) [45]Угу... приведи базу к третьей нормальной форме, и все пройдет...