
- •Содержание
- •Основные понятия
- •Понятие данных
- •Файловые системы
- •Системы баз данных
- •История развития субд
- •Трехуровневая архитектура ansi/sparc
- •Общая характеристика моделей данных
- •Основные понятия модели данных
- •Представление статических и динамических свойств
- •Общая характеристика структурных компонентов. Множества: домены и атрибуты
- •Общая характеристика структурных компонентов. Отношения: сущности
- •Общая характеристика структурных компонентов. Отношения: связи
- •Общая характеристика ограничений целостности
- •Модель данных «сущность – связь»
- •Уровни представления информации
- •Уровень 1 – информация о сущностях и связях
- •Уровень 2. Структура информации
- •Ограничения целостности в модели сущность-связь
- •Расширенная модель данных сущность-связь: нотация idef1x
- •Реляционная модель данных
- •Базовые структурные компоненты реляционной модели данных
- •Целостная часть реляционной модели данных
- •Языковые средства описания данных
- •Манипуляционная часть реляционной модели данных
- •Подмножество sql для манипулирования данными
- •Примеры написания запросов
- •I. И еще несколько примеров написания запросов из документации [10]
- •Краткая характеристика языка sql pl db2® udb
- •Дополнительные возможности описания ограничений целостности
- •Дополнительные возможности db2
- •Описание данных
- •Манипулирование данными
- •Дополнительные возможности формирования запросов
- •Типы данных, определенные пользователем
- •Функции, определенные пользователем
- •Теория проектирования реляционных баз данных
- •Цели проектирования
- •Функциональные зависимости
- •1. Рефлексивность
- •2. Пополнение
- •3. Транзитивность
- •4. Псевдотранзитивность
- •5. Аддитивность (объединение)
- •6. Декомпозиция (проективность)
- •7. Композиция
- •Нормализация отношений
- •Внутренние структуры хранения
- •Структурная схема обработки запроса
- •Бинарные деревья
- •Многоходовые деревья
- •Сравнение методов индексирования
- •Создание индексов в db2®
- •Организация файлов базы данных в db2®
История развития субд
Ниже приводится краткое описание истории развития баз данных и систем управления базами данных (СУБД).
Начало 60-ых годов – файловые системы.
Середина 60-ых годов – сетевые СУБД. В 1965 г. на конференции CODASYL (Conference on Data System Languages) создана рабочая группа, которая должна была определить спецификации среды, которая допускала бы разработку бах данных и управление данными. Отчет этой группы был опубликован в 1971 г. Были определены три компонента:
сетевая схема (организация базы данных в целом),
подсхема (часть базы данных, как она видится пользователям и приложениям)
язык управления данными; сюда были включены язык описания данных (ЯОД, или DDL – Data definition Language) и язык манипулирования данными (ЯМД, или DML – Data Manipulation Language).
Системы на основе CODASYL – СУБД 1-го поколения (сетевые и иерархические модели данных).
В 1970 г. Э.Кодд опубликовал статью о реляционной модели данных. Коммерческие СУБД, использующие реляционную модель данных, появились в конце 70-ых – начале 80-ых годов. Особо следует упомянуть СУБД System R (IBM, 1976 г.) – в ней использован SQL. СУБД 2-го поколения.
В 1976 г. П.Чен представил модель сущность-связь, определив тем самым технологию проектирования баз данных. Появились расширенная реляционная модель данных и семантические модели данных.
С ростом сложности приложений стали использоваться объектно-ориентированные модели данных, в результате чего появились объектно-ориентированные и объектно-реляционные СУБД. СУБД 3-го поколения.
Трехуровневая архитектура ansi/sparc
Первая попытка создания стандартной терминологии и общей архитектуры СУБД была предпринята в 1971 г., по результатам конференции по языкам и системам данных CODASYL. При национальном институте стандартов США был создан комитет планирования стандартов и норм – ANSI/SPARC (ANSI – American National Standard Institute, SPARC – Standards Planning and Requirements Committee). Этот комитет в 1975 г. признал необходимость использования трехуровневого подхода.
В соответствии с этим подходом используются три уровня абстракции описания элементов данных; они формируют трехуровневую архитектуру, охватывающую внешний, концептуальный и внутренний уровни (Рис. 1.2).
Рис. 1.2. Трехуровневая архитектура ANSI/SPARC
Разделение приводит к тому, что каждый отвечает за свое и знает только свое; тем самым, достигается независимость от физического представления и от логического представления.
Внешний уровень – представление базы данных с точки зрения конечных пользователей. Этот уровень описывает ту часть базы данных, которая относится к каждому конечному пользователю.
Концептуальный уровень – обобщающее представление базы данных. Описывает, какие данные хранятся в базе данных, а также связи, существующие между ними.
Внутренний уровень – физическое представление базы данных в компьютере; описывает, как информация хранится в базе данных.
Концептуальная схема является «сердцем» базы данных. Она поддерживает все внешние представления, а сама поддерживается средствами внутренней схемы. Именно концептуальная схема призвана быть полным и точным представлением требований к данным организации (предприятия).
Средством, позволяющим представить данные на определенном уровне абстракции, служат модели данных.
Определение
Модель данных – это интегрированный набор понятий для описания данных, связей между ними и ограничений, накладываемых на данные в некоторой организации.
Наиболее распространенные модели данных:
семантические (к ним можно отнести модели данных сущность-связь, бинарные, семантические сети, объектно-ориентированные);
реляционная,
сетевая,
иерархическая.
Одно из основных требований к СУБД – обеспечение некоторого уровня абстракции при представлении и обработке данных. Поэтому любая СУБД поддерживает, по крайней мере, одну из моделей данных.
Схемы базы данных, получаемые на разных этапах проектирования, представляют одну и ту же базу данных на разных уровнях абстракции.