- •Лекция №1 Информационные системы
- •Лекция № 2 Базы данных и стория появления бд
- •Основная концепция технологии бд:
- •Основные понятия курса (определения):
- •Характеристики субд
- •Основные свойства бд:
- •Лекция №3 Этапы проектирования бд Обобщенная архитектура субд
- •Этапы проектирования бд
- •Лекция №4 Модели данных
- •Реляционная модель данных (рмд)
- •Лекция №5
- •Рмд: языки манипулирования данными (ямд)
- •Лекция №6
- •Нормализация отношений
- •Определение фз
- •Лекция №7 Нормализация отношений (продолжение)
- •Лекция № 8 Платформа sql Server
- •Выпуски sql Server
- •Компоненты sql Server
- •Экземпляры sql Server
- •Системные базы данных
- •Лекция № 9 Файлы и файловые группы
- •Файловая группа по умолчанию
- •Физическая структура файлов данных
- •Страницы
- •Поддержка больших строк
- •Экстенты
- •Журнал транзакций и восстановление
- •Физическая архитектура журнала транзакций
- •Лекция № 10 Опции базы данных
- •Параметры сортировки (collation)
- •Модель восстановления (recovery)
- •Уровень совместимости (compatibility_level)
- •Автоматические
- •Восстановление
- •Состояние
- •Лекция № 11
- •Изменение настроек базы данных
- •Удаление базы данных
- •Лекция № 12 Типы данных Microsoft sql Server
- •Точные числа
- •Приблизительные числа
- •Двоичные данные
- •Пространственные типы данных
- •Специальные типы данных
- •Устаревшие типы данных
- •Пользовательские типы данных
- •Обозреватель объектов sql Server Management Studio
- •Представления каталога
- •Создание таблиц
- •Изменение таблиц
- •Удаление таблиц
- •Системные функции
- •Строковые функции
- •Функции даты (времени)
- •Обновление данных
- •Лекция № 14 Создание индексов и управление индексами Структура хранения данных
- •Структуры кластеризованного индекса
- •Структуры некластеризованного индекса
- •Оптимизация индексов
- •Источники информации об индексах
- •Создание индексов
- •Вычисляемые столбцы
- •Изменение индексов
- •Восстановление индексов
- •Удаление индексов
- •Лекция № 15 Ограничения целостности данных Назначение
- •Типы ограничений целостности данных
- •Определение default значений
- •Ограничение not null
- •Ограничения check
- •Ограничения unique
- •Ограничения primary key
- •Ограничения foreign key
- •Ссылочная целостность
- •Индексирование ограничений foreign key
- •Количество ограничений foreign key в таблице
- •Ограничения столбцов и таблиц
- •Применение триггеров
- •Программирование триггеров
- •Создание триггеров
- •Изменение триггеров
- •Удаление триггеров
- •Лекция № 16 Представления Что такое представление?
- •Использование представлений
- •Источники информации о представлениях Обозреватель объектов sql Server Management Studio
- •Функции динамического управления
- •Создание предавлений
- •Изменение представлений
- •Удаление представлений
- •Обновление данных в представлении
- •Типы представлений Стандартные представления
- •Индексированные представления
- •Секционированные представления
- •Секционированные представления
- •Создание таблиц-элементов
- •Определение распределенных секционированных представлений
- •Правила таблиц
- •Правила столбцов
- •Правила столбцов секционирования
- •Индексированные представления
- •Создание индексированных представлений
- •Лекция № 17 Хранимые процедуры и функции Преимущества хранимых процедур
- •Источники информации о хранимых процедурах Обозреватель объектов sql Server Management Studio
- •Представления каталога
- •Функции динамического управления
- •Создание хранимых процедур
- •Вызов хранимых процедур
- •Перекомпиляция хранимых процедур
- •Преимущества определяемых пользователем функций
- •Источники информации о пользовательских функциях Обозреватель объектов sql Server Management Studio
- •Представления каталога
- •Функции динамического управления
- •Типы определяемых пользователем функции
- •Возвращающие табличное значение определяемые пользователем функции
- •Определяемые пользователем встроенные функции
- •Концепция транзакций
- •Эффекты одновременного доступа
- •Блокировки и управление версиями строк
- •Типы управления одновременным доступом
- •Режимы блокировки
- •Взаимоблокировка
- •Отображение сведений о блокировках
- •Режимы транзакций
- •Автоматическая фиксация транзакций
- •Явные транзакции
- •Неявные транзакции
- •Распределенные транзакции
- •Уровни изоляции в ядре субд
Реляционная модель данных (рмд)
Автор – Кодд (первая статья – 1970 год).
Исторически первой СУБД была иерархическая, затем сетевая, потом реляционная. Поэтому в реляционных СУБД есть свойства иерархических и сетевых СУБД, а основы теории реляционных СУБД распространяются на иерархические и сетевые.
Центральным понятием РМД является отношение. Теория РМД базируется на теории отношений, теории множеств и теории предикатов 1-го порядка. РМД весьма проста в структурном плане, поскольку единственным средством структуризации является отношение.
Язык описания данных (ЯОД) – основные определения
Атрибут – это такая информационная величина, которая представляет в РМД свойство объекта ПО. Атрибут имеет имя и значение. Например: «Цвет» - свойство объекта «Деталь» (имя атрибута); «Черный» - значение свойства объекта (значение атрибута).
Домен – это множество допустимых значений. Обозначения:
Ai – имя i-того атрибута;
Di – имя домена для i-того атрибута;
Di = dom (Ai)
Например: Dцвет = dom (цвет) = {красный, черный, синий}.
Схема отношения:
В РМД некоторому классу объектов R ставится в соответствие множество имен атрибутов: {A1, A2, …, An}, т.е. R {A1, A2, …, An}. Это соответствие называется схемой отношения и обозначается R(A1, A2, …, An). Например, схема отношения для класса объектов Деталь: Деталь (ШД, Цвет, Стоимость, Количество)
Отношение:
Имеется схема отношения R(A1, A2, …An). Введем понятие домена схемы отношения: dom(R).
dom (R) = dom(A1) * dom(A2) * … * dom(Ai) * … * dom(An) =
= {<a1k, a2k, …, aik, …, ank> k= };
кортеж tk
aik – это значение I-того атрибута в k-том кортеже.
tk – k-тый кортеж – это упорядоченное множество значений атрибутов.
P= pi, где pi – мощность dom(Ai), а P – мощность dom(R).
Таким образом, dom(R) – это универсальное множество, состоящее из кортежей tk, где k= .
Отношением r со схемой R(A1, A2, …, An) называется некоторое подмножество кортежей, входящих в dom(R):
R(A1, …, An) dom(R) = {<a1kr, a2kr, …, ankr> k=1, Pr}, Pr<p
Где n – степень отношения, P – мощность отношения (число кортежей, входящих в r).
Пример: ДЕТАЛЬ (ШД, Цвет) – схема отношения;
dom (ШД) = {Г, Б} P1=2
dom (Цвет) = {к, с, ч} P2=3
dom (Деталь) = dom (ШД) * dom (Цвет) n=2; P=P1*P2=2*3=6
dom (Деталь) = {<Г, к>, <Г, с>, <Г, ч>, <Б, к>, <Б, с>, <Б, ч>}
деталь1 (ШД, Цвет) dom (Деталь) и деталь2 (ШД, Цвет) dom (Деталь)
деталь1 (ШД, Цвет) = {<Г, с>, <Г, ч>, <Б, ч>} n=2 P=3
деталь2 (ШД, Цвет) = {<Г, к>, <Г, с>} n=2 P=2
Представление отношений
Одним из естественных способов представления отношений является двумерная таблица, обладающая следующими свойствами:
Таблица имеет имя, совпадающее с именем отношения.
Каждая строка таблицы является кортежем отношения.
Каждый столбец таблицы имеет имя, совпадающее с именем атрибута
Все строки различны.
Порядок строк несущественен.
Порядок столбцов существенен.
Пример: деталь1 (ШД, Цвет) = {<Г, с>, <Г, ч>, <Б, ч>}
-
деталь1
ШД
Цвет
Г
С
Г
ч
Б
ч
В теории отношений атрибуты отношений могут быть простыми и составными. Простой атрибут – это унарное отношение, т.е. n=1
Составной атрибут – это отношение с n>=2
Пример: Служ (#служ., фамилия, дети (имя, возраст))
Простые атрибуты составной атрибут
-
#служ
Фамилия
Дети
имя
возраст
0405
Иванов
Катя
3
Маша
5
0406
Сидоров
Витя
7
Коля
9
Отношение, которое состоит из простых атрибутов, называется нормализованным и находится по меньшей мере в 1НФ. В РМД используются только нормализованные отношения, чтобы обеспечить единообразие структур данных и простоту доступа к ним.
В отношении не должно быть неопределенных значений атрибутов. Если значение атрибута неизвестно, то оно заменяется некоторым значением, которое означает, что это значение «неизвестно» (например, NULL).