Логические модели данных. Организация баз данных в производственных системах

Содержание

Слайд 2

Шевченко А. В.

Элементы логической модели

Таблицы

Вторичные
индексы

Процедуры

Правила

Последова-
тельности

Представления

Логическая
модель

Шевченко А. В. Элементы логической модели Таблицы Вторичные индексы Процедуры Правила Последова- тельности Представления Логическая модель

Слайд 3

Шевченко А. В.

Таблицы базы данных

Отношение

1. Отображение "отношение - таблица"

Ключ

Атрибуты

Таблица

Ключ

Атрибуты

Отношение

2. Вертикальная сегментация

Ключ

Атрибуты

Таблица 1

Ключ

Атрибуты

Таблица

Шевченко А. В. Таблицы базы данных Отношение 1. Отображение "отношение - таблица"
2

Ключ

Атрибуты

Отношение

3. Горизонтальная сегментация

Ключ

Атрибуты

Таблица 1

Ключ

Атрибуты

Таблица 2

Ключ

Атрибуты

Слайд 4

Шевченко А. В.

Вертикальная сегментация отношений

Заказ

Номер

Дата

Клиент

Статус

1

12.01

А

Выполнен

2

14.01

В

Выполнен

...

312

18.05

С

Выполнен

313

20.05

А

В работе

314

20.05

В

В работе

315

21.05

С

Принят

Архив заказов

Номер

Дата

Клиент

Статус

1

12.01

А

Выполнен

2

14.01

В

Выполнен

...

312

18.05

С

Выполнен

Текущие заказы

Номер

Дата

Клиент

Статус

313

20.05

А

В работе

314

20.05

В

В работе

315

21.05

С

Принят

Шевченко А. В. Вертикальная сегментация отношений Заказ Номер Дата Клиент Статус 1

Слайд 5

Шевченко А. В.

Горизонтальная сегментация отношений

Изделие

Номер

Наименование

Описание

1

Стойка 3 полки

Для сборки ст...

...

2000

Подставка

Подставка име...

Данные изделия

Номер

Наименование

1

Стойка 3

Шевченко А. В. Горизонтальная сегментация отношений Изделие Номер Наименование Описание 1 Стойка
полки

...

2000

Подставка

Описание изделия

Номер

Описание

1

...

2000

Для сборки стойки нужно...

Подставка имеет нижнюю...

Слайд 6

Шевченко А. В.

Типы данных Ingres

Тип данных

Символьный

Числовой

Абстрактный

Двоичный

Фиксированный

Переменный

Точный

Приближенный

Фиксированный

Переменный

c

сhar

text

varсhar

long varchar

integer1

integer2

integer4

integer8

decimal

float4

float8

ingresdate

money

Дата

ansidate

Деньги

byte

byte varying

long byte

Шевченко А. В. Типы данных Ingres Тип данных Символьный Числовой Абстрактный Двоичный

Слайд 7

Шевченко А. В.

Символьные типы данных

Символьный

Фиксированный

Переменный

c

сhar

text

varсhar

long varchar

Тип char может содержать как отображаемые, так

Шевченко А. В. Символьные типы данных Символьный Фиксированный Переменный c сhar text
и неотобра-
жаемые символы. В таблицах без сжатия данных строка допол-
няется пробелами. Если сжатие задано, то концевые пробелы ис-
ключаются. В операциях сравнения пробелы принимаются во
внимание, а в случае, когда строки имеют разную длину, наиме-
ньшая строка дополняется пробелами. Строки 'АВС' и 'АВС '
эквивалентны для операции сравнения.
Строка символов типа с может содержать только отображаемые
символы, при вводе неотображаемые символы заменяются про-
белами. В операциях сравнения пробелы не принимаются во
внимание, то есть строки '955 76 49' и '9557649' эквивалентны.
Тип text может содержать все символы ASCII, за исключением
нулевого, который при вводе преобразуется в пробел. В опера-
циях сравнения пробелы принимаются во внимание.

В типе данных varchar первые два байта ис-
пользуются для сохранения длины строки.
Строка типа varchar может содержать любые
символы, включая неотображаемые, а также
нулевой символ ('\0'). В операциях сравнения
пробелы принимаются во внимание.
Тип данных long varchar имеет такие же ха-
рактеристики, как и varchar, но может со-
держать строку размером до 2 Гбайт.

Слайд 8

Шевченко А. В.

Функции для работы со строками

Шевченко А. В. Функции для работы со строками

Слайд 9

Шевченко А. В.

Числовые типы данных

К целочисленным типам данных относятся integer1, integer2,
integer4,

Шевченко А. В. Числовые типы данных К целочисленным типам данных относятся integer1,
integer8, размер которых равен соответственно 1, 2, 4 и
8 байт. Десятичный тип данных decimal определяется в терми-
нах точности (precision) и маcштаба (scale). Под точностью по-
нимается общее количество цифр в числе, а под масштабом –
количество цифр после десятичной точки. Например для числа
12345.67890 точность равна десяти, а масштаб – пяти. Допусти-
мая точность для decimal от 1 до 31 цифры.

К типам данных с плавающей точкой
относятся float4 размером 4 байт и float8
размером 8 байт. Число с плавающей точкой
представляется как мантисса и экспонента.
Например, для числа 123Е4 мантисса равна
123, а экспонента равна 4. Точность для типа
данных float4 составляет 7 цифр, а для типа
данных float8 – 15 цифр.

Числовой

Точный

Приближенный

integer1

integer2

integer4

integer8

decimal

float4

float8

Слайд 10

Шевченко А. В.

Математические функции

Шевченко А. В. Математические функции

Слайд 11

Шевченко А. В.

Денежный тип данных

Тип данных money имеет точность два знака после

Шевченко А. В. Денежный тип данных Тип данных money имеет точность два
десятичной
точки и допускает значения от $-999999999999.99 до
$+999999999999.99, где $ является знаком денежной единицы,
по умолчанию – доллар. Знак денежной единицы и точность в
диапазоне от 0 до 2 можно задавать с помощью переменных
среды II_MONEY_FORMAT и II_MONEY_PREC соответственно.
начения в этом формате округляются до двух знаков после деся-
тичной точки. Под тип данных money отводятся 8 байт.

money

Слайд 12

Шевченко А. В.

Временной тип данных

Тип данных ingresdate позволяет представлять как абсолютную дату
и

Шевченко А. В. Временной тип данных Тип данных ingresdate позволяет представлять как
время, так и временной диапазон. Значение типа данных ingresdate
описывается как строка символов в апострофах, например
'15-nov-93 10:30'. Поддерживается достаточно много форматов даты,
и их виды задаются через переменную среды II_DATE_FORMAT.
Временной диапазон также заключается в апострофы и может быть
задан в годах, месяцах, днях, часах, минутах, секундах или в их ком-
бинации, например '5 years 8 months', '23 hrs 38 mins 53 secs'. Допус-
тимый диапазон значений для years от –800 до +800, для months от
–9611 до 9611, для days от –292 559 до +292 559. Тип данных
ingresdate занимает 12 байт.

ingresdate

Слайд 13

Шевченко А. В.

Функции для работы с датами

Шевченко А. В. Функции для работы с датами

Слайд 14

Шевченко А. В.

Сводная таблица типов данных

Шевченко А. В. Сводная таблица типов данных

Слайд 15

Шевченко А. В.

Сводная таблица типов данных (окончание)

В Ingres Open Source для типов

Шевченко А. В. Сводная таблица типов данных (окончание) В Ingres Open Source
данных c, char, varchar, text, byte и
byte varying устанавливается лимит в 2000 байт для стандартной
страницы 2 Кбайт. Этот лимит может быть увеличен путем увели-
чения размера страницы со стандартного в 2 Кбайт до 4, 8, 16, 32
или 64 Кбайт. Однако в любом случае лимит не может превышать
32 000 байт.
В СУБД Ingres Open Source имеются специальные типы данных –
ключи, которые позволяют автоматически генерировать уникаль-
ные значения атрибутов в пределах одной таблицы или для базы
данных в целом. Для приложений, требующих управления санкци-
онированным доступом к данным, могут применяться метки защи-
ты – специальный тип данных для контроля доступа.

Слайд 16

Шевченко А. В.

Неопределенные значения атрибутов

Номер

1

2

Наменование

Стойка 4 полки 1200 × 800

Стойка 4 полки

Шевченко А. В. Неопределенные значения атрибутов Номер 1 2 Наменование Стойка 4
1200 × 800

Обозначение

КР.121.00.01

КР.121.00.02

3

Подставка малая

КР.116.00.01

Цена

3640.00

3680.00

null

Цвет

Синий

Зеленый

Красный

4

Подставка средняя

КР.117.00.01

845.00

Красный

Неопределенное значение null не следует путать с нулевым значением, пустой
строкой или строкой, заполненной пробелами. Любая арифметическая операция
с неопределенным значением дает в результате также неопределенное значение,
например 5 + null = null. Любая логическая операция сравнения, в которой участ-
вует неопределенное значение, дает в результате ложное значение (false).
Для хранения признака неопределенного значения атрибута в каждой записи
таблицы используется дополнительное поле в 1 байт. Размер записи таблицы ра-
вен, таким образом, сумме размеров внутреннего представления атрибутов плюс
один байт на каждый атрибут, который может иметь неопределенное значение.

Слайд 17

Шевченко А. В.

Структуры хранения данных

HEAP

Структура heap: размещение и доступ к данным последовательны;

Шевченко А. В. Структуры хранения данных HEAP Структура heap: размещение и доступ
у таблицы не может быть
ключа; записи всегда добавляются в конец таблицы. Эта структура хранения является самой
быстрой для добавления данных и самой медленной для чтения, поскольку при любом запросе
просматриваются все страницы таблицы.
Структура hash: таблица должна иметь ключ, состоящий из одного или нескольких атрибутов;
доступ к записям осуществляется по значению ключа с использованием специального алгорит-
ма. Структура хранения hash работает быстро при доступе по точному значению ключа.
Вместе с тем, структура hash неэффективна при поиске по диапазону значений и по части сос-
тавного ключа.
Структура isam: данные хранятся с использованием статического индекса; для структуры хра-
нения isam должен быть задан ключ из одного или нескольких атрибутов, записи сортируются
по значению ключа; при добавлении в таблицу или изменении данных индекс не изменяется.
Эта структура хранения эффективна при доступе по точному значению ключа, по диапазону
значений ключа и по левой части составного ключа. Структура isam не эффективна при быст-
ром росте таблицы.
Структура btree: доступ к данным – с использованием динамического индекса. В данной
структуре индекс растет при росте таблицы, что исключает проблемы, которые характерны
для структуры isam. Структура btree эффективна при доступе по точному значению, по диапа-
зону значений и по левой части составного ключа; не эффективна для статических таблиц.

HASH

ISAM

BTREE

Слайд 18

Шевченко А. В.

Вторичные индексы

Часто возникают ситуации, когда в условиях запросов фигурируют неключевые

Шевченко А. В. Вторичные индексы Часто возникают ситуации, когда в условиях запросов
атрибуты –
тогда для повышения эффективности доступа применяются вторичные индексы. Вторичный
индекс представляет собой инвертированную таблицу, ключом которой является неключевой
атрибут (или несколько атрибутов) основной таблицы. Записи индекса связаны с записями
основной таблицы с помощью специальных указателей.

Слайд 19

Шевченко А. В.

Представления

Представление (view) является “виртуальной таблицей”, содержимое которой определяется
результатом лежащего

Шевченко А. В. Представления Представление (view) является “виртуальной таблицей”, содержимое которой определяется
в его основе запроса на чтение. При создании представление получает
имя и его определение сохраняется в базе данных. Представления используются по нескольким
причинам. С их помощью можно ограничить доступ к данным, разрешая пользователям видеть
только некоторые из строк и столбцов таблицы. С помощью представления можно упростить
проектирование запросов, заменяя запрос к нескольким таблицам запросом к представлению.
Если доступ к данным или ввод данных осуществляется с помощью представления, СУБД может
автоматически проверять, выполняются ли заданные условия целостности. Недостатками пред-
ставлений являются замедление выполнения запросов (СУБД приходится преобразовывать
запрос к представлению в запрос к исходным таблицам) и ограничения на их обновления.

Слайд 20

Шевченко А. В.

Процедуры

Процедура базы данных представляет собой набор операторов SQL, хранимых и

Шевченко А. В. Процедуры Процедура базы данных представляет собой набор операторов SQL,
исполняемых
как единый блок. Преимущество использования процедур заключается в сокращении обмена
запросами между приложением и СУБД, а также в увеличении быстродействия приложения за
счет того, что процедуры хранятся в подготовленном к выполнению виде. Использование проце-
дур сокращает время разработки приложений, поскольку приложения могут использовать общие
процедуры базы данных. Использование процедур также позволяет повысить уровень защиты
данных путем предоставления пользователям доступа в процедуре к операциям над таблицами,
без предоставления полного доступа к этим таблицам.

Слайд 21

Шевченко А. В.

Правила

В Ingres Open Source c некоторым событием, происходящим при изменении

Шевченко А. В. Правила В Ingres Open Source c некоторым событием, происходящим
базы данных, можно
связать сопутствующее действие, которое СУБД будет автоматически выполнять при каждом
возникновении события. Такое действие должно задаваться как процедура базы данных.
Механизм вызова процедур при появлении события называется правилом базы данных (rule).
Изменения базы данных могут быть результатом добавления, изменения или удаления данных.
К преимуществам использования правил можно отнести сокращение размера приложений за
счет того, что правила хранятся в базе данных и вызываются при каждом добавлении или
обновлении. Однако у правил имеется ряд недостатков. Правила приводят к усложнению базы
данных, так как логика правил становится частью базы данных. Также исчезает возможность
управлять из приложения всеми происходящими в базе данных процессами, поскольку програм-
мные запросы могут вызывать выполнение различных скрытых действий.
Имя файла: Логические-модели-данных.-Организация-баз-данных-в-производственных-системах.pptx
Количество просмотров: 57
Количество скачиваний: 0