Professional Documents
Culture Documents
Курсова робота з оБДЗ
Курсова робота з оБДЗ
КУРСОВА РОБОТА
з дисципліни «Організація баз даних і знань»
спеціальності «Інженерія
програмного забезпечення»
.
__________________________________
____
(прізвище та ініціали)
Керівник __ __ _ __ __ __ __ _ _
__________________________________
____
(посада, вчене звання, науковій ступінь, прізвище та
ініціали)
Національна шкала:
Кількість балів: Оцінка: ECTS
Члени комісії _ _ _
(підпис) (прізвище та ініціали)
_ _ _
(підпис) (прізвище та ініціали)
_ _ _
(підпис) (прізвище та ініціали)
Черкаси – 2023
ЗМІСТ
2
ВСТУП
3
керування та отримання даних у будь-якій організації.
Головна мета курсового проекту дослідити тему та розробити базу для
забезпечення діяльності залізничної касси.
4
1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ.
5
може надавати інструменти та функції для виконання таких типів завдань аналізу
даних, полегшуючи кінцевому користувачеві отримання значущої інформації зі
своїх даних.
Іншим завданням, яке можна виконати за допомогою інформаційної
системи, є імпорт та експорт даних. Це може бути корисним, якщо кінцевому
користувачеві потрібно імпортувати дані з інших джерел у базу даних або якщо
йому потрібно експортувати дані з бази даних для використання в інших
програмах.
Загалом інформаційна система SQL Management Studio відіграє вирішальну
роль в управлінні та організації даних у програмному забезпеченні. Надаючи
інструменти та функції для керування та аналізу даних, це допомагає
оптимізувати роботу кінцевого користувача та гарантувати, що дані зберігаються
в упорядкований та доступний спосіб.
Крім того, інформаційна система також допомагає забезпечити
послідовність і точність даних, надаючи такі функції, як підтвердження даних і
перевірки цілісності. Це допомагає запобігти помилкам при введенні даних і
гарантує, що дані в базі даних є точними та актуальними.
Іншим важливим аспектом інформаційної системи є її здатність
підтримувати масштабованість і зростання. Оскільки програмне забезпечення та
його дані зростають, інформаційна система повинна бути в змозі врахувати це
зростання та продовжувати забезпечувати ефективне та ефективне управління
даними.
Підсумовуючи, інформаційна система SQL Management Studio є важливим
компонентом програмного забезпечення, яке надає необхідні інструменти та
функції для ефективного й ефективного управління та організації даних. Надаючи
інструменти для аналізу даних, звітності, імпорту та експорту, а також перевірки
даних і перевірки цілісності, це допомагає переконатися, що дані точні, актуальні
та доступні для кінцевого користувача.
Також варто відзначити, що інформаційна система SQL Management Studio є
гнучким і настроюваним рішенням. Його можна адаптувати відповідно до
конкретних потреб програмного забезпечення та його кінцевих користувачів,
6
дозволяючи створювати спеціальні звіти, інструменти аналізу даних та інші
функції.
Крім того, інформаційна система розроблена таким чином, щоб бути
безпечною, з функціями для контролю доступу до даних і захисту їх від
несанкціонованого доступу або модифікації. Це особливо важливо в галузях, де
конфіденційна інформація, наприклад фінансові чи особисті дані, зберігається в
базі даних.
Для повного використання можливостей інформаційної системи SQL
Management Studio важливо, щоб кінцевий користувач добре розумів концепції
SQL і бази даних. Це включає знання типів даних, нормалізацію бази даних і
написання запитів SQL. Маючи ці знання, кінцевий користувач зможе ефективно
використовувати інформаційну систему для керування та аналізу своїх даних.
Загалом інформаційна система SQL Management Studio надає потужне та
гнучке рішення для керування та організації даних у програмних додатках.
Незалежно від того, чи використовується вона адміністраторами баз даних,
розробниками чи іншими ІТ-фахівцями, вона може значно підвищити
функціональність і ефективність програмного забезпечення.
Тема проектування бази даних для моделювання роботи залізничної каси
передбачає створення структурованої системи зберігання та організації даних, що
відображають процеси продажу та обліку квитків на залізничний транспорт. Для
успішної реалізації проекту необхідно проаналізувати всі аспекти роботи
залізничної каси, включаючи процес продажу квитків, реєстрацію оплати, звіти
про продажі та інші деталі. Також слід розглянути потреби користувачів системи,
їх права та обмеження доступу до даних. Важливим етапом є визначення
основних сутностей та їх атрибутів, а також взаємозв'язків між ними, що дозволяє
створити ефективну та логічну структуру бази даних. Також необхідно врахувати
вимоги до безпеки даних, що включають захист від несанкціонованого доступу та
відновлення даних у разі непередбачуваних ситуацій.
7
2. ПОСТАНОВКА ЗАДАЧІ.
8
зручним для користувача та інтуїтивно зрозумілим способом. Кінцевий
користувач повинен мати можливість легко додавати, видаляти, редагувати та
обробляти дані в таблицях без необхідності проходити через складний і
заплутаний процес. Інформаційна система повинна надавати чіткі інструкції та
керівництво, щоб допомогти кінцевому користувачеві виконати свої завдання.
На додаток до цих функціональних вимог інформаційна система також
повинна забезпечувати надійні функції безпеки та конфіденційності для
забезпечення конфіденційності та захисту даних, що зберігаються в таблицях. Це
включає такі функції, як контроль доступу, шифрування даних і аудит, щоб
запобігти несанкціонованому доступу до даних і виявити будь-які інциденти
безпеки.
Нарешті, інформаційна система також повинна забезпечувати гнучку та
масштабовану архітектуру, яка може адаптуватися до мінливих потреб
програмного забезпечення та його кінцевих користувачів. Оскільки кількість
даних, що зберігаються в таблицях, зростає, а програмне забезпечення
розвивається, інформаційна система повинна бути в змозі врахувати ці зміни та
продовжувати забезпечувати ефективне та дієве управління даними.
Підсумовуючи, функціональні вимоги, пов’язані з додаванням, видаленням,
редагуванням і автоматичною обробкою даних у таблицях, є критично важливими
для забезпечення того, щоб інформаційна система надавала комплексне та
ефективне рішення для керування даними в програмному забезпеченні. Надаючи
кінцевому користувачеві необхідні інструменти та функціональні можливості для
роботи з даними, а також потужні функції безпеки та конфіденційності та гнучку
та масштабовану архітектуру, інформаційна система може допомогти підвищити
загальну ефективність і результативність програмного забезпечення.
9
Система керування базами даних: інформаційна система має бути
побудована на надійній системі керування базами даних (СУБД), яка може
ефективно та результативно зберігати та керувати великими обсягами даних.
СУБД повинна забезпечувати такі функції, як цілісність даних, узгодженість
даних, безпека даних і масштабованість.
Інтерфейс користувача: інформаційна система повинна мати зручний та
інтуїтивно зрозумілий інтерфейс користувача (UI), який дозволяє кінцевим
користувачам легко додавати, видаляти, редагувати та обробляти дані в таблицях.
Інтерфейс користувача має бути візуально привабливим, простим у навігації та
надавати чіткі інструкції та вказівки для кінцевого користувача.
10
та захисту даних, що зберігаються в таблицях. Це включає такі функції, як
контроль доступу, шифрування даних і аудит, щоб запобігти несанкціонованому
доступу до даних і виявити будь-які інциденти безпеки.
Підсумовуючи, ці технічні вимоги мають важливе значення для того, щоб
інформаційна система надавала комплексне та ефективне рішення для керування
даними в програмному забезпеченні. Забезпечуючи ефективне зберігання та
пошук даних, надійне резервне копіювання та відновлення даних, високу
продуктивність і масштабованість, а також потужні функції безпеки та
конфіденційності, інформаційна система може допомогти підвищити загальну
ефективність і результативність програмного забезпечення.
Жорсткий диск Для SQL Server потрібно як мінімум 6 ГБ вільного місця на
диску.
Вимоги до місця на диску визначаються набором встановлюваних
компонентів SQL Server. Додаткові відомості див. у розділі Вимоги до місця на
диску нижче в цій статті. Докладні відомості про типи сховищ для файлів даних
див. у розділі Storage Types for Data Files.
Монітор Для SQL Server потрібен монітор Super VGA з роздільною
здатністю 800x600 пікселів або вищим.
Інтернет Для підтримки функціональних засобів Інтернету потрібен доступ
до Інтернету (може застосовувати додаткові тарифи).
Пам'ять * Мінімальні:
Експрес-випуски: 512 МБ
Усі інші випуски: 1 ГБ
Рекомендується:
Експрес-випуски: 1 ГБ
Всі інші випуски: Для забезпечення оптимальної продуктивності потрібно
щонайменше 4 ГБ з подальшим збільшенням у міру зростання розміру бази даних.
Швидкодія процесора Мінімум: процесор x64 із тактовою частотою 1,4 ГГц
Рекомендується: 2,0 ГГц та вище
Тип процесора Процесор x64: AMD Opteron, AMD Athlon 64, Intel Xeon із
підтримкою Intel EM64T, Intel Pentium IV з підтримкою EM64T.
11
12
2.2.1.Вимоги до програмних засобів.
13
повною мірою скористатися її функціями та можливостями.
Підсумовуючи, ці вимоги до програмного забезпечення є критично
важливими для того, щоб інформаційна система забезпечувала безперебійне та
ефективне рішення для керування даними в програмному забезпеченні.
Забезпечуючи сумісність, інтеграцію, імпорт і експорт даних, перевірку даних,
звітність і аналіз, а також технічну підтримку, інформаційна система може
допомогти підвищити загальну функціональність і зручність використання
програмного забезпечення для кінцевих користувачів.
14
3. ПРОЕКТУВАННЯ БАЗИ ДАНИХ.
16
бази даних та оптимізація індексів. Ці прийоми допомагають мінімізувати час,
необхідний для виконання запитів, і покращити загальну продуктивність бази
даних.
Контроль версій:
Бази даних інфографіки можна регулярно оновлювати, і дуже важливо
відстежувати зміни, внесені в дані. Системи контролю версій можна
використовувати для відстеження змін у базі даних, що полегшує відкат змін,
якщо необхідно, і підтримує повну історію модифікацій бази даних.
Конфіденційність і безпека даних:
Бази даних інфографіки можуть містити конфіденційні дані, як-от дані
користувачів або конфіденційні бізнес-дані. Щоб забезпечити конфіденційність і
безпеку даних, важливо впровадити відповідні заходи безпеки, такі як
шифрування, контроль доступу та аудит. Можна проводити регулярні перевірки
безпеки, щоб виявити та зменшити потенційні ризики безпеки.
Інтерфейс користувача:
Інтерфейс користувача є важливим компонентом будь-якої системи баз
даних. У випадку бази даних інфографіки інтерфейс користувача має бути
інтуїтивно зрозумілим і зручним, що дозволяє користувачам легко шукати та
фільтрувати інфографіку. Інтерфейс користувача також має бути настроюваним,
дозволяючи користувачам переглядати та впорядковувати дані у спосіб, який
відповідає їхнім потребам.
Підсумовуючи, розробка бази даних інфографіки включає різні міркування,
від моделювання даних і зберігання зображень до оптимізації продуктивності та
безпеки. Дотримуючись цих передових практик, можна створити базу даних
інфографіки, яка відповідатиме вимогам користувачів і зацікавлених сторін,
водночас забезпечуючи ефективну, безпечну та зручну платформу для зберігання
та керування інфографікою.
17
Рисунок 1.-Інфологічна модель Бази даних
3.1.2. Даталогічне проектування.
18
Цей рівень нормалізації вимагає, щоб кожен запис в базі даних мав
первинний ключ, який ідентифікує запис, і всі поля в записі пов'язані з цим
первинним ключем. Це дозволяє зменшити дублювання даних і забезпечити
більш ефективну роботу з базою даних.
Третій нормальний формат (3NF):
Цей рівень нормалізації вимагає, щоб кожне поле в записі залежало від
первинного ключа, а не від інших полів в тому ж записі. Це забезпечує більшу
точність та консистентність даних, а також дозволяє покращити ефективність
роботи з базою даних.
Крім того, при даталогічному проектуванні бази даних необхідно визначити
типи даних для кожного поля, включаючи текстові рядки, числа, дати, булеві
значення та інші.
19
У таблиці «Маршрути» є стовпці для унікального ідентифікатора маршруту
(також створеного автоматично за допомогою IDENTITY), ідентифікатора поїзда
(який посилається на таблицю «Потяги»), ідентифікатора станції (який
посилається на таблицю «Станції») та замовлення зупинки. (для вказівки порядку
зупинки поїзда на різних станціях).
У таблиці «Пасажири» є стовпці для унікального ідентифікатора пасажира
(також створеного автоматично за допомогою IDENTITY), імені, прізвища,
електронної пошти та номера телефону.
У таблиці «TicketSales» є стовпці для унікального ідентифікатора квитка
(генерується автоматично за допомогою IDENTITY), ідентифікатора пасажира
(який посилається на таблицю «Пасажири»), ідентифікатора поїзда (який
посилається на таблицю «Потяги»), ідентифікатора станції відправлення ( який
посилається на таблицю «Станції»), ідентифікатор станції прибуття (який також
посилається на таблицю «Станції») і дату продажу.
Ці таблиці дають змогу відстежувати поїзди, їхні маршрути, станції та
пасажирів, а також продаж квитків на певні поїздки
21
Рисунок 3.-Обєкти бази даних
22
Рисунок 5.-Таблиця 1-Потяги
23
можете відкрити нове вікно запиту та почати писати команду SQL. Синтаксис для
оновлення інформації в SQL такий:
ОНОВИТИ назву таблиці
SET column1 = value1, column2 = value2, ...
умова ДЕ;
У цьому синтаксисі «назва_таблиці» — це назва таблиці, яку потрібно
оновити, «стовпець1» і «стовпець2» — це імена стовпців, які потрібно оновити, а
«значення1» і «значення2» — нові значення, які ви хочете встановити для цих
стовпців. Речення "WHERE" є необов'язковим, але якщо його включено, воно
визначає умови, за яких має виконуватися оновлення.
Коли ви виконуєте команду оновлення в SSMS, відповідні рядки в базі
даних буде змінено, щоб відобразити нові значення, які ви вказали. Важливо
зазначити, що оновлення можуть впливати на багато рядків одночасно, тому
важливо бути обережним під час написання та виконання команд оновлення.
Завжди ще раз перевіряйте свою команду SQL і переконайтеся, що ви розумієте
наслідки оновлення перед його виконанням.
Окрім оновлення інформації, SSMS також надає ряд інших команд SQL, які
дозволяють виконувати широкий спектр завдань, наприклад вставляти нові дані,
видаляти наявні дані та запитувати певну інформацію. Ці команди можна
використовувати для керування базою даних і забезпечення її безперебійної
роботи.
Щоб допомогти вам писати та виконувати команди SQL у SSMS,
інструмент надає ряд функцій, таких як підсвічування синтаксису, автозаповнення
та перевірка помилок. Ці функції полегшують написання точних команд SQL і
уникають помилок, які можуть спричинити проблеми у вашій базі даних.
Загалом запити на оновлення інформації є важливою частиною керування
базою даних SQL Server, і SSMS надає потужний і гнучкий інструмент для
виконання цих запитів. Завдяки широкому спектру функцій та інтуїтивно
зрозумілому інтерфейсу SSMS є важливим інструментом для будь-якого
адміністратора бази даних або розробника, який працює з SQL Server.
24
Запит на оновлення використаний в роботі(Рис 10)
USE Залізнична_Каса
UPDATE Потяги
SET ЧасВідправки = '08:30:00'
WHERE НомерПОтягу = '001';
UPDATE Потяги
SET Дистанція = 'Харків'
WHERE НомерПОтягу = '002';
UPDATE Станція
SET Локація = 'Львів'
WHERE ІмяСТанції = 'Київ';
UPDATE Станція
SET ІмяСТанції = 'Київ'
WHERE Локація = 'Харків';
UPDATE Маршут
SET СТопзамовлення = 4
WHERE ПоїздID = 1 AND СтанціяID = 3;
25
Рисунок 10.-Результат дії скрипта
26
ВИБРАТИ стовпець1, стовпець2, ...
FROM ім'я_таблиці
умова ДЕ;
У цьому синтаксисі «стовпець1» і «стовпець2» — це імена стовпців, з яких
ви хочете отримати дані, а «назва_таблиці» — це ім’я таблиці, з якої ви хочете
отримати дані. Речення "WHERE" є необов'язковим, але якщо його включено,
воно визначає умови, за яких дані мають бути отримані.
Написавши свій запит, ви можете виконати його, натиснувши кнопку
«Виконати» в SSMS. Результати вашого запиту будуть відображені в таблиці,
якою ви зможете маніпулювати за потреби.
Окрім написання SQL-запитів, SSMS також надає кілька інших способів
перегляду інформації в базі даних. Наприклад, ви можете використовувати Object
Explorer для навігації між різними об’єктами в базі даних і перегляду їхніх
властивостей. Ви також можете використовувати функцію «Діаграми бази даних»,
щоб створити візуальне представлення вашої бази даних та її зв’язків.
Для взаємодії з таблицями в базі даних можна використовувати різноманітні
команди SQL. Найбільш поширеними командами для взаємодії з таблицями є
INSERT, UPDATE і DELETE. Щоб вставити дані в таблицю, ви можете
використовувати такий синтаксис:
INSERT INTO table_name (column1, column2, ...)
ЗНАЧЕННЯ (значення1, значення2, ...);
У цьому синтаксисі «назва_таблиці» — це ім’я таблиці, до якої потрібно
вставити дані, а «стовпець1» і «стовпець2» — це імена стовпців, у які потрібно
вставити дані. "value1" і "value2" – це значення, які ви хочете вставити в ці
стовпці.
Щоб оновити дані в таблиці, ви можете використовувати такий синтаксис:
ОНОВИТИ назву таблиці
SET column1 = value1, column2 = value2, ...
умова ДЕ;
У цьому синтаксисі «назва_таблиці» — це назва таблиці, яку потрібно
оновити, «стовпець1» і «стовпець2» — це імена стовпців, які потрібно оновити, а
27
«значення1» і «значення2» — нові значення, які ви хочете встановити для цих
стовпців. Речення "WHERE" є необов'язковим, але якщо його включено, воно
визначає умови, за яких має виконуватися оновлення.
Щоб видалити дані з таблиці, ви можете використовувати такий синтаксис:
ВИДАЛИТИ З ім'я_таблиці
умова ДЕ;
У цьому синтаксисі «назва_таблиці» — це ім’я таблиці, з якої потрібно
видалити дані, а речення «ДЕ» визначає умови, за яких дані мають бути видалені.
Під час взаємодії з таблицями в базі даних важливо бути обережним і ще
раз перевіряти свої команди SQL перед їх виконанням. Ви також повинні знати
про можливі наслідки ваших команд і переконатися, що у вас є запасний план на
випадок, якщо щось піде не так.
Підсумовуючи, SQL Server Management Studio надає різноманітні
інструменти та функції для створення запитів на перегляд інформації та
взаємодію з таблицями. Використовуючи SQL-запити та команди SQL, ви можете
з легкістю отримувати, маніпулювати та керувати даними в базі даних. Завдяки
потужним функціям та інтуїтивно зрозумілому інтерфейсу SSMS є важливим
інструментом для будь-якого адміністратора бази даних або розробника, який
працює з SQL Server.
Запит використаний в роботі на перегляд інформації(Рис 11-Рис 12)
USE Залізнична_Каса
SELECT *
FROM Потяги
WHERE НомерПОтягу = '001';
SELECT *
FROM Станція
WHERE ІмяСТанції = 'Вокзальна';
SELECT *
FROM Маршут;
28
SELECT ПоїздID, СтанціяID
FROM Маршут;
SELECT *
FROM Пасажири
WHERE Призвіще = 'Онопрієнко' AND Імя = 'Анна';
SELECT *
FROM ПродажКвитків
WHERE ПасажирID = 1 AND ПоїздID = 1;
29
Рисунок 12.-Результат запиту(2)
Використання запитів з використанням функцій та виразів
USE Залізнична_Каса
--Запит на вибірку з використанням «DISTINCT»:
SELECT DISTINCT ІмяСТанції FROM Станція;
--Запит з функцією «min» або «max»:
SELECT MAX(Ціна) FROM Ціна_Квитків;
--Запит з функцією «sum» або «avg»:
SELECT AVG(Ціна) FROM Ціна_Квитків WHERE ПоїздID=1;
--Запит з функцією «count»:
SELECT COUNT(*) FROM Потяги;
--Запит на вибірку з використанням агрегатної функції і виведенням ще
декількох полів:
SELECT ПоїздID, AVG(Ціна) FROM Ціна_Квитків GROUP BY ПоїздID;
--Запит на вибірку з використанням агрегатної функції і умовою на вибірку
поля:
SELECT ПоїздID, AVG(Ціна) FROM Ціна_Квитків WHERE Ціна > 50
GROUP BY ПоїздID;
--Запит на вибірку з використанням агрегатної функції і умовою на
агрегатну функцію:
SELECT ПоїздID, AVG(Ціна) FROM Ціна_Квитків GROUP BY ПоїздID
30
HAVING AVG(Ціна) > 50;
--Використання Having
SELECT ПоїздID, AVG(Ціна) as Середня_ціна
FROM Ціна_Квитків
GROUP BY ПоїздID
HAVING AVG(Ціна) > 50
ORDER BY Середня_ціна DESC;
--Використання Right join
SELECT ПродажКвитків.КвитокID, Пасажири.Імя, Пасажири.Призвіще
FROM ПродажКвитків
RIGHT JOIN Пасажири ON ПродажКвитків.ПасажирID =
Пасажири.ПасажирID;
31
Рисунок 14.-Використання MAX
32
Рисунок 16.-Використання AVG
33
Рисунок 18.- Використання RIGHT JOIN
34
ВИСНОВКИ
35
ЛІТЕРАТУРА
36
ДОДАТКИ
ЛІСТИНГ
37
FOREIGN KEY (ПоїздID) REFERENCES Потяги (ПоїздID),
FOREIGN KEY (СтанціяID) REFERENCES Станція (СтанціяID)
);
USE Залізнична_Каса
UPDATE Потяги
SET ЧасВідправки = '08:30:00'
WHERE НомерПОтягу = '001';
UPDATE Потяги
SET Дистанція = 'Харків'
WHERE НомерПОтягу = '002';
UPDATE Станція
SET Локація = 'Львів'
WHERE ІмяСТанції = 'Київ';
UPDATE Станція
SET ІмяСТанції = 'Київ'
WHERE Локація = 'Харків';
UPDATE Маршут
SET СТопзамовлення = 4
WHERE ПоїздID = 1 AND СтанціяID = 3;
USE Залізнична_Каса
SELECT *
FROM Потяги
WHERE НомерПОтягу = '001';
SELECT *
FROM Станція
WHERE ІмяСТанції = 'Вокзальна';
SELECT *
FROM Маршут;
38
SELECT *
FROM Пасажири
WHERE Призвіще = 'Онопрієнко' AND Імя = 'Анна';
SELECT *
FROM ПродажКвитків
WHERE ПасажирID = 1 AND ПоїздID = 1;
39