Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Інститут КНІТ
Кафедра АСУ
ЗВІТ
До лабораторної роботи № 2
На тему: “Проектування бази даних реляційного типу ”
Львів – 2012
Мета роботи: Вивчення послідовності, методів та засобів інформаційного моделювання предметної області, створення таблиць бази даних, проектування логічної структури реляційної бази даних, нормалізації баз даних.
Теоретична частина.
Реляційна база даних - це множини взаємопов'язаних відношень, які зберігають значення інформаційних показників деякої сукупності об'єктів реального світу. Частина реального світу, що відображається у базі даних, називається предметною областю.
На першому етапі проектування бази даних необхідно встановити призначення бази даних, основні її функції та інформацію, яку вона повинна містити. Тобто потрібно визначити основний зміст таблиць бази даних і інформацію, яку будуть містити поля таблиць.
Кожна таблиця містить інформацію на окрему тему, а кожне поле в таблиці - окремі відомості з цієї теми.
Для кожного поля встановлюється тип даних, що визначає вигляд інформації, яка буде вноситись у це поле. Тип даних вноситься в колонку Data Type (Тип даних). Access розрізняє такі типи даних:
Типи даних СУБДMS Access
Тип
Опис
1
2
Text
(Текстовий)
Текстові поля містять текст, довжина якого не може бути більшою за 2555 символів. Реальна довжина поля встановлюється за допомогою параметра Field Size (Розмір поля)
Memo
(Коментар)
У Memo–полях зберігається текст довжиною до 64000 символів. Поля цього типу даних не можуть індексуватись.
Number
(Числовий)
Діапазон допустимих значень визначається параметром Field Size (Розмір поля). Формат чисел вказується у параметрі Format.
Date/Time
(Дата/Час)
Поля дати/часу містять значення дат та часу у діапазоні від 100 до 9999 р.
Currency
(Грошовий)
У грошових полях можна зберігати числа з точністю до 15 знаків ліворуч від коми і чотирьох розрядів після десяткової коми.
AutoNumber
(Автономер)
Поле лічильника містить число, яке збільшується на 1 автоматично, щоразу після того, як додається новий запис до таблиці.
Yes/No (Логічний)
Поле є тригером. Може містити значення Yes/No, True/False, On/Off, що вибирає користувач залежно від потреб.
OLE-Object
(Об'єкт OLE)
У OLE–полях розміщуються об'єкти, такі, як, наприклад, Excel– таблиця або Microsoft Draw–графіка, опрацьовані OLE–сервером. Розмір поля маже бути до 128 Мб. Поля цього типу не можуть індексуватись.
Hyperlink
(Гіперпосилання)
Посилання на ім'я файла або Internet-адреса Web-сайту.
Характеристики кожного поля визначаються рядом параметрів, які регламентують способи опрацювання, збереження та відображення даних
Параметри полів таблиць
Назва властивості
Опис
1
2
Field Size
(Розмір поля)
Визначає максимальну довжину текстового поля або спосіб подання чисел у полі типу Number.
Format
(Формат поля)
Визначає спосіб подання даних. Допускає використання власних форматів користувача.
New Values
(Нове значення)
Визначає нове значення для поля AutoNumber (Автономер): Increment (Приріст) або Random (Випадкове число).
Decimal Places
(Кількість десяткових знаків)
Визначає кількість розрядів праворуч від десяткової коми.
Input Mask
(Маска введення)
Визначає під час введення формат даних, що включає зображення постійних символів у полі, а також задає перевірку формату даних.
Caption
(Підпис)
Визначає надпис, який буде використовуватись як назва поля у формі або звіті. Якщо для цього параметра не буде задане значення, то як надпис буде використовуватись ім'я поля.
Default Value
(Значення за замовчуванням)
Визначає значення, яке автоматично буде введено у поле під час генерації запису.
Validation Rule
(Умова на значення)
Правило, що обмежує допустимі для введення у поле дані.
Validation Text
(Повідомлення про помилку)
Повідомлення про спробу ввести у поле дані, що не задовольняють правило, задане у Validation Rule.
Required
(Обов'язкове поле)
Визначає необхідність заповнення цього поля під час введення
Indexed
(Індексоване поле)
Ознака індексування, що набуває такі значення: No - у разі відсутності індексування, Yes (Duplicates OK) (Збіги допускаються) - індексування з можливістю повторення ключів та No Duplicates -збіги не допускаються.
Додаткові властивості текстових полів
Allow Zero Length
(Порожні рядки)
Визначає, чи допустимо вводити у це поле порожні рядки.
Unicode Compresion
(Стискання Юнікод)
Використовується чи ні кодування UNICODE для цього поля.
Спростити введення значень в поле дає змогу операція підстановки. Застосовуючи цю операцію, можна вибирати значення поля із списку. Список значень може бути як фіксованим, так і міститися у таблиці чи запиті.
Маска - це попередній описання типу символів, способу їхнього введення та розміщення в полі, а також засіб визначення загального вигляду значень поля під час його відображення
Символи для визначення масок введення полів таблиць
Символ
Опис
1
2
0
Цифра від 1 до 9, значення обов'язкове, знаки “+” або “–“ не застосовуються
9
Цифра або пробіл, значення необов'язкове, знаки “+” або “–“ не застосовуються
#
Цифра або пробіл, значення необов'язкове, пробіли відображаються під час введення, але не зберігаються, знаки “+” або “–“ допускаються
L
Літера, введення значення обов'язкове
?
Літера, введення значення необов'язкове
A
Літера або цифра, введення значення обов'язкове
a
Літера або цифра, введення значення необов'язкове
&
Будь-який символ або пробіл, введення значення обов'язкове
C
Будь-який символ або пробіл, введення значення необов'язкове
. , : ; – /
Розділювач дробної частини, тисяч, дати і часу. Залежить від національних налагоджень
Вказує, що всі введені літери перетворюються на малі
Вказує, що всі введені літери перетворюються на великі
!
Визначає заповнення поля символами справа наліво (зазвичай поля заповнюються зліва направо)
\
Задає літерал у масці. Використовується для зміни призначення спеціальних символів масок. (Наприклад, \А означає не довільну літеру, а літеру “А”)
"літерал”
Замість того, щоб багаторазово застосовувати символ (\), можна просто взяти будь-який літерал у подвійні лапки
Password
Ключове слово, що задає введення поля у режимі пароля (замість введених символів відображаються символи *)
Кожна таблиця може мати первинний ключ. Він ідентифікує записи і допомагає відрізнити один запис від іншого. Первинний ключ складається з одного або декількох полів.
У реляційних базах даних користувач може описати відношення між декількома таблицями. Access враховує ці відношення, шукаючи взаємопов'язані дані під час оброблення запитів, форм та звітів, що ґрунтуються на декількох таблицях. Щоб встановити зв'язки між кількома таблицями спершу треба створити первинний ключ для кожної таблиці.
Описання виконаної роботи.
A) Об'єкт інформаційного моделювання.
Завданням цієї лабораторної роботи є описання певної предметної області на підставі якого буде спроектовано реляційну базу даних.
Вибрано таку предметну область: „Книжковий магазин”
Відповідно до поставленого завдання необхідно побудувати базу даних, для роботи в книжковому магазині, тобто вести облік даних про книги.
Б) Концептуальна модель об'єкта.
Характеристики предметної області, що підлягають відображенню у базі даних, описує така множина атрибутів: код книги, назва книги, автор, видавництво, рік випуску, жанр, інформація про автора, продаж та інші.
B) Логічна схема бази даних.
Всі перелічені вище характеристики можна подати такими інформаційними відношеннями, тобто таблицями MS Access:
Книги – інформація про книги: назва, автор, рік випуску, жанр, ціна, кількість на складі;
Автори – міститься інформація про автора певної книги/книг, зокрема: прізвище, ім’я, країна, місто;
Видавництво – в даній таблиці міститься інформація про видавництва, які випускають ту, чи іншу книгу, зокрема: назва видавництва, адреса, номер телефону, веб-сайт;
Продаж – міститься інформація про продає книг: ким продана, яка кількість та коли;
Г) Структура та вміст таблиць. Додаткові властивості та обмеження полів.
В предметну область потрібно розбити на таблиці і добавити ключові поля, які б були унікальними для кожної таблиці. Розіб’ємо предметну область на такі таблиці:
Книги.
Назва поля
Тип даних
Властивості
Код книги
Числовий
Довге ціле, ключове
Назва книги
Текстовий
50 символів
Автор
Числовий
15 символів
Рік
Числовий
20 символів
Код видавництва
Числовий
Довге ціле
Жанр
Текстовий
15 символів
Ціна
Грошовий
# ##0.00”грн.”;# ##0.00”грн.”
Кількість на складі
Числовий
Довге ціле
Автори.
Назва поля
Тип даних
Властивості
Код
Лічильник
Довге ціле, ключове
Прізвище
Текстовий
50 символів
Ім’я
Текстовий
50 символів
Країна
Текстовий
50 символів
Місто
Числовий
Довге ціле
Видавництво.
Назва поля
Тип даних
Властивості
Код видавництва
Числовий
Довге ціле, ключове
Назва видавництва
Текстовий
50 символів
Адреса
Текстовий
20 символів
Телефон
Числовий
Маска – 999\-99\-99
Веб-сайт
Гіперпосилання
---
Продаж.
Назва поля
Тип даних
Властивості
Id продажу
Числовий
Довге ціле, ключове
Код книги
Числовий
Довге ціле
Продавець
Текстовий
30 символів
Кількість проданих
Числовий
Довге ціле
Дата продажу
Дата\час
Короткий формат дати
Перед тим як зв’язувати фрагменти потрібно перевірити чи відповідає наше відношення нормалізації. В відношенні немає неподільних полів, не містить дублювань, кожний рядок таблиці визначається первинним ключем, значення, які не входять до первинного ключа не залежать від інших полів. Отже це відношення відповідає третій формі нормалізації.
Всі зв’язки мають тип один до багатьох. Для формалізації відношень в кожну таблицю зі сторони багатьох було додане ключове поле зі сторони одного.
Вигляд всіх таблиць нашої бази даних показано на рисунках 1, 2, 3, 4, 5.
Рисунок 1 – Таблиця Книги
Рисунок 2 – Таблиця Автори
Рисунок 3 – Таблиця Видавництво
Рисунок 4 – Таблиця Продаж
Структура зв'язків між таблицями
Рисунок 5 – Схема бази даних
Висновок: в ході виконання даної лабораторної роботи вивчив послідовності, методів та засобів інформаційного моделювання предметної області, створення таблиць бази даних, проектування логічної структури реляційної бази даних, нормалізації баз даних.