Моделювання предметної області на фізичному рівні
Атрибут Код Лікарського Засобу в таблиці Довідник аптекаря містить унікальний внутрішній ідентифікаційний номер кожної назви ліків в таблиці Що Продається цей самий атрибут містить код того лікарського засобу, що вказувався, в таблиці Поставки — Код Лікарського Засобу, що поставлявся, а в таблиці Переоблік — Код Лікарського Засобу, що обліковувався. Атрибут Код співробітника в таблиці… Читати ще >
Моделювання предметної області на фізичному рівні (реферат, курсова, диплом, контрольна)
Після побудови моделі на логічному рівні, настає час подумати про те, як ці логічні моделі виражатимуться в термінах фізичної бази даних, включаючи вибір СКБД, типів даних за замовчуванням і ефективних схем індексування. Це прийнято називати фізичним рівнем.
ERwin підтримує побудову і організацію роботи на цих двох рівнях для однієї діаграми. Використовуючи ту саму модель, можна говорити з кінцевими користувачами в зрозумілій їм термінології і в той самий час генерувати схему бази даних мовою, яка може бути оброблена конкретною СКБД. Кінцевим результатом роботи є представлення таблиць та зв’язків між ними, що описані в даталогічній моделі даних, у середовищі обраної СКБД. При цьому мають бути визначені (запрограмовані мовою опису даних) обмеження цілісності як для атрибутів, так і посилань на цілісність.
Вигляд фізичної моделі аптеки продемонстровано на рис. 3.2.
Рис. 3.2 Зображення фізичної моделі аптеки
Зв’язки між таблицями встановлюються у відповідності з проектом логічної структури бази даних і запам’ятовуються в схемі даних Access. Схема даних в Access є не тільки засобом графічного відображення логічної структури бази даних, вона активно використовується системою в процесі обробки даних. Створення схеми даних дозволяє спростити конструювання багатотабличних форм, запитів, звітів, а також забезпечити підтримку цілісності взаємозв'язаних даних при введенні і коригуванню даних в таблицях.
Вигляд схеми даних аптеки продемонстровано на рис. 3.3.
Рис. 3.3 Зображення схеми даних аптеки
Між атрибутами кожної окремої таблиці встановлено співвідношення 1:1. Окремі атрибути інформаційних об'єктів потрапили не в одну, а в декілька таблиць, але в кожній з них вони мають різне функціональне призначення:
- — атрибут Код співробітника в таблиці Співробітники містить унікальний внутрішній ідентифікаційний номер кожного співробітника, в таблиці Відомості про переміщення цей самий атрибут містить код того співробітника, що переміщався, в таблиці Постачання — Код співробітника, що приймав замовлення, а в таблиці Продажі - Код співробітника, що продав ліки;
- — атрибут Код Лікарського Засобу в таблиці Довідник аптекаря містить унікальний внутрішній ідентифікаційний номер кожної назви ліків в таблиці Що Продається цей самий атрибут містить код того лікарського засобу, що вказувався, в таблиці Поставки — Код Лікарського Засобу, що поставлявся, а в таблиці Переоблік — Код Лікарського Засобу, що обліковувався.
Для зберігання даних постачань товарів в БД виділено дві таблиці: Постачання та Поставки. Перша з них зберігає дані про сам факт постачання, а друга містить відомості про окремі поставлені товари. Між таблицями Постачання та Поставки встановлено співвідношення 1:?, оскільки за одне постачання може надійти багато товарів.
Дані про ліки в БД також зберігаються в двох таблицях: Групи Ліків та Довідник Аптекаря. Перша з них зберігає дані про групу ліків, а друга містить відомості про ліки. Між таблицями Групи Ліків та Довідник Аптекаря встановлено співвідношення 1:?, оскільки до одної групи може відноситися багато назв.
Дані про продажі в БД також зберігаються в двох таблицях: Продажі та Що продається. Перша з них зберігає дані про сам факт продажі а друга містить відомості про ліки. Між таблицями Продажі та Що продається встановлено співвідношення 1:?, оскільки до одної продажі може відноситися багато ліків.
Між таблицями Посади і Відомості про переміщення встановлено співвідношення 1:?, оскільки одна посада може містити багато співробітників.
Таблиці Відомості про переміщення і Співробітники мають співвідношення 1:?, оскільки один співробітник може переміщатися багато раз.
Між таблицями Співробітники і Продажі, 1:?, оскільки один клієнт може продавати багато ліків.
Між таблицями Поставки і Виробники встановлено співвідношення 1:?, оскільки виробник може виробляти багато ліків.
Між таблицями Постачальники і Постачання встановлено співвідношення 1:?, оскільки постачальник може постачати багато ліків.
Таблиці Постачання і Поставки мають співвідношення 1:?, оскільки постачання може поставлятися багато разів.
Для створення ІС згідно розробленого проекту БД нами було обрано СУБД MS Access, оскільки вона дозволяє:
- — розробляти нескладні додатки обробки БД в інтерактивному режимі без створення програмного коду;
- — ефективно модифікувати створені об'єкти в режимі конструктора;
- — копіювати, імпортувати та експортувати дані таблиць;
- — перевіряти та забезпечувати цілісність реляційних відношень між таблицями та даними окремих записів таблиць;
- — створювати ефективні засоби для редагування даних таблиць, здійснення пошуку, сортування та фільтрування даних, організації взаємодії між об'єктами.
Недоліки СУБД MS Access пов’язані з проблемами надійного захисту даних та продуктивної одночасної роботи з ІС багатьох користувачів. Але для ІС гуртового складу вони не мають особливого значення, оскільки з такою системою працює обмежене коло співробітників з декількох осіб.
Таблиці ІС розроблені згідно інформаційно-логічної моделі БД (див. рис. 3.1). Розглянемо структуру кожної таблиці:
Таблиця Співробітники має наступну структуру, розміри полів та підписи.
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Код співробітника. | Лічильник. | Довге ціле. | Співробітник. |
Фамілія. | Текстове. | Фамілія. | |
Ім'я. | Текстове. | Ім'я. | |
По-батькові. | Текстове. | По-батькові. | |
Адреса. | Текстове. | Адреса. | |
Дата народження. | ДатаЧас. | Дата народження. | |
Оклад. | Числове. | Довге ціле. | Оклад. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
Код співробітника. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Відомості про переміщення має наступну структуру, розміри полів та підписи.
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Номер запису. | Лічильник. | Довге ціле. | Номер запису. |
Код співробітника. | Числове. | Довге ціле. | Співробітник. |
КодПосади. | Числове. | Довге ціле. | Посада. |
Дата постанови. | ДатаЧас. | Дата постанови. | |
Номер постанови. | Числове. | Довге ціле. | Номер постанови. |
Підстави. | Текстове. | Підстави. | |
Причина переводу. | Текстове. | Причина переводу. | |
Період з. | ДатаЧас. | Період з. | |
по. | ДатаЧас. | по. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
Номер запису. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Посади має наступну структуру, розміри полів та підписи:
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Код посади. | Лічильник. | Довге ціле. | Посада. |
Посада. | Текстове. | Посада. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
Код посади. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Поставки має наступну структуру, розміри полів та підписи.
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Код Поставки. | Лічильник. | Довге ціле. | Поставки. |
Код лікарського засобу. | Числове. | Довге ціле. | Лікарський засіб. |
Код Упаковки. | Числове. | Довге ціле. | Упаковка. |
Код виробника. | Числове. | Довге ціле. | Виробник. |
Ціна закупки. | Числове. | Довге ціле. | Ціна закупки. |
Код постачання. | Числове. | Довге ціле. | Постачання. |
Кількість. | Числове. | Довге ціле. | Кількість. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
КодПоставки. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Виробники має наступну структуру, розміри полів та підписи.
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Код виробника. | Лічильник. | Довге ціле. | Виробник. |
Назва виробника. | Текстове. | Виробник. | |
Індекс. | Числове. | Довге ціле. | Індекс. |
Країна. | Текстове. | Країна. | |
Місто. | Текстове. | Місто. | |
Адреса. | Текстове. | Адреса. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
Код виробника. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Що продається має наступну структуру, розміри полів та підписи:
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Номер запису. | Лічильник. | Довге ціле. | Номер запису. |
Код продажу. | Числове. | Довге ціле. | Продаж. |
КодПоставки. | Числове. | Довге ціле. | Поставка. |
Кількість. | Числове. | Довге ціле. | Кількість. |
Код лікарського засобу. | Числове. | Довге ціле. | Лікарський засіб. |
Ціна реалізації. | Числове. | Довге ціле. | Ціна реалізації. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
Номер запису. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Продажі має наступну структуру, розміри полів та підписи:
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Код продажу. | Лічильник. | Довге ціле. | Продаж. |
Дата. | ДатаЧас. | Дата. | |
Час. | ДатаЧас. | Час. | |
Скидка. | Числове. | Довге ціле. | Скидка. |
Код співробітника. | Числове. | Довге ціле. | Співробітник. |
Оплачено. | Числове. | Довге ціле. | Оплачено. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
Код продажу. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Постачальники має наступну структуру, розміри полів та підписи:
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Код постачальника. | Лічильник. | Довге ціле. | Постачальник. |
Назва. | Текстове. | Назва. | |
Телефон. | Числове. | Довге ціле. | Телефон. |
Дата реєстрації. | ДатаЧас. | Дата реєстрації. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
Код постачальника. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Постачання має наступну структуру, розміри полів та підписи:
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Код постачання. | Лічильник. | Довге ціле. | Постачання. |
Код постачальника. | Числове. | Довге ціле. | Постачальник. |
Код співробітника. | Числове. | Довге ціле. | Співробітник. |
Дата постачання. | ДатаЧас. | Дата постачання. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
Код постачальника. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Довідник аптекаря має наступну структуру, розміри полів та підписи:
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Код лікарського засобу. | Лічильник. | Довге ціле. | Лікарський засіб. |
Назва. | Текстове. | Назва. | |
КодГрупиЛіків. | Числове. | Довге ціле. | Група ліків. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
Код лікарського засобу. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Переоблік має наступну структуру, розміри полів та підписи:
Ім'я поля. | Тип даних. | Розмір поля. | Підпис. |
Код лікарського засобу. | Лічильник. | Довге ціле. | Лікарський засіб. |
Дата. | ДатаЧас. | Дата. | |
Наявність на початок дня. | Числове. | Довге ціле. | Наявність на початок дня. |
Крім цього, для полів таблиці вказано наступні додаткові властивості:
Ім'я поля. | Властивість. | Значення. | Призначення. |
Код лікарського засобу. | Нове значення. | Послідовне. | Забезпечує послідовну нумерацію записів таблиці. |
Індексоване поле. | Да (збіг не допускаються). | Забезпечує швидкий пошук, сортування та фільтрування по значенню поля. |
Таблиця Упаковка має наступну структуру, розміри полів та підписи: