108.64K
Категория: Базы данныхБазы данных

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

1.

1
Системы управления реляционными
базами данных
Курс «Базы данных», лекция 6
Лекции

2.

Базы данных
Правила Кодда
В 1985 году Эдгар Кодд сформулировал 13 правил,
которым должна соответствовать система управления
реляционной базой данных.
Лекции
2

3.

Базы данных
Правила Кодда
Правило 0: Основное правило (Foundation Rule):
Система, которая рекламируется или позиционируется как реляционная система управления
базами данных, должна быть способной управлять базами данных, используя исключительно
свои реляционные возможности.
Правило 1: Информационное правило (The Information Rule):
Вся информация в реляционной базе данных на логическом уровне должна быть явно представлена
единственным способом: значениями в таблицах.
Данные, представленные в ячейках должны быть атомарными. Порядок строк не должен влиять на
смысл данных.
Правило 2: Гарантированный доступ к данным ( Guaranteed Access
Rule):
В реляционной базе данных каждое отдельное значение данных должно быть логически
доступно с помощью комбинации имени таблицы, значения первичного ключа и имени
столбца.
Лекции
3

4.

Базы данных
Правила Кодда
Правило 3: Систематическая поддержка отсутствующих значений
(Systematic Treatment of Null Values):
Неизвестные, или отсутствующие значения NULL, отличные от любого известного значения,
должны поддерживаться для всех типов данных при выполнении любых операций.
Например, для числовых данных неизвестные значения не должны рассматриваться как
нули, а для символьных данных — как пустые строки.
Правило 4: Доступ к словарю данных в терминах реляционной модели
(Active On-Line Catalog Based on the Relational Model):
Словарь данных должен сохраняться в форме реляционных таблиц, и СУБД должна
поддерживать доступ к нему при помощи стандартных языковых средств, тех же самых,
которые используются для работы с реляционными таблицами, содержащими
пользовательские данные.
Лекции
4

5.

Базы данных
Правила Кодда
Правило 5: Полнота подмножества языка (Comprehensive Data
Sublanguage Rule):
Система управления реляционными базами данных должна поддерживать хотя бы один
реляционный язык, который
(а) имеет линейный синтаксис,
(б) может использоваться как интерактивно, так и в прикладных программах,
(в) поддерживает операции определения данных, определения представлений,
манипулирования данными (интерактивные и программные), ограничители целостности,
управления доступом и операции управления транзакциями (begin, commit и rollback).
Правило 6: Возможность изменения представлений (View Updating
Rule):
Каждое представление должно поддерживать все операции манипулирования данными,
которые поддерживают реляционные таблицы: операции выборки, вставки, изменения и
удаления данных.
Лекции
5

6.

Базы данных
Правила Кодда
Правило 7: Наличие высокоуровневых операций управления данными
(High-Level Insert, Update, and Delete):
Операции вставки, изменения и удаления данных должны поддерживаться не только по
отношению к одной строке реляционной таблицы, но и по отношению к любому множеству
строк.
Правило 8: Физическая независимость данных (Physical Data
Independence):
Приложения не должны зависеть от используемых способов хранения данных на носителях,
от аппаратного обеспечения компьютеров, на которых находится реляционная база данных.
Правило 9: Логическая независимость данных (Logical Data
Independence):
Представление данных в приложении не должно зависеть от структуры реляционных таблиц.
Если в процессе нормализации одна реляционная таблица разделяется на две,
представление должно обеспечить объединение этих данных, чтобы изменение структуры
реляционных таблиц не сказывалось на работе приложений.
Лекции
6

7.

Базы данных
Правила Кодда
Правило 10: Независимость контроля целостности (Integrity
Independence):
Вся информация, необходимая для поддержания целостности, должна находиться в словаре
данных. Язык для работы с данными должен выполнять проверку входных данных и
автоматически поддерживать целостность данных.
Правило 11: Независимость от расположения (Distribution
Independence):
База данных может быть распределённой, может находиться на нескольких компьютерах, и
это не должно оказывать влияния на приложения. Перенос базы данных на другой компьютер
не должен оказывать влияния на приложения.
Правило 12: Согласование языковых уровней (The Nonsubversion Rule):
Если используется низкоуровневый язык доступа к данным, он не должен игнорировать
правила безопасности и правила целостности, которые поддерживаются языком более
высокого уровня.
Лекции
7

8.

Базы данных
8
Функции системы управления реляционной базой данных
1. Поддержка многопользовательского режима
2. Обеспечение физической целостности данных
3. Управление доступом
4. Администрирование
Лекции

9.

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

10.

Базы данных
Словари и справочники
Словарь-справочник данных (ССД)
– это программная система, предназначенная для централизованного хранения и использования
описаний объектов БД (метаданных). Другое название ССД - каталог данных.
ССД содержит сведения:
• о владельцах объектов данных, пользователях ресурсов данных и полномочиях их доступа;
• о составе и структуре базы данных;
• об ограничениях целостности;
• о вспомогательных объектах и компонентах информационной системы.
Лекции
10

11.

Базы данных
Словари и справочники
Словарь БД
служит для поддержки функционирования компонентов программного обеспечения СУБД и
прикладных программ, работающих с БД.
Словарь содержит:
• сведения об организации БД;
• описание данных: формат представления, структура, методы доступа, способы размещения
данных в памяти и т.п.
Справочник БД
содержит сведения о семантике данных, способах их идентификации, источниках данных и т.п.
Справочник предназначен главным образом для документирования разработки БД и справочного
обслуживания её пользователей.
Лекции
11

12.

Базы данных
12
Физическая организация данных (механизм среды хранения)
Механизмы среды хранения
Хранимые данные
Пространство памяти
Создание новой записи:
определение места размещения новой записи в пространстве памяти;
• выделение необходимого ресурса памяти;
• сохранение записи в выделенной памяти;
• формирование связей с другими записями.
Лекции

13.

Базы данных
Физическая организация данных (механизм среды хранения)
При поиске записи:
поиск места размещения записи в пространстве памяти по заданным значениям атрибутов;
загрузка записи для обработки в оперативную память.
При изменении значений атрибутов записи:
• поиск записи и считывание её в ОП;
• изменение значений атрибутов;
• сохранение записи в долговременной памяти.
Запись помещается на прежнее место, если она не увеличилась в объёме. Если запись
увеличилась в объёме, то она либо записывается на новое место целиком, либо разбивается
на части, и первая часть хранится на прежнем месте, а продолжение – на новом, на которое
указывается ссылка из первой части.
Лекции
13

14.

Базы данных
Физическая организация данных (механизм среды хранения)
При удалении записи:
• удаление записи с освобождением памяти (физическое удаление) или без освобождения
(логическое удаление);
• разрушение связей с другими записями.
Все операции на физическом уровне выполняются по запросам механизмов
концептуального уровня.
Лекции
14

15.

Базы данных
Физическая организация данных (структура хранимых данных)
Единицей хранения данных в БД является хранимая запись.
Хранимые записи могут быть фиксированной или переменной длины.
Хранимая запись состоит:
• служебная часть;
• информационная часть.
Хранимая запись идентифицируется ключом базы данных (КБД). Другое название;
идентификатор строки (RowID).
Лекции
15

16.

Базы данных
16
Физическая организация данных (управление пространством памяти)
Пространство памяти БД
Страница1
Лекции
Сегмент1
Сегмент2

сегментN

СтраницаN
Страница1

СтраницаN

17.

Базы данных
17
Физическая организация данных (управление пространством памяти)
Сегмент = Файл = Таблица
Страница имеет фиксированный размер, доступ к которому осуществляется за одно
обращение.
Страницы управляются ОС.
Записи на страницах управляются СУБД.
Лекции
Динамическая
реорганизация страниц
Списки свободных
участков
Заголовок
Заголовок
Инвентарная
страница

18.

Базы данных
18
Физическая организация данных (виды адресации)
Виды адресации:
• прямая;
• косвенная;
• относительная.
Адреса записей

N, 1

Страница N

Индексная область страницы
1

Область данных страницы
Лекции

19.

Базы данных
Физическая организация данных (способы размещения данных)
При поиске места для новой записи используются следующие методы:
• размещение на первом свободном месте;
• хеширование
• кластеризация.
Методы доступа к данным:
• доступ по ключу базы данных;
• доступ по ключу таблицы.
Доступ по ключу таблицы:
• индексирование
• хеширование
• кластеризация
Лекции
19

20.

Базы данных
20
Физическая организация данных (индексация)
Индекс
Пространство памяти
Значение атрибута
Фамилия
Ключ базы данных
Значение атрибута
Фамилия
Другие атрибуты
Антипов
FC:1B
Антипов

Антонов
D1:A9
Антонов

Бабичев
D2:B6
Бабичев

Бойко
1A:5C
Бойко

Васин
8F:7C
Васин

Григорьев
A5:E7
Григорьев

Виды индексов:
• первичный;
• вторичный;
• составной.
Лекции
Способы организации индексов:
• плотный;
• неплотный;
• одноуровневый;
• многоуровневый.

21.

Базы данных
21
Физическая организация данных (хеширование)
Входная
последовательность
Группа 1
Разрешение коллизий:
• открытая адресация;
• коллизионные страницы;
• многократное хеширование.
Лекции
Хеш-функция
Группа 2

Группа N

22.

Базы данных
22
Физическая организация данных (кластеризация)
Кластер – структура памяти, в которой хранится НАБОР таблиц.
Кластерный ключ – поле или набор полей, общих для всех таблиц кластера.
Поставки
11
МашСтой-1 M5
21
МашСтой-2 M7
1002
МашСтой-1
11
1002 МашСтой-1
1027 МашСтой-1
1005
МашСтой-2
11
1005 МашСтой-2
1038 МашСтой-2
1027
МашСтой-1
21
1009 МашСтой-1
1101 МашСтой-2
1038
МашСтой-2
21
1101
МашСтой-2
21
11
МашСтой-1 M5
1009
МашСтой-1
11
21
МашСтой-2 M7
Товары
Некластеризованные данные
Лекции
Кластеризованные данные

23.

Базы данных
Физическая организация данных (кластеризация)
Преимущества кластеров:
• уменьшается время соединения таблиц по значению кластерного ключа.
• каждое значение кластерного ключа хранится только один раз, за счёт чего достигается экономия
памяти.
Не стоит создавать кластер в следующих случаях:
• данные в кластерном ключе часто обновляются;
• часто требуется полный просмотр отдельной таблицы;
• суммарные данные таблиц с одним и тем же значением кластерного ключа занимают больше
одного блока данных.
Лекции
23
English     Русский Правила