Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
му_курс БД 2009 укр.doc
Скачиваний:
4
Добавлен:
19.09.2019
Размер:
212 Кб
Скачать
☆

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). Для кожної групи користувачів необхідно описати надані їм можливості по роботі в системі.

Розроблювальна інформаційна система повинна включати засоби для зберігання й обробки информації про користувачів, їхні паролі і права. Доступ до цих даних мають тільки привілейовані користувачі. Крім того, БД повинна містити таблицю (Журнал) для зберігання наступних реєстраційних даних: дата, час, ім'я користувача, виконані дії (вхід у систему, уведення даних у таблицю, виконання запиту й т.д.).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]