- •1 Теоретичні відомості
- •1.1 Збір і аналіз вимог
- •1.2 Розробка концептуальної й реляционной моделі
- •1.3 Створення запитів на sql
- •1.4 Рекомендації з розробки ирнтерфейса
- •2 Завдання до курсового проекту
- •2.1 Аналіз предметної області
- •2.2 Визначення груп користувачів
- •3 Варіанти завдань
- •2.3 Інтерфейс користувача
- •4 Зміст пояснювальної записки
- •5 Строки здачі курсовОго проекту
2 Завдання до курсового проекту
2.1 Аналіз предметної області
Студент вивчає запропоновану в завданні предметну область. У результаті аналізу предметної області виявляються набір вимог, розділений на мети, властивості об'єктів і правила. Предметна область повинна включати не менш 8 об'єктів, обов'язкова наявність зв'язків «один-до-багатьох» й «багато-ко-багатьох».
Наприклад, для хірургічного відділення лікарні виявлені об'єкти ЛІКАР, ПАЦІЕНТ, ПАЛАТА. Атрибути об'єктів: ЛІКАР (Код, Прізвище, Посада, ДодатковіВідомості, ...), ПАЦІЄНТ (Код, Прізвище, Адреса, Дата надходження, Діагноз, Дата операції, ...), ПАЛАТА (Номер, Тип, Кількість ліжок). Між об'єктами ПАЦІЄНТ і ПАЛАТА існує зв'язок «багато-до-одного», між ЛІКАР і ПАЦІЄНТ – «один-до-багатьох».
Визначаються первинні ключі логічних записів, що зберігають задану информацію.
Якщо таблиці, що містять ці записи, мають аномалії при обробці даних, потрібно виявити ці аномалії, проаналізувати причини їхньої появи й виконати нормалізацію.
Далі варто побудувати графічну схему концептуальної моделі даних, що включає об'єкти, їхні атрибути й зв'язки між ними.
Наступним етапом є формування реляційної моделі даних, що описує структуру конкретних таблиць БД, поля цих таблиць (назва, тип, обмеження) і зв'язки між полями таблиць.
Потім необхідно сформулювати запити й реалізувати їх на SQL. Запити повинні використати наступні можливості SQL:
1. Вибір з декількох таблиць із сортуванням (наприклад, список пацієнтів, яких лікує заданий лікар);
2. Завдання умови відбору з використанням предиката LІKE (наприклад, знайти всіх пациєнтів, чиє прізвище починається на задану букву);
3. Завдання умови відбору з використанням предиката BETEWEEN (наприклад, список пацієнтів, прооперованих у заданий період);
4. Агрегатна функція без угруповання (наприклад, скільки пацієнтів надійшло в лікарню за останній тиждень?);
5. Агрегатна функція з угрупованням (наприклад, скільки пацієнтів прооперував кожний лікар?);
6. Використання предиката ALL або ANY (наприклад, хто з лікарів прооперировал найбільшу кількість хворих?);
7. Корельований підзапит (наприклад, для кожної лікарської спеціальності визначити лікаря, що лікує максимальну кількість пацієнтів);
8. Запит на заперечення (наприклад, хто з лікарів не оперував на цьому тижні?) Запит реалізувати у трьох варіантах: з використанням LEFT JOІN, предиката ІN і предиката EXІSTS;
9. Операція об'єднання UNІON із включенням коментарю в кожен рядок (наприклад, список лікарів з коментарем «Має максимальну кількість хворих», «Не має в цей час хворих»);
10. Відновлення даних, умова відбору формується з використанням підзапита з іншої таблиці (наприклад, у поле ДодатковіВідомості для відповідного лікаря записати «Прооперував найбільшу кількість хворих»).
Для кожного пункту написати по два запита.
Множина запитів повинна відповідати набору вимог для розглянутої предметної області.
На основі запитів з п. 5, 7 й 9 необхідно реалізувати звіти.
2.2 Визначення груп користувачів
Студент повинен проаналізувати склад користувачів, які будуть працювати із проектованою системою. Користувачі повинні бути розділені мінімум на 3 групи: привілейовані користувачі, що мають можливість звертатися до структури таблиць і працювати із реєстраційними даними (admіn), користувачі, що мають можливість редагувати таблиці предметної області й виконувати задану множину запитів (user1), і користувачі, що мають можливість тільки переглядати таблиці предметної області й виконувати обмежену множину запитів (user2). Для кожної групи користувачів необхідно описати надані їм можливості по роботі в системі.
Розроблювальна інформаційна система повинна включати засоби для зберігання й обробки информації про користувачів, їхні паролі і права. Доступ до цих даних мають тільки привілейовані користувачі. Крім того, БД повинна містити таблицю (Журнал) для зберігання наступних реєстраційних даних: дата, час, ім'я користувача, виконані дії (вхід у систему, уведення даних у таблицю, виконання запиту й т.д.).
Необхідно розробити діаграму варіантів використання, що показує відповідність між акторами предметної області й виконуваними ними функціями.
