База данных – логический набор данных с внутренним смыслом.
СУБД – Сборник программ, помогающих пользователю создавать и поддерживать базу данных. Если вы заинтересованы в более подробном объяснении предлагаем изучить SQL учебник.
Система баз данных – база данных и СУБД вместе называются системой баз данных.
Преимущество СУБД:
- Контролируемое резервирование
- Ограничение несанкционированного доступа
- Контроль параллелизма
- Обеспечение ограничений целостности
- Обеспечение резервного копирования и восстановления
- Несоответствия можно избежать
Недостатки СУБД:
- Сложность, конечные пользователи и администраторы баз данных должны понимать все функции.
- Занимает большую часть дискового пространства.
- Стоимость СУБД, высокие начальные вложения.
- Бесполезен в ситуациях, когда приложения четко определены, просты и не предполагают изменений.
- Более сильное влияние отказа из-за централизации ресурсов, отказ любого компонента может вывести СУБД из строя.
Три уровня абстракции данных –
- Физический уровень : самый низкий уровень абстракции описывает, как хранятся данные.
- Логический уровень : описывает, какие данные хранятся в базе данных и какие отношения между ними.
- Уровень представления : самый высокий уровень базы данных описывает только часть базы данных.
Разница между СУБД и СУБД –
СУБД
- СУБД хранит данные в виде файла.
- Данные хранятся в иерархической форме.
- Нормализации нет.
- Нет защиты от манипуляций с данными.
- Никакой связи между таблицами.
- Не поддерживает распределенную базу данных.
- Предназначен для организаций, работающих с небольшими данными, он поддерживает одного пользователя.
СУБД
- РСУБД хранит данные в табличной форме.
- Таблицы имеют уникальный идентификатор, называемый первичным ключом, для однозначной идентификации кортежей.
- Нормализация присутствует.
- Определяет ограничения целостности для свойств ACID.
- Связь между значениями данных хранится в виде таблицы.
- Поддерживает распределенную базу данных.
- Предназначен для организаций, которые имеют дело с большими объемами данных, поддерживающими нескольких пользователей.
Независимость данных – возможность изменять определение схемы на одном уровне, не влияя на определение схемы на более высоких уровнях.
Два типа независимости данных –
- Физическая независимость данных – изменение схемы на физическом уровне не должно влиять на схему на логическом уровне.
- Независимость логических данных – изменение схемы на логическом уровне не должно влиять на схему на уровне представления.
Э. Ф. Кодд из IBM выдвинул идею реляционной модели.
Сущность – вещь в реальном мире с независимым существованием.
Тип сущности – набор сущностей, у которых есть некоторые атрибуты.
Слабый набор сущностей – набор сущностей может не иметь достаточных атрибутов для формирования первичного ключа, и его первичный ключ состоит из его частичного ключа и первичного ключа родительского объекта.
Таблица – в СУБД данные организованы в таблицы, эти таблицы называются отношениями.
Строка / кортеж – строка в таблице представляет отношения между набором значений.
Атрибуты – это свойства отношения, также известные как столбцы.
Степень отношения – количество атрибутов (столбцов) в отношении (таблице).
Мощность отношения – количество кортежей (строк) в отношении (таблице).
Представление. Представление – это (виртуальная) таблица, которая не существует физически, а является производной от одной или нескольких базовых таблиц.
Первичный ключ – набор еще одного атрибута, который однозначно идентифицирует кортежи в отношении.
Ключ кандидата – все комбинации атрибутов, которые могут служить первичным ключом, являются кандидатами на позицию первичного ключа.
Альтернативный ключ – кандидатный ключ, не являющийся первичным ключом.
Внешний ключ – неключевой атрибут, значения которого получены из первичного ключа какой-либо другой таблицы, является внешним ключом в своей собственной таблице.
DDL (ЯЗЫК ОПРЕДЕЛЕНИЯ ДАННЫХ) – DDL предоставляет набор определений для определения структуры хранения и методов доступа системы баз данных.
DML (ЯЗЫК МАНИПУЛЯЦИИ ДАННЫМИ) – DML позволяет пользователю управлять данными или получать к ним доступ, организованные с помощью соответствующей модели данных.
Есть 2 типа DML –
- Процедурный / низкоуровневый DML – DML требует, чтобы пользователь указал, какие данные необходимы и как их получить.
- Непроцедурный / высокоуровневый DML – DML требует, чтобы пользователь указывал, какие данные необходимы, без необходимости указывать, как эти данные получить.
Компилятор DML – он переводит операторы DML на языке запросов в инструкции низкого уровня, которые может понять механизм оценки запросов.
Механизм оценки запросов – выполняет инструкции низкого уровня, сгенерированные компилятором DML.
Метаданные – данные о данных.
Интерпретатор DDL – он интерпретирует операторы DDL и записывает их в таблицы, содержащие метаданные.
SQL (язык структурированных запросов) – это язык, который позволяет нам создавать реляционные базы данных и работать с ними.
Изначально SQL был разработан в исследовательской лаборатории IBM в Сан-Хосе.
Возможности обработки SQL –
- SQL DDL предоставляет команды для определения схем отношений, удаления отношений, изменения схем отношений.
- SQL DML предоставляет язык запросов, основанный как на реляционной алгебре, так и на исчислении кортежей.
- Встроенный SQL DML предназначен для использования в языках программирования общего назначения.
- SQL DDL включает команды для определения представлений.
- SQL DDL включает команды для определения прав доступа к отношениям и представлениям.
- SQL обеспечивает проверку целостности.
- SQL включает команды для начала и завершения транзакций.