Автор работы: Пользователь скрыл имя, 15 Февраля 2012 в 18:50, курсовая работа
Логічне проектування — це розробка логічної структури системи баз даних
без прив'язки до конкретної СУБД, структур збереження, методам доступу і т.д.
У якості логічній моделі бази даних була обрана реляційна модель, оскільки саме реляційна модель використовується у більшості розвинених СКБД.
КУРСОВА РОБОТА
з
дисципліни «Організація
баз даних та знань»
Логічне проектування — це розробка логічної структури системи баз даних
без прив'язки до
конкретної СУБД, структур збереження,
методам доступу і т.д.
У якості логічній моделі бази даних була обрана реляційна модель, оскільки саме реляційна модель використовується у більшості розвинених СКБД.
Для перетворення концептуальної моделі, представленої у вигляді мови ER–моделювання, у реляційну модель, був використаний наступний алгоритм.
Рис. Концептуальна ER-модель
Сутність може унікально ідентифікуватися комбінацією атрибутів і/або зв'язків. При використанні в ідентифікаторі сутності зв'язку до складу первинного ключа включається зовнішній ключ, який посилається на ту таблицю, з якою пов’язаний той або інший зв’язок.
Повна
логічна база даних на основі концептуальної
моделі з урахуванням обмежень цілісності
та наведеного вище алгоритму детально
представлена в наступних таблицях.
Таблиця 1. Відношення сутності Фірма
Firm
Ім’я стовпця | Тип | Довжина | Призначення | Обмеження цілісності стовпців |
FirmID | ціле число | 10 | Унікальний ID | Первинний ключ |
License | ціле число | 10 | Номер Ліцензії | Обов’язковий, унікальний |
FirmName | строка | 20 | Назва фірми | Обов’язковий |
Address | строка | 50 | Адреса фірми | Обов’язковий |
Telephone | строка | 11 | Номер телефону | Обов’язковий |
Director | строка | 50 | ПІБ директора | Обов’язковий |
Таблиця 2. Відношення сутності Менеджер
Managers
Ім’я стовпця | Тип | Довжина | Призначення | Обмеження цілісності стовпців |
ManID | ціле число | 10 | Унікальний ID | Первинний ключ |
ManName | строка | 50 | Ім’я менеджера | Обов’язковий |
Address | строка | 50 | Адреса менеджера | Обов’язковий |
Date | дата | Дата прийняття на роботу | Обов’язковий | |
NClients | ціле число | 5 | Кількість клієнтів | Обов’язковий |
FirmID | ціле число | 10 | ID Фірми, , зв'язок з табл. Фірма | Зовнішній ключ, що посилається на первинний ключ Firma(FirmID) відношення, обов’язковий |
Таблиця 3. Відношення сутності Клієнт
Client
Ім’я стовпця | Тип | Довжина | Призначення | Обмеження цілісності стовпців |
ClName | строка | 50 | Ім’я клієнта | Обов’язковий |
Address | строка | 50 | Адреса клієнта | Обов’язковий |
ClientID | ціле число | 10 | Код клієнта | Первинний ключ |
ManID | ціле число | 10 | ID Менеджера , зв'язок з табл. Менеджер | Зовнішній ключ, що посилається на первинний ключ Managers(ManID) відношення, обов’язковий |
Таблиця 4. Відношення сутності Замовлення
Zakaz
Ім’я стовпця | Тип | Довжина | Призначення | Обмеження цілісності стовпців |
ZakID | ціле число | 10 | Унікальний ID | Первинний ключ |
Date | дата | Дата замовлення | Обов’язковий | |
Time | ціле число | 5 | Час замовлення | Обов’язковий, унікальний |
ClientID | ціле число | 10 | ID клієнта зв'язок з табл. Клієнт | Зовнішній ключ, що посилається на первинний ключ Clien(ClientID) відношення, обов’язковий |
Таблиця 5. Відношення сутності Замовл-Товари
ZakTov
Ім’я стовпця | Тип | Довжина | Призначення | Обмеження цілісності стовпців |
ZakID | ціле число | 10 | ID замовлення, звязок з табл. Замовлення | Зовнішній ключ, що посилається на первинний ключ Zakaz(ZakID) відношення, обов’язковий |
TovID | строка | 20 | ID товару, звязок з табл. Товари | Зовнішній ключ, що посилається на первинний ключ Tovar(TovID) відношення, обов’язковий |
Сукупність елементів ZakID,TovID є Первинним ключем |
Таблиця 6. Відношення сутності Товари
Tovar
Ім’я стовпця | Тип | Довжина | Призначення | Обмеження цілісності стовпців |
TovID | ціле число | 10 | Унікальний ID | Первинний ключ |
Name | строка | 20 | Назва товару | Обов’язковий |
TovModel | строка | 20 | Модель товару | Обов’язковий |
Kilk | ціле число | 5 | Кількість на складі | Обов’язковий, >=0 |
Cost | ціле число | 6 | Ціна | Обов’язковий, >=0 |
Фізичне
проектування – це проект системи бази
даних для конкретної СКБД. Під час виконання
даного етапу модель сутностей і зв'язків
перетворюється в схему бази даних і специфікації
позамашинного збереження.
База даних спроектована для її збереження у СКБД Oracle, яка підтримує реляційну модель даних і є об’єкто-реляційною СКБД. Ця СКБД має дуже розвинені можливості по створенню та супроводу баз даних, оскільки володіє найбільш розвиненою системою типів даних, можливостями індексування полів, що дозволяє одержувати доступ до даних за мінімальний час, а також функціями по забезпеченню підтримки цілісності даних між реляційними таблицями, що дозволяє розробнику мінімізувати тимчасові витрати на створення бази даних, а кінцевому користувачеві витрати на підтримку цілісності збережених даних і одержання даних з бази даних. Робота з базою даних підтримується за допомогою реляційної мови запитів SQL.
Логічна
модель бази даних легко відображається
в реляційну фізичну модель, оскільки
логічна модель була побудована з
використанням реляційної структури
даних. Крім того, логічна модель була
приведена у третю нормальну
форму, тому усі відношення представляються
у фізичній моделі окремими таблицями.
Ніякі злиття відношень в одну
таблицю для підвищення ефективності
виконання окремих класів запитів
не виконуються у зв’язку з
тим, що такі класи запитів не були
знайдені. У результаті отримано сімнадцять
таблиць реляційної бази даних, де кожне
відношення прямо відповідає окремій
таблиці, атрибути кожного відношення
стають полями цієї таблиці, а первинні
ключі відношень стають первинними ключами
таблиць.
Скрипти створення бази даних:
Наведемо
скрипт мови SQL Oracle, який створює таблиці
БД.
create table Firm(
FirmID integer(10)
License integer(10)
FirmName char(20)
Address char(50)
Telephone char(11)
Director char(50)
);
create table Managers(
ManID integer(10)
ManName char(50)