Базы данных. 8
БАЗЫ ДАННЫХ 2009
Данный файл
содержит 1-4, 6, 10, 13, 14 лекции
Лекция 1
Введение
В начале 70-х годов для удобства работы с большими массивами данных сформулирована концепция баз данных. Ее основными положениями были:
1.Независимость прикладных программ от данных, размещенных во внешней памяти
2. Отсутствие избыточности в данных
3.Способность системы противостоять сбоям и отказам.
Для реализаций этих положений предлагалось ввести сервисную систему – посредник между пользовательскими программами и операционной системой.
Эта система была названа СУБД (система управления базами данных).
С 70 годов стали появляться различные СУБД. Наиболее известными из них были: IMS/360, TOTAL, ADABAS, ОКА, БАНК, СЕТОР, СЕДАН, ДИСОД. Эти системы разрабатывались для больших вычислительных машин. Они были мощные и интересные по своим возможностям, но достаточно сложные для понимания и освоения.
Современные СУБД во многом
аналогичны по построению
Наиболее известными и широко
используемыми в настоящее
СУБД
Oracle, MS SQL Server и DB/2.
Тема 1. Основные положения теории баз данных
1.1 База данных и ее компоненты
БД– именованная совокупность данных, описывающая объекты реального мира и связи между ними.
Под
объектом может пониматься
На рис. 1.1 представлен
типичный состав БД и показана связь БД
с пользователем.
Из рис. 1.1 видно, что в состав БД входят различные информационные объекты, но основой БД, естественно, являются данные пользователя. Именно данные пользователя определяют в своей основе сущности. Другие информационные объекты БД играют вспомогательную роль.
Индексы – это специальные
элементы структуры БД, служащие
для ускорения обработки
Представления – виртуальные
таблицы, предоставляемые пользователям
Хранимые процедуры - программные модули для реализации самых разных задач, хранимые непосредственно в БД.
Триггеры – специальные
Метаданные – данные, которые описывают
данные пользователя (структуру, особенности,
права пользователя и т.д.), т. е. это
данные о данных. Метаданные используются
самой СУБД, а не пользователями.
1.2. Использование БД
Основным инструментом пользователя при использовании БД является СУБД.
СУБД- сервисная программная система, служащая для создания и поддержки БД.
Таким образом, любая СУБД должна:
- уметь создавать БД.
- поддерживать БД
К функциям поддержки прежде всего относятся:
-управление внешней памятью,
-управление буферами,
- поддержка встроенного языка,
- управление транзакциями.
Все современные СУБД могут работать в двух режимах:
- в режиме диалога
- в режиме прикладных программ.
Программы, с помощью которых пользователи работают с БД, называются прикладными программами.
Как видно из рис.1.1, приложения
1) создают
и передают запросы к БД
на поиск или модификацию
- создают и обрабатывают формы и отчеты
Отчет – это некоторая выборка данных из БД, структурированная
определенным образом.
3) выполняют
логику программы, т.е. решают
конкретную задачу для данной
предметной области.
Принято различать следующие группы пользователей:
1 Конечные пользователи (это лица, для которых создается система с БД)
2 Разработчики приложений (программисты)
Программисты используют БД на стадии разработки системы с БД (информационной системы).
3 Администраторы
баз данных АБД (они
Администраторы физически создают БД, задают ограничения целостности данных и определяют права конечных пользователей. Устраняют неисправности в ходе эксплуатации системы с БД и при необходимости восстанавливают БД.
АДБ,
как правило, не используют
приложения. Они, обычно, работают с БД
средствами самой СУБД
Заметим так же, что конечные
пользователи знают только
При этом они могут не знать, как структурированы их данные и как они хранятся во внешней памяти.
Вышеотмеченное, по сути дела, отражает основную идею концепции БД: конечный пользователь не должен знать, как структурированы данные и как они хранятся. Он должен только знать, что это за данные и какие операции можно над ними выполнять.
Лекция 2
1.3 Основные понятия
реляционной модели
данных
Современные СУБД в основном используют реляционную модель данных.
Реляционная модель впервые была разработана в 1969 году Коддом на основании теории отношений. Ее характерной особенностью является
представление данных пользователя в виде отношений (двумерных таблиц), широко распространенных в различных областях знаний (рис. 1.2) .
Отношение – это плоская, двумерная таблица.
Руководители (родительская таблица)
| Таб_ном_рук | № отдела | Штат | ФИО |
| 237 | 55 | 11 | Ленский РП |
| 528 | 17 | 14 | Орлов ВВ |
| 714 | 89 | 46 | Коровин НП |
Сотрудники (дочерняя таблица)
| Табельный номер | ФИО | Таб_ном_рук | Должность |
| 99 | Кулибин Н.Н. | 528 | научн_сотр |
| 100 | Рогов А.Н. | 237 | лаборант |
| 101 | Иванов И. И. | 237 | инженер |
| 148 | Петров П. П. | 714 | инженер |
| 135 | Сидоров С. С. | 528 | лаборант |
Рис. 1.2 Связанные таблицы
Фактически
в большинстве случаев таблица
отображает сущность (Замечание:
однако иногда сущность может
быть представлена несколькими
таблицами). Каждая строка отношения
содержит описание одного
Каждое отношение характеризуется следующими понятиями:
- атрибут
- домен
- кортеж
- первичный ключ
- внешний ключ
Рис. 1.3 поясняет смысл всех характеристик отношения.
Рис. 1.3. Соотношение основных понятий реляционной модели данных
Атрибут – это именованный столбец отношения.
Атрибуты в отношении могут
располагаться в любом порядке.
Количество столбцов
Каждый атрибут характеризуется своим типом данных Понятие типа данных в реляционной модели данных полностью соответствует понятию типа данных в языках программирования.
Обычно
в современных реляционных базах данных
допускается хранение символьных, числовых
данных (точных и приблизительных), специализированных
числовых данных (таких, как «деньги»),
а также специальных «темпоральных» данных
(дата, время, временной интервал)
Кортеж – это строка отношения.
Кортежи могут располагаться в любом порядке, при этом отношение будет оставаться тем же самым, а значит иметь тот же смысл.
Иными
словами, каждый кортеж отношения является
неименованным.
Кортежи
номеруются самой СУБД независимо от
пользователя. Замечание: некоторые СУБД
имеют специальное поле- счетчик, который
служит для явной нумерации строк. Однако
его использование в большинстве случаев
нецелесообразно.
Количество
кортежей в отношении не ограничивается
и определяется только размерами внешней
памяти.
Домен
– это набор допустимых значений для одного
или нескольких атрибутов.
| Атрибут | Имя домена | Содержимое домена | Определение домена |
| ФИО | АА | Множество всех ФИО | Символьный;
Размер 32 |
| Таб_ном_рук Табельный номер |
T_H | Множество допустимых номеров | Цлочисленный;
Размер 4; Диапазон 1- 5000 |
Каждый атрибут отношения
Фактически задание домена
Имя атрибута не обязательно должно совпадать с именем домена.
Домен создается оператором SQL CREATE DOMAIN
и используется при создании отношений
в операторе CREATE TABLE.
Потенциальный ключ- атрибут или совокупность атрибутов, значение которого (которых) однозначно идентифицирует каждый кортеж отношения. Например,
| Таб_ном | ФИО | Паспортные данные |
Здесь
имеется два потенциальных
Первичный
ключ- это потенциальный ключ, который
выбран для однозначной идентификации
кортежей отношения. (т.е. в отношении может
существовать несколько атрибутов, которые
могут быть использованы в качестве первичного
ключа).
В таблице
Сотрудник в качестве первичного
ключа выступает столбец табель
Если первичный ключ состоит из нескольких атрибутов, он называется составным.
Товар
| ПРОДАВЕЦ | ПОКУПАТЕЛЬ | ТОВАР | ЦЕНА |
| А | А1 | Т1 | 50 |
| А | А1 | Т2 | 70 |
| В | А1 | Т1 | 60 |
| С | С1 | Т3 | 80 |
Для таблицы «Товар» в качестве первичного
ключа может использоваться только комбинация
из трех полей ПРОДАВЕЦ ПОКУПАТЕЛЬ ТОВАР
( значения каждой комбинации является
уникальными).
Внешний ключ – это атрибут (или несколько атрибутов) внутри отношения, значения которого соответствуют значениям первичного ключа другого (родительского) отношения. (рис. 1.2).
Отношение, содержащее внешний ключ называется дочерним.
Внешние ключи используются для обеспечения логической связи между отношениями.
В таблице «Сотрудник» в
Поле внешнего ключа дочерней таблицы («таб_ном _рук») должно совпадать по типу с полем «табельный номер» в табл. «Руководитель» (хотя вовсе не обязательно, чтобы совпадали имена.
В родительской таблице это поле («таб_ном _рук») должно бать ключевым.
Анализируя все рассмотренные
выше понятия, можно отметить
следующие важные свойства
- не должно быть одинаковых кортежей;
- не требуется упорядочение кортежей;
- не требуется упорядочение атрибутов.
Альтернативные варианты
| Основные термины | Альтернативные термины 1 | Альтернативные термины 2 |
| Отношение | Таблица | Файл |
| Кортеж | Строка | Запись |
| Атрибут | Столбец | Поле |
Схема – это общее описание всей БД, включающее перечень всех таблиц и связей между ними (рис. 1.4). Схема создается администратором БД и в дальнейшем используется системой в качестве метаданных.
Одной из основных
Тип определяет возможность связи записей одной таблицы
только с одним или несколькими другой таблицы.
В первом случая говорят о типе связи 1:1(один к одному), во втором 1:М (один ко многим). Направленная связь, имеющая в обоих направлениях тип 1:М, называется связью типа М:М(многие ко многим).
Примером связи
типа 1:1 является связь между
таблицами
Рис. 1.4 Схема БД
“Страна” и “Столица”. Действительно, каждая страна имеет только одну столицу. И наоборот, каждая столица принадлежит только одной стране.
Примером связи типа 1:М является связь между таблицами “Служащий” и “Профсоюз”. Каждый служащий принадлежит одному профсоюзу. И наоборот, каждый профсоюз объединяет много служащих.
Примером связи типа М:М является
связь между таблицами “Товар” и “Заказ”.
Каждый товар может входить в несколько
заказов. С другой стороны, каждый заказ
может включать в себя несколько товаров.
Лекция 3
1.5.
Основные области внешней
памяти
Обычно внешняя память логическ
Табличная область содержит
Рис. 1.5 Основные области внешней памяти
Далее рассматривается только табличная область.
На
логическом уровне табличная область
БД представляется как набор отдельных
страниц.
Страница – это минимальная
совокупность данных
В табличной области
Причем данные на странице
однородны. Т.е. в пределах
Рис. 1.6. Размещение таблиц и индексов на
страницах
1.6. Хранение таблиц
Существуют 2 способа хранения
- по строкам
- по столбцам
Наиболее распространено
В дальнейшем будем
Все данные на страницах
Записи фиксированной
длины
Рис. 1.7.Структура записи фиксированной
длины
Заголовок записи содержит :
- бит удаления
- длину записи
- время последней вставки / обновления
Группирование записей фиксированной длины по страницам
Рис 1.8. Хранение записей фиксированной
длины на странице
Заголовок страницы может содержать:
1 cхему записи
2 таблицу размещения строк
3 таблицу размещения слотов
4 время последнего обновления страницы
Схема записи содержит количество полей типы полей и их размеры.
Таблицы
размещения строк и слотов необходимы,
т.к. строки (с данными) и слоты (свободные
места) перемешаны между собой.
Хранение записей большого размера (типа DLOB)
Рис.1.9. Распределение связанных записей по страницам

- Базы данных
- Базы данных
- Базы данных
- Базы данных
- Базы данных MS ACCESS
- Базы данных, виды моделей данных. сервисные программы, файловые менеджеры
- Базы данных в системах управления и экономических системах
- Базовые экономические понятия
- Базовые экономические понятия. Общие проблемы экономического развития и экономические системы
- Базовый модуль в логистике
- Базы данных
- Базы данных
- Базы данных
- Базы данных