
- •Введение
- •Общая схема банка данных в системе
- •Основные понятия
- •Базы данных
- •Банк данных как система управления основные понятия
- •Банк данных как автоматизированная система
- •Субд с включающим языком
- •Информационные системы
- •Документальные аис основные понятия дескриптор
- •Фактографические аис
- •Основные понятия
- •Основные данные
- •Уровни моделей
- •Классификация моделей
- •Роль подсхемы
- •Этапы проектирования базы данных
- •Архитектура банка данных
- •Последовательность действий при чтении записи
- •Инфологическое проектирование базы данных
- •Модели данных и подъязыки данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Реляционные базы данных
- •Алгебра отношений
- •Преимущества реляционных бд
- •Отношения
- •Нормализация отношений
- •Функциональная зависимость
- •Полная функциональная зависимость.
- •Проектирование баз данных.
- •Специальные операции над отношениями
- •Операции над отношениями.
- •Централизация и децентрализация процессов обработки данных.
- •Традиционный набор операций
- •Нормализация отношений
- •Исчисление отношений
- •Вторая и третья нормальные формы.
- •26. Язык запросов sql
- •1 Основы sql
- •Многотабличные запросы на чтение (объединения)
- •Сортировка результатов запроса (предложение order by)
- •Объединение результатов нескольких запросов (union)*
- •Запрос на объединение и сортировка *
- •Многотабличные запросы на чтение (объединения)
- •Простое объединение таблиц (объединение по равенству)
- •Запросы с использованием отношения предок/потомок
- •Объединения с условием для отбора строк
- •Несколько связанных столбцов
- •Запросы на чтение к трем и более таблицам
- •Чтение всех столбцов
- •Самообъединения
- •Псевдонимы таблиц
- •Правила выполнения многотабличных запросов
- •Внешнее объединение таблиц *
- •Итоговые запросы на чтение
- •Агрегатные функции
- •Агрегатные функции в списке возвращаемых столбцов
- •Запросы с группировкой (предложение group by)
- •Несколько столбцов группировки
- •Ограничения на запросы с группировкой
- •Вложенные запросы на чтение
- •Внешние ссылки
- •Вложенные запросы и объединения
- •Связанные вложенные запросы
- •Однострочный оператор insert
- •В интерактивном режиме удобно не включать в оператор insert список столбцов, так как это уменьшает длину оператора. В случае программного
- •Многострочный оператор insert
- •Удаление существующих данных
- •Удаление всех строк
- •Оператор delete с вложенным запросом *
- •Обновление существующих данных
-
Реляционные базы данных
Реляционный подход к описанию структур данных основывается на использовании для их описания языка предикатов, или произвольных (n-местных) отношений. Имеются в виду отношения между элементарными данными. Любое подобное отношение может быть представлено двумерной таблицей.
На этой таблице представлено отношение с именем А над элементарными данными a, b, c, …, x. Каждая строка таблицы представляет собой набор значений этих данных, находящихся между собой в данном отношении (отношение А для них истинно). Строки таблицы принято называть картежами, а столбцы – доменами (атрибутами). Если количество столбцов (длина картежей) равно m, то говорят, что отношение А имеет степень m или m-местным (m-арным) отношением.
Считая кортежи отдельными записями, легко представить заданное отношение в виде простейшего последовательного файла.
Главная идея реляционного подхода состоит в том, чтобы представлять произвольные структуры данных в виде совокупностей отношений (таблиц). Процесс такого представления называется нормализацией, а само представление – реляционной структурой. Если на отношения реляционной структуры не накладывается никаких ограничений, кроме отсутствия одинаковых строк в таблице, то она представлена в первой нормальной форме. Можно провести нормализацию любого иерархического файла, записями которого являются элементарные данные. Для этого достаточно размножить узлы.
Если записи сами представляют собой иерархические структуры, то тот же процесс размножения узлов можно применить и к ним. В результате файл будет приведён к виду плоской таблицы.
В случае сетевых структур они приводятся сначала к иерархической, а затем к реляционной форме. Эти приемы нормализации приводят к большой избыточности в логическом представлении данных. Кроме того, актуализация таких отношений может привести к аномалиям манипулирования, когда происходит разрушение (или потеря) данных. Результатом нормализации является отношение высокой степени. Процесс нормализации продолжается расщеплением сложных (многоместных) отношений на более простые.
Имеются СУБД с программными средствами ведения словаря. Такие системы называются системами с интегрированным словарем данных. Системы, которые не имеют средств ведения словаря и включают специальные пакеты ведения словаря, называются системами с независимым словарём.
-
Алгебра отношений
На множестве отношений легко определяются различные операции, превращающие это множество отношений в алгебру отношений (реляционную алгебру)
Операция проекции – выделение какой-либо части доменов и устранение возможных повторений строк.
Операция объединения (соединения) – позволяет «склеить» несколько отношений в одно истинное тогда и только тогда, когда истинны все объединяемые отношения. При такой операции число строк может уменьшиться и даже свестись к нулю (пустое отношение)
Отношение А, задаваемое кортежами
a1b1c1
a2b2c1
a3b1c1
Отношение В задается кортежами
b1c2
b2c1
Объединение А с В по всем трем доменам – отношение с
с : a2b2c1
А*В (a,b,c) = с
Возможные и другие операции над отношениями. Если в состав программного обеспечения реляционной базы данных включены программы, автоматизирующие выполнение этих операций, то они могут осуществить отображение одной логической структуры данных в другую. При этом предполагается, что обе структуры описаны в виде схем отношений (таблиц). Программы перевода производят заполнение таблиц второй структуры, используя таблицы первой структуры. Тем самым автоматизируется интерфейс между различными логическими структурами данных.
Администратор БД задает в описании данных формулы реляционной алгебры, с помощью которых из отношений логической структуры базы данных получается отношения структуры, используемой в запросе или приложении.
Более высокий уровень автоматизации интерфейса предполагает использование лишь описаний связываемых структур данных на специальном с помощью так называемого исчисления отношений (реляционного исчисления). В этом случае система сама определяет пути реализации такого «описательного» отображения.