Цель: Освоить технологию создания логической структуры реляционной базы данных на основе информационно-логической модели предметной области.
Условие задания:
На основании форм документов, описания и ограничений предметной области «Отдел реализации», а также разработанной информационно-логической модели (см. лабораторную работу №1) создать логическую структуру реляционной базы данных и разработать данные контрольного примера.
Порядок создания структуры РБД:
Логическая структура реляционной базы данных определяется совокупностью логически взаимосвязанных реляционных таблиц. Каждая таблица имеет структуру, определяемую реквизитным составом одного из информационных объектов полученной информационно-логической модели. Логические связи между таблицами соответствуют структурным связям между объектами.
Логическая структура реляционной базы данных (схема данных), построенная на основе информационно-логической модели предметной области «Отдел реализации» (см. лабораторную работу №1) приведена на рис.2.1.
Рис.2.1. Логическая структура реляционной базы данных
Логическая структура реляционных таблиц зависит от СУБД, с помощью которой будет разрабатываться база данных.
В различных СУБД поддерживаются различные типы данных, существуют различные ограничения на длину имени поля и символы, используемые в имени, могут отличаться свойства полей и т. п.
В таблицах 2.1 – 2.4 представлена логическая структура реляционных таблиц базы данных MS Access (количество столбцов в разделе Формат поля может быть различным, и зависит от количества задаваемых свойств полей).
Таблица 2.1
Таблица: Клиенты
Атрибут (поле) | Вид
ключа |
Формат поля | |||
Имя | Наименование | Тип | Размер | Обязательное
поле |
|
КодКлиента | Код клиента | П, У | Счетчик | ||
НаимКлиента | Наименование клиента | Текстовый | 50 | Да | |
АдресКлиента | Адрес клиента | Текстовый | 70 | Да |
Таблица 2.2
Таблица: Заказы
Атрибут (поле) | Вид
ключа |
Формат поля | |||||
Имя | Наименование | Тип | Размер | Знач. по
умолчанию |
Условие на значение | Обязат.
поле |
|
КодЗаказа | Код заказа | П, У | Счетчик | ||||
ДатаОформления | Дата оформления | Дата/время | Date() | Да | |||
ДатаНазначения | Дата назначения | Дата/время | >= Date() | Да | |||
ДатаИсполнения | Дата исполнения | Дата/время | Нет | ||||
КодКлиента | Код клиента | В | Числовой | Длинное целое | Да |
Таблица 2.3
Таблица: Товары
Атрибут (поле) | Вид
ключа |
Формат поля | |||||
Имя | Наименование | Тип | Размер | Точность | Условие на значение | Знач. по
умолчанию |
|
КодТовара | Код товара | П, У | Текстовый | 6 | |||
МаркаТовара | Марка товара | Текстовый | 40 | ||||
ЕдИзмТовара | Ед. изм. товара | Текстовый | 8 | ||||
ЦенаТовара | Цена | Числовой | Один. с пл. точкой | 2 | >=0 | 0 | |
КоличествоТовара | Количество | Числовой | Целое | >=0 | 0 | ||
ПоставкиПрекращены | Поставки прекращены | Логический | Нет |
Таблица 2.4
Таблица: Заказано
Атрибут (поле) | Вид
ключа |
Формат поля | ||||
Имя | Наименование | Тип | Размер | Точность | Условие на значение | |
КодТовара | Код товара | В С, У
В |
Текстовый | 6 | ||
КодЗаказа | Код заказа | Числовой | Длинное целое | |||
ЦенаПродажи | Цена | Числовой | Один. с пл. точкой | 2 | >=0 | |
Количество | Количество | Числовой | Целое | >=0 |
Разработка данных контрольного примера:
Основное требование к данным контрольного примера – их представительность. В данных контрольного примера необходимо отразить сведения из описания и ограничений предметной области, а также подтвердить выбор типов данных и настроек свойств полей, указанных в логической структуре реляционных таблиц.
В данных контрольного примера должны быть отражены следующие сведения из описания и ограничений предметной области «Отдел реализации»:
– каждый заказ имеет уникальный номер по предприятию;
– каждый заказ соответствует только одному клиенту;
– один и тот же клиент может оформлять много заказов на поставку товаров;
– в одном заказе может быть заказано много товаров;
– один и тот же товар может быть заказан в разных заказах;
– каждый товар идентифицируется уникальным кодом (артикулом);
– каждый товар может иметь только одну единицу измерения;
– цена товара может изменяться на основании переоценки;
– стоимость выполненных заказов изменяться не может;
– оформленные заказы должны храниться в течение нескольких лет;
– заказы могут быть исполненными или находиться в стадии исполнения (при исполнении заказа в Бланке заказа заполняется реквизит Дата исполнения).
Для обеспечения ссылочной целостности данных, в полях подчиненных таблиц, которые являются ключами связи с главными таблицами (внешними ключами), должны находиться только такие значения, которые есть в связующих полях главных таблиц.
При разработке данных контрольного примера необходимо придерживаться следующих правил:
– таблицы, находящиеся в канонической модели на 0 уровне, должны содержать не менее 3 строк с данными;
– таблицы, находящиеся в канонической модели на 1 уровне, должны содержать не менее 5 строк с данными;
– таблицы, находящиеся в канонической модели на 2 уровне, должны содержать не менее 10 строк с данными,
– таблицы, находящиеся в канонической модели на 3 уровне, должны содержать не менее 15 строк с данными,
Т. е. чем дальше от вершины модели находится таблица, тем больше строк с данными она должна содержать.
Таблица 2.6
Таблица: Товары (уровень 0)
Код
Товара |
Марка
Товара |
ЕдИзм
Товара |
Цена
Товара |
Количество
товара |
Поставки
прекращены |
АН4848 | Ниам. товара 1 | Шт. | 25,55 | 5 | |
АР4848 | Ниам. товара 2 | Шт. | 5,50 | 0 | Да |
АР5222 | Ниам. товара 3 | Шт. | 12,50 | 8 | |
КС0588 | Ниам. товара 4 | Пачка | 22,50 | 25 | |
ТП1025 | Ниам. товара 5 | Рулон | 10,45 | 12 | |
ТП1026 | Ниам. товара 6 | Рулон | 9,50 | 6 | Да |
ТП1027 | Ниам. товара 7 | Рулон | 7,50 | 6 |
Таблица 2.5
Таблица: Клиенты (уровень 0)
Код
Клиента |
Наим
Клиента |
Адрес
Клиента |
1 | ЧП Воробьянинов К. | Г. Симферополь, ул. Литейная, 25 |
2 | МП «Мечты сбываются» | Г. Алушта, ул. Морская, 25 |
3 | ЧП Сидоров И. И. | П. Бузина, Симферопольский р-н, ул. Ким, 12/4 |
4 | АО «ПырЧирПроект» | Г. Севастополь, ул. Ушакова, 35 |
Таблица 2.7
Таблица: Заказы (уровень 1)
Код
Заказа |
Дата
Оформления |
Дата
Назначения |
Дата
Исполнения |
Код
Клиента |
1 | 15/12/2002 | 28/12/2002 | 29/12/2002 | 1 |
2 | 18/12/2002 | 29/12/2002 | 29/12/2003 | 2 |
3 | 10/01/2003 | 22/01/2003 | 25/01/2003 | 1 |
4 | 01/02/2003 | 15/02/2003 | 3 | |
5 | 05/02/2003 | 19/02/2003 | 19/02/2003 | 3 |
6 | 05/02/2003 | 15/02/2003 | 15/02/2003 | 4 |
7 | 12/02/2003 | 27/02/2003 | 27/02/2003 | 1 |
8 | 15/02/2003 | 29/02/2003 | 2 |
Таблица 2.8
Таблица: Заказано (уровень 2)
Код
Заказа |
Код
Товара |
Цена
Продажи |
Количество |
1 | АР5222 | 12,15 | 5 |
1 | ТП1025 | 10,10 | 2 |
1 | АР4848 | 5,20 | 3 |
1 | АН4848 | 25,05 | 4 |
2 | АР5222 | 12,15 | 3 |
3 | ТП1026 | 9,50 | 2 |
3 | АН4848 | 25,55 | 1 |
4 | ТП1027 | 7,50 | 25 |
5 | АР5222 | 12,50 | 5 |
5 | ТП1025 | 10,45 | 4 |
5 | АН4848 | 25,55 | 6 |
6 | ТП1027 | 7,50 | 25 |
6 | АР5222 | 12,50 | 5 |
7 | АН4848 | 25,55 | 12 |
7 | АР5222 | 12,50 | 15 |
7 | ТП1025 | 10,45 | 4 |
8 | АР4848 | 5,50 | 7 |
8 | КС0588 | 22,50 | 2 |
ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
К ЛАБОРАТОРНОЙ РАБОТЕ №2
Цель: Закрепить навыки по созданию логической структуры реляционной базы данных и разработке данных контрольного примера.
Условие задания:
На основании форм документов, описания и ограничений предметной области «Отдел реализации», а также разработанной расширенной информационно-логической модели (см. лабораторную работу №1 и задание для самостоятельной работы №1) создать логическую структуру реляционной базы данных и разработать данные контрольного примера для новых таблиц.
Литература:
Лекция 1. Введение в базы данных.
Лекция 2. Основы проектирования баз данных.
Лекция 3. Введение в СУБД.
Экономическая информатика. Учебник для вузов. Под ред. проф. В. В. Евдокимова. – СПб.: Питер, 1997. – [С446 – 466]