Начало » Использование СУБД » Firebird, HQbird, InterBase » Избыточная ссылочность
Избыточная ссылочность [сообщение #1082] |
Mon, 05 December 2022 14:48 |
|
Док
Сообщений: 101 Зарегистрирован: June 2022
|
Senior Member |
|
|
Комрады, есть мысль сделать в табле дополнительные внешние ключи, чтобы не добывать нужные сведения лишними джойнами из подчиненых таблиц. Насколько это целесообразно? И чем может грозить?
CREATE TABLE TBL_CHILD_1 (
ID INTEGER NOT NULL,
FK_SUBCHILD INTEGER,
NAME INTEGER
);
CREATE TABLE TBL_CHILD_2 (
ID INTEGER NOT NULL,
NAME VARCHAR(10)
);
CREATE TABLE TBL_MAIN (
ID INTEGER NOT NULL,
FK_CHILD_1 INTEGER,
FK_CHILD_2 INTEGER,
FK_SUBCHILD INTEGER,
NAME VARCHAR(10)
);
CREATE TABLE TBL_SUB_CHILD (
ID INTEGER NOT NULL,
NAME VARCHAR(10)
);
/******************************************************************************/
/*** Primary keys ***/
/******************************************************************************/
ALTER TABLE TBL_CHILD_1 ADD CONSTRAINT PK_TBL_CHILD_1 PRIMARY KEY (ID);
ALTER TABLE TBL_CHILD_2 ADD CONSTRAINT PK_TBL_CHILD_2 PRIMARY KEY (ID);
ALTER TABLE TBL_MAIN ADD CONSTRAINT PK_TBL_MAIN PRIMARY KEY (ID);
ALTER TABLE TBL_SUB_CHILD ADD CONSTRAINT PK_TBL_SUB_CHILD PRIMARY KEY (ID);
/******************************************************************************/
/*** Foreign keys ***/
/******************************************************************************/
ALTER TABLE TBL_CHILD_1 ADD CONSTRAINT FK_TBL_CHILD_1_1 FOREIGN KEY (FK_SUBCHILD) REFERENCES TBL_SUB_CHILD (ID);
ALTER TABLE TBL_MAIN ADD CONSTRAINT FK_TBL_MAIN_1 FOREIGN KEY (FK_CHILD_1) REFERENCES TBL_CHILD_1 (ID);
ALTER TABLE TBL_MAIN ADD CONSTRAINT FK_TBL_MAIN_2 FOREIGN KEY (FK_CHILD_2) REFERENCES TBL_CHILD_2 (ID);
ALTER TABLE TBL_MAIN ADD CONSTRAINT FK_TBL_MAIN_3 FOREIGN KEY (FK_SUBCHILD) REFERENCES TBL_SUB_CHILD (ID);
FPC/Lazarus (trunk) | Win10 x64 Ultim/Debian 11 amd64/Darwin x86_64 Monterey | Firebird 3.0.10 x64 | IBX by TonyWhyman
https://zoltanleo.blogspot.com/
|
|
|
|
|
Избыточная ссылочность
От: Док - Mon, 05 December 2022 14:48
|
|
|
Re: Избыточная ссылочность
От: pastor - Mon, 05 December 2022 14:54
|
|
|
Re: Избыточная ссылочность
От: Док - Mon, 05 December 2022 15:26
|
|
|
Re: Избыточная ссылочность
От: МП - Mon, 05 December 2022 16:08
|
|
|
Re: Избыточная ссылочность
От: Док - Wed, 07 December 2022 01:09
|
|
|
Re: Избыточная ссылочность
От: SD - Wed, 07 December 2022 01:51
|
|
|
Re: Избыточная ссылочность
От: МП - Wed, 07 December 2022 12:17
|
|
|
Re: Избыточная ссылочность
От: Док - Thu, 08 December 2022 18:13
|
|
|
Re: Избыточная ссылочность
От: sim_84 - Mon, 05 December 2022 16:16
|
|
|
Re: Избыточная ссылочность
От: pastor - Mon, 05 December 2022 16:41
|
|
|
Re: Избыточная ссылочность
От: sim_84 - Mon, 05 December 2022 16:50
|
|
|
Re: Избыточная ссылочность
От: stelvic - Tue, 06 December 2022 08:52
|
|
|
Re: Избыточная ссылочность
От: SD - Tue, 06 December 2022 15:29
|
|
|
Re: Избыточная ссылочность
От: Док - Wed, 07 December 2022 01:11
|
Переход к форуму:
Текущее время: Thu Dec 19 04:52:24 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01110 секунд
|