Файл: Механика и математическое моделирование самара издательство Самарского университета 2021.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.10.2023

Просмотров: 96

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

13
ПЕРЕНОС ИЛМ В РЕЛЯЦИОННУЮ БАЗУ ДАННЫХ
Необходимо реализовать ИЛМ средствами выбранной СУБД.
В базе данных требуется поставить в соответствие объектам информационно-логической модели таблицы реляционной базы данных, построить отношения (связи) между таблицами и описать структуру каждой таблицы.
Соответствие терминов ИЛМ и РБД:
ИЛМ
РБД
Предметная область
Название базы данных
Имя объекта
Имя таблицы
Объект
Таблица
Экземпляр объекта
Запись
Атрибут
Поле
Имя атрибута
Имя поля
Отношения
Связи
Ключ
Пример: база данных Покупка товаров.
Объекты и атрибуты ИЛМ:

ТОВАРЫ: Наименование, Категория, Описание, Производитель, Дата по- ставки, Количество, Цена поставки, Единица измерения, Скидка %, Фото товара;

ПОКУПАТЕЛИ: Покупатель, Адрес, Телефон, Физическое лицо;

ПОКУПКИ: Наименование, Покупатель, Количество, Цена покупки, Дата по- купки.
Одна и та же ИЛМ может быть представлена в БД по-разному.
Хранение данных в одной таблице
Создадим одну таблицу для хранения атрибутов всех объектов:
Покупка товаров: Наименование товара, Категория, Производитель, Модель, Характери- стика, Цена, Покупатель, Адрес, Реквизиты, Количество, Цена продажи, Дата продажи.

14
При этом исключаются дублирующие атрибуты разных объектов.
Однако хранение всех объектов в одной таблице приводит к избыточности данных, а неиз- бежные ошибки при вводе не позволяют правильно извлекать данные.
Хранение данных в нескольких таблицах
Выполним декомпозицию данных, т.е. распределим данные по таблицам:
Таблица
Товары
Таблица
Покупки
Таблица
Покупатели
Наименование
Наименование товара
Покупатель
Категория
Покупатель
Адрес
Описание
Количество
Телефон
Производитель
Цена покупки
Физическое лицо
Дата поставки
Дата покупки
Количество
Цена поставки
Единица измерения
Скидка %
Фото товара
Структура таблицы
Структура каждой таблицы в базе данных представляет собой описание полей таблицы че- рез их свойства. Основными свойствами поля являются: Имя поля, Тип данных в поле, Размер
поля, Формат. Множество других свойств поля зависит от типа данных в этом поле. На первом этапе определимся с именами полей и типами данных.

15
Таблица Товары
Имя поля
Тип данных
Наименование товара
Текст
Категория
Текст
Описание товара
Текст
Производитель
Текст
Дата поставки
Дата/время
Количество
Целое число
Цена поставки
Денежный
Единица измерения
Текст
Скидка %
Вещественное число
Фото товара
Изображение
Таблица Покупатели
Имя поля
Тип данных
Покупатель
Текст
Адрес
Текст
Телефон
Текст
Физическое лицо
Логический
Таблица Покупки
Имя поля
Тип данных
Наименование товара
Текст
Покупатель
Текст
Количество
Целое число
Цена покупки
Денежный
Дата покупки
Дата/Время


16
Результаты представления ИЛМ в базе данных

каждому объекту поставлена в соответствие таблица;

описана структура каждой таблицы (имена полей, типы и размеры данных);

в каждой таблице определен первичный ключ;

добавлены (при необходимости) дополнительные таблицы-справочники;

таблицы связаны между собой, создана схема данных.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Перечислите типы связей (отношений) между объектами ИЛМ.
2. Какие отношения недопустимы в реляционной базе данных?
3. Что является результатом построения ИЛМ?
4. Какие свойства входят в описание полей таблицы?

17
3. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗЫ ДАННЫХ
Созданию базы данных всегда предшествует этап проектирования. Проектирование базы данных состоит из нескольких этапов:
1. Определение предметной области.
2. Декомпозиция данных.
3. Описание структур таблиц базы данных.
4. Определение ключей в таблицах.
5. Связывание таблиц.

Определение предметной области
Предметная область – это множество взаимосвязанных объектов, представляющих интерес с точки зрения решаемой задачи. Предметная область отражается в названии БД. Например, предметной областью может являться покупка товаров.
Объекты предметной области
Предметная область состоит из взаимосвязанных объектов. Объектами нашей предметной области являются товары и покупатели. Отдельные элементы объекта называют экземплярами, например, экземплярами объекта Товары являются отдельные товары.
Объектам предметной области в базе данных соответствуют таблицы. В нашем примере в базе данных Покупка товаров будут таблицы Товары и Покупатели
Определение атрибутов
Каждый объект описывается набором атрибутов. Атрибут объекта – значимая с точки зрения решаемой задачи характеристика (свойство, параметр) объекта. В таблице базы данных атрибуты размещаются в полях, имена полей соответствуют названию атрибута.
Атрибутами наших объектов являются:
1. Таблица ТОВАРЫ: Наименование товара, Дата поступления, Количество, Цена,
Производитель, Описание, Характеристика.
2. Таблица ПОКУПАТЕЛИ: Покупатель, Адрес, Реквизиты.

18
Выделение задач, решаемых в предметной области
В нашей предметной области Покупка товаров необходимо решать следующие задачи:

учет товара;

учет покупателей;

учет покупок.
ДЕКОМПОЗИЦИЯ ДАННЫХ
Размещение данных в одной таблице
Создадим одну таблицу Покупка товаров для хранения атрибутов всех объектов с полями
Наименование, Категория, Описание, Производитель, Дата поставки, Количество, Цена по-
ставки, Единица измерения, Скидка %, Фото товара, Покупатель, Адрес, Телефон, Физическое
лицо, Количество, Цена покупки, Дата покупки (Таблица 1).
Таблица 1 – Размещение данных в одной таблице*
Н
аим
ен
ова
-
ние
Ка
те
го
рия
О
пи
са
ни
е
П
ро
изво
ди-
те
л
ь
Ко
л
ич
ес
тв
о
Ц
ен
а
по
ст
авк
и
Ц
ен
а
по
-
ку
пк
и
П
оку
па
те
л
ь
Адрес
Ф
изиче
ск
ое
л
иц
о
дверь стройматериалы ясень
2,05*0,84
ОАО
"Строим сами"
2 1 820,00р. 2 002,00р. Пилюгина
М.С. пр. Калинина
22-2
Да утеплитель хозтовары для окон и дверей
ОАО
"Строим сами"
4 150,00р.
172,50р. Андреев
А.Л.
Комсомоль- ская 25-1
Да сланцы муж. обувь
Тайвань, разм. 42-43
АО "По- дошва"
2 1 200,00р. 1 416,00р. ООО
"Альберт" пер. Длинный
45-12
Нет утеплитель хозтовары для окон и дверей
ОАО
"Строим сами"
6 150,00р.
172,50р. ЧП Поно- марев
Тракторная
113-24
Нет плитка керам. стройматериалы Италия,
30х30
ОАО
"Строим сами"
10 800,00р.
880,00р. ЧП Поно- марев
Тракторная
113-24
Нет сахар рафинад продукты белгородс- кий
ООО "Анта- рес"
2 60,50р.
78,65р. ООО
"Альберт" пер. Длинный
45-12
Нет сервиз чайный посуда
45 предметов ЧП "Фар- фор"
1 3 800,00р. 4 484,00р. ЧП Поно- марев
Тракторная
113-24
Нет ветровка одежда
Тайвань
ИП Рубаш- кин
1 980,00р. 1 078,00р. Андреев
А.Л.
Комсомоль- ская 25-1
Да плитка керам. стройматериалы Италия,
30х30
ОАО
"Строим сами"
8 800,00р.
880,00р. ЧП Поно- марев
Трактор- ная113-24
Нет
* Для экономии места в таблице показаны не все поля и часть записей.


19
Хранение всех объектов в одной таблице приводит к избыточности данных (повторение одинаковых данных в полях Адрес, Физическое лицо, Телефон и др.), а неизбежные ошибки при вводе повторяющихся данных не позволят правильно извлекать данные.
Размещение данных в нескольких таблицах
Декомпозиция данных предполагает распределение набора данных предметной области по таблицам. Так как предметная область состоит из объектов и процессов их взаимодействия, то при декомпозиции появляются таблицы, описывающие каждый объект и каждый процесс.
Например, предметная область Продажи товара содержит две таблицы, описывающие объекты этой предметной области – Товары, Покупатель, и одну таблицу, которая описывает процесс взаимодействия этих объектов – Покупки (Рисунок 4).
Рисунок 4 – Декомпозиция предметной области Продажи товаров
Декомпозиция позволяет исключить дублирование данных и значительно уменьшает ошибки при вводе данных.
ОПИСАНИЕ СТРУКТУРЫ КАЖДОЙ ТАБЛИЦЫ
Структура каждой таблицы представляет собой описание полей таблицы через их свойства
(Таблица 2 – Таблица 4). Основными свойствами поля являются: Имя поля, Тип данных в поле,
Размер поля, Формат. Множество других свойств поля зависит от типа данных в этом поле.
Типы данных и размеры полей приведены в приложении А.

20
Таблица 2 – Свойства полей таблицы «Товары»
Имя
Тип
Размер
Код товара
Длинное целое
4
Наименование
Короткий текст
50
Категория
Короткий текст
25
Описание
Короткий текст
150
Производитель
Короткий текст
100
Дата поставки
Дата и время
8
Количество
Целое
2
Цена поставки
Денежный
8
Единица измерения
Короткий текст
5
Скидка %
Одинарное с плава- ющей
4
Фото товара
Поле объекта OLE
-
Таблица 3 – Свойства полей таблицы Покупки
Имя
Тип
Размер
Код покупки
Длинное целое
4
Код товара
Длинное целое
4
Покупатель
Короткий текст
100
Количество
Целое
2
Цена покупки
Денежный
8
Дата покупки
Дата и время
8
Таблица 4 – Свойства полей таблицы Покупатели
Имя
Тип
Размер
Покупатель
Короткий текст
100
Адрес
Короткий текст
100
Телефон
Короткий текст
12
Физическое лицо
Логический
1

21
Особенности использования различных типов данных
Рекомендации по использованию различных типов данных представлены ниже
(Таблица 5).
Таблица 5 – Использование различных типов данных
Данные
Примеры данных
Тип
данных
Размер, формат
Любой набор симво- лов – букв, цифр, зна- ков; данные, состоящие из цифр, но не являю- щиеся числами
Адрес, паспортные данные, номер теле- фона, номер группы, номер зачетки, год, месяц, день недели
Короткий текст До 255 символов
Любые числовые данные (кроме де- нежных):

целые числа;

дробные числа;

проценты
Количество, рост, вес, оценка (число- вая), год, месяц.
Проценты:

скидки,

наценки,

налоги,

надбавки
Числовой
Для целых чисел байт, це- лое, длинное целое.
Для вещественных чисел одинарное с плавающей точкой, дополнительно за- дать число десятичных зна- ков.
Для процентов одинарное с плавающей точкой, допол- нительно задать процент- ный формат и число деся- тичных знаков
Денежные данные
Любые денежные данные: цены, стои- мости, надбавки, скидки
Денежный
Задать формат поля денеж- ный и число десятичных знаков
Дата и/или время
Точная дата в фор- мате дд.мм.гггг.
Точное время в фор- мате чч:мм:сс
Дата вместе со време- нем дд.мм.гггг чч:мм:сс
Дата и время
Выбрать формат отображе- ния даты, времени или од- новременно даты и вре- мени
Двухзначные данные типа Да/Нет,
Есть/Нет
Скидка есть/нет, наценка есть/нет
Логический
Фотографии, тексто- вые файлы, электрон- ные таблицы и лю- бые другие объекты
Фотографии объек- тов: люди, товары, недвижимость (*.jpg).
Файлы Word.
Электронные таб- лицы Excel
Поле объекта
OLE


22
ОПРЕДЕЛЕНИЕ ПЕРВИЧНЫХ КЛЮЧЕЙ В КАЖДОЙ ТАБЛИЦЕ
Первичный ключ – поле или группа полей, однозначно идентифицирующий запись.
Если поле (или группа полей) является ключом, то ввести повторяющиеся значения в это поле (или группу полей) невозможно. Поэтому, любому значению в ключе соответствует только одна запись.
Простой ключ – первичный ключ, состоящий из одного поля.
Составной ключ – первичный ключ, состоящий из нескольких полей.
Теория реляционных баз данных требует наличия первичного ключа в каждой таблице, од- нако, на практике, в некоторых таблицах можно не создавать ключи. Если в таблице нет поля, которое можно сделать ключом, то можно создать ключ с помощью поля типа СЧЕТЧИК, в ко- тором каждой записи будет присвоен уникальный номер. В таблице может быть только один первичный ключ!
В таблице Товары поле Наименование не может быть ключевым, т.к. товары с одинако- вым наименованием могут быть от разных производителей, с разной ценой, в разной упаковке.
Другие поля этой таблицы также не могут быть ключами, т.к. значения в любом из них могут повторяться. Поэтому добавляем искусственное ключевое поле Код товара, тип данных – счет- чик. Теперь товар однозначно определяется не наименованием, а кодом товара, поэтому в таб- лице Покупки поле Наименование заменяем на Код товара (числовой, длинное целое).
В таблице Покупки добавляем ключевое поле Номер покупки, тип данных – счетчик.
В таблице Покупатели ключевым может быть поле Покупатель.
Ключевые поля в таблицах выделим жирным шрифтом (Рисунок 5).
Рисунок 5 – Определение ключевых полей

23
ДОБАВЛЕНИЕ ТАБЛИЦ-СПРАВОЧНИКОВ
Добавим дополнительную таблицу-справочник Производители и определим ее структуру, первичным ключом здесь является поле Производитель (Таблица 6).
Таблица 6 – Свойства полей таблицы Производители
Имя
Тип
Размер
Производитель
Короткий текст
100
Адрес
Короткий текст
100
Телефон
Короткий текст
12
Руководитель
Короткий текст
100
СВЯЗЫВАНИЕ ТАБЛИЦ
Так как база данных реляционного типа по определению является набором связанных таб- лиц, то займемся связыванием таблиц в нашей базе данных.
Связывание таблиц происходит через поля, одинаковые по смыслу, имени, типу и размеру.
Между двумя таблицами можно создать только одну связь (Рисунок 6).
Рисунок 6 – Связи между таблицами
Средства для создания
В реляционной базе данных допустимы типы связей один ко многим и один к одному.
Связь один ко многим
Отношения один-ко-многим в ИЛМ преобразуются в реляционной базе данных в связи
один-ко-многим.
На стороне один в связи поле является первичным ключом, на стороне много поле называют
внешним ключом.