- •Базовые понятия и определения
- •Аппаратное обеспечение системы баз данных
- •Программное обеспечение
- •Пользователи
- •Классы данных
- •Причины появления систем баз данных
- •Исторические аспекты и перспективы развития систем бд
- •Базовая терминология реляционной модели
- •Архитектуры систем баз данных
- •Основы реляционной модели
- •Понятие отношения в реляционной базе данных
- •Виды отношений
- •Отношения и предикаты
- •Приблизительное соответствие реляционной модели и физической реализации
- •Целостность реляционных данных
- •Потенциальные ключи
- •Null-значения
- •Реляционная алгебра
- •Операции над множествами
- •Выборка
- •Проекция
- •Естественное соединение
- •Деление
- •Распределённые бд
- •Примеры распределённых систем
- •Управление распределёнными транзакциями
- •Проблемы распределённых систем
- •Управление каталогом
- •Распределение обновлений
- •Управление восстановлением
- •Управление параллелизмом
- •Система клиент-сервер
- •Архитектура прикладного доступа к бд
- •Развитие
- •Сервлеты
Программное обеспечение
Между физической БД и пользователем расположено специальное программное обеспечение – система управления баз данных (СУБД, также используется термин менеджер БД). Основная функция СУБД – предоставление пользователю базы данных возможности работы с ней не вникая в детали аппаратных средств, тем самым позволяя рассматривать БД как объект с высоким уровнем абстракции.
Пример высокоуровневого доступа – SQL.
СУБД – наиболее важный, но не единственный программный компонент системы. Также существуют утилиты, среды разработки, средства проектирования структуры БД, генераторы запросов и отчётов и прочее.
Пользователи
Прикладные программисты – пишут прикладные программы, использующие БД на языках COBOL, PL/1, Java, PHP, C#, Visual Basic. Эти программы могут быть пакетной или оперативной (поддерживаемой через терминал) обработки.
Конечные пользователи – взаимодействуют с БД через терминал посредством оперативного приложения или через интерфейс СУБД. У большинства БД имеется процессор языка запросов.
Администратор базы данных – занимается администрированием базы данных, не занимается написанием приложений.
Классы данных
I. Постоянные данные
Отличать данные, хранимые в БД от входных/выходных данных, управляющих блоков, промежуточных результатов.
II. Входные данные – информация, переданная или передаваемая системе (обычно с терминала или рабочей станции). Эта информация может стать причиной изменения постоянных данных, может стать частью постоянных данных, но не является частью БД как таковой.
III. Аналогично, выходные данные – сообщения и результаты, выдаваемые системой (обычно выводятся на печать или отображаются на экране). Не являются частью БД.
Причины появления систем баз данных
Информацию на ЭВМ можно хранить неструктурированно, например, в файлах разных типов (открывающихся соответствующими приложениями). Однако, использование систем БД предоставляет целый ряд преимуществ, вытекающих из централизованного управления данными.
1) Скорость поиска и удобство представления результатов поиска.
2) Возможность сокращения избыточности
Замечание: иногда веские технические причины требуют наличия нескольких копий данных. Подобная избыточность должна контролироваться.
3) Сохранение целостности данных
4) Корректный общий доступ к данным
5) Возможность соблюдения правил и стандартов хранения информации.
6) Централизованное управление доступом, обеспечение безопасности информации.
7) Гарантированное сохранение данных
8) Независимость данных: во многих приложениях, позволяющих хранить информацию, данные тесно связаны, неотделимы от приложения. Иными словами, метод организации данных встроен в логику и код приложения. Однако, крайне нежелательно, чтобы приложение зависело от данных.
Администратор БД должен иметь возможность изменять способ хранения и метод доступа к данным без изменения существующих данных.
Исторические аспекты и перспективы развития систем бд
Системы БД появились давно, эксплуатируются в разных организациях, были созданы несколько основных и множество вспомогательных менеджеров организации и доступа. В истории известны БД с иерархической моделью данных
Пример: IMS IBM
Сетевая модель данных – каждый элемент имеет множество связей
Пример: CA (Computer Associates)-IMS/DB
Преимущества: Гибкость, удобство представления неструктурируемых данных.
Недостатки: Сложность, избыточность
Реляционная модель
Развивается с конца 1970-х годов. В настоящий момент является господствующей.
Примеры: Oracle, DB2, Ingres
Преимущества: прозрачность, систематичность, математическое обоснование.
Постреляционные СУБД
- Дедуктивные СУБД
- Объектно-ориентированные СУБД
- Гибридные СУБД
- Семантическая СУБД
- Расширенная СУБД
- Экспертные СУБД
Был разработан структурированный язык запросов для управления БД. SQL поддерживается большинством продуктов.
4 основных оператора:
SELECT INSERT DELETE UPDATE
