Базы данных Михайлова Елена Георгиевна, мат.-мех. ф-т, кафедра информатики, доцент База данных - совокупность хранимых данных • База данных хранится и обрабатывается в вычислительной системе. • Данные в базе данных хорошо структурированы, т.е. в данных выделены составные части, связи между ними. • Структура базы данных обеспечивает эффективный поиск и обработку данных. Причины появления БД • ПК высокой производительности =>распространение ИТ • Сверхмощные вычислительные системы • Рост объемов носителей информации • Мировая сеть Internet • Разнообразие языков программирования • Методы анализа данных, основанные на достижениях теории искусственного интеллекта СУБД Система управления базой данных Функции СУБД • • • • • • Средства постоянного хранения данных Интерфейс программирования Управление транзакциями Секретность Защита целостности Согласованность Уровни абстракции • Представление пользователей • Концептуальный уровень • Физический уровень • Перечень всех объектов называется схемой. • Конкретное содержание – экземпляр. Языки, используемые СУБД • ЯОД – язык определения данных DDL – Data Definition Language • ЯМЛ – язык манипулирования данными • DML – Data Manipulation Language Функции администратора СУБД • Создание подсхем для представлений, т.е. организация доступа отдельных пользователей • Представление полномочий использования БД или отдельных ее частей • Модификация первоначальной реализации концептуальной схемы • Модификация физической реализации БД • Копирование/восстановление данных Физическая и логическая независимость данных • Если изменяется физическое место или структура хранения данных, это не отражается на пользователе и его программах • Если изменяется подсхема для одного пользователя, то это не должно отразиться на других • Если меняется все концептуальная схема, это не должно отразиться на пользователях, которых данные изменения не касаются Модель объект-связь • Объект – любой предмет или понятие, информацию о которых мы будем хранить • Характеристики объекта называются атрибутами • Связи – это отношения между объектами. Делятся на три вида в зависимости от количества участвующих в них объектов. Правила для атрибутов объекта: • Каждый атрибут должен иметь уникальное имя. • У каждого атрибута должен быть свой тип данных. • Объект может обладать любым количеством атрибутов. • Ни один из экземпляров объектов не может обладать более чем одним значением для ее атрибута. Связи • Один к одному • Один ко многим • Многие ко многим Концептуальные модели данных • • • • Иерархическая Сетевая Реляционная Объектно-реляционная Реляционная модель • • • • Похожа на таблицы Столбцы – атрибуты Строки – данные Шапка таблицы – имена атрибутов Реляционная модель • Похожа на таблицы Пример Типы данных • • • • • • • Символьный Битовый Точные числа Округленные числа Денежные Дата/время Интервал • Домен – множество возможных значений какоголибо атрибута • Таблица - отношение • Экземпляр– конкретное наполнение базы данных • Конкретное наполнение таблицы – тело отношения • Заголовок (схема) – совокупность атрибутов отношения • Заголовок + тело = значение отношения • Строка таблицы называется кортежем Заголовок (или схемой) отношения • Схема отношения - конечное множество упорядоченных пар вида <A, T>, где A называется именем атрибута, а T обозначает имя некоторого базового типа или ранее определенного домена. • По определению требуется, чтобы все имена атрибутов в заголовке отношения были различны. • Количество атрибутов называется арностью (размерностью) отношения. Отношение – это множество Ключ • Один или несколько атрибутов объекта, значения которых позволяют однозначно отличить объект от других • Первичный ключ – минимального множества атрибутов, являющегося подмножеством заголовка данного отношения, составное значение которых уникально определяет кортеж отношения • В реляционной БД не может быть двух одинаковых кортежей в одной таблице • Ключи естественные и суррогатные Связи • Также хранятся в отношении • Схема данного отношения составляется из ключевых атрибутов объектов, участвующих связи