Ім'я файлу: ЛР_1_2_1сем (2).docx
Розширення: docx
Розмір: 48кб.
Дата: 21.09.2022
скачати

ЛАБОРАТОРНА РОБОТА №2. ПРОЕКТУВАННЯ БАЗИ ДАНИХ (4 год.)

Мета: Закріпити теоретичні знання та отримати практичні навики реалізації баз даних (БД). Здійснити аналіз предметної області. Засвоїти концептуальне проектування та навчитись визнасати сутності та атрибути БД. Навчитись розробляти інфологічну модель БД у вигляді ER-діаграм. Отримати теретичні та практичні навики при фізичному проектування баз даних. Навчитись створювати датологічну модель БД
І. ТЕОРЕТИЧНІ ВІДОМОСТІ

Опис предметної області бази даних

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

Мета будь-якої інформаційної системи – обробка даних про об’єкти реального світу. Основою інформаційної системи є база даних. В широкому розумінні слова база даних – це сукупність відомостей про конкретні обєкти реального світу в будь-якій предметній області.

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

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

Структурування даних - це введення угод про способи представлення даних. Неструктурованими називають дані, записані, наприклад, в текстовому файлі. Нижче наведено приклад неструктурованих та структурованих даних, що містять відомості про студентів (номер особової справи, прізвище, ім'я, по батькові та рік народження).

Неструктуровані дані:

Особова справа № 16493. Сергєєв Петро Михайлович, дата народження 1 січня 1976 р .; № о/с 16593, Петрова Ганна Володимирівна, дата нар. 15 березня 1975 р .; № особовоїсправи 16693, д.н. 14.04.76, Анохін Андрій Борисович



Структуровані дані:

о/с

Прізвище

Імя

По-батькові

Дата народження

16493

Сергеєв

Петро

Михайлович

01.01.76

16593

Петрова

Ганна

Володимирович

15.03.75

16693

Анохін

Андрій

Борисович

14.04.76


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

Об'єкт може бути реальним (наприклад, людина, виріб; або населений пункт) і абстрактним (наприклад, подія, рахунок покупця або досліджуваний студентами курс). Так, в області продажу автомобілів прикладами об'єктів можуть служити МОДЕЛЬ АВТОМОБІЛЯ, КЛІЄНТ і РАХУНОК. На товарному складі - це ПОСТАЧАЛЬНИК, ТОВАР, ВІДПРАВЛЕННЯ і т. д.

Поняття бази даних тісно пов'язане з такими поняттями структурних елементів, як поле, запис, файл (таблиця) (рис.1).


Ім’я поля 1

Ім’я поля 2

Ім’я поля 3

Ім’я поля 4











запис





























Тип товару

Од. Вимір.

Назва товару

Конд. вироби

кг

печиво




















Рис 1.1 Основні структурні елементи БД
Структурні елементи бази даних

Поле - елементарна одиниця логічної організації даних, яка неподільної одиниці інформації - реквізиту. Для опису поля використовуються наступні характеристики:

  • ім'я, наприклад, Прізвище, Ім'я, По батькові, Дата народження;

  • тип, наприклад, символьний, числовий, грошовий;

  • довжина, наприклад, 15 байт, причому буде визначатися максимально можливою кількістю символів;

  • точність для числових даних, наприклад два десяткових знака для

  • відображення дробової частини числа,

Запис - сукупність логічно пов'язаних полів.

Екземпляр запису - окрема реалізація записи, що містить конкретні

значення її полів.

Файл (таблиця) - сукупність примірників записів однієї структури.

Опис логічної структури записи файлу містить послідовність розташування полів записи і їх основні характеристики.

У структурі запису файлу вказуються поля, значення яких є ключами:

первинними (ПК) і зовнішніми (ВК),

Первинний ключ (PK) - це одне або кілька полів, однозначно ідентифікують запис. Якщо первинний ключ складається з одного поля, він називається простим, якщо з декількох полів - складеним ключем.

Зовнішній ключ (FК) - це одне або кілька полів, які виконують роль пошукових або групувальних ознак. На відміну від первинного, значення зовнішнього ключа може повторюватися в декількох записах файлу, тобто він не є унікальним. Якщо за значенням первинного ключа може бути знайдений один єдиний екземпляр запису, то по зовнішньому – кілька


Імя файла: СТУДЕНТ

Поле

Ознака ключа

Формат поля

Позначення

Найменування

Тип

Довжина

Точність

Номер

№ особової справи

+

Симв

5




Прізвище

Прізвище студента




Симв

15




Ім’я

І’мя студента




Симв

10




По батькові

По батькові студента




Симв

15




Дата

Дата народження




Дата

8





ПРОЕКТУВАННЯ БАЗ ДАНИХ

Аналіз та опис предметної області БД
Предметною областю називається фрагмент реальності, який описується чи моделюється за допомогою БД і її додатків. В предметній області виділяються інформаційні об'єкти - ідентифікуються об'єкти реального світу, процеси, системи, поняття і т.д., відомості про яких зберігаються в БД.

Аналіз предметної області виконується в наступному порядку: назва підприємства, мета діяльності підприємства, структура підприємства, інформаційні потреби користувачів. Для опису ПО слід привести основні розв'язувані завдання БД. Дати словесний опис процесу функціонування ПО, проаналізувати основні господарські операції, які здійснюються в ПО. привести аналіз структури підприємства, перерахувати завдання, які вирішуються окремими підрозділами.

Аналіз предметної області доцільно розбити па три фази:

1. Аналіз концептуальних вимог та інформаційних потреб;

2. Виявлення інформаційних об'єктів і зв'язків між ними;

3. Побудова концептуальної моделі предметної області і проектування

концептуальної схеми БД.
Аналіз концептуальних вимог та інформаційних потреб

Вимоги користувачів до розроблюваної БД є список запитів із зазначенням їх інтенсивності та обсягів даних. Ці відомості розробники

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

Розглянемо приблизний склад опитувальника при аналізі різних предметних областей.

Пропонується розробити БД для обліку студентів вузу.

Аналіз предметної області:

  1. Скільки студентів навчається у вузі?

  2. Скільки факультетів і відділень у вузі?

  3. Як розподілені студенти по факультетах відділень і курсів?

  4. Скільки дисциплін читається на кожному курсі по кожній спеціальності?

  5. Як часто оновлюється інформація в БД?

  6. Скільки викладачів у ВНЗ?

  7. Скільки іногородніх студентів живе в гуртожитку, на приватних квартирах?

  8. Скільки лекційних аудиторій і аудиторій для проведення практичних занять, лабораторій?

  9. Яка спадкоємність існує між читаються курсами?

  10. Як інформація, представлена ​​в п.п. 1-9, використовується в даний час (Розклад занять, іспитів, заліків і т.д.) і як її збираються використовувати?

  11. Скільки разів на день, скільки людина і хто користуються БД?


Виявлення інформаційних об'єктів і зв'язків між ними

Друга фаза аналізу предметної області полягає у виборі інформаційних б'єктів, завданні необхідних властивостей для кожного об'єкта, виявленні зв'язків між об'єктами, визначенні обмежень, що накладаються на інформаційні об'єкти, типи зв'язків між ними, характеристики інформаційних об'єктів-Проаналізуємо предметну область на прикладі БД "Відеомагнітофони". При виборі інформаційних об'єктів постараємося відповісти на ряд питань:

1. На які класи можна розбити дані, що підлягають зберіганню в БД?

2. Яке ім'я можна привласнити кожному класу даних?

3. Які найцікавіші характеристики (з точки зору користувача) кожного класу даних можна виділити?

4. Які імена можна присвоїти обраним наборам характеристик?
Приклад. БД "Гаджети", розрахована на користувачів, які хочуть придбати даний вид техніки.

Після бесіди з різними користувачами і перегляду каталогів було з'ясовано, що інтерес представляють три інформаційних об'єкта: планшет, смартфон, приставка. Розглянемо найбільш істотні характеристики кожного інформаційного об'єкта.

Об'єкт - ПЛАНШЕТ.

Атрибути - країна-виробник, фірма-виробник, № моделі, телевізійні

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

Об'єкт – СМАРТФОН ,

Атрибути - країна-виробник, фірма-виробник, № моделі, обсяг батареї,

габаритні розміри, маса, ціна в доларах, рік випуску.

Об'єкт - ПРИСТАВКА.

Атрибути - найменування, країна-виробник, фірма-виробник, тип, ціна в доларах.

Далі виділимо зв'язки між інформаційними об'єктами. В ході цього процессу постараємось відповісти на наступні питання:

1. Які типи зв'язків між інформаційними об'єктами?

2. Яке ім'я можна привласнити кожному типу зв'язків?

3. Які можливі типи зв'язків, які можуть бути використані

згодом?

4. Чи мають сенс якісь комбінації типів зв'язків?

Спробуємо поставити обмеження на об'єкти і їх характеристики. Під обмеженням цілісності зазвичай розуміють логічні обмеження, що накладаються на дані. Обмеження цілісності - це така властивість, яку ми задаємо для деякого інформаційного об'єкта або його характеристики і яка має зберігатися для кожного їх стану.

Введемо наступні обмеження:

1. Значення атрибута "число юсб входів" змінюється від 1 до 2.

2. Значення атрибута "ресурс безперервної роботи" змінюється від 4 до 24.

3. Значення атрибута "напруга в мережі" змінюється від 110 до 240 В.

4. Значення атрибута "число програм" змінюється від 1 до 20 і т.д.

11Зв'язки між різними класами об'єктів.

Кожний зв'язок характеризується ім'ям, типом, класом приналежності і напрямком. Ім'я зв'язку має бути дієслівним оборотом, наприклад «Належить», «Закріплені за», «Входить в» і т.д.

Всі інформаційні об'єкти предметної області пов'язані між собою. Відповідності, відносини, що виникають між об'єктами предметної області, називаються зв'язками. Розрізняються зв'язку декількох типів, для яких введені такі позначення:

Розрізняють чотири типи зв'язів:

  • «один до одного» (1: 1);

  • «один до багатьох» (1: М);

  • «багато до одного» (М: 1)

  • «багато до багатьох» (М: М).


Побудова інфологічної (концептуальної моделі) предметної

області

Заключна фаза аналізу предметної області полягає в проектуванні її инфологической структури або концептуальної моделі. Концептуальна модель включає описи об'єктів і їх взаємозв'язків, що представляють інтерес в аналізованої предметної області (ПО) і виявляються внаслідок аналізу даних.

Концептуальна модель застосовується для структурування предметної області з урахуванням інформаційних інтересів користувачів системи. Вона дає можливість систематизувати інформаційний зміст предметної області, дозволяє як би "Піднятися вгору" над ПО і побачити її окремі елементи. При цьому рівень деталізації залежить від обраної моделі.

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

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

Однією з поширених моделей концептуальної схеми є модель «Сутність - зв'язок» (ER-моделей (або ER-діаграм)). основними конструкціями даної моделі є сутності та зв'язку.

Під сутністю розуміють основний зміст об'єкта ПО, про який збирають інформацію. В якості сутності можуть виступати місце, річ, особу, явище. Примірник сутності - конкретний об'єкт.

Наприклад:

сутність (об'єкт) - службовець

екземпляр сутності - Іванов А.В .;

сутність (об'єкт) - інститут

екземпляр сутності – КПУ.

Сутність прийнято визначати атрибутами - пойменованими характеристиками.

НАПРИКЛАД:

сутність - службовець

атрибути: ПІБ, рік народження, адресу, освіту і т.д.

Щоб задати атрибут в моделі, йому треба привласнити ім'я і визначити область допустимих значень. Одне з призначень атрибута - ідентифікувати сутність.

Зв'язок визначає відносини між сутностями. Типи зв'язків: один до одного, один до багатьох, багато до багатьох.

При побудові моделі «сутність - зв'язок» використовують графічні діаграми. При цьому позначають: сутності - прямокутниками, атрибути - овалами, зв'язку – ромбами.

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

Класом об'єктів називають сукупність об'єктів, що володіють однаковим

набором властивостей. Наприклад, для об'єктів класу «СТУДЕНТ» таким набором властивостей є: «ГОД_РОЖДЕНІЯ», «ПОЛ» і ін.

Об'єкти можуть бути реальними, як названий вище об'єкт «СТУДЕНТ», і

абстрактними, як, наприклад, «ПРЕДМЕТИ», які вивчають студенти.

ПРИКЛАД. Спроектувати БД "Сесія". База даних повинна видавати оперативну інформацію про успішність студентів на факультетах в семестрі. результатами сесії вважати тільки іспити. По суті справи і БД виходячи з формулювання завдання можна виділити лише одну прикладну програму. Йдеться про успішність студентів різних факультетів з тих чи інших дисциплін. Більш конкретно мова йде про видачу довідок за результатами сесії кожного студента, навчальної групи, курсу, факультету, а також про автоматизоване складання відомості

Виберемо наступні сутності:

ІНСТИТУТ, ФАКУЛЬТЕТ, СТУДЕНТ, ВИКЛАДАЧ, ДИСЦИПЛІНА.

В даному прикладі можна виділити сутність ІСПИТ або відомість, але

можна не виділяти, а сформувати відомість з наявних даних за допомогою зв'язків.

Задамо кожну сутність набором атрибутів:

ІНСТИТУТ (назва, підпорядкованість, адреса, телефон, ПІБ ректора)

ФАКУЛЬТЕТ (назва, код спеціальності, дані про кафедрах, число випускників, декан).

СТУДЕНТ (ПІБ, група, курс, номер поточного семестру, підлогу). ВИКЛАДАЧ (ПІБ, посада, звання, кафедра, стаж).

ДИСЦИПЛІНА (назва, число годин, код дисципліни, види занять, число читаються семестрів, номери поточних семестрів, на яких курсах викладається)

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

Визначимо зв'язки між сутностями


Назва зв'язку

Зв'язки між сутностями

вчиться

студент, факультет

вивчає

студент, дисципліна

має

інститут, факультет

працює

викладач, факультет

викладає

викладач, дисципліна

іспит

студент, дисципліна, викладач







Після вибору сутностей, завдання атрибутів і аналізу зв'язків можна перейти до проектування інформаційної (концептуальної) схеми БД.

Розглянемо деякі обмеження в розглянутому прикладі:

1 Значення атрибута "телефон" (сутність - ІНСТИТУТ) задається цілим позитивним шестизначним числом.

2 Значення атрибута "код факультету" (сутність - ФАКУЛЬТЕТ) лежить в інтервалі 1-10.

3. Значення атрибута "курс" (сутність - СТУДЕНТ) лежить в інтервалі 1 - 6

4. Значення атрибута "семестр" (сутність - СТУДЕНТ, ДИСЦИПЛИНА) лежить в інтервалі 1-12.

5. Значення атрибута "число годин" (сутність - ДИСЦИПЛИНА) лежить в інтервалі 1-300.

6. Одному студенту може бути приписана тільки одна група.

7. Один студент може вчитися тільки на одному факультеті.

8. Один студент в семестрі здає від 3 до 5 дисциплін

9. Один студент вивчає в семестрі від 6 до 12 дисциплін.

10. Одному викладачеві приписується тільки одна кафедра.

11. Один студент може перездавати одну дисципліну не більше трьох разів.

12. Ключі: назва інституту, назва факультету, ПІБ і група студента, ПІБ і кафедра викладача, назва дисципліни.

ФІЗИЧНЕ ПРОЕКТУВАННЯ

Даталогічне проектування

Інфологическая модель є вихідною для побудови даталогічної моделі БД і служить проміжною моделлю для фахівців предметної області (для якої створюється банк даних (БНД) і адміністратора БД в процесі проектування і розробки конкретної БД.

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

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

Інфологическая модель предметної області будується першою. Попередня інфологічна модель будується ще на передпроектній стадії і потім уточнюється на більш пізніх стадіях проектування баз даних. Потім на її основі будуються концептуальна (логічна), внутрішня (фізична) і зовнішня моделі.

Кінцевим результатом даталогічного проектування є опис логічної структури бази даних на мові програмування. Однак якщо проектування виконується «вручну», то для більшої наочності спочатку будується схематичне графічне зображення структури бази даних. При цьому повинна бути забезпечена однозначна відповідність між конструкціями мови опису даних і графічними позначеннями інформаційних одиниць і зв'язків між ними.

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

Така таблиця складається для кожного відношення, використовуваного в базі банних. Відношення в базі відповідають класам об'єктів з інфологічної моделі. Крім того, відношення можуть представляти деякі зв'язки предметної області. Кожній таблиці потрібно поставити у відповідність її ключі.

Розрізняють прості і складні ключі. Простий ключ будується на основі одного атрибута. Складний ключ будується на базі використання декількох атрибутів. Ключі прийнято розділяти на первинні, зовнішні і допоміжні. Первинний ключ повинен бути тільки один для кожної таблиці. Значення атрибутів, використовуваних для формування первинного ключа, повинні бути унікальними для кожного запису в таблиці. Значення первинного ключа унікально ідентифікують кожен запис. Не може бути двох записів в таблиці з однаковим значенням первинного ключа. Наприклад, в якості первинного ключа для відносини «Співробітники» можна вибрати атрибут «Табельний номер», значення якого є унікальним для кожного запису про співробітника. Зовнішні ключі використовуються для реалізації зв'язків типу 1: М між відношеннями. Зовнішній ключ будується для відношення, що знаходиться на стороні 1: М. Для кожного такого типу на даталогічної моделі повинен бути показаний зовнішній ключ.
II. ЗАВДАННЯ ДЛЯ ВИКОНАННЯ
На підставі обраного варіанту виконати наступне:

1.Виконати аналіз предметної області досліджуваної організації

2. Описати основні сутності предметної області.

3. Розставити існуючі зв'язки між сутностями: самостійно додати в кожну сутність первинні ключі та встановити зовнішні ключі між сутностями.

4. Побудувати інфологічну модель бази даних організації.

5. Побудувати даталогічну модель бази даних організації.
ІIІ. ПОРЯДОК ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ
1. Вибір завдання

Вибрати з таблиці «Варіанти завдань для лаб.работи №1.» варіант завдання, що відповідає номеру студента в списку навчальної групи. Для всіх наступних лабораторних робіт варіант залишається незмінним. Кожному студенту надається свій варіант предметної області (ПО), який він буде використовувати в процесі виконання всіх лабораторних робіт.

2. Аналіз предметної області.

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

діяльності підприємства, структура підприємства, інформаційні потреб користувачів (коротко).
3. Опис основних сутностей ПО.

Тут слід привести опис основних сутностей (об'єктів) ПО. Відбір сутностей проводиться на основі аналізу інформаційних потреб. Необхідно привести таблиці опису сутностей (сутностей має бути не менше 3-х)
Таблиця 1.1. Список сутностей предметної області.


з/п

Наіменування сутності

Короткий опис



















Тут же наводиться відбір атрибутів (не менше 5-ти) для кожного екземпляра сутності. Відбираються тільки ті атрибути сутностей, які необхідні для формування відповідей на регламентовані і непередбачені запити. Для кожного об'єкта слід привести таблиці його атрибутів.
Таблиця 1.2. Список атрибутів предметної області


з/п

Наіменування атрибуту

Короткий опис




















На основі аналізу інформаційних запитів слід виявити зв'язку між сутностями. Для виявлених зв'язків також потрібно заповнити таблицю 1.3.


Таблиця 1.3. Список зв'язків ПО

з/п

Наіменування звязку

Сутності що приймають участь в зв’язку

Призначення


























4 Побудова інфологічної моделі

На підставі раніше обраного варіанту і таблиць 1.1-1.3:

  • описати класи об'єктів (сутностей) і їх властивості,

  • розставити існуючі зв'язки між ними,

  • на підставі табл. 1.3. в письмовій формі обґрунтувати типи зв'язків (1: 1, 1: М і т.д.).

При графічному побудові ІЛМ слід дотримуватися єдиного масштабу для всієї схеми. Всі прямокутники, що позначають класи об'єктів, повинні бути одного розміру. Аналогічно, всі ромби з іменами зв'язків також повинні мати однаковий розмір.
5. Побудова даталогічної моделі

На підставі раніше обраного варіанту і таблиць 1.1-1.3, інфологічної моделі і нормалізації БД необхідно:

  • провести відповідність ключів для кожної таблиці 1.1-1.3,

  • заповнити для кожної таблиці БД форму, згідно табл. 1.4.


Таблиця 1.4. Структура таблиці для даталогічної моделі.


з/п

Наіменування реквізиту

Ідентифікатор

Тип

Довжина

Формат зображення

Обмеження та коментар












































IV. ЗМІСТ ЗВІТУ


  1. Назва та мета роботи.

  2. Словесний і схематичний аналіз предметної області (ПО), включаючи схему структури підприємства.

  3. Заповнені таблиці 1.1 - 1.3. з описом основних сутностей ПО.

  4. Інфологічна модель БД, відповідно до варіанту.

  5. Обґрунтування типів зв'язку в інфологічній моделі даних.

  6. Даталогічна модель БД (табл. 1.4.).



Контрольні питання

  1. Дати визначення сутності. Що таке сильна сутність, слабка сутність?

  2. Дати визначення атрибута. Що таке простий атрибут, складний атрибут, композитний атрибут?

  3. Дати визначення ступеня зв'язку. Що таке кардинальнее число?

  4. Що таке ідентифікаційний і неідентифікаційний зв'язок?

  5. Навести символьні позначення, які застосовуються в діаграмах "сутність –

зв'язок".

  1. Пояснити, що таке підтипи сутностей і навести приклади.

  2. Як відображається наслідування на діаграмах "сутність – зв'язок"?

  3. Навести приклади зв'язків 1:N для таких різновидів зв'язків: необов'язково-

необов'язково, необов'язково- обов'язково, обов'язково-необов'язково, обов'язково-обов'язково.

  1. Дати визначення рекурсивного зв'язку і навести приклади рекурсивних зв'язків 1:1, 1:N, M:N.

  2. Пояснити переваги і недоліки ER-моделі.

скачати

© Усі права захищені
написати до нас