Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.05;
Скачать: CL | DM;

Вниз

Проектирование БД   Найти похожие ветки 

 
Vlad2   (2002-08-16 06:49) [0]

Здравствуйте!
Вопрос теоретический, одноко, "нет нечего практичнее хорошей теории".

Итак:

1. Существуют две сущности subType1 и subType2. Ключи соответствено
subType1.PK = {atr1, atr2, atr3}
subType2.PK = {atr1, atr2}
где art[N} - атрибуты этих сущностей.

2. Существует сущность superType, содержащая общие данные сущностей
subType1 и subType2. Её ключ superType.PK = {atr1, atr2, atr3, discriminatorSubType}.
где атрибут discriminatorSubType - дискриминатор подтипов subType1 и subType2, позволяющий соотнести значения {atr1, atr2, atr3} либо с сущностью subType1, либо с subType2.

Вопрос вот в чем:
С сущностью subType1, superType связан по {atr1, atr2, atr3},
а с сущностью subType2, superType связан лишь частью атрибутов своего PK, а именно, по {atr1, atr2}.

Насколько это правильно ?


 
elv ©   (2002-08-16 09:06) [1]

На 78,89836%


 
AlexSam   (2002-08-16 09:14) [2]

Ничего не понял. Ты бы скрипты написал.


 
Vlad2   (2002-08-16 09:18) [3]

to evl
Судя по точности процента:
1. моя схема неверна.
2. вопрос неконкретен.
Я не конкретизировал для экономии места, считая, что суть ясна.
Но, всё же, обязательно ли связь superType должна иметь одинаковую структуру для всех подтипов ?


 
Vlad2   (2002-08-16 09:21) [4]

to AlexSam
Например, требуется иметь таблицу для отображения состояния автомобилей (а/м). Состояние а/м - это:
- выполняемая работа;
- планируемая работа;
- состояние в ремонте;
Далее - вопрос первого сообщения.


 
AlexSam   (2002-08-16 09:28) [5]

Я бы завел таблицы-
1. Статическая "параметры" - описание параметров автомобилей (марка, объем, год выпуска, ...)
2. Планируемая работа - что планируется по времени(связать с 1.)
3. Выполняемая работа - что выполнилось по времени(связать с 2. и 1.)
4. Состояние ремонта - переход состояния в ремонт и наобарот по времени (связать с 1.)

По-моему, проблем в проектировании базы нет.


 
Johnmen ©   (2002-08-16 09:32) [6]

>Vlad2 (16.08.02 06:49)

Не надо умничать и выражаться книжным стилем (здесь простые нормальные люди). :-)))

Формализуй вопрос и задай его заново....


 
Vlad2   (2002-08-16 09:56) [7]

to AlexSam
Я так и сделал. При этом:
table car(idCar, ...)
car.PK = {idCar}; - это Ваша 1
table planWork(idCar, idWork, dateBeg, ...)
planWork.PK = {idCar, idWork, dateBeg}; - Ваша 2
table factWork(idCar, idWork, dateBeg, ...}
(это выданные путевые листы)
factWork.PK = {idCar, idWork, dateBeg}; - Ваша 3
table carRepair(idcar, idRepair, dateBeg, dateEnd)
carRepair.PK = {idCar, idRepair, dateBeg}; - Ваша 4

состояние а/м - это
table carStatus(idCar, idTypeWork, idWork, dateBeg, ...)

А-аа ! Извиняюсь. Вчера у меня в этой таблице в PK был атрибут idDepartment, а сегодня я его удалил. Посему проблемы нет.
И вопрос мой - лишний.
Всем спасибо, и еще раз извините.


 
Vlad2   (2002-08-16 09:59) [8]

to Johnmen
Да, что-то я не того, исправлюсь.



Страницы: 1 вся ветка

Текущий архив: 2002.09.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
3-13875
PD
2002-08-16 23:51
2002.09.05
работа с BLOB-полями


1-14103
Gamar
2002-08-23 16:07
2002.09.05
Над каким компонентом отпущена кнопка мыши?


1-14009
winmsd
2002-08-25 17:59
2002.09.05
FileSetDate


14-14239
glory_bug
2002-08-09 21:39
2002.09.05
Литература по базам на DELPH и


1-14013
EugenCFG
2002-08-26 12:10
2002.09.05
Каким образом можно заменить строку в файле...