
- •Введение
- •Общая схема банка данных в системе
- •Основные понятия
- •Базы данных
- •Банк данных как система управления основные понятия
- •Банк данных как автоматизированная система
- •Субд с включающим языком
- •Информационные системы
- •Документальные аис основные понятия дескриптор
- •Фактографические аис
- •Основные понятия
- •Основные данные
- •Уровни моделей
- •Классификация моделей
- •Роль подсхемы
- •Этапы проектирования базы данных
- •Архитектура банка данных
- •Последовательность действий при чтении записи
- •Инфологическое проектирование базы данных
- •Модели данных и подъязыки данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Реляционные базы данных
- •Алгебра отношений
- •Преимущества реляционных бд
- •Отношения
- •Нормализация отношений
- •Функциональная зависимость
- •Полная функциональная зависимость.
- •Проектирование баз данных.
- •Специальные операции над отношениями
- •Операции над отношениями.
- •Централизация и децентрализация процессов обработки данных.
- •Традиционный набор операций
- •Нормализация отношений
- •Исчисление отношений
- •Вторая и третья нормальные формы.
- •26. Язык запросов sql
- •1 Основы sql
- •Многотабличные запросы на чтение (объединения)
- •Сортировка результатов запроса (предложение order by)
- •Объединение результатов нескольких запросов (union)*
- •Запрос на объединение и сортировка *
- •Многотабличные запросы на чтение (объединения)
- •Простое объединение таблиц (объединение по равенству)
- •Запросы с использованием отношения предок/потомок
- •Объединения с условием для отбора строк
- •Несколько связанных столбцов
- •Запросы на чтение к трем и более таблицам
- •Чтение всех столбцов
- •Самообъединения
- •Псевдонимы таблиц
- •Правила выполнения многотабличных запросов
- •Внешнее объединение таблиц *
- •Итоговые запросы на чтение
- •Агрегатные функции
- •Агрегатные функции в списке возвращаемых столбцов
- •Запросы с группировкой (предложение group by)
- •Несколько столбцов группировки
- •Ограничения на запросы с группировкой
- •Вложенные запросы на чтение
- •Внешние ссылки
- •Вложенные запросы и объединения
- •Связанные вложенные запросы
- •Однострочный оператор insert
- •В интерактивном режиме удобно не включать в оператор insert список столбцов, так как это уменьшает длину оператора. В случае программного
- •Многострочный оператор insert
- •Удаление существующих данных
- •Удаление всех строк
- •Оператор delete с вложенным запросом *
- •Обновление существующих данных
-
Этапы проектирования базы данных
На различных этапах проектирования разрабатываются инфологическая и даталогическая концептуальные модели. Последняя часто называется концептуальной моделью. Точно также различаются внешняя инфологическая и даталогическая (внешняя модель) модели.
Задача инфологического этапа проектирования – получение семантических (смысловых) моделей, отражающих конкретное информационное содержание предметной области (ПО). Этот этап соответствует эскизному проекту базы данных.
Даталогическое проектирование включает логический и физический этапы.
Задача логического этапа проектирования – организация данных, выделенных на предыдущем этапе проектирования, в форму, принятую в выбранном конкретном СУБД, т.е. требуется разработать схему концептуальной модели из схемы внешних моделей данных предметной области, пользуясь только теми типами моделей данных и их особенностями, которые поддерживаются данной СУБД. Этот этап соответствует техническому проекту базы данных.
Задача физического этапа проектирования – выбор рациональной структуры хранения данных и методов доступа к ним, использую средства представляемых СУБД. Этот этап соответствует рабочему проектированию базы данных.
Для обеспечения независимости прикладных программ от данных вводится многоуровневая архитектура банка данных, основанная на введении нескольких моделей данных (МД).
Архитектура разделена на три основных уровня: внутренний, концептуальный и внешний. Вообще говоря, внутренний уровень очень близок к физической памяти, то есть связан со способом фактического хранения данных. Внешний уровень наиболее близок к пользователям, то есть связан с тем, как отдельные пользователи представляют себе эти данные. Концептуальный уровень есть промежуточный уровень между двумя другими.
Пользователями системы являются либо прикладные программисты, либо пользователи. В распоряжении каждого пользователя есть язык общения. Для прикладного программиста это будет язык программирования, пользователю за терминалом, возможно, будет предоставлен язык, разработанный с учетом его потребностей. Но важно то, что эти языки включают подъязык данных – подмножество языка пользователя для обработки информации в БД. Этот подъязык данных содержится в базовом языке (фактически по отношению к существующим языкам программирования, элементы подъязыка данных часто есть нечто иное, как обращение к стандартным подпрограммам).
Каждый пользователь обеспечивается рабочей областью, которая используется для приема или передачи данных между пользователем и базой данных. Для прикладного программиста рабочей областью является область ввода/вывода. Для пользователя за терминалом эта область может состоять из рабочей памяти, выделенной терминалу, или, возможно, видеоэкрана.
Отдельного пользователя, как правило, интересует только некоторая часть всей базы данных. Его представление о базе данных не совпадает с реальной физической базой данных. Поэтому на внешнем уровне вводится логическая модель данных (МД). В ней отражается структура данных, имена записей, имена и форматы полей. Для разделения логических моделей разных пользователей и обеспечения защиты данных от неавторизованного доступа логическая модель данных разбивается на два уровня представления:
- каждый пользователь представляет базу данных посредством внешней модели (ВМД). Внешняя модель является информационным содержанием базы данных в том виде, в каком его представляет конкретный пользователь. Вообще говоря, ВМД состоит из различных экземпляров внешних записей.
Каждая ВМД определяется посредством внешней схемы.
Схема – модель данных, в которой отражается только структура данных, имена и форматы полей и записей, но не дается конкретное информационное содержание.
Записи:
002011 Петрова Н.П. 1945
100567 Фомина С.Е. 1947
258341 Безруков В.И. 1950
- из отдельных внешних моделей создается единая для всех пользователей логическая модель, которая называется концептуальной МД (КМД). КМД есть представление полного информационного содержания базы данных в абстрактной форме по сравнению со способом физического хранения данных. Это представление может полностью отличаться от представления данных отдельным пользователем (ВМД). Концептуальная модель состоит из множества экземпляров различных типов концептуальных записей. КМД определяется посредством концептуальной схемы, которая включает определения каждого типа концептуальных записей. Эти определения должны быть определениями только информационного содержания.
Таким образом, концептуальная модель есть представление общего содержания базы данных, а концептуальная схема – определение этого представления.