Слайд 3
Задачи курса
Введение в теорию баз данных
Практические навыки работы
с СУБД на базе MS SQL Server
Лекции + практика
= зачет + экзамен
Слайд 4
Рекомендуемая литература
по курсу
Гарсиа-Молина, Ульман, Уидом. Системы баз
данных. Полный курс."Вильямс", 2003.
Кристофер Дейт — «Введение в системы
баз данных»
С. Кузнецов. Основы баз данных.
Б.А. Новиков, Г.Р. Домбровская: Настройка приложений баз данных. БХВ: СПб. 2006.
Джеффри Ульман, Дженнифер Уидом. Введение в системы баз данных, Лори, 2006 г.
Слайд 5
База данных - совокупность хранимых данных
База данных
хранится и обрабатывается в вычислительной системе.
Данные в базе
данных хорошо структурированы, т.е. в данных выделены составные части, связи между ними.
Структура базы данных обеспечивает эффективный поиск и обработку данных.
Слайд 6
Причины появления БД
Сверхмощные вычислительные системы
ПК высокой производительности
Рост объемов
носителей информации (до 60х гг – последовательные)
Особенности устройств прямого
доступа:
Выборочное обновление
Сложные структуры данных
Мировая сеть Internet
Разнообразие языков программирования
Методы анализа данных, основанные на достижениях теории искусственного интеллекта
Слайд 7
СУБД
система управления базой данных
Высокая стоимость данных в важнейших
областях применения
Дублирование средств управления данными в каждом приложении
Высокая сложность
создания приложений
Чрезмерная сложность организации доступа к общим (разделяемым между приложениями) данным
Слайд 8
Функции СУБД
Средства постоянного хранения данных
Безопасность данных и защита
от несанкционированного доступа
Конкурентный доступ к общим данным
Защита целостности
Согласованность данных
Независимость
данных и программ
Сложные структуры данных
Высокоуровневые языки запросов
Слайд 9
Проектирование БД
Любая база данных является составной частью некой
информационной системы
Необходимо не только хранение данных, но и
их обработка.
Предметная область - часть реального мира, подлежащая изучению с целью автоматизации (фрагменты (объекты и процессы), пользователи).
Слайд 10
Уровни абстракции
Внешняя схема (описывает структуры данных, предоставляемые приложению,
опр. совокупностью требований к данным со стороны некоторой конкретной функции)
Концептуальный
уровень (описывает полную логическую структуру хранимых данных)
Схема хранения (описывает представление концептуальной схемы на носителях данных)
Слайд 12
Схема
Перечень всех объектов называется схемой.
Конкретное содержание – экземпляр.
Слайд 13
Физическая и логическая независимость данных
Если изменяется физическое место
или структура хранения данных, это не отражается на пользователе
и его программах
Если изменяется подсхема для одного пользователя, то это не должно отразиться на других
Если меняется все концептуальная схема, это не должно отразиться на пользователях, которых данные изменения не касаются
Слайд 14
Модель «сущность-связь»
(Entity-relationship):
Сущность (прямоугольники)
Атрибуты (овалы)
Связи (ромбы)
Слайд 16
Модель «сущность-связь»
сущность
Сущность, это единичное, обладающее самостоятельностью, в отличие
от его состояний и отношений, которые являются изменчивыми и
зависят от времени, места, от связей с другими сущностями
Аристотель
Слайд 17
Модель «сущность-связь»
сущность
Сущность – это абстрактный объект определенного вида.
Любой предмет или понятие, информацию о которых мы будем
хранить.
Набор однородных сущностей образует множество сущностей.
ER-модель имеет дело с со структурами данных, но не с операциями над данными.
Слайд 18
Модель «сущность-связь»
сущность
Сущность должны быть отличимы от других
сущностей – нужны идентификаторы.
Кроме идентификаторов есть другие свойства -
атрибуты.
Назовем сущности с одинаковым набором атрибутов множеством сущностей (аналог класса).
Множества не содержат дубликатов
Слайд 19
Модель «сущность-связь»
атрибуты
Отдельные характеристики объекта называются атрибутами
Каждый атрибут имеет
уникальное имя.
Каждый атрибута имеет свой тип данных.
Объект может обладать
любым количеством атрибутов.
Значение атрибута атомарно.
Слайд 21
Атрибуты
Атрибут - характеристика объекта. Не может быть множеством. Каждый
атрибут имеет определенный тип данных.
Объект и его атрибуты соединяются
ненаправленными дугами.
Слайд 22
Идентификация сущностей
Отличимость сущностей означает возможность идентификации
Сущности идентифицируются выделенными
атрибутами –ключами
Искусственные (суррогатные) или естественные ключи?
Слайд 23
3 вида идентификации
Естественные ключи
«По положению» (географическое, по порядку,
во времени)
Суррогатные
Слайд 24
Суррогатные
Необходимы системе
Не связаны с реальным миром
Например, номер
паспорт (для милиции – суррогатный, для нас – естественный)
Например,
номер ИНН
Слайд 25
Естественные
«А ростом он мал, грудь широкая, одна рука
короче другой, глаза голубые, волоса рыжие, на щеке бородавка,
на лбу другая»
(Пушкин, Борис Годунов)
Ни один естественный идентификатор не может быть абсолютно надежен
Слайд 26
По положению
3 банки консервов – отличить невозможно
При допущении
дубликатов их невозможно пересчитать
Если добавить количество, то это будет
другой набор сущностей
Слайд 27
Ключи
Атрибуты бывают полезные для поиска и бесполезные
Наиболее важные
образуют ключ
Ключ – это один ли несколько атрибутов объекта,
по которому объект можно однозначно определить
Если нет естественного ключа, придумывают искусственный – «суррогатный»
Слайд 28
Модель «сущность-связь»
связи
Связи – это соединение между двумя или
большим числом множества сущностей. Это отношения между объектами.
Связь
– упорядоченный набор сущностей
У связей тоже есть идентификатор – совокупность идентификаторов сущностей, в них участвующих
Слайд 29
Как увидеть связь
Если хочется типом какого нибудь свойства
сделать сущность или список сущностей
Если хочется записать в одну
сущность идентификатор другой
Значит вам хочется сделать связь
Слайд 30
Модель «сущность-связь»
связи
Связи могут иметь собственные атрибуты
Подобные связи объединяются
в множества
Отличие связей от сущностей: связи не могут существовать
без связываемых сущностей
Идентификация связей: ключ связи включает ключи связываемых сущностей и, возможно, выделенные атрибуты связи
Слайд 31
Характеристики связи
Осознав факт наличия связи, полезно выяснить
некоторые характеристики
● Название
связи. Иногда удается подобрать короткий
и ясный термин, но часто
название составляют из
названий сущностей-участников
● Роли участников: “метки”, означающие смысл
участия каждой сущности. Это часто бывают
глаголы
Слайд 32
Бинарные связи
Делятся на три вида в
зависимости от количества участвующих в них объектов.
Один к одному
Один
ко многим
Многие ко многим
Слайд 33
Виды связей
Один - к одному. Этот тип связи
означает, что каждому объекту первого вида соответствует не более
одного объекта второго вида, и наоборот. Например: сотрудник может руководить только одним отделом, и у каждого отдела есть только один руководитель.
Один - ко многим.
Многие - ко многим.
Слайд 34
Связи один-к-одному
Ромб связи и прямоугольник объекта соединяются ненаправленными
дугами в сторону "ко многим" и направленными в сторону
"к одному".
Слайд 35
Виды связей
Один - к одному.
Один - ко
многим. Этот тип связи означает, что каждому объекту первого вида
может соответствовать более одного объекта второго вида, но каждому объекту второго вида соответствует не более одного объекта первого вида. Например: в каждом отделе может быть множество сотрудников, но каждый сотрудник работает только в одном отделе.
Многие - ко многим.
Слайд 36
Связи один-ко-многим
Ромб связи и прямоугольник объекта соединяются ненаправленными
дугами в сторону "ко многим" и направленными в сторону
"к одному".
Для реализации связей вида «один ко многим» можно использовать отдельную таблицу, но чаще добавляют столбец с ключом «одного» в таблицу «ко многим»
Слайд 37
Виды связей
Один - к одному.
Один - ко
многим.
Многие - ко многим. Этот тип связи означает, что каждому
объекту первого вида может соответствовать более одного объекта второго вида, и наоборот. Например: каждый счет может включать множество товаров, и каждый товар может входить в разные счета.
Слайд 38
Связи многие-ко-многим
Ромб связи и прямоугольник объекта соединяются ненаправленными
дугами в сторону "ко многим" и направленными в сторону
"к одному".
Для реализации связей вида «многие ко многим» нужно использовать отдельную таблицу
участвует
Слайд 39
Примеры бинарных связей
Между двумя сущностями может быть определено
несколько наборов связей:
Сотрудник ― Отдел
Сотрудник
― Отдел
Работает в
руководит
Слайд 40
Многосторонние связи
Экзамен
Студент
Преподаватель
Предмет
оценка
Слайд 41
Многосторонние связи
Грузы
Грузоотправитель
Грузополучатель
Перевозчик
Владелец
Слайд 43
Слабые сущности
Сдал
Студент
Экзамен
Не могут существовать в БД без связи
с другими (сильными) сущностями
Не нужен суррогатный ключ
Предмет
Оценка
Слайд 44
Проектирование в модели сущность-связь
Выбор между атрибутами с слабыми
сущностями (адрес, номер телефона, …)
Выбор между сущностью и связью
Бинарные или более сложные связи
Ограничения целостности
Слайд 45
Реляционная модель
Похожа на таблицы
Столбцы – атрибуты
Строки – данные
Шапка
таблицы – имена атрибутов