- •Содержание
- •Основные понятия
- •Понятие данных
- •Файловые системы
- •Системы баз данных
- •История развития субд
- •Трехуровневая архитектура ansi/sparc
- •Общая характеристика моделей данных
- •Основные понятия модели данных
- •Представление статических и динамических свойств
- •Общая характеристика структурных компонентов. Множества: домены и атрибуты
- •Общая характеристика структурных компонентов. Отношения: сущности
- •Общая характеристика структурных компонентов. Отношения: связи
- •Общая характеристика ограничений целостности
- •Модель данных «сущность – связь»
- •Уровни представления информации
- •Уровень 1 – информация о сущностях и связях
- •Уровень 2. Структура информации
- •Ограничения целостности в модели сущность-связь
- •Расширенная модель данных сущность-связь: нотация idef1x
- •Реляционная модель данных
- •Базовые структурные компоненты реляционной модели данных
- •Целостная часть реляционной модели данных
- •Языковые средства описания данных
- •Манипуляционная часть реляционной модели данных
- •Подмножество sql для манипулирования данными
- •Примеры написания запросов
- •I. И еще несколько примеров написания запросов из документации [10]
- •Краткая характеристика языка sql pl db2® udb
- •Дополнительные возможности описания ограничений целостности
- •Дополнительные возможности db2
- •Описание данных
- •Манипулирование данными
- •Дополнительные возможности формирования запросов
- •Типы данных, определенные пользователем
- •Функции, определенные пользователем
- •Теория проектирования реляционных баз данных
- •Цели проектирования
- •Функциональные зависимости
- •1. Рефлексивность
- •2. Пополнение
- •3. Транзитивность
- •4. Псевдотранзитивность
- •5. Аддитивность (объединение)
- •6. Декомпозиция (проективность)
- •7. Композиция
- •Нормализация отношений
- •Внутренние структуры хранения
- •Структурная схема обработки запроса
- •Бинарные деревья
- •Многоходовые деревья
- •Сравнение методов индексирования
- •Создание индексов в db2®
- •Организация файлов базы данных в db2®
Файловые системы
В ранних системах (файловых) данные и семантика разделены:
семантика отражается в приложениях, обрабатывающих данные,
никаких способов осмысленного доступа к данным, кроме как через приложение, нет.
Файловые системы можно определить как набор программ, которые выполняют для пользователя некоторые операции, связанные с обработкой данных. При этом каждая программа определяет свои собственные данные и управляет ими.
Ограничения, присущие таким системам:
разделение и изоляция данных,
дублирование данных,
зависимость от файлов,
несовместимость данных.
Причины:
Определение данных содержится внутри приложений, а не хранится отдельно и независимо от них.
Помимо приложений, не предусмотрено никаких других инструментов доступа к данным и их обработки.
Глобальная причина кроется в разрыве между значениями данных и их семантикой.
Системы баз данных
Информационные системы, использующие базы данных, относятся к многопользовательским системам и построены в соответствии с архитектурой клиент – сервер. В соответствии с этой архитектурой сервер управляет некоторым ресурсом (в нашем случае, базой данных), а клиент обращается к серверу за предоставлением некоторых услуг. В соответствии с этой архитектурой, на сервере размещается сама база данных и СУБД, управляющая доступом к данным. На клиенте реализуется интерфейс, с помощью которого формируются запросы к серверу и отображаются полученные результаты. Прикладная логика может быть реализована как на сервере, так и на клиенте. Кроме того, часто используются так называемые трехзвенные системы, в соответствии с которыми прикладная логика реализуется в виде отдельного компонента, выполняющего функции сервера (сервера приложения) по отношению к клиенту и клиента по отношению к серверу базы данных.
Нас будет интересовать, в первую очередь, организация баз данных и доступа к данным, т.е. то, что реализуется сервером базы данных.
Введем некоторые определения.
Определение
База данных – это совместно используемый набор логически связанных данных и их описаний, предназначенный для удовлетворения информационных потребностей организации.
Определение
Система управления базами данных (СУБД) – это программное обеспечение, осуществляющее управление базами данных.
Определение
Система баз данных – это компьютеризованная система хранения записей, т.е. это базы данных, СУБД, аппаратура и люди.
Упрощенная схема системы баз данных приведена ниже (Рис. 1.1):
Рис. 1.1. Упрощенная схема системы баз данных
В общем случае, с системами баз данных работают пользователи разных категорий, каждая из которых обладает своими возможностями. К таким категориям обычно относят администратора данных и базы данных, разработчиков базы данных, прикладных программистов и конечных пользователей.
Распределение обязанностей в системах с базами данных:
Администраторы данных и баз данных
Администратор данных (АД) отвечает за управление данными, включая планирование базы данных, разработку и сопровождение стандартов, бизнес правил и деловых процедур, за концептуальное и логическое проектирование базы данных.
Администратор базы данных (АДВ) отвечает за физическую реализацию БД, сопровождение, обеспечение безопасности и целостности данных; требуется знание СУБД и ОС.
Разработчики базы данных
Разработчики базы данных осуществляют разработку логической структуры данных, имеющихся ограничений; должны четко понимать структуру организации и ее бизнес правила (бизнес правила описывают основные характеристики данных с точки зрения организации).
Прикладные программисты
Прикладные программисты занимаются разработкой приложений, предоставляющих конечным пользователям необходимые функциональные возможности.
Конечные пользователи
Выполняют действия, определенные их должностными обязанностями.
