Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
3-13934
Arsen
2002-08-15 17:33
2002.09.05
Разговор по поводу счетчика в Access


3-13900
slav
2002-08-14 17:29
2002.09.05
формат даты в результате запроса из ib firebird


1-14128
Akim2
2002-08-23 18:07
2002.09.05
DLL TWinControl


4-14324
lds78
2002-07-03 10:16
2002.09.05
Аналоги IntToStr и StrToInt в WinAPI


3-13958
Fbist
2002-08-16 08:11
2002.09.05
Люди добрые!!! Нужна срочно помощь!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский