Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ПРОЕКТИРОВАНИЕ БД !!
|
|||
|---|---|---|---|
|
#18+
Привет ! У меня возник следующий сопрос при проектировании БД. Имеются таблицы ( в упрошенном варианте ) : Create Table tblMain ( Record_ID Integer, Resource_ID Integer ) ; Create Table tblA ( Resource_ID Integer, Description VarChar( 100 ), <some additional columns 1> ) ; Create Table tblB ( Resource_ID Integer, Description VarChar( 100 ), <some additional columns 2> ) ; Поле tblMain.Resource_ID - должно быть связано как с tblA.Resource_ID, так и с tblB.Resource_ID ( есть причины на то, что НЕ объёденять таблицы tblA & tblB ) По идее напрашивается : Alter Table tblMain Add Constraint ctr1Main Foreign Key ( Resource_ID ) Rerefences tblA ( Resource_ID ) ; Alter Table tblMain Add Constraint ctr2Main Foreign Key ( Resource_ID ) Rerefences tblB ( Resource_ID ) ; Но вот-тут возникает подвох : для того, чтобы добавить в tblMain какой-либо Resource_ID, он должен существовать в tblA и tblB ! Может кто-нить знает, как решить эту проблему ? Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2002, 08:41 |
|
||
|
ПРОЕКТИРОВАНИЕ БД !!
|
|||
|---|---|---|---|
|
#18+
IMHO Если у вас есть причины на то, что НЕ объединять таблицы tblA и tblB, значит вы ДОЛЖНЫ будете - либо создать также 2 таблицы tblMainA и tblMainB - либо организовывать ссылочную целостность с помощью триггеров(кстати, если у вас SQL7 и вам нужны каскадные удаления, то это как раз единственный способ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2002, 09:21 |
|
||
|
ПРОЕКТИРОВАНИЕ БД !!
|
|||
|---|---|---|---|
|
#18+
>Но вот-тут возникает подвох : для того, чтобы добавить в tblMain какой-либо Resource_ID, >он должен существовать в tblA и tblB ! Что значит подвох, это обычная ситуация - для того чтобы добавить запись в таблицу, запись в таблице-справочнике (на которую есть ссылка) уже должна быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2002, 10:02 |
|
||
|
ПРОЕКТИРОВАНИЕ БД !!
|
|||
|---|---|---|---|
|
#18+
А может создать view и на него навесить instead of триггер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2002, 23:12 |
|
||
|
ПРОЕКТИРОВАНИЕ БД !!
|
|||
|---|---|---|---|
|
#18+
Можно в tablA и tablB ввести незначащую запись Resource_ID =0 Description VarChar='' а в tablMain для поля Description поставить DEFAULT '' Тогда при вставке в tablMain ВСЕГДА будес соответсвие Я пользуюсь эти премом для заподнения необязательных реквизитов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2002, 12:58 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1824087]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 451ms |

| 0 / 0 |
