- •Введение в базы данных
- •Отношения между прикладными программами и субд
- •Системы обработки баз данных
- •История баз данных
- •Организационный контекст
- •Реляционная модель
- •Коммерческие субд для микрокомпьютеров
- •Клиент-серверные приложения баз данных
- •Базы данных с использованием Интернет-технологий
- •Распределенные базы данных
- •Объектно-ориентированные субд
- •Банк данных
- •Основные понятия и определения
- •Пользователи банков данных
- •База данных
- •Архитектура базы данных. Физическая и логическая независимость
- •Схемы и отображения
- •Независимость от данных
- •Система управления базами данных – субд
- •Процесс прохождения пользовательского запроса
- •Введение в разработку баз данных
- •Метаданные
- •Индексы
- •Метаданные приложений
- •Подсистема средств проектирования
- •Подсистема обработки
- •Ядро субд
- •Создание базы данных
- •Процесс разработки базы данных
- •Моделирование данных
- •Функции субд
- •Модели данных
- •Объектные или инфологические модели данных
- •Модели данных на основе записей или даталогические
- •Реляционная модель данных
- •Преподаватели
- •Сетевая модель данных
- •. Физические модели данных
- •Концептуальное моделирование
- •Реляционная модель
- •Структура реляционных данных
- •Кортежи
- •Внешний ключ
- •Альтернативная терминология
- •Математические отношения
- •Отношения в базе данных
- •Реляционные ключи
- •Реляционная целостность
- •Целостность сущностей
- •Ссылочная целостность
- •Реляционные языки
- •Реляционная алгебра
- •Учебный проект DreamHome
- •Реляционная алгебра (продолжение)
- •Выборка (или ограничение)
- •Проекция
- •Декартово произведение
- •Объединение
- •Разность
- •Операции соединения
- •Tema-соединение (θ-join)
- •Естественное соединение
- •Внешнее соединение
- •Полусоединение
- •Пересечение
- •Деление
- •Другие языки
- •Примеры применения реляционной алгебры
- •Обзор жизненного цикла информационных систем
- •Жизненный цикл приложения баз данных
- •Проектирование базы данных
- •Проектирование баз данных на основе восходящего подхода (Метод нормализации или декомпозиции)
- •Цель нормализации
- •Проблемы, вызываемые использованием единственного отношения (аномалии обновления)
- •Проблема вставки
- •Проблема обновления
- •Проблемы удаления
- •Функциональные зависимости
- •Процесс нормализации
- •Декомпозиция без потерь и функциональные зависимости
- •Первая нормальная форма (1 нф) (из Коннолли)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (знф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •4 И 5 нормальные формы (4нф и 5нф)
- •Пример нормализации
- •. Другая декомпозиция отношения консультант
- •Некоторые комментарии к декомпозиционному алгоритму проектирования
- •Некоторые модификации алгоритма проектирования Избыточные функциональные зависимости
- •Транзитивные зависимости
- •Добавление атрибутов в фз
- •Правила вывода
- •Алгоритм проектирования бд методом декомпозиции (восходящий метод)
- •Проверка отношений на завершающей фазе их проектирования
- •Задачи к текущему материалу
- •Пример аномалий для 2нф
- •Нормальная форма Бойса—Кодда (нфбк) с примером аномалий для 3 формы
- •Язык sql
- •Запрос одиночной таблицы
- •Проектирование в sql
- •Выборка в sql
- •Сортировка
- •Встроенные функции sql
- •Встроенные функции и группировка
- •Запрос нескольких таблиц
- •Вложенные запросы
- •Соединение с помощью sql
- •Сравнение вложенного запроса и соединения
- •Внешнее соединение
- •Операторы exists и not exists
- •Изменение данных
- •Insert into запись
- •Insert into запись
- •Insert into третьекурсник
- •Удаление данных
- •Модификация данных
- •Запрос на sql с exist и not exist (реализация реляционной операции Деления)
- •Операция внешнего соединения таблиц в access (Мои замечания)
- •Псевдонимы столбцов и таблиц
- •Уточнения запроса
- •Теоретико-множественные операции
- •Декартово произведение наборов записей
- •Объединение наборов записей (union)
- •Пересечение наборов записей (intersect)
- •Intersect corresponding (id_компонента, Тип_компонента)
- •Вычитание наборов записей (except)
- •Операции соединения
- •Естественное соединение (natural join)
- •Условное соединение (join... On)
- •Соединение по именам столбцов (join... Using)
- •Внешние соединения
- •Левое соединение {left outer join)
- •Правое соединение {right outer join)
- •Внешнее соединение Преподаватель-Изучение-Предмет. Создание в access. Пример
- •Операторы exists и not exists
- •Низходящее проектирование бд на основе er-модели Модель «сущность—связь» и ее варианты
- •Реализация низходящего проектирования бд на основе er-модели
- •Типы сущностей
- •Способы представления сущностей на диаграмме
- •Атрибуты
- •Типы связей
- •Представление связей на диаграммах
- •Атрибуты связей
- •. Структурные ограничения
- •Показатель кардинальности
- •Степень участия
- •Примеры er-проектирования
- •Модель «сущность—связь» в другом рассмотрении
- •Элементы модели «сущность—связь»
- •Сущности
- •Атрибуты
- •Идентификаторы
- •Три типа бинарных связей
- •Диаграммы «сущность—связь»
- •Изображение атрибутов в диаграммах «сущность—связь»
- •Слабые сущности
- •Представление многозначных атрибутов при помощи слабых сущностей
- •Подтипы сущностей
- •Пример er-диаграммы
- •Документирование делового регламента
- •Модель «сущность—связь» и case-средства
- •Диаграммы «сущность—связь» в стиле uml
- •Сущности и связи в uml
- •Представление слабых сущностей
- •Представление подтипов
- •Конструкции ооп, введенные языком uml
- •Роль uml в базах данных на сегодняшний день
- •Примеры
- •Вопросы группы I
- •Вопросы группы II
- •Литература по курсу «базы и банки данных»
Распределенные базы данных
Прежде чем мы завершим этот исторический обзор, необходимо обсудить два аспекта технологии баз данных, которые теоретически представляют важность, но еще не получили широкого применения. Этими аспектами являются распределенные и объектно-ориентированные базы данных. Мы обсудим их более подробно в главах 17 и 18 соответственно.
Организационные базы данных решают проблемы, характерные для систем обработки файлов, и обеспечивают более целостную обработку данных организации. Персональные и коллективные базы данных переносят технологию баз данных еще ближе к пользователям, так как управляются локально. Распределенные базы данных (distributed databases) сочетают в себе эти два типа, позволяя объединять между собой персональные, коллективные и организационные базы данных в целостные, но распределенные системы. Как таковые, они теоретически обеспечивают более гибкие варианты доступа к данным и их обработки, но в то же время ставят проблемы, многие из которых не решены до сих пор.
Сущность распределенных баз данных заключается в том, что все данные организации распылены между многими компьютерами — микрокомпьютерами, серверами локальных сетей и большими ЭВМ, которые взаимодействуют между собой в процессе обработки базы данных. Цель этих систем в том, чтобы у каждого пользователя возникало ощущение, что он — единственный пользователь данных организации, и чтобы при этом обеспечивались такие же согласованность, точность и быстродействие, какие были бы, если бы этой распределенной базой данных больше никто не пользовался.
Среди наиболее актуальных проблем распределенных баз данных можно упомянуть проблемы безопасности и контроля. Обеспечить доступ к базе данных для столь большого количества пользователей (а конкурирующих пользователей могут быть сотни) и проконтролировать, какие действия они выполняют с распределенной базой данных, — это непростые задачи.
Координация и синхронизация обработки могут вызывать затруднения. Если одна группа пользователей загружает и обновляет часть базы данных, а затем передает модифицированные данные обратно на большую ЭВМ, то как может система в это же время предотвратить попытку другого пользователя использовать старую версию данных, находящуюся в настоящий момент на большой ЭВМ? Представьте себе, что в этот процесс вовлечено огромное количество файлов, сотни пользователей и множество различного компьютерного оборудования.
Если переход от организационных баз данных к персональным и затем к коллективным происходил достаточно легко, то трудности, стоящие перед проектировщиками и разработчиками распределенных СУБД, монументальны. По правде говоря, даже при том, что работа над распределенными системами баз данных ведется вот уже более 25 лет, значительные проблемы все еще остаются. Корпорация Microsoft разработала архитектуру распределенной обработки данных и набор поддерживающих ее продуктов под названием Microsoft Transaction Server (MTS) и сейчас занимается ее построением. Хотя MTS является многообещающим проектом и среди всех компаний именно у Microsoft имеются ресурсы
для разработки и продвижения на рынок подобной системы, до сих пор остается неясным, действительно ли распределенные базы данных смогут удовлетворить каждодневные потребности организаций в сфере обработки данных. Более подробную информацию по этой теме вы найдете в главе 15, в той ее части, где идет обсуждение OLE DB.
