
- •Курсова робота
- •Дисципліна____________Організація баз даних і знань_________
- •Завдання видав: Савчук Тамара Олександрівна _ __________
- •Завдання прийняв до виконання: Козар в.І. _ __________
- •1 Аналіз предметної області та постановка задачі
- •2 Розробка універсального відношення
- •3 Розробка концептуальної схеми бази залізничного вокзалу за er-принципом
- •4 Обґрунтування вибору моделі даних
- •4.1 Ієрархічна модель даних
- •4.2 Мережева модель даних
- •4.3 Реляційна модель даних
- •4.4 Об’єктно-орієнтована модель даних
- •5 Проектування нормалізованих відношень
- •6 Оцінка спроектованих відношень
- •7 Розробка вихідних форм
- •8 Розробка програмного забезпечення
- •Розробка схеми алгоритму реалізації запитів предметної області
- •8.2 Обґрунтування вибору мови програмування для управління бд
- •8.3 Основні оператори мови програмування
- •8.4 Розробка схеми алгоритму реалізації програмного забезпечення для бази даних
- •Додатки
1 Аналіз предметної області та постановка задачі
Предметною областю є діяльність залізничних кас вокзалу. У касах здійснюється продаж квитків з однієї точки в іншу. Потяги відправляються кожен день і в будь-який час. Кожен поїзд має свій номер, за яким здійснює маршрут. Квитки можна придбати в касах залізничного вокзалу. На кожному квитку є дата відправлення, дата прибуття, час відправлення, час прибуття, станція відправлення і станція прибуття, номер поїзда, тип вагона і номер місця. Для пасажирів передбачені три типи вагонів: плацкарта, купе і люкс (СВ). На кожен тип встановлена ціна, залежна від віддаленості кінцевого пункту. База даних повинна забезпечити підготовку, збереження та перегляд даних що проходять маршрутами і проданим квиткам.
Запитів користувача може бути багато, тому для спрощення їх поділено на групи, залежно від об’єкту запиту.
Вибрати всі зупинки потяга;
які відносяться до заданого номеру потяга та відповідають даті прибуття .
Вибрати всі потяги, з них:
які відносяться до заданого виду потягу та прибувають в заданий період;
Вибрати всі закази, з них:
які відносяться до заданої ціни білету;
які відносяться до заданої кінцевої зупинки.
Вибрати всі ціни на білети, з них:
які відповідають номеру потягу;
які мають ціну не більшу за дану;
Вибрати Потяги, з них:
які відносяться до певної початкової зупинки;
які відносяться до певної кінцевої зупинки ;
які відносяться до певного виду потягу;
які відносяться до заказів (визначити кількість заказів по номеру потягу);
Вибрати усі закази;
за номером заказу та датою покупки;
Вибрати заказ;
за датою покупки та за номером вагону;
Вибрати потяг за його ключем;
За його типом вагону та видом потягу.
Сформувати запит на покупку білету за певним напрямом;
Вибрати список заказів, які купив заданий клієнт в заданий час .
Додаткові умови в запитах можна комбінувати. Тобто кожен підпункт запита може бути врахований або не врахований, таким чином загальна кількість різних запитів дуже велика.
На основі запитів користувача сформовано наступні сутності:
Потяги;
Зупинки;
Вид потягу;
Ціна білету;
Закази;
Вид вагону.
2 Розробка універсального відношення
Універсальне відношення повинно містити всі пойменовані характеристики усіх сутностей, присутніх в базі.
Кожна сутність повинна мати атрибут, що однозначно ідентифікує її.
«Потяги» – стрижнева сутність. Її атрибути, що стосуються даної предметної області:
Номер потягу;
Початкова зупинка;
Кінцева зупинка;
Вид потягу;
Прибуття;
Відправлення.
Сутність «Закази» – також стрижнева. Потяги з заказами знаходяться в зв’язку Б:Б. Атрибути:
Номер заказу;
Код білету;
ПІБ клієнта;
Дата покупки;
Дата відправлення;
Номер вагону;
Номер місця.
«Вид потягу» – характеристична сутність, бо вона є розширенням атрибуту стрижневої сутності Потяги:
Вид.
Сутність «Вид вагону» також характеристична сутність, бо вона є розширенням атрибуту стрижневої сутності Ціна білету:
Вид.
Сутність «Ціна білету» – також стрижнева. Ціна білету з заказами знаходяться в зв’язку Б:Б. Атрибути:
Номер заказу;
Код білету;
ПІБ клієнта;
Дата покупки;
Дата відправлення;
№ вагону;
№ місця.
«Зупинки» – характеристична сутність, бо вона є розширенням атрибуту стрижневої сутності Потяги і ціна білету:
Вид.
Перелік усіх сутностей з урахуванням їх атрибутів і типів:
Потяги (№ потягу, початкова зупинка, кінцева зупинка, вид потягу,прибуття,відправлення) {Зупинки,Вид потягу},[Ціна білету];
Вид потягу (Назва) [Потяги];
Зупинки (Назва); [ціна білету,Потяги];
Ціна білету (№ потягу, початкова зупинка , кінцева зупинка, код білету, ціна, вид вагону,прибуття,відправлення){вид вагона, вид потяга, потяги },[Закази];
Вид вагона (Назва); [ціна білету];
Закази (№ заказу, код білету,ПІБ клієнта, дата покупки, дата відправлення,№ вагону,№ місця ) {Ціна білету};
Отже універсальне відношення складається з наступних пойменованих характеристик:
R: {Потяги.[№ потягу], Потяги.[ початкова зупинка], Потяги.[ кінцева зупинка], Потяги.[вид потягу], Потяги.[прибуття], , Потяги.[відправлення], Вид потягу.[Назва], Зупинки.[Назва], Ціна білету.[№ потягу] , Ціна білету.[початкова зупинка] , Ціна білету.[кінцева зупинка], Ціна білету.[ код білету], Ціна білету.[ціна], Ціна білету.[вид вагону], Ціна білету .[прибуття], Ціна білету.[відправлення], Вид вагона .[Назва], Закази.[№ заказу], Закази.[ код білету], Закази .[ПІБ клієнта], Закази.[ дата покупки], Закази.[ дата відправлення], Закази .[№ вагону], Закази .[№ місця ] };
Ступінь розробленого відношення – 25.