Главная страница

Розробка баз даних. Курсова робота. Цілі та завдання курсової роботи


Скачать 1.27 Mb.
НазваниеЦілі та завдання курсової роботи
АнкорРозробка баз даних
Дата13.06.2022
Размер1.27 Mb.
Формат файлаdocx
Имя файлаКурсова робота.docx
ТипДокументы
#587967


Вступ
У світі бази даних застосовуються практично скрізь – в інтернет магазинах, підприємствах, навчальних і медичних установах. У зв'язку з цим виникає потреба у створенні спеціальних систем, відповідальних за управління базами даних.

Мова SQL широко застосовується у роботі з базами даних. Значна частина ІТ-сфери так чи інакше пов'язана з ним. Незважаючи на свою простоту, мова SQL надає величезні можливості для роботи з базами даних.

У ході роботи буде проведено систематизацію та поглиблення теоретичних знань про бази даних та методи роботи з ними. Крім цього, курсова робота дозволить практично застосувати методи проектування інформаційних систем, освоїти обрану СУБД та виробити навички роботи з базою даних.

Для виконання курсової роботи було обрано СУБД MS Access – один із нинішніх лідерів ринку програмного забезпечення для роботи з базами даних. Для програмування користувача програми був обраний компілятор CODEGear - як один з найбільш зручних, сучасних і найчастіше зустрічаються.

  1. Цілі та завдання курсової роботи



Мета курсової роботи - систематизація та поглиблення теоретичних знань, отриманих за час навчання, а також придбання та закріплення навичок самостійної роботи.

Завдання курсової роботи:

1) практичне застосування методів проектування;

2) вироблення навичок роботи з БД;

3) засвоєння прийомів роботи з СУБД Access та мовою SQL;

У ході виконання курсового проекту було поставлено таке завдання. Необхідно створити базу даних для врахування успішності студентів, що складається з трьох таблиць:

Студент (Номер Заліку, Прізвище, Домашня Адреса, Група),

Предмет (Код Предмета, Найменування),

Іспит (Код Предмета, Номер Заліковки, Дата Іспиту).

Далі потрібно запрограмувати систему, що дозволяє отримувати відповіді запити:

1) отримайте дані про студентів зазначеної групи, наприклад, ПОВТ-06;

2) отримайте дані про студентів, які склали іспит після зазначеної дати;

3) отримайте дані про студента за номером його заліковки;

4) отримайте дані про кількість студентів, які складали іспити з предметів;

5) отримайте відомості про кількість студентів, які отримали позитивні оцінки;

6) отримаєте назву предмета, за яким поставлено найбільшу кількість двійок;

7) отримайте дані про предмети, які складали студенти заданої групи;

8) отримайте домашні адреси студентів, які здали на «відмінно» зазначений предмет.
Необхідно розробити форми введення, перегляду та редагування даних у базі та створити звіти за таблицею «Студенти», за запитами 1, 7, 8.

  1. Вибір СУБД для реалізації БД


Основними критеріями на вибір служили: 1) Доступність ПЗ; 2) Знайомство з ПЗ; 3) функціональні можливості;

Як реляційна СУБД була обрана MSAccess, з наступних причин:

  1. Access легко взаємодіє коїться з іншими програмами;

  2. Access широко поширений;

  3. Access найбільш звичний, має зручний інтерфейс, широкий функціонал та суб'єктивно зрозумілий.

Незважаючи на відсутність ліцензії, можна використовувати Access у режимі trial.

У порівнянні Access з іншими реляційними СУБД можна сказати таке. Більшість СУБД аналогічна і відрізняється незначною мірою. Питання вибору СУБД найчастіше впирається у зручність і звичку використання тієї чи іншої СУБД, і доступності. На прикладі того ж таки OpenOfficeBase можна сказати, що відмінності не завжди можуть бути знайдені звичайним користувачем. Найістотнішим відмінністю між Access і Base мені стало труднощі прикріплення БД від Base до стороннім програмним забезпеченням, т.к. не всі вони знають про таку СУБД. З цієї причини Access найбільш зручний для розробки БД.

Для розробки клієнтської програми було обрано CODEGearRADStudio, що вільно розповсюджується. Основними перевагами даного ПЗ можна назвати:

  1. Підтримка величезної кількості мов розробки;

  2. Підтримка технології ADO;

  3. Широкий функціонал та легка інтеграція VS з Access.


  1. Обґрунтування вибору способу з'єднання з БД



Технологія ADO має свої недоліки, і свої переваги. Основними перевагами можна назвати:

  • Технологія ADO пропонує розробнику зручний прикладний інтерфейс OLE DB;

  • ADO зручна в обігу, тому що надає об'єкти Automation, що приховують інтерфейси OLE DB, що дозволяє програмісту приділяти основну увагу вирішуваним завданням, а не складнощі технології OLE DB;

  • ADO-об'єкти дозволяється використовувати на будь-якій платформі, яка підтримує СОМ та Automation;

  • ADO-набір даних можна від'єднувати від джерела даних і передавати іншим додаткам, при цьому можлива зміна даних набору у відриві від мережі та джерела даних.

До всього вищесказаного варто додати той факт, що ADO проста у використанні і звична. Це стало ключовим моментом у виборі технології з'єднання.

В якості мови для розробки клієнтської програми використовувався Delphi. Як ПЗ для розробки використовувався CodeGear. Перевагами CodeGear можна назвати:

  1. Підтримка багатьох мов програмування;

  2. Підтримка технології ADO.

  3. Простота та інтуїтивність інтерфейсу, зібраність інтерфейсу в єдиному вікні;

  4. Широкий функціонал;

  5. Звичність, велика кількість навчальних матеріалів у мережі;
  1. Інтерфейси та програми для технологічних операцій з БД





Рисунок 1 – форма введення таблиці "Предмет"


Рисунок 2 – форма перегляду таблиці "Предмет"


Рисунок 3 – форма редагування таблиці "Предмет"


Рисунок 4 – форма введення таблиці "Студент"


Рисунок 5 – форма перегляду таблиці "Студент"


Рисунок 6 – форма редагування таблиці "Студент"


Рисунок 7 – форма редагування таблиці «Іспит»


Рисунок 8 – форма введення таблиці «Іспит»


Рисунок 9 – форма перегляду таблиці «Іспит»


Рисунок 10 – Звіт за запитом 1


Рисунок 11 – Звіт за запитом 2


Малюнок 12 – Звіт за запитом 8

  1. Прийоми роботи з Базою даних



У СУБД було встановлено зв'язок між таблицями. Тип зв'язків між:

  1. Код Предмета (Іспит) – Код Предмета (Іспит) одним-багатьом, тому що одному коду відповідає кілька іспитів. Тобто. один і той самий предмет здають багато студентів.

  2. Номер Заліки (Студент) – Номер Заліки (Студент) багато-багатьом, т.к. один студент може складати кілька іспитів, з кількох предметів, і кілька студентів можуть складати один і той же іспит.




Рисунок 13 – Логічна модель бази даних
Зв'язки зі ставленням «багато-багатьом» створюються в базі даних за допомогою проміжних (сполучних) таблиць. Сполучна таблиця містить стовпці первинного ключа обох зв'язуваних таблиць. Була створена сполучна таблиця "Студент + Іспит". Вона містить ключовий ключ НомерЗаліки таблиці «Студент» та id_запису, ключовий ключ таблиці «Іспит».


Рисунок 14 – Сполучна таблиця
Фізична модель даних – це конкретні місця зберігання даних у конкретній СУБД. Модель залежить від конкретної СУБД. Об'єктами фізичної моделі є таблиці та поля з типами даних, визначеними для обраної СУБД. Об'єкти називаються відповідно до правил СУБД. Однією логічною моделлю даних може відповідати кілька фізичних моделей.

Оскільки CODEGear не може працювати з версіями MS Access після 2003, то було створено дві бази даних. Одна з них версія 2003 – для роботи з додатком користувача, інша аналогічна, з формами введення, перегляду, редагування, звітами, запитами в режимі конструктора і так далі.


Рисунок 15 – Фізична модель бази даних


  1. Алгоритм роботи програми



Якщо описувати основний алгоритм програми у роботі, саме здійснення запитів до Бази Даних, можна висловити його так:

ПОЧАТОК

1 ОЧИСТИТИ.SQL;

2 ВИКЛЮЧИТИКОМПОНЕНТ ADO Query;

3 ДОДАТИНОВИЙ.SQL;

4 УВІМКНУТИКОМПОНЕНТ ADOQuery;

5 ВИРІВНИТИСтовпці;

6 ЗАДАТИ Ширину стовпців;

КІНЕЦЬ

Тепер давайте розглянемо покроково:

  1. Необхідно очистити попередній SQL-запит для коректного виведення нового. Цей крок виконується рядком коду ADOQuery1.SQL.Clear;

  2. Вимкнення компонента ADOQuery (тобто виставлення властивості Active в положення false) відбувається автоматично, при очищенні SQL-рядка, що міститься в ньому;

  3. Новий SQL-запит передається через 2 кроки. Спочатку спрацьовує оператор множинного вибору, який передає необхідний запит компонент Memo2, потім вже поза оператором множинного вибору даний запит передається в SQL рядок ADOQuery. Це зроблено для того, щоб користувач легко міг знайти помилку в SQLзапиті, якщо вона допущена;

  4. Включення компонента ADOQuery відбувається також після оператора множинного вибору, рядком коду ADOQuery1.Active:=true;

  5. Вирівнювання стовпців і завдання їх ширини не є обов'язковими, але дозволяють легше переглядати отримані дані;

Далі наведемо код програми:
Код, що виконується під час створення форми



Код для виведення таблиці з Бази Даних та форматування таблиці DBGrid


Код, що виконує зміну змінних, що оперують у запитах



дані алгоритм access логічний

Основний код, який відповідає за SQL запити


Докладно розберемо запити:

  1. SELECT * FROM Студент WHERE Група = '''+group+''' – простий запит вибірки всіх стовпців з таблиці Студент з умовою, що стовпець Група дорівнюватиме змінній рядковій змінній group.

  2. SELECT * FROM Студент WHERE НомерЗалікиIN(SELECT НомерЗаліки FROM Іспит WHERE ДатаЕкзамена>'''+date+''') – запит із вкладеним запитом. Вкладений запит видає всі номери заліку з таблиці Іспит, у яких ДатаЕкзамену пізніше 01.01.2015. Конструкція IN набуває значень із вкладеного запиту. Далі на основі отриманих номерів заліку з таблиці Студент вибираються всі дані.

  3. SELECT * FROM Студент WHEREНомерЗаліки='+IntToStr(numb)+' – простий запит вибірки всіх даних з таблиці студенти з умовою, що НомерЗаліки дорівнюватиме цілісній змінній numb.

  4. SELECTCOUNT(*) FROM Іспит WHEREКодПредмета='+IntToStr(pred)+' – простий запит, що використовує агрегатну функцію COUNT(*) для підрахунку іспитів за заданим КодомПредмета.

  5. SELECTCOUNT(*) FROM Іспит WHERE Оцінка>3 – запит використовує агрегатну функцію COUNT(*) для підрахунку кількість оцінок вище 3, у таблиці Іспит.

  6. SELECT TOP 1 Найменування FROM Предмет WHERE КодПредметаIN(SELECT COUNT(*) as Оцінка FROM Екзамен WHERE Оцінка=2 GROUP BY КодПредмета ORDER BY 1 DESC) – складний запит на вибірку. TOP 1 – означає, що виводитиметься лише перший за значенням. GROUPBYКодПредмета означає, що дані групуються по заданому полю. ORDERBY 1 DESC – визначає, що впорядкування відбувається по 1 стовпцю в порядку зменшення. Таким чином, вкладений запит підраховує кількість оцінок рівних 2, потім отримує два результати 2 (Математика), 1 (Фізика). Сортує їх у порядку зменшення. Потім передає в основний запит, який виводить лише верхній, тобто. максимальний.

  7. SELECT Найменування FROM Предмет WHERE КодПредметаIN(SELECT КодПредмета FROM Іспит WHERE НомерЗаліковки IN(SELECT НомерЗаліковки FROM Студент WHERE Група='''+group+'')) – складний запит, який використовує дві вкладеності. Спочатку вибирається Номери Заліки з таблиці Студенти, відповідно до прописаної групи, далі номери передаються і проглядаються яким Іспиту відповідають дані номери в таблиці Іспит і нарешті в Таблиці КодПредмету виводяться предмети.

  8. SELECT ДомашняАдреса FROM Студент WHERE НомерЗалікиIN(SELECT НомерЗаліки FROM Екзамен WHERE Оцінка=5 andКодПредмета='+IntToStr(pred)+') – складний запит, який використовує вкладеність. Спочатку вкладений запит вибирає такі НомериЗаліки в таблиці Іспит, у яких Оцінка з певного предмета 5. Потім дані передаються і з таблиці Студент знаходиться їх ДомашняАдреса.


Компоненти та процедури розробленої програми




7. Документація користувача
Встановлення з'єднання БД із клієнтською програмою відбувається за допомогою компонента ADOConnection, в якому в режимі браузера задається необхідний рядок з'єднання. Якби у нас був багатовіконний додаток, то був би сенс у відключенні та підключенні БД динамічно, але так як у нас лише одне вікно, це не має великого значення.


Рисунок 16 – Властивість каналу
Для з'єднання використовувався провайдер MicrosoftJet 4.0 OLEDBProvider та технологія ADO. Рядок з'єднання пов'язаний з іншими компонентами зв'язку – ADOQuery, DataSourse та DBGrid.


Рисунок 17 – Тестові дані таблиці «Студент»


Рисунок 18 – Тестові дані таблиці «Іспит»


Рисунок 19 – Тестові дані таблиці «Предмет»

8. Інтерфейс програми



Інтерфейс програми складається з наступних компонентів:

DBGrid – необхідний відображення Бази Даних;

ADOConnection – містить рядок підключення з БД;

ADOQuery – містить запити SQL;

2 компоненти Memo - службовці для виведення тексту запиту та пояснення, що він повинен робити;

2 компоненти ComboBox – необхідні для вибору запитів або таблиць;

8компонентів Label – для виведення на екран пояснювальних написів;

4 компоненти Edit - для введення даних нових змінних;


Рисунок 20 – Інтерфейс програми

9. Результати роботи програми



ТаблиціВідображення таблиці "Студент"


Рисунок 21 – таблиця «Студент»
Відображення таблиці «Іспит»


Рисунок 22 – таблиця «Іспит»

Відображення таблиці "Предмет"


Рисунок 23 – таблиця «Предмет»


Запити


Запит 1 - отримайте дані про студентів зазначеної групи;


Рисунок 24 – відповідь на запит 1
Запит 2 – отримайте дані про студентів, які склали іспит після зазначеної дати;



Рисунок 25 – відповідь на запит 2
Запит 3 - отримайте дані про студента за номером його заліковки;


Рисунок 26 – відповідь на запит 3
Запит 4 - отримайте дані про кількість студентів, які складали іспити з предметів;


Рисунок 27 – відповідь на запит 4
Запит 5 – отримайте відомості про кількість студентів, які отримали позитивні оцінки;


Рисунок 28 – відповідь на запит 5
Запит 6 - отримайте назву предмета, яким поставлено найбільшу кількість двійок;


Рисунок 29 – відповідь на запит 6
Запит 7 – отримайте дані про предмети, які складали студенти заданої групи;



Рисунок 30 – відповідь на запит 7
Запит 8 – отримайте домашні адреси студентів, які здали на «відмінно» зазначений предмет;


Рисунок 31 – відповідь на запит 8

Висновок



У міру роботи з проектом були створені логічна та фізична моделі бази даних, встановлені зв'язки, створені запити мовою SQL та в конструкторі запитів, були зроблені звіти за запитами, створені таблиці та заповнені тестовими даними, форми перегляду, редагування та введення даних.

У ході виконання курсового проекту було виконано поставлену мету та завдання, а саме:

  1. Практично застосовано різні методи проектування інформаційних систем;

  2. Було вироблено навички роботи з базами даних;

  3. Засвоєно прийоми роботи з СУБД Access та мовою SQL;

Так само, в ході роботи над курсовим проектом було розроблено додаток користувача, який дозволяє працювати з базою даних, здійснювати подачу запитів на вибірку даних відповідно до завдання.

На додаток, були отримані навички з використання технології з'єднання з базами даних - ADO.

У ході розробки додатка користувача, були на практиці продемонстровані можливості мови SQL на можливість складної вибірки, умовної вибірки та використання вкладених запитів.


Додаток 1



Лістинг процедури створення форми

Додаток 2
Лістинг SQL-запитів


Розміщено на Allbest.ur



написать администратору сайта