Лекции на ВТОРОЙ СЕМЕСТР (Базы данных)

ПРЕДСТАВЛЕНИЕ ОБ ОРГАНИЗАЦИИ БАЗ ДАННЫХ И СИСТЕМАХ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ.

База данных — именованная совокупность данных, адекватно отображающих состояние объектов и их взаимосвязей в некоторой предметной области и организованных таким образом, что данные могут использоваться для решения многих задач многими пользователями. Предметная область в общем случае складывается из множества реальных объектов, обладающих некоторым набором свойств, — атрибутов.

Чтобы различать объекты в базе данных, каждый объект снабжается идентификатором, который его однозначно определяет. Такой идентификатор называется уникальным, или первичным ключом.

Между объектами предметной области могут существовать два типа связей: обязательные и факультативные. Так, между объектами типов «ЭКЗАМЕН» и «ПРЕДМЕТ» (учебная дисциплина) существует обязательная связь «ПРОВОДИТСЯ», так как каждый экзамен проводится по некоторому предмету. В то же время для типов «ПРЕДМЕТ» и «ЭКЗАМЕН» связь «ИМЕЕТ» является факультативной, так как экзамены существуют не по всем предметам.

Структура предметной области в целом представляется в виде множества типов объектов и множества связей между ними. Структура базы данных должна отражать структуру предметной области так, что каждому объекту предметной области соответствует некоторый объект базы данных, а связи между объектами предметной области — связи между соответствующими объектами базы данных.

Существуют централизованные и распределенные базы данных.

Централизованная база данных хранится в памяти одного компьютера или одной вычислительной системы. Централизованные базы данных часто используются в локальных сетях персональных компьютеров.

Распределённая база данных состоит из нескольких частей, которые хранятся в памяти различных компьютеров вычислительной сети.

Пользователями базы данных являются прикладные программисты, а также специалисты в конкретной предметной области; последних иногда называют конечными пользователями.

Одно из важных требований к базе данных — интегрированность, которая понимается как эффективность работы с ней в среднем по всем категориям пользователей, а не для отдельных пользователей. При реализации требования интегрированности должны учитываться приоритеты пользователей (или задач), частота решения отдельных задач, запросы вычислительных ресурсов и другие факторы, в частности минимизация избыточности (дублирования) данных, поскольку избыточность данных легко можно нарушить их непротиворечивость.

Функционирование базы данных как коллективного информационного ресурса многих пользователей обеспечивает специальная большая программа — система управления базой данных (СУБД), предназначенная для создания коллективной базы данных и её актуализации, загрузки данных, организации эффективного доступа пользователей к данным и управления доступом, сохранения независимости и целостности данных, рационального использования вычислительных ресурсов и других целей. Аналогично тому, как доступ пользователей к ресурсам компьютера возможен только через её ОС, доступ пользователей к базе данных возможен только через СУБД.

Различают СУБД общего назначения (универсальные) и специализированные.

Универсальные СУБД пригодны для любых предметных областей и любых пользователей и имеют запас функциональных средств, который позволяет производить настройку на работу в конкретных условиях применения с целью повышения эффективности использования.

Специализированные СУБД предназначены для высокоэффективного конкретного применения.

Взаимодействие прикладных программ и пользователей с СУБД называется манипулированием данными. Множества структур данных, ограничений и операций манипулирования данными составляют модель данных. В настоящее время наибольшее применение находят иерархическая, сетевая и реляционная модели данных.

Иерархическая модель данных представляет собой множество деревьев, каждое из которых отображает иерархию объектов предметной области относительно одного из объектов, помещенного в корне дерева.

Пример:

Для предметной области «Вуз» могут быть построены деревья:

«Вуз — факультеты — кафедры — студенческие группы — студенты».

«Вуз — корпуса — этажи — помещения — занятость помещений».

«Кафедра — занимаемые помещения — преподаватели — учебные дисциплины — группы — виды занятий — учебные часы и виды контроля успеваемости» и так далее.

Иерархическая модель данных отличается простотой, но обладает большой информационной избыточностью. Большая избыточность информации приводит к излишней загрузке памяти ЭВМ и опасности нарушения целостности данных.

Вынужденная информационная избыточность иерархической модели данных объясняется тем, что она отображает лишь связи типа «один ко многим» и не отображает часто встречающиеся в реальности связи типа «многие ко многим».

Возможное систематическое представление:

Вуз

Факультеты

Кафедры

Студенческие группы

Студенты

Занимаемые помещения

Преподаватели

Учебные дисциплины

Группы

Виды занятий

Учебные часы и виды контроля успеваемости

Корпуса

Этажи

Помещения

Занятость помещений

Учебные часы и виды контроля успеваемости

Кафедры

Преподаватели

Группы

Виды занятий

Недостаток иерархической модели устраняется в сетевой модели данных, отображающей объекты предметной области и их взаимосвязи в виде графа: объектам отвечают вершины графа, а связям — рёбра.

Сетевая модель — это представление данных сетевыми структурами типов записи и связанных отношениями 1:1, 1:∞, ∞:1, ∞:∞, то есть в этой модели теоретически возможны связи всех объектов модели со всеми объектами. Использование сетевой модели ускоряет доступ к информации, но так как каждый элемент должен содержать ссылки на все другие элементы, то такие базы данных требуют больших ресурсов памяти.

Преподаватель 1

Преподаватель 2

Преподаватель 3

Студент 1

Студент 2

Студент 3

Студент 4

Пример:

Реляционная модель. От Relation — отношение. Реляционная модель опирается на систему понятий реляционной алгебры. В реляционной модели информация представляется в виде прямоугольных таблиц. Каждая таблица состоит из строк и столбцов и имеет уникальное имя внутри базы данных.

Каждый столбец таблицы имеет уникальное для своей таблицы имя. Таблица не может не иметь ни одного столбца. Столбцы в таблицы называются полями, строки называются записями. Таблица может не содержать ни одной записи. В каждой таблице реляционной модели должен быть столбец или совокупность столбцов, значения которых однозначно идентифицируют каждую строку таблицы. Этот столбец или их совокупность называются первичным ключом.

Пример 1.

Фамилия

Должность

Наименование отдела

Телефон отдела

Первичный ключ

Внешний ключ

15

Паничев

Уборщик

А

2 — 33 -14

21

Наименование отдела

Расположение отдела

Назначение отдела

А

Самара

Внешний ключ — это столбец или совокупность столбцов значение которого однозначно характеризует значение первичного ключа другой таблицы.

Если таблица удовлетворяет требованию уникальности первичного ключа, то такая таблица называется отношением. В реляционной модели все таблицы должны быть преобразованы в отношения связанные между собой внешними ключами.

Типы взаимосвязей в базе данных.

В реляционной базе данных используют 4 типа взаимосвязей: 1:1, 1:∞, ∞:1, ∞:∞.

1:1 Означает, что каждому экземпляру одного объекта соответствует только один экземпляр другого (второго) объекта и наоборот. Каждому экземпляру второго объекта соответствует только один экземпляр первого объекта.

1:∞ Означает, что каждому экземпляру одного объекта может соответствовать несколько экземпляров другого (второго) объекта, а каждому экземпляру второго объекта может соответствовать только один экземпляр первого объекта.

∞:1 Означает, что одному экземпляру первого объекта может соответствовать только один экземпляр другого (второго) объекта, а каждому экземпляру второго объекта может соответствовать несколько экземпляров первого объекта.

∞:∞ Означает, что каждому экземпляру одного объекта может соответствовать несколько экземпляров другого (второго) объекта и наоборот каждому экземпляру второго объекта может соответствовать несколько экземпляров первого объекта.

Основы реляционной алгебры.

В реляционной алгебре отношение рассматривается как множество, строки — кортежами, а столбцы — атрибутами.

Над отношениями выполняются традиционные операции теории множеств.

Ограничение (выборка) создаёт новое отношение, отбирая в него строки, которые удовлетворяют условию ограничения.

Пример.

Экзаменационная ведомость

Группа

№ Зачётной книжки

ФИО

Дата

Дисциплина

Оценка

00СЭ

1324

Петров Т.Е.

29.12.01

Электротехника

Хорошо

00СЭ

1325

Ефимова О.В.

16.02.01

Электротехника

Отлично

00ТО

1452

Сидоров В.И.

14.05.02

Автомобилестроение

Хорошо

00РЭ

1234

Иванов Н.Е.

15.04.03

Метрология

Удовл.

00КС

1265

Пушников П.О.

12.01.02

Электроника

Удовл.

Выполнить ограничение таблицы. Отбирая в новое отношение только те кортежи, которые удовлетворяют условию «ОЦЕНКА = ОТЛИЧНО».

Новое отношение

Группа

№ Зачётной кн.

ФИО

Дата

Оценка

00СЭ

1325

Ефимова О.В.

16.02.01

Электротехника

Проекция — создаёт новое отношение, отбирая в него определенные столбцы исходного отношения.

Выполнить проекцию отношения Экзаменационная ведомость отбирая в него только атрибуты № Зачётной книжки и ФИО.

№ Зачётной книжки

ФИО

1324

Петров Т.Е.

1325

Ефимова О.В.

1452

Сидоров В.И.

1234

Иванов Н.Е.

1265

Пушников П.О.

Объединение — создает новые отношения, которые содержат все кортежи исходных отношений, если некоторый кортеж входит в оба исходных отношения, то в объединение он входит один раз.

Фамилия

Зарплата

1

Иванов

8500

2

Петров

9500

3

Сидоров

10500

Фамилия

Зарплата

1

Иванов

8500

2

Киров

9500

4

Сидоров

10500

Фамилия

Зарплата

1

Иванов

8500

2

Петров

9500

3

Сидоров

10500

4

Сидоров

10500

2

Киров

9500

Пересечение. Создает новое отношение, которое содержит общие строки исходных отношений.



Страницы: 1 | 2 | Весь текст