952.37K
Category: databasedatabase

Введение в теорию базы данных

1.

БАЗЫ ДАННЫХ

2.

Предмет изучения
■ «Кто владеет информацией — тот владеет
миром» - Натан Ротшильд
■ База данных - совокупность данных,
хранимых в соответствии со схемой
данных.
■ СУБД - совокупность программных и
лингвистических средств общего или
специального назначения,
обеспечивающих управление созданием и
использованием баз данных.

3.

Немного истории
■ 50-е годы – необходимость автоматизации офисной работы, связанной с
хранением, учетом, обработкой данных. Так же предпосылки появления ЭВМ.
■ 1968 г. – первая СУБД IMS от IBM на основе иерархической модели данных.
■ 1970 г. – IBM System R – первая реляционная СУБД, SQL.
■ 1979 г. – реляционная Oracle v2 и понеслось…
■ 1982 г. – IBM DB2
■ 1988 г. - Ashton-Tate/Microsoft SQL Server 1.0
■ 1992 г. – MS Access

4.

5.

Основные понятия
■ База данных – БД - это коллекции связанных данных, сгруппированных в
единый объект.
■ Система управления базами данных – СУБД – ПО, позволяющее работать с БД
(обновление, получение, удаление, создание и т.д. данных).
■ Примеры СУБД: SQL Server, Access, Oracle DB, e.t.c.
■ Функции СУБД:
– администрирование
– безопасность
– оптимизация
– контроль ресурсов

6.

Модели БД
■ Модели разных БД отличаются правилами взаимосвязей сущностей БД и
операциями над ними.
■ Различаются по логической структуре хранения данных.
■ Примеры:
– файловая модель
– иерархическая модель
– сетевая модель
– реляционная модель
– объектно-ориентированная модель

7.

Файловая модель
■ Характеризуется определенным набором файлов, не связанных между собой.
■ Основные типы структур – поле, запись, файл.
■ Поле – атомарная единица данных.
■ Запись – совокупность логически связанных полей.
■ Файл – множество записей, одинаковых по структуре.
■ Первая модель хранения данных.
■ Недостатки: управление БД полностью на разработчике; плохая совместимость;
плохая переносимость; дублирование данных.

8.

9.

Иерархическая модель
■ Иерархическая структура с записями в отношении типа «родитель-потомок»,
образующими обращенное дерево.
■ Данные делятся на логические категории и подкатегории, использующие записи
для представления логических единиц данных.
■ Достоинства: хорошо отражает отношения сущностей реального мира
■ Недостатки: не поддерживает сложные отношения «многие-ко-многим»; сложный
процесс навигации.

10.

11.

Сетевая модель
■ Основоположник идеи – Чарльз Бахман, разработчик IDS (1963 г.)
■ Есть результат усовершенствования иерархической модели.
■ Поддержка множественных отношений «родитель-потомок».
■ Более гибкая, чем иерархическая, но навигация так же сложная.

12.

13.

Объектно-ориентированная модель
■ Древовидная структура, узлами которой являются объекты.
■ Для реализации технологии ООП применяются к базам данных.
■ Запись в БД есть объект. Связи есть отношения между объектами.
■ Основные недостатки: сложность, низкая производительность.
■ Достоинства: хорошее представление сложных программных объектов и методов
работы с ними.
■ Комбинируются с реляционными СУБД.

14.

Реляционная модель
■ Эдгар Кодд – разработчик реляционной модели (1970 г.).
■ Модель основана на взаимодействии строк и столбцов, образующих таблицы
данных, находящихся между собой в отношениях.
■ Является целостной, гибкой и безопасной системой управления данными.
■ Является распространенной и превалирующей на данный момент.

15.

16.

Структура реляционной БД
■ Таблица – отношение
■ Запись – кортеж
■ Поле - атрибут

17.

12 правил Кодда
■ Совокупность принципов и требования, которым
должна соответствовать любая реляционная СУБД.
■ Опубликована Эдгаром Коддом в 1985 г.
■ Нумеруется с 0, поэтому их 13 с:

18.

1. Основное правило: СУБД должна управлять базами данных, используя
исключительно свои реляционные возможности;
2. Правило информации: вся информация в любой базе данных должна быть
представлена исключительно значениями в таблицах;
3. Правило гарантированного доступа: каждое значение в любой таблице можно
получить с помощью комбинации имени таблицы, значения первичного ключа
и имени столбца (имя таблицы позволяет найти требуемую таблицу, имя столбца
позволяет найти требуемый столбец, а первичный ключ позволяет найти строку,
содержащую искомый элемент данных);
4. Правило поддержки недействительных значений: в СУБД должна быть
реализована возможность поддержки неизвестных или отсутствующих значений
(отсутствующие данные должны быть представлены с помощью
недействительных значений (NULL));
5. Правило динамического каталога: информация о базах данных должна
храниться в виде таблиц, и СУБД должна обеспечивать стандартный доступ к ней
и пользовательским данным при помощи одних и тех же средств (СУБД должна
содержать набор системных таблиц, описывающих структуру баз данных);

19.

6. Правило исчерпывающего подъязыка данных: СУБД должна поддерживать хотя
бы один язык, операторы которого обеспечивают все ее основные функции
(создание базы данных, манипулирование данными, управление доступом
и т.д.);
7. Правило обновления представлений: каждое представление должно
поддерживать те же операции с данными, что и таблицы (чтение, вставка,
изменение и удаление данных);
8. Правило добавления, обновления и удаления: операции связанные
с изменением и удалением данных должны одинаково работать как с одной
записью в таблице, так и с множеством записей;
9. Правило независимости физических данных: приложения, использующие любую
базу данных, не должны зависеть от способа хранения информации
и аппаратного обеспечения компьютеров;

20.

10. Правило независимости логических данных: приложения не должны зависеть от
структуры базы данных, любые изменения в структуре БД не должны влиять на
работу приложения;
11. Правило независимости условий целостности: язык СУБД должен поддерживать
проверку входных данных и обеспечивать их целостность;
12. Правило независимости распространения: база данных может находиться на
разных компьютерах и язык СУБД должен поддерживать возможность работы
с распределенными данными;
13. Правило единственности: не должно быть возможности нарушить безопасность
и целостность данных в обход языка СУБД, то есть при работе с данными должен
использоваться только язык СУБД.

21.

Примеры реляционных СУБД
■ MS SQL Server – наш выбор!
■ Oracle
■ PostgreSQL
■ MySQL

22.

Установка Microsoft SQL Server!
English     Русский Rules