
- •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 Хранение данных
- •Ошибка! Ошибка связи.
Ошибка! Ошибка связи.
Рис. 2. Схема обработки информации в системе с выделенным файловым сервером.
Данная схема подходит для небольших объемов данных. Когда происходит увеличение числа компьютеров в сети и при условии, что они работают с БД, располагающимися на ФС, производительность резко падает, т.к. увеличивается объем передаваемых данных по сети
+
1. Простота реализации
–
1. Нет синхронизации при изменении общих данных разными пользователями на разных ЭВМ в сети;
2. Большая загрузка сети при больших объемах БД;
3. Как следствие 2 недостатка долгое копирование больших БД.
Примеры реализаций СУБД:
MS Visual FoxPro, MS Access, Paradox for Windows, dBase for Windows и др.
Клиент-сервер
Данная технология подразумевает, что помимо хранения БД центральный компьютер (его называют еще сервер БД) должен обеспечивать и выполнение основного объема обработки данных. При использовании такой технологии клиент (пользовательская ЭВМ) выполняет запрос тем самым, провоцируя на сервере поиск и извлечение данных. Извлеченные данные (в данном случае это уже не файлы!!!) передаются по сети от сервера клиенту (рис 3.)
Ошибка! Ошибка связи.
Рис. 3. Схема обработки информации при использовании технологии клиент-сервер.
Системы, построенные на такой технологии, имеют две составные части: клиентская часть (Front-End) и находится на компьютере пользователя; серверная часть (Back-End) и находится на выделенном для этого компьютере. Клиентская часть обеспечивает представление запросов на компьютере пользователя, а серверная часть обеспечивает управление данными, разделение информации, администрирование и безопасность. Спецификой архитектура клиент-сервер является использование специального языка структурированных запросов (Structured Query Language, SQL).
+
1. Возможность работы разных пользователей с одними и теми же БД;
2. В общем случае, как правило, меньшая загрузка сети прокачкой данных и результатов запросов;
3. (Как следствие достоинства 1) Возможность учета пользовательских привилегий на доступ, изменение БД.
–
1. Сложность реализации;
2. Необходимо специальное администрирование БД.
Примеры реализаций СУБД:
MS SQL Server, Oracle, IBM DB2, Sybase и др.
2.3 Модели баз данных
Помимо разделения БД по способам обработки и хранения информации, можно классифицировать их оп используемой модели (или структуре) данных. С помощью модели данных можно наглядно представить структуру объектов и установленные между ними связи.
Модель данных – совокупность структур данных и операций по их обработке.
В терминологии моделей данных используются понятия «элемент данных» и правила связывания.
Элемент данных описывает любой набор данных.
Правила связывания определяют алгоритм взаимосвязи элементов данных.
Вообще существует множество различных моделей данных, но на практике используются три основных. Выделяют иерархическую, сетевую и реляционную модели данных.
2.3.1 Иерархическая модель данных
Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор поддерживается много баз данных, что создает существенные проблемы с переходом как на новую технологию БД, так и на новую технику.
Иерархическая (древовидная) БД состоит из упорядоченного набора элементов. Элементом для иерархической БД является дерево. Т.о. иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева. В этой модели исходные элементы порождают другие элементы, причем эти элементы, в свою очередь, порождают следующие элементы.
Тип дерева состоит из одного "корневого" типа записи и упорядоченного набора из нуля или более типов поддеревьев (каждое из которых является некоторым типом дерева). Тип дерева в целом представляет собой иерархически организованный набор типов записи.
Пример типа дерева (схемы иерархической БД):