
- •1. Введение в бд
- •2. Теоретические основы бд
- •2.1 Базы данных
- •2.2. Архитектуры обработки информации
- •Ошибка! Ошибка связи.
- •Ошибка! Ошибка связи.
- •2.3 Модели баз данных
- •2.3.1 Иерархическая модель данных
- •Ошибка! Ошибка связи.
- •Ошибка! Ошибка связи.
- •2.3.2 Сетевая модель данных
- •Ошибка! Ошибка связи.
- •2.3.3 Реляционная модель данных
- •3. Реляционный подход к организации бд
- •3.1 Базовые понятия реляционных баз данных
- •Ошибка! Ошибка связи.
- •3.2 Фундаментальные свойства отношений
- •3.3 Взаимосвязь отношений
- •4. Реляционная алгебра
- •4.1 Обзор реляционной алгебры
- •Замкнутость реляционной алгебры
- •Отношения, совместимые по типу
- •4.2 Теоретико-множественные операторы
- •4.3 Специальные реляционные операторы
- •4.4 Зависимые реляционные операторы
- •4.5 Примитивные реляционные операторы
- •4.6 Запросы, невыразимые средствами реляционной алгебры
- •4.7 Кросс-таблицы
- •5. Проектирование бд
- •5.1. Цели и этапы проектирования
- •5.2 Уровни моделирования (проектирования) бд
- •5.3 Критерии оценки качества логической модели данных
- •5.4 Нормализация и ее необходимость
- •5.5 Теория нормализации
- •5.6 Элементы модели "сущность-связь"
- •Основные понятия er-диаграмм
- •Ошибка! Ошибка связи.
- •6. Элементы языка sql
- •6.1 Типы данных
- •6.2 Операторы dml (определения объектов базы данных)
- •6.2.1 Операторы работы с таблицами
- •6.3 Операторы dml (операторы манипулирования данными)
- •6.3.1 Примеры использования операторов манипулирования данными
- •Insert - вставка строк в таблицу
- •6.3.2 Update - обновление строк в таблице
- •6.3.3 Delete - удаление строк в таблице
- •6.3.4 Выбор данных из таблицы select
- •6.3.4.1 Общий синтаксис команды select
- •6.3.4.2 Примеры работы с использованием оператора select
- •Использование агрегатных функций в запросах
- •Использование агрегатных функций с группировками
- •Использование подзапросов
- •Использование объединения, пересечения и разности
- •6.3.4.3 Порядок выполнения оператора select
- •6.3.4.4 Реализация реляционной алгебры средствами оператора select (Реляционная полнота sql)
- •6.4 Объекты и концепции базы данных
- •6.4.1 Таблицы (Tables)
- •6.4.2 Столбцы (Columns)
- •6.4.3 Типы данных (Data types)
- •Тип данных blob
- •6.4.4 Домены (Domains)
- •6.4.5 Справочные ограничения целостности (Referential integrity constraints)
- •6.4.6 Индексы (Indexes)
- •6.4.7 Представления (Views)
- •6.4.8. Хранимые процедуры (Stored procedures)
- •6.4.9 Триггеры (Triggers)
- •6.4.10 Генераторы (Generators)
- •6.4.11 Защита (Security)
- •6.5 Операторы sql для работы с объектами бд
- •6.5.1 Представления
- •6.5.2 Хранимые процедуры
- •6.5.3 Генераторы
- •6.5.4 Триггеры
- •6.5.5 Индексы
- •6.6 Инструкции sql
- •7. Физическая организация и работа субд
- •7.1 Хранение данных
- •Ошибка! Ошибка связи.
Ошибка! Ошибка связи.
Рис. 6.
Примерный набор операций может быть следующим:
Найти конкретную запись в наборе однотипных записей (студента Щербинко);
Перейти от предка к первому потомку по некоторой связи (к первому студенту гр. ИСМ-100);
Перейти к следующему потомку в некоторой связи (от студента А к куратору Б);
Перейти от потомка к предку по некоторой связи (найти группу куратора Б);
Создать новую запись;
Уничтожить запись;
Модифицировать запись;
Включить в связь;
Исключить из связи;
Переставить в другую связь и т.д.
+
–
Итак, иерархические и сетевые СУБД существовали в давнее время. Сильные места ранних СУБД:
+ Развитые средства управления данными во внешней памяти на низком уровне;
+ Возможность построения вручную эффективных прикладных систем;
Возможность экономии памяти за счет разделения подобъектов (в сетевых системах).
Недостатки:
– Слишком сложно пользоваться;
– Фактически необходимы знания о физической организации;
– Прикладные системы зависят от этой организации;
– Их логика перегружена деталями организации доступа к БД.
2.3.3 Реляционная модель данных
Развитие реляционных БД появились в конце 60-х годов, когда появились первые работы, в которых обсуждались возможности использования естественных способов представления данных – так называемых табличных даталогических моделей.
Основоположником реляционных БД считается сотрудник фирмы IBM доктор Кодд, опубликовавший 6 июня 1970 года свою статью. Будучи математиком, для обработки данных он предложил использовать аппарат теории множеств. Он доказал, что любой набор данных можно предстваить в виде двумерных таблиц особого вида, известных в математике как отношение. От английского слова “relation” и произошло название «реляционная модель данных».
3. Реляционный подход к организации бд
Согласно Дейту, реляционная модель состоит из трех частей:
Структурной части.
Целостной части.
Манипуляционной части.
Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения.
Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.
Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными - реляционную алгебру и реляционное исчисление.
3.1 Базовые понятия реляционных баз данных
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Т.к. теория БД разрабатывалась на много раньше, нежели сами СУБД, то существует некоторая разница в терминологии. т.е. разными названиями могут обозначаться одни и те же вещи. В таблице 2 приведены термины, используемые в различных ситуациях, но имеющие общий смысл.
Таблица 2 Терминология БД.
Теория БД |
Практика |
SQL Server |
Отношение (Relation) |
Таблица (Table) |
Таблица (Table) |
Кортеж (Tuple) |
Запись (Record) |
Строка (Row) |
Атрибут (Attribute) |
Поле (Field) |
Столбец (Column) |
Домен (Domain) |
Общая совокупность допустимых значений |
Количество столбцов |
Степень отношения |
Кардинальное число отношения |
Количество строк |
Смысл некоторых из этих понятий приведен на рис. 7.