Болница за проектиране на бази данни
Курсова работа по болница за проектиране на бази данни
3.1 Концептуален модел
Във всеки отдел има служители и пациенти, които имат свои лични данни.
Концептуалният модел на база данни е показан на Фигура 3.1.
Фигура 3.1 - Концептуален модел на база данни
3.2 Логически модел на база данни
Логическият модел е показан на фигура 3.2.
Фигура 3.2 - Логически модел на база данни
В базата данни има 9 таблици. Първата е най-важната таблица „Отделения“, която е основната за таблиците „Персонал“, „Пациенти“ и „Диагнози“, с която е свързана от полето „Код на отделението“ и има „1- към много "връзка. На свой ред таблицата „Персонал“ е основната за таблицата „Процедури“, която е свързана с полето „Идентификационна сестра“, връзката също е „1 към много“.
Две таблици "Диагностика-лекарства" и "Диагностика-процедури" имат сложни ключове и са свързани с две таблици, чрез диагнозния код с таблицата "Диагнози" и от лекарствения и процедурен код с таблиците "Лекарства" и "Процедури", съответно. Резултатът е връзка много към много. Необходима е такава връзка, за да могат да бъдат избрани много процедури и лекарства за една диагноза. Съответно много диагнози могат да съответстват на процедури и лекарства.
4. Нормализиране на отношенията
Нормализирането е процес на проектиране на база данни с цел премахване на аномалии на модификацията, излишък на данни и привеждане на връзките в нормални форми.
Аномалии на модификацията - последиците, които могат да възникнат от промяна в отношенията (таблица).
Аномалиите се елиминират чрез разделяне на връзката на 2 или повече нови връзки. Аномалиите са разделени на 2 основни типа: аномалия на отстраняване, аномалия на вмъкване.
Можем да кажем, че в този курсов проект всички таблици са в 1NF, тъй като всички отговарят на изискванията, необходими на таблицата да се счита за връзка. Главно това е изискването за атомност.
Връзката е в 2NF, ако е в 1NF и всички неключови атрибути във връзката зависят само от целия ключ като цяло.
Членството във 2NF на всички таблици, с изключение на две таблици („Диагностика-Процедури“, „Диагностика-Лекарства“), може да се определи чрез наличието на 1 първичен прост ключ, състоящ се от един атрибут. И тези две таблици се състоят само от два ключови атрибута, т.е. първичният ключ е композитен. По този начин в тези таблици няма неключови атрибути, които да са независими от целия ключ като цяло.
Релацията е в 3NF, ако връзката е в 2NF и няма преходни зависимости.
В този курсов проект всички таблици са в 3NF. Въпреки че в началото на курсовия проект се предполагаше, че таблицата „Персонал“ ще включва атрибутите „Длъжност“ и „Заплата“, което ще показва наличието на преходна връзка. В резултат на нормализирането таблицата "Персонал" беше разделена на две отношения "Персонал" и "Длъжности", които сега са в 3NF.
Връзката е в NFBK, ако е в 3NF и всеки определящ фактор е ключов кандидат.
Можем да кажем, че във всички таблици на тази база данни, с изключение на първичните ключове, не се наблюдават кандидат-ключове, поради което не може да се каже, че те са в NFBK.
Таблиците не могат да бъдат в 4NF, тъй като те не са в NFBK.
Така че всички взаимоотношения са в 3NF.
В този курсов проект бяха изпълнени следните заявки:
1. Показване на списък със служители за конкретна длъжност.
ИЗБЕРЕТЕ Лично. Фио като „Пълно име“, Отделения. Nazvanie_otdel като „Име на клон“
ОТ Otdeleniya ВЪТРЕШНА РЕГИСТРАЦИЯ Лична ON Otdeleniya Kod_otdel = Personal.kod_otdel
КЪДЕ Лично. Doljnost като "Позиция"
поръчка от Отделения. Название _ отдел
2. Покажете списък на служителите по длъжност, като вземете предвид отдела.
ИЗБЕРЕТЕ Лично. Фио като „Пълно име“, Отделения. Nazvanie_otdel като „Име на клон“
ОТ Otdeleniya ВЪТРЕШНА РЕГИСТРАЦИЯ Personal ON Otdeleniya. Kod_otdel = Personal.kod_otdel
КЪДЕ Otdeleniya. Nazvanie_otdel = "Клон" И личен. Doljnost като "позиция"
3. Покажете списък на служителите, чиято заплата надвишава n-тата сума
ИЗБЕРЕТЕ Лично. Фио като „Пълно име“, лично. Doljnost като „позиция“, лична. Oklad като "Заплата"
където Личен. Oklad> (Количество)
4. Показване на общ списък на служителите.
ИЗБЕРЕТЕ Лично. Fio като „Пълно име“, Personal.doljnost като „Длъжност“, otdeleniya.nazvanie_otdel като „Име на клон“
ОТ Otdeleniya ВЪТРЕШНА РЕГИСТРАЦИЯ Лична ON Otdeleniya Kod_otdel = Лично. Kod_otdel
група от otdeleniya.nazvanie_otdel, Лични. Fio, Personal.doljnost
поръчка от Личен. Фио
1. Покажете списък с пациенти за конкретна диагноза.
ИЗБЕРЕТЕ Pacienty. Фио като "Ф. И. О.", Отделения. Nazvanie_otdel като "Име на отдел", Diagnozy. Nazvanie_diagnoza като "Име на диагнозата"
ОТ Otdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza = Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel
КЪДЕ Диагноза. Nazvanie_diagnoza като "% Diagnosis%"
поръчка от Pacienty. Фио
2. Покажете списък с пациенти до конкретна дата на прием.
ИЗБЕРЕТЕ Pacienty. Фио като "Ф. И. О.", Pacienty. Data_postup като "Дата на получаване", Отделение. Nazvanie_otdel като "Име на отдел", Diagnozy. Nazvanie_diagnoza като "Име на диагнозата"
- Проектиране на база данни за информационната система Детска поликлиника
- Режим на дизайн на страницата за достъп до данни
- Промиване - система - охлаждане - Великата енциклопедия на нефт и газ, статия, страница 1
- Релационни бази данни за манекени
- Пропорционална част - Голяма енциклопедия на нефт и газ, статия, страница 1