Міністерство освіти і науки України
Національний університет “ Львівська політехніка ”
Кафедра інформаційних систем та мереж
Бази і банки даних
Розрахункова робота
На тему:
“Проектування бази даних реляційного типу”.
Виконав:
студент групи
Прийняв:
Львів 2006
Зміст
Вступ ..................................................................................................................... 3
1. Визначення та опис предметної області ....................................................... 4
2. Побудова моделі типу “сутність-зв’язок” для предметної
області .............................................................................................................................. 4
3. Побудова логічної структури бази даних, визначення
атрибутів, відношень, зв’язків ................................................................................... 5
4. Визначення ключів відношень, нормалізація бази даних
до другої (третьої) нормальної форми ........................................................................ 6
5. Побудова прикладів відношень з тестовими значеннями
даних ................................................................................................................................. 6
6. Виконання над відношеннями операцій реляційної алгебри ................... 10
6.1 Перетин, об’єднання та різниці відношення з його копією ................................................. 10
6.2 Декартів добуток відношень ................................................................................................... 11
6.3 Селекція одного з відношень .................................................................................................. 11
6.4 Натуральне та умовне з’єднання відношень ......................................................................... 12
6.5 Включення, вилучення кортежів, зміна значень атрибутів у одному з
відношень ................................................................................................................................................. 12
6.6 Визначення нового атрибута, вилучення атрибута, зміна параметрів
атрибута в одному з відношень .............................................................................................................. 13
7. Висновки ............................................................................................................. 14
Вступ
Реляційна модель ґрунтується на понятті відношення (relation). З певним наближенням відношенням можна вважати таблицю, яка володіє специфічними властивостями.
Основні властивості відношення:
Стовпчикам присвоюються однозначні імена, і у кожному з них розміщуються однотипні значення окремих елементів даних (дати, прізвища, ціле число або грошові суми, тощо). У відношенні не може бути двох однакових стовпчиків.
Відношення складається з однотипних рядків і має унікальне ім'я.
Рядки мають фіксоване число полів (стовпчиків) і значень (множинні поля, повторювані групи та інші агрегатні значення неприпустимі).
Рядки обов'язково відрізняються один від одного хоча б єдиним значенням, що дозволяє однозначно ідентифікувати будь-який рядок такої таблиці.
У кожній позиції на перетині рядка і стовпчика розміщене атомарне значення або нічого. Поняття атомарності означає неможливість бути поділеним на дрібніші складові без втрати своїх властивостей.
Порядок рядків і стовпчиків у відношенні може бути довільним.
Реляційна база даних – це множини взаємопов'язаних відношень, які зберігають значення інформаційних показників деякої сукупності об'єктів реального світу. Частина реального світу, що відображається в базі даних називається предметною областю.
У термінології баз даних стовпчики таблиць називають атрибутами (attribute), а рядки – кортежами (tupple). Формально, кожен атрибут це поєднання імені деякого інформаційного показника та множини його допустимих значень. Множина значень атрибута називається доменом (domain). Кожен кортеж відношення – це елемент узагальненого декартового добутку доменів деякої множини атрибутів. Кортеж уявляє собою впорядкований n-мірний вектор, кожна компонента якого вибирається із множини значень одного атрибута.
Відношення реляційної бази даних може розглядатись як поєднання двох складових:
множини атрибутів, яка визначає якісні параметри таблиці і називається схемою відношення;
множини кортежів у яких зберігаються значення відповідних атрибутів (інформаційного наповнення).
Кількість атрибутів відношення називають його порядком або ступенем, кількість кортежів – об'ємом або кардинальним числом. Оскільки відношення у базах даних, у загальному випадку є динамічними об'єктами, вводиться поняття стану відношення. Станом називають значення схеми та інформаційного наповнення зафіксовані у деякий момент часу.
Реляційна база даних – це множини взаємопов'язаних відношень, які зберігають значення інформаційних показників деякої сукупності об'єктів реального світу. Частина реального світу, що відображається у базі даних називається предметною областю. Схема бази даних – множина схем відношень, які входять до її складу, а стан бази даних – це множина станів всіх її відношень, визначених на один момент часу.
До складу системного меню СУБД MS Access входить: стрічка заголовку, стрічка панелі інструментів, стрічка стану (елементи середовища СУБД).
Стрічка заголовку – містить ім’я прикладної програми і деколи – им’я відкритої БД, кнопки керування вікна, кнопки для закриття чи відкриття системного меню.
Стрічка меню – містить імена меню, в які об’єднані по функціональному призначенню команди і опції. Панель інструментів – складається з кнопок які містять піктограми. Ці кнопки мають аналоги серед команд меню і використовуються для швидшого запуску операцій.
Стрічка стану – призначена для розміщення повідомлень про операцій, що виконуються і про поточний стан програми.
Вікно СУБД Access – систематизовані об’єкти БД – таблиці, запити, форми, звіти, макроси та модулі (об’єкти БД). Дане вікно має всі властивості вікна Windows.
Панель інструментів – складається з кнопок які містять піктограми. Ці кнопки мають аналоги серед команд меню і використовуються для швидшого запуску операцій.
На панелі інструментів вікна База данных (Database) є основні три кнопки:
перша кнопка зі змінною назвою, в залежності від того, який об’єкт вибрано. Якщо обрана таблиця, запит, форма, сторінка або Избранное (Favorites), кнопка отримує вид Открыть (Ореn). Якщо обрано звіт – Просмотр (Preview). Якщо макрос – Запуск (Run).
друга кнопка Конструктор (Design) постiйна для усiх об’єктів і призначена для редагування раніше створених об’єктів.
третя кнопка Создать (New) має постійну назву, але при цьому змінюються значки, що їй відповідають, в залежності від типу вибраного об’єкту, що створюється при натисканні на неї.
1. Визначення та опис предметної області
Завданням даної розрахункової роботи є опис певної предметної області на основі якого буде спроектовано реляційну базу даних.
Обрано таку предметну область:
• туристичні фірми міста
Відомо багато країн, а також міст, які пропонують туристичні фірми для населення з метою літнього відпочинку. Тобто потрібно побудувати базу даних, для роботи з даними про країни, міста, а також туристичними фірмами, які пропонують певний відпочинок в певній країні.
Основним завданням бази даних, є полегшення процесу роботи довідкових служб при виборі певної країни, міста (для відпочинку) і цін, які пропонують фірми за надання своїх послуг.
2. Побудова моделі типу “сутність-зв’язок” для
предметної області
Для побудови реляційної бази даних ми вибираємо такі сутності:
Фірми
Країни
Пропозиція
Міста
Власність
Кожній сутності буде відповідати певна множина атрибутів, наприклад сутності „Фірми” буде відповідати така множина атрибутів:
Назва
Адреса
Телефон
Директор
Модель типу „сутність – зв’зок” для предметної області „Туристичні фірми” з множиною сутностей, які наведені вище, зображено на рисунку 1.
Назва країни
Країни
Назва міста
Власність
Форма власності
Фірми
Назва
Адреса
Телефон
Директор
Пропозиція
Ціна
Наявність
Хто пропо-нує
Чия власність
Назва
міста
Міста
Країна для
відпочинку
багато
багато
багато
багато
один
один
один
один
Рис. 1. Модель типу „сутність – зв’язок” для пердметної області
„туристичні фірми”
3. Побудова логічної структури бази даних, визначення атрибутів, відношень, зв’язків
а) Концептуальна модель об'єкта.
Характеристики предметної області, що підлягають відображенню у базі даних, описує така множина атрибутів: країна, міста, ціна, наявність, телефон, фірми.
б) Логічна схема бази даних.
Всі перелічені раніше характеристики пропозиції можна представити такими інформаційними відношеннями, тобто таблицями МS Access:
• Пропозиція - інформація про відпочинок, який пропонує туристичне агенство (туристична фірма, країна, ціна, наявність);
• Фірми - інформація про туристичні фірми міста (назва, адреса, телефон, директор туристичної фірми);
• Країни – інформація, в яких країнах пропонують відпочинок туристичні фірми;
• Міста – в яких містах пропонується відпочинок;
• Власності – інформація про те, чи туристична фірма державною чи є приватною структурою.
4. Визначення ключів відношень, нормалізація бази
даних до другої (третьої) нормальної форми
Проводимо визначення ключів для кожного з відношень:
а) для відношення пропозиція вибираємо, що ключем буде буде атрибут код пропозиції;
б) для відношення фірми, ключем є код фірми;
в) для відношення країни, ключем є код країни;
г) для відношення міста, ключем є код міста;
д) для відношення власність, ключем є код форми власності.
Оскільки у відношеннях реляційної бази даних, визначені ключі, від яких повністю залежні всі неперервні атрибути і кожний неперервний атрибут повністю функціональний, і нетранзитивно залежить від ключа, то можемо зробити висновок, що дана реляційна база даних знаходиться в другій (третій) нормальних формах.
5. Побудова прикладів відношень з тестовими
значеннями даних
Для побудови відношень і реляційної бази даних, використовуємо таблиці баз даних СУБД МS Ассеss, які дозволяють виконувати попередній аналіз значень, що вводяться в поля за попередньо вказанами правилами, а отже представимо всі відношення у вигляді таблиць.
Спочатку спроектуємо структуру та вміст таблиць реляційної бази даних:
Таблиця Пропозиція
Таблиця Фірми
Таблиця Країни Таблиця Міста
Таблиця Власності
д) Додаткові властивості та обмеження полів.
Для деяких полів наших таблиць необхідно задати певні обмеження та додаткові властивості:
У таблицях Країни, Міста, Власність поля:
Код країни (міста, форми власності) – ключове, індексоване поле без повторень;
Крім цього всі поля в таблиці є обов’язковими.
У таблиці Фірми поля:
Код фірми – ключове поле без повторень;
Телефон - використовується маска 9(9999)99-99-99;
Крім цього всі поля в таблиці є обов’язковими.
У таблиці Пропозиція поля:
Код пропозиції – ключове поле без повторень;
Код фірми – значення підставляються з відповідного поля таблиці Фірми;
Код напрямку діяльності – значення підставляються з відповідного поля таблиці Напрям діяльності;
Ціна - використовується контроль на ввід значень (ціна має бути > 0);
Крім цього всі поля в таблиці є обов’язковими.
Вигляд всіх таблиць нашої бази даних можна побачити на рис.2, 3, 4, 5 і 6.
Рис.2. Таблиця Країни Рис.3. Таблиця Власність
Рис.4. Таблиця Фірми.
Рис.5. Таблиця Міста
Рис.6. Таблиця Пропозиція
Між даними таблиць Країни, Міста, Фірми і таблицею Пропозиція, а також Власність і Фірми є зв’язок один-до-багатьох;
Рис.7. Схема бази даних.
6. Виконання над відношеннями операцій
реляційної алгебри
6.1 Перетин, об’єднання та різниці відношення з його копією
Для проведення даної операції створюємо копію таблиці Фірми, таблицю Фірми1:
а) Перетин відношень:
Фірми ∩ Фірми1 = Фірми2
б) Об’єднання відношень:
Фірми U Фірми1 = Фірми3
в) Різниця відношень:
Фірми \ Фірми1 = Фірми4
6.2 Декартів добуток відношень
Фірми * Напрям діяльності = Пропозиція1
6.3 Селекція одного з відношень
Select ( Фірми , Ω ) = Фірми5
Ω = ( директор , „ Хабурський Й.С. ”)
6.4 Натуральне та умовне з’єднання відношень
а) Натуральне з’єднання:
Фірми * Пропозиція = Пропозиція2
б) Умовне з’єднання:
Пропозиція * Ω Фірми = Пропозиція3
Ω = ( назва фірми , „ Альпіда ”)
6.5 Включення, вилучення кортежів, зміна значень атрибутів у одному з відношень
а) Включення кортежа:
Напрям діяльності1 = insert ( Напрям діяльності, Росія, Москва )
б) Вилучення кортежа:
Напрям пропозиції1 = delete ( Напрям пропозиції, Росія, Москва )
в) Зміна значень атрибутів в одному з відношень:
Напрям діяльності = update ( Напрям діяльності1, Ω )
Ω = ( Країна , Назва_країни )
6.6 Визначення нового атрибута, вилучення атрибута, зміна параметрів атрибута в одному з відношень:
а) Визначення нового атрибута:
Напрям діяльності1 = Add ( Напрям діяльності , Готелі )
б) Вилучення атрибута:
Напрям діяльності1 = Drop (Напрям діяльності, Готель)
в) Зміна параметрів атрибута в одному з відношень
Фірми1 = Rename ( Фірми , Ω )
Ω = директор, Ген директор
Висновки
В даній розрахунковій роботі ми практично навчились застосовувати методи побудови реляційної бази даних для конкретної предметної області, а саме:
- побудували модель типу „сутність – зв’язок” для предметної області „туристичне агенство”, яка показана на рисунку 1;
- побудували структуру бази даних і визначили атрибути, відношення і зв’язки для даної бази даних;
- визначивши ключі у відношеннях, нормалізували базу даних до другої ( третьої ) нормальної форми;
- за допомогою таблиці баз даних СУБД МS Ассеss, спроектували базу даних для предметної області „туристичне агенство”;
- навчилися виконювати операції реляційної алгебри над відношеннями даної бази даних.