- •Учреждение «Университет «Туран»
- •Лекционный комплекс-контент (тезисы лекций, иллюстративный и раздаточный материал, список рекомендуемой литературы) «базы данных в информационных системах»
- •Тема 1. Введение. Базы данных и файловые системы Лекция 1. Файловые системы. Структуры файлов. Именование файлов.
- •Файловые системы
- •Структуры файлов
- •Именование файлов
- •Тема 1. Введение. Базы данных и файловые системы Лекция 2. Защита файлов. Режим многопользовательского доступа. Области применения файлов. Защита файлов
- •Режим многопользовательского доступа
- •Области применения файлов
- •Потребности информационных систем
- •Тема 2. Функции субд. Типовая организация субд. Примеры Лекция 3. Функции субд. Типовая организация субд. Примеры
- •Основные функции субд
- •Непосредственное управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация
- •Поддержка языков бд
- •Типовая организация современной субд
- •Пример: System r
- •Основные особенности систем, основанных на инвертированных списках
- •Структуры данных
- •Манипулирование данными
- •Ограничения целостности
- •Манипулирование данными
- •Ограничения целостности
- •Сетевые системы
- •Сетевые структуры данных
- •Манипулирование данными
- •Общие понятия реляционного подхода к организации бд. Основные концепции и термины
- •Базовые понятия реляционных баз данных
- •Тип данных
- •Кортеж, отношение
- •Фундаментальные свойства отношений
- •Отсутствие кортежей-дубликатов
- •Отсутствие упорядоченности кортежей
- •Отсутствие упорядоченности атрибутов
- •Атомарность значений атрибутов
- •Тема 4. Общие понятия реляционного подхода к организации бд. Основные концепции и термины Лекция 7. Реляционная модель данных
- •Общая характеристика
- •Целостность сущности и ссылок
- •Тема 5. Базисные средства манипулирования реляционными данными Лекция 8. Реляционная алгебра. Специальные реляционные операции. Реляционное исчисление.
- •Реляционная алгебра
- •Общая интерпретация реляционных операций
- •Замкнутость реляционной алгебры и операция переименования
- •Особенности теоретико-множественных операций реляционной алгебры
- •Специальные реляционные операции
- •Реляционное исчисление
- •Кортежные переменные и правильно построенные формулы
- •Целевые списки и выражения реляционного исчисления
- •Реляционное исчисление доменов
- •Тема 6. Проектирование реляционных бд. Лекция 9. Проектирование реляционных баз данных с использованием нормализации. Семантическое моделирование данных, er-диаграммы.
- •Проектирование реляционных баз данных с использованием нормализации
- •Вторая нормальная форма
- •Третья нормальная форма
- •Нормальная форма Бойса-Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •Семантическое моделирование данных, er-диаграммы
- •Семантические модели данных
- •Основные понятия модели Entity-Relationship (Сущность-Связи)
- •Нормальные формы er-схем
- •Более сложные элементы er-модели
- •Получение реляционной схемы из er-схемы
- •Используемая терминология
- •Основные цели System r и их связь с архитектурой системы
- •Тема 7. Две классические экспериментальные системы. Лекция 11. Организация внешней памяти в базах данных System r. Интерфейс rss. Синхронизация в System r. Журнализация и восстановление в System r.
- •Интерфейс rss
- •Синхронизация в System r
- •Журнализация и восстановление в System r
- •Ingres как unix-ориентированная субд. Динамическая структура системы: набор процессов
- •Структуры данных, методы доступа, интерфейсы доступа к данным
- •Общая характеристика языка quel. Язык программирования equel
- •Общий подход к организации представлений, ограничениям целостности и контролю доступа
- •Тема 9. Внутренняя организация реляционных субд Лекция 13. Структуры внешней памяти, методы организации индексов. Хранение отношений. Индексы. Журнальная информация. Служебная информация.
- •Хранение отношений
- •Индексы
- •B-деревья
- •Хэширование
- •Журнальная информация
- •Служебная информация
- •Тема 10. Управление транзакциями, сериализация транзакций
- •Транзакции и целостность баз данных
- •Изолированность пользователей
- •Сериализация транзакций
- •Методы сериализации транзакций
- •Синхронизационные захваты
- •Гранулированные синхронизационные захваты
- •Предикатные синхронизационные захваты
- •Тупики, распознавание и разрушение
- •Метод временных меток
- •Журнализация и буферизация
- •Индивидуальный откат транзакции
- •Восстановление после мягкого сбоя
- •Физическая согласованность базы данных
- •Восстановление после жесткого сбоя
Общие понятия реляционного подхода к организации бд. Основные концепции и термины
На этой лекции мы введем на сравнительно неформальном уровне основные понятия реляционных баз данных, а также определим существо реляционной модели данных. Основной целью лекции является демонстрация простоты и возможности интуитивной интерпретации этих понятий. В дальнейших лекциях будут приводиться более формальные определения, на которых основывается математическая теория реляционных баз данных.
Базовые понятия реляционных баз данных
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Для начала покажем смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации:
Тип данных
Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как "деньги"), а также специальных "темпоральных" данных (дата, время, временной интервал). Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и "деньги".
Домен
Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат "истина", то элемент данных является элементом домена.
Наиболее правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений данного типа. Например, домен "Имена" в нашем примере определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, такие строки не могут начинаться с мягкого знака).
Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов "Номера пропусков" и "Номера групп" относятся к типу целых чисел, но не являются сравнимыми. Заметим, что в большинстве реляционных СУБД понятие домена не используется, хотя в Oracle V.7 оно уже поддерживается.
Схема отношения, схема базы данных
Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа, если понятие домена не поддерживается)}. Степень или "арность" схемы отношения - мощность этого множества. Степень отношения СОТРУДНИКИ равна четырем, то есть оно является 4-арным. Если все атрибуты одного отношения определены на разных доменах, осмысленно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута).
Схема БД (в структурном смысле) - это набор именованных схем отношений.