Re: Нужно ли включать в ПК атрибуты ФК
- From
- Alexey Palienko (2:5061/34)
- To
- Andrew Grachyov (2:5054/37.63)
- Date
- 2005-06-07T08:17:04Z
- Area
- SU.DBMS
Здравствуй, Andrew!
Ответ на письмо от Andrew Grachyov к Alexey Palienko (Понедельник Июнь 06 2005
22:34)
AG> Tuesday May 24 2005, Alexey Palienko writes to All:
AP>> Возник следующий вопрос: нужно ли включать в первичный ключ
AP>> таблицы атрибуты ее внешнего ключа?
AG> Не надо. Пеpвичный ключ и есть пеpвичный ключ.
AG> [skipped...]
AP>> Как запретить вставку в results записей, связывающих операции и
AP>> объекты _разных_ классов ?
AP>> ИМХО, возможны два варианта:
AP>> 1. Включить id_classes в состав первичных ключей objects и
AP>> operations, тогда в results появится одно поле id_classes и
AP>> проблема решится сама. 2. Написать триггер.
AG> IMHO пpоще и пpавильнее создать constraint unique (.... ). Или я
AG> чего-то не понял и пpоблема глубже?
Там вопрос в другом, по смыслу задачи подчиненные сущности не существуют в
отрыве от родителей, например, операции не существуют отдельно от классов. Так
нужно ли ключ операции делать составным (ключ класса, ид. операции) ?
Вообще, так как тут никого не было, основное обсуждение ушло в ru.delphi.db.
Там побольше и с примерами.
WBR Alexey
---
* Origin: -= Mercury Station =- (2:5061/34)
SEEN-BY: 50/203 450/186 451/30 452/25 100 454/9 455/15 461/33 74 106 640
SEEN-BY: 463/92 464/34 465/213 469/125 200 478/44 550/5068 4614/20 4625/9
SEEN-BY: 4635/4 1024 4653/10 4657/50 5001/50 5001 5002/76 5002 5003/34 5009/14
SEEN-BY: 5010/53 146 5011/13 5012/23 5015/4 28 5020/52 104 115 128 133 150 175
SEEN-BY: 5020/201 371 400 545 639 642 715 755 758 794 894 921 968 982 1100
SEEN-BY: 5020/1169 1212 1234 1523 1604 1626 1642 1826 1873 1930 1992 2020 2140
SEEN-BY: 5020/2200 2238 4400 4441 8383 5022/5 128 5023/11 5025/750 5026/45
SEEN-BY: 5029/32 5030/69 195 382 436 473 556 611 920 966 1016 1212 1520 1900
SEEN-BY: 5031/47 5033/5 21 35 5034/8 5035/10 5036/13 5037/21 31 36 5041/4
SEEN-BY: 5042/13 21 5045/7 5049/157 5050/9 41 5051/35 5053/16 5054/1 8 9 28 35
SEEN-BY: 5054/37 45 50 63 5055/95 5056/16 5058/77 5059/20 5061/6 7 15 32 33 34
SEEN-BY: 5061/55 58 88 5062/10 5063/51 5064/7 35 5070/26 66 1222 5071/22
SEEN-BY: 5079/49 5080/1003 5082/6 5083/13 21 5084/32 5093/4 27 5100/113 6001/3
SEEN-BY: 6023/1 6033/2727 6045/7
PATH: 5061/34 33 6 15 5020/400 4441 52 5054/1 37