- •Содержание
- •Задание
- •2. Аннотация к отчету.
- •3. Описание базы данных
- •4. Er модель
- •5. Модель ansi-sparc
- •6. Описание структуры таблиц
- •7. Функциональные зависимости
- •8. Начальное заполнение таблиц
- •9. Запросы
- •10. Пользовательские представления
- •11. Хранимые процедуры и функции.
- •12 . Триггеры.
- •13. Заключение
- •14 . Список литературы
- •15 . Приложение a.
5. Модель ansi-sparc
Модель ANSI-SPARC определяет три уровня абстракции: внешний, концептуальный и внутренний. На внешнем уровне пользователю предоставляется интерфейс на основе полученных данных. Внутренний уровень отвечает за восприятие данных операционной системой и СУБД. Концептуальный уровень представления данных необходим для обеспечения независимости внешнего и внутреннего уровней и представляет данные в необходимой для визуализации форме. На рисунке 2 представлена модель ANSI-SPARC.[3]
Информационная система
«MY PRINTING HOUSE».
Интернет ресурс.
Внешний уровень
Нормализованные таблицы базы данных
ID |
|
surname |
name |
patronymic |
Phone |
Уникальный идент. |
почта |
фамилия |
имя |
отчество |
Тел. |
ID |
cost |
time |
dataoforder |
accept |
Record |
1 |
цена |
Время выполнения |
Дата создания |
согласие |
выполнение |
концептуальный уровень
Реализация таблиц базы данных.
CREATE TABLE clients…
CREATE TABLE orders…
Внутренний уровень
База данных СУБД MySQL 5.1
Рис. 2. ANSI-SPARC модель
Каждому пользователю предоставлен интерфейс для работы с данными. В качестве внешнего уровня выступает web приложение. Пример пользовательского интерфейса представлен на рис. 2.
Рис. 2. Пример типового заказа.
Концептуальный уровень содержит нормализованные таблицы:
Clients (surname, name, patronymic, phone, e_mail, password);
Publishing (name, city);
Orders ( ID, cost, time, recordofmaked, accept, dataoforder);
Product (productID, type, run, pages, format, priceofone);
Inks (color, price, on1kpages, varnising);
Substrate (type, strength,price);
Stitching (type,price);
Plate (type, timeofmaking, price);
Ink2prod (productID, color);
Sub2prod (productID, type, strength);
Stitch2prod (productID, type);
Plate2prod (productID, type);
Clts2pub (e_mail, name);
CltsOrd (e_mail, OID);
Ord2prod (OID, PID).
Внутренний уровень содержит таблицы, реализованные в базе данных, описание которых представлено в разделе «Описание структуры таблиц» и в приложении.
Физическая организация данных реализована в СУРБД MySQL 5.1 на таблицах «InnoDB», что позволяет организовать ссылочную целостность при помощи внешних ключей, а при необходимости использовать транзакции.
Причинами использования данной модели являются:
- возможность обращения несколькими пользователями к одним и тем же данным;
- пользователю необязательно иметь представление о структуре данных;
- изменение структуры данных не должно оказывать влияние на пользовательский интерфейс;
- обеспечение независимости базы данных от аппаратных средств.
6. Описание структуры таблиц
Разработанная ER – диаграмма была преобразована в набор таблиц. В результате множество сущностей и связи были представлены отношениями. Каждой сущности приводится в соответствие таблица, всего таблиц 15.
При проектировании таблиц были использованы формы нормализации. Все таблицы представлены в третьей нормальной форме. В каждом поле хранится одно значение. Примером нормализации может служить разделение поля ФИО клиента на 3: фамилия, имя, отчество. Все неключевые поля являются зависимыми от первичного ключа. Что позволяет избежать излишних повторов данных. И все поля таблиц не зависят от других неключевых полей. Примером данной нормализации является выделение в отдельную таблицу информации об издательствах. В таблицах №1 и №2 приведены примеры результата нормализации.[4]
Таблица «clients» («Клиенты»)
Таблица №1
Surname |
Name |
Patronymic |
Phone |
|
Password |
Фамилия |
Имя |
Отчество |
Тел. номер |
Почта |
Пароль |
Таблица №1 содержит информацию о клиенте типографии – ФИО, телефонный номер, e-mail, пароль, для защиты данных.
Таблица «publishing»(«Издательство»)
Таблица №2
ID |
Name |
City |
№ |
Название |
Адрес (город) |
Таблица содержит информацию об издательствах, которыми пользуется клиент – название издательства, город, в котором находится издательство.
Таблица «orders» («Заказы»)
Таблица №3
ID |
Cost |
Recordofmaked |
Accept |
Time |
Dateoforder |
№ |
Стоимость |
Выполнение |
Согласие |
Время выполнения |
Дата создания |
Таблица содержит заказы клиентов – уникальный идентификатор заказа, стоимость, отметку выполнения, согласие на печать клиента, время выполнения заказа и дату создания заказа. В таблице №3 представлен окончательный вариант сущности «orders».
Таблица «product» («Изделие»)
Таблица №4
PID |
Type |
Run |
Pages |
Format |
Priceofone |
№ |
Название изделия |
Тираж |
Кол-во печатных листов |
Формат изделия |
Стоимость |
Таблица содержит информацию об издании, печать которого заказывает клиент – уникальный идентификатор, название изделия, тираж, кол-во страниц в издании, формат, стоимость одного экземпляра. Ее реализация представлена в табл. 4.
Таблица «inks» («Краски»)
Таблица №5
Color |
Price |
On1kpages |
Varnishing |
Цвет |
Стоимость 1г |
Расход на 1000 страниц |
Стоимость лака |
Таблица содержит информацию о краске, которая требуется в заказе – цвет, стоимость 1 грамма, расход на 1000 страниц граммов краски, стоимость лака для данного вида краски. Ее реализация представлена в табл. 5.
Таблица «substrate» («Запечатываемый материал»)
Таблица №6
Type |
Strength |
Price |
Тип материала |
Плотность |
Стоимость |
Таблица содержит информацию о запечатываемых материалах (бумаге) – тип, плотность и стоимость. Ее реализация представлена в табл. 6.
Таблица «plate» («Печатная форма»)
Таблица №7
Type |
Timeofmaking |
Price |
Тип |
Время производства |
Стоимость |
Таблица содержит информацию о печатных формах – типе, времени изготовления, стоимости. Ее реализация представлена в табл.7.
Таблица «stitching» («Брошюровочные работы»)
Таблица №8
Type |
Price |
Тип сшивания |
Стоимость |
Таблица содержит информацию о типе и стоимости брошюровочных работ (сшивания). Ее реализация представлена в табл. 8.
Таблица «clts2pub» («Клиент издательства»)
Таблица №9
e_mail |
Name |
Почта |
Название |
Таблица определяет, каким издательством пользовался клиент для выполнения допечатной обработки изделия. Ее реализация представлена в табл. 9.
Таблица «cltsOrd» («Заказ клиента»)
Таблица №10
e_mail |
OID |
Почта |
Номер заказа |
Таблица определяет принадлежность заказа клиенту. Ее реализация представлена в табл. 10.
Таблица «ord2prod» («Что печать»)
Таблица №11
OID |
PID |
№ заказа |
№ изделия |
Таблица определяет принадлежность изделия заказу.
Таблица «ink2prod» («Красочность изделия»). Ее реализация представлена в табл. 11.
Таблица №12
productID |
Color |
№ продукта |
Цвет краски |
Таблица определяет, какими красками необходимо печатать заказ. Ее реализация представлена в табл. 12.
Таблица «sub2prod» («На чем печатать»)
Таблица №13
productID |
Type |
Strength |
№ изделия |
Тип материала |
Плотность |
Таблица определяет, на каком материале необходимо печатать изделие. Ее реализация представлена в табл. 13.
Таблица «stitch2prod» («Сшить»)
Таблица №14
productID |
Type |
№ изделия |
Тип |
Таблица определяет, как сшивать изделие. Ее реализация представлена в табл. 14.
Таблица «plate2prod» («С чего печатать»)
Таблица №15
productID |
Type |
№ изделия |
Тип |
Таблица определяет, какие печатные формы используются для печати заказа. Ее реализация представлена в табл. 15.
Исходные коды для создания приведены в приложении A (листинг 1).