Файл: Содержание информационнологическое (Инфологическое) проектирование бд. 6 Определение требований к операционной обстановке 8 Заключение 40 Список литературы 41 Введение.docx

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

Категория: Реферат

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

Добавлен: 19.03.2024

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

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

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

Таблица 9 – Отношение МАРКИ, приведённое ко 2НФ

Номер марки

Цена

Цвет

Год выпуска

Номер страницы

Размер

Номер серии

1

Р. 600.00

Синий

1920

3

Маленький

1

2

Р. 600.00

Красный

1930

4

Средний

2

3

Р. 600.00

Жёлтый


1953

5

Большой

3

Далее преобразуем отношениеМАРКИ к 3НФ, убрав транзитивную зависимость. Выделим таблицы МАРКИ, МАРКИ-СЕРИЯ (Таблица 10-11). Они связаны с помощью внешнего ключа: Номер марки.


Таблица 10 – Отношение МАРКА-СЕРИЯ, приведённое к 4НФ

Номер марки

Номер серии

1

1

2

2

3

3

Таблица 11 – Отношение МАРКА, приведённое к 3НФ

Номер марки

Цена

Цвет

Год выпуска

Номер страницы

Размер

1

Р. 600.00

Синий

1920

3

Маленький

2

Р. 600.00

Красный

1930

4

Средний

3

Р. 600.00

Жёлтый


1953

5

Большой

Зададим необходимые декларативные ограничения целостности исходя из специфики предметной области:

Для отношения МАРКА-ТОМ
:

Название атрибута

Номер марки

Номер тома

Тип данных

VARCHAR (10 б.)


VARCHAR

(10 б.)



Внешний ключ

References Марка(Номер марки)

References Том(Номер тома)

Первичный ключ

-

-

Not Null

+

+



Для отношения МАРКА-СЕРИЯ:

Название атрибута

Номер марки

Номер серии

Тип данных

VARCHAR (10 б.)


VARCHAR

(10 б.)



Внешний ключ

References Марка(Номер марки)

References Серия(Номер серии)

Первичный ключ

-

-

Not Null

+

+

Для отношения СЕРИЯ:

Название атрибута

Тема серии

Номер серии

Тип данных

VARCHAR (10 б.)


VARCHAR

(10 б.)



Внешний ключ

-

-

Первичный ключ

-

+

Not Null

+

+

Для отношения ТОМ:

Название атрибута

Номер тома

Страна

Тема марки

Тип данных

VARCHAR

(10 б.)

VARCHAR (15 б.)

VARCHAR (15 б.)

Внешний ключ

-

-

-

Первичный ключ

+

-

-

Not Null

+

+

+


Для отношения МАРКА:

Название атрибута

Номер марки

Цена

Год выпуска

Цвет

Размер

Номер страницы

Тип данных

VARCHAR (10 б.)

INT (4 б.)

INT (4 б.)

VARCHAR (10 б.)

VARCHAR (10 б.)

VARCHAR (10 б.)

Внешний ключ

-

-

-

-

-

-

Первичный ключ

+

-

-

-

-

-

Not Null

+

+

+

+

+

+

Построим диаграмму, где прослеживается связь между внешними ключами, первичными ключами и их атрибутами (Рисунок 2).



Рисунок 2 - связи между первичными и внешними ключами

6. Физическое проектирование БД

В качестве примера для физического проектирования была взята БД «Марки».

Построение физической модели БД производилось на основе логической модели.

Средствами СУБД создана спроектированная база данных, ее таблицы, заданы необходимые ограничения целостности, и создадим обычные индексы для столбцов, которые являются внешними ключами, часто встречающиеся в критериях поиска, индексы создаём с помощью команды с помощью команды «CREATE INDEX test1_id_index ON test1 (id);». Здесь мы использовали тип индекса – B-дерево. Из всех типов индексов, которые поддерживает FireBird, сортировать данные могут только B-деревья – индексы других типов возвращают строки в неопределённом, зависящем от реализации порядке (рисунки 3-7).





Рисунок 3 - Таблица Марки и созданный индекс






Рисунок 4 - Таблица Том и созданный индекс





Рисунок 5 – Таблица Серия и созданный индекс





Рисунок 6 - Таблица Марки-серия и созданный индекс





Рисунок 7 - Таблица Марки-том и созданный индекс

При осуществлении запроса к таблице осуществляется просмотр всех записей таблицы и выбираются те, которые соответствуют запросам.

Для уменьшения времени на выполнение запроса используются индексы.

При наличии индексации в таблице запрос выполняется быстрее за счет того, что не требуется просматривать каждую запись, а осуществляется поиск по индексам записей.

В системах, поддерживающих язык SQL, индекс создаётся командой CREATE INDEX. Индексы повышают производительность запросов, которые выбирают относительно небольшое число строк из таблицы. Для определения целесообразности создания индекса нужно проанализировать запросы, обращённые к таблице, и распределение данных в индексируемых столбцах.

Далее посчитаем, сколько по времени проходят запросы по добавлению, обновлению, удалению и выборке (Таблица 13-14).

Таблица 12 – время выполнения запросов без индексации




INSERT

SELECT

UPDATE

DELETE

Марка

56 мc

50 мс

51 мс

58 мс

Том

67 мс

45 мс

65 мс

59 мс

Серия

67 мс

72 мс

71 мс

65 мс

Марка том

56 мс

45 мс

49 мс

48 мс

Марка серия

57 мс

58 мс

53 мс

56 мс



Таблица 13 – Время выполнения запросов с индексацией




INSERT

SELECT

UPDATE

DELETE

Марка

48 мc

37 мс

43 мс

47 мс

Том

57 мс

36 мс

57 мс

47 мс

Серия

54 мс

63 мс

67 мс

54 мс

Марка том

45 мс

37 мс

41 мс

39 мс

Марка серия

48 мс

45 мс

43 мс

44 мс

После проведения индексации мы видим, что при выборке строк время уменьшилось.

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

7. Разработка подсистемы безопасности

Создание ролей.

В данной базе данных выделим две локальные области — это «Коллекционер», «Посетитель».

Пользователь коллекционер может делать выборку, удаление, добавление, изменение во всех таблицах БД.

Пользователь посетитель может делать только выборку во всех таблицах БД.

На рисунке 8 представлено создание роли коллекционер и присвоение ей привилегий.



Рисунок 8 - Создание роли admin600 и присвоение привилегии

На рисунке 9 представлено создание роли для посетителя posetitel3 и присвоение ей привилегий.



Рисунок 9 - Создание роли posetitel3 и присвоение ей привилегий

Защита данных на уровне строк.

Создадим защиту на уровне строк. Она необходима для того, чтобы подключённые пользователи могли видеть все строки (Рисунок 10).



Рисунок 10 - Защита на уровне строк

8. Описание интерфейса приложения