![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проектирование БД
Vlad2 © (2002-08-16 06:49:00)Здравствуйте!
Вопрос теоретический, одноко, "нет нечего практичнее хорошей теории".
Итак:
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}.
Насколько это правильно ?
Vlad2 (2002-08-16 09:59:00) [1]to Johnmen
Да, что-то я не того, исправлюсь.
Vlad2 (2002-08-16 09:56:00) [2]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, а сегодня я его удалил. Посему проблемы нет.
И вопрос мой - лишний.
Всем спасибо, и еще раз извините.
Johnmen (2002-08-16 09:32:00) [3]>Vlad2 (16.08.02 06:49)
Не надо умничать и выражаться книжным стилем (здесь простые нормальные люди). :-)))
Формализуй вопрос и задай его заново....
AlexSam (2002-08-16 09:28:00) [4]Я бы завел таблицы-
1. Статическая "параметры" - описание параметров автомобилей (марка, объем, год выпуска, ...)
2. Планируемая работа - что планируется по времени(связать с 1.)
3. Выполняемая работа - что выполнилось по времени(связать с 2. и 1.)
4. Состояние ремонта - переход состояния в ремонт и наобарот по времени (связать с 1.)
По-моему, проблем в проектировании базы нет.
Vlad2 (2002-08-16 09:21:00) [5]to AlexSam
Например, требуется иметь таблицу для отображения состояния автомобилей (а/м). Состояние а/м - это:
- выполняемая работа;
- планируемая работа;
- состояние в ремонте;
Далее - вопрос первого сообщения.
Vlad2 (2002-08-16 09:18:00) [6]to evl
Судя по точности процента:
1. моя схема неверна.
2. вопрос неконкретен.
Я не конкретизировал для экономии места, считая, что суть ясна.
Но, всё же, обязательно ли связь superType должна иметь одинаковую структуру для всех подтипов ?
AlexSam (2002-08-16 09:14:00) [7]Ничего не понял. Ты бы скрипты написал.
elv (2002-08-16 09:06:00) [8]На 78,89836%