
- •Розробка універсальної сутності
- •Розробка er-моделі предметної області
- •Проектування нормалізованих відносин
- •2.7 Аналіз концептуальних вимог
- •2.8 Побудова концептуальної моделі
- •Опис роботи із програмним забезпеченням
- •3.2 Аналіз умов праці і виявлення небезпечних та шкідливих виробничих факторів (ншвф) в кабінеті системного адміністратора
- •Фізично небезпечні й шкідливі виробничі фактори:
- •3.3.2 Освітлення
- •3.3.3 Вентиляція та опалення
- •3.3.4 Шум і вібрація
- •3.5 Висновки
- •Висновки
- •Література
- •Додатки
2 ТЕХНІЧНА ЧАСТИНА
2.1 Формалізація бази даних по обліку продажу преси
Дана робота присвячена розробці бази даних обліку продажу преси через мережу кіосків. У якості основного прототипу була обрана вже існуюча мережа Укрпошти – як щодо організації мережі, так і каталогізації друкованих видань, які реалізуються продавцями.
Отже, проаналізуємо предметну область, і почнемо із локалізації точок продажу преси:
Рисунок 2.1. - Розміщення кіоску преси у Вінниці
Як бачимо, кожен кіоск має чітке географічне розташування, яке може бути описане звичайною адресою. Крім того, він має номер, як правило, прив‘язаний до відповідного поштового відділення. Тобто, якщо йдеться про поштове відділення №3, то назва відповідного кіоску «Преса України» виглядатиме так: МВПЗ №3.
Кожен кіоск оперує певною номенклатурою друкованих видань. Звернімось до офіційного сайту Укрпошти за її формою:
Рисунок 2.2. - Каталог періодичної преси (газети) на 2-ге півріччя 2013 р.
Даний каталог дає нам цілу низку важливих даних. По-перше, будь-який кіоск оперує друкованими виданнями за трьома показниками: Тип видання, Індекс видання, Назва видання. Їх важливість демонструє нам пошукова форма, що знаходиться вгорі каталога.
Таблиця, що розташована під ним, дає уявлення про те, якими характеристиками описується кожне видання, окрім вищеназваних.
Сюди входять:
Періодичність виходу (із розрахунку на період);
Роздрібна вартість видання;
Підписочна вартість видання;
Обсяг реклами;
Чи є видання українським, або закордонним;
Короткий опис за необхідністю.
У поєднанні із уже визначеними нами характеристиками точок продажу, ми уже маємо дві базові сутності.
Наступним об‘єктом аналізу повинен стати перелік послуг, які надають кіоски «Преса». За стандартним прейскурантом до них входять:
Роздрібна реалізація;
Оформлення підписки;
Відкладена реалізація за попереднім замовленням;
Додаткові послуги (наприклад, продаж марок).
Оформлення підписки, в свою чергу, вимагає наявності певного переліка клієнтів. Цього вимагає і оформлення підписки. Останню також повинен підписати чергуючий продавець, тобто, іще однією важливою сутністю стає перелік персоналу і графік чергувань.
Всі «персоналії» описуються простим переліком атрибутів:
П.І.Б.;
Контактний телефон;
Адреса.
Адреса важлива тільки для клієнтів, у випадку працівників достатньо телефону.
Для складення графіка чергувань необхідно знати:
Дату чергування;
П. І. Б. працівника;
Підписка оформлюється на основі.
Індекса видання;
Назва видання;
Дати початку підписки;
Дати кінця підписки;
Вартості підписки;
П. І. Б. підписника;
Адреси доставки;
Дати оформлення;
Завіряючого підписа працівника.
Крім власне підписки кіоскер також проводить роздрібну реалізацію друкованих видань, що означає:
Індекс видання;
Назва видання;
Кількість примірників;
Загальна вартість виручки;
Операційна дата.
Це приводить нас до формування єдиної універсальної сутності, в яку буде зведено всі атрибути сутностей, вже визначених нами на етапі аналізу предметної області, і які ляжуть в основу нормалізації бази даних.
Розробка універсальної сутності
Проаналізуємо весь сформований нами під час аналізу предметної області перелік атрибутів, після чого ми можемо поєднати їх і отримати універсальну сутність:
R(Номер кіоска; Адреса кіоска; Категорія видання; Індекс видання; Назва видання; Обсяг реклами; Період видання; Частота виходу; Роздрібна вартість; Вартість за підпискою; Українське/закордонне; Опис видання; П. І. Б. продавця; Контактний телефон; Дата чергування; П. І. Б. клієнта; Контактний телефон клієнта; Адреса клієнта; Підписка; Постійний клієнт; Поточна операційна дата; Кількість проданих примірників; Вартість продажу; Термін відкладення продажу; Назва додаткової послуги; Обсяг виручки за послугу; Початок підписки; Кінець підписки; Вартість підписки; Адреса доставки; Ким підписано)
Він буде розбитий на окремі сутності, які може бути більш деталізовані в процесі нормалізації, що буде виконано в п. 4 даної роботи.
Розробка er-моделі предметної області
В даному дипломному проекті для представлення структури та обмежень реального світу застосовуються моделі типу «сутність-зв‘язок», також відомі як ER-моделі (Entity-Relation).
У якості сутностей виберемо наступні об‘єкти, виокремивши їх з універсального співвідношення:
Кіоски;
Клієнти;
Працівники;
Видання;
Продажі;
Підписки.
Для кожної сутності необхідно вибрати атрибут чи сукупність атрибутів, які однозначно її ідентифікують і можуть виступати у якості ключа. Необхідно врахувати, що ключ не лише повинен виконувати задачу ідентифікації, а й містив якомога менше атрибутів. Розглянемо на прикладі сутності Клієнти.
Клієнт= (П. І. Б.; Адреса; Контактний телефон; Є підписником; Є постійним клієнтом)
Ключ в даному випадку повинен однозначно ідентифікувати клієнта. Нам відомо, що ним не може бути П. І. Б., бо існують однофамільці та повні тезки, і не може бути адреса. Отже, нам необхідно внести додаткове поле, яке дозволяє створити такий ключ. Зазвичай це шифри і коди, але може бути і простий лічильник (порядковий номер в журналі).
Клієнт= (<Шифр студента>; П. І. Б.; Адреса; Контактний телефон; Є підписником; Є постійним клієнтом)
Такі самі ключі можна визначити для будь-якої іншої сутності. Зазвичай в їх ролі виступають назви, або шифри, в залежності від специфіки даної сутності. Простіше всього дійсно поставити лічильник – він гарантує неповторення унікального номера, однак в такому випадку слід контролювати тип даних – він повинен бути достатньо великим, щоб вмістити кількість можливих записів в таблиці. Перелік атрибутів та відповідні ним ключі будуть перелічені в наступних розділах даної пояснювальної записки.
У випадку, якщо виходить складений ключ, доцільніше розбити дану сутність на дві, і встановити між ними логічний зв‘язок.
Між різними сутностями встановлюються такі зв‘язки, які відповідають відношенням між реальними об‘єктами предметної області. Так, між кіосками і працівниками існує наступний зв‘язок:
Рисунок 2.3 - ER-діаграма екземплярів сутностей Кіоски та Працівники
На рисунку 2.3 зображено діаграму екземплярів двох сутностей. Нам відомо, що в кіосках працівники працюють почергово, отже, загалом для кожного окремо узятого кіоска може бути декілька кіоскерів. При цьому в один конкретний момент часу кіоск повинен займати тільки один кіоскер. Такий тип зв‘язку називається 1:N.
Розберемо інший вид зв‘язку, який існує в даній базі даних:
Рисунок 2.4 - ER-діаграма сутностей Видання та Клієнтів
Зрозуміло, що кожне видання може бути передплачене кількома клієнтами. При цьому кожен із них має оплатити підписку, і «хвостів» бути не повинно (максимум – т. зв. відстрочка або відкладений продаж). При цьому типу зв‘язку теж обов‘язкова наявність обох сутностей. Такий тип зв‘язку називається N:1.
Аналогічний аналіз зв‘язків можна виконати і для інших об‘єктів сутностей, і звести до єдиної таблиці.
Таблиця 2.1 - Характеристика зв‘язків по сформованим сутностям
Сутність 1 |
Сутність 2 |
Тип зв‘язку |
Ім‘я зв‘язку |
Належність |
Клієнт |
Підписки |
Передплачує |
1:N |
Об., Об. |
Продавець |
Підписка |
Оформляє |
1:N |
Об., Об. |
Клієнт |
Відстрочка |
Оформляє |
1:N |
Об., Об. |
Видання |
Підписки |
Поширюється |
N:N |
Об., Об. |
Відстрочка |
Видання |
Надається |
1:N |
Об., Об. |
Кіоски |
Додаткові послуги |
Надає |
1:N |
Об., Об. |
Кіоски |
Продажі |
Здійснює |
1:N |
Об., Об. |
Видання |
Замовлення |
Здійснюється |
N:1 |
Об., Об. |
Видання |
Продажі |
Поширюється |
N:N |
Об., Об. |
Чергування |
Кіоски |
Відбувається |
N:1 |
Об., Об. |
Продавці |
Чергування |
Здійснюють |
N:N |
Об., Об. |
Рисунок 2.5 - Універсальна ER-діаграма
Деякі сутності в цій діаграмі – «штучні», тобто за великим рахунком в системі не потрібні, але за їх рахунок досягається зменшення зв‘язків. Це не тільки спрощує побудову базу даних, але й робить можливим її нормалізацію без великої кількості порушень. Прикладом такої сутності можна вважати сутність Чергування, яка фактично є табличним варіантом зв‘язку. Однак наявність цієї таблиці дозволяє автоматизувати оформлення підписки та підсумкової звітності по продажам.
Побудувавши таку діаграму, можна приступити до побудови нормалізованих відносин і структури таблиць бази даних.