- •Учебное пособие для подготовки к экзамену по дисциплине «базы данных»
- •1. Этапы развития баз данных. Принципы их работы.
- •Базы данных. Предпосылки возникновения баз данных.
- •Основная терминология.
- •2. Архитектура баз данных. Процесс прохождения пользовательского запроса.
- •Процесс прохождения пользовательского запроса
- •3. Пользователи баз данных.
- •Администраторы данных и администраторы баз данных
- •Разработчики баз данных.
- •Пользователи
- •4. Модели данных. Классификация.
- •Объектные модели данных
- •Модели данных на основе записей
- •Физические модели данных
- •Концептуальное моделирование
- •5. Этапы разработки информационной структуры базы данных
- •6. Реляционная модель данных. Основные понятия и определения.
- •Альтернативная терминология
- •Свойства отношений
- •Виды отношений
- •Основные виды связей
- •7. Первичные и внешние ключи. Непротиворечивость и целостность данных
- •Средства поддержки целостности данных (см. Dcl sql и т.Т.)
- •Реляционная алгебра
- •Выборка (или ограничение)
- •Проекция
- •Декартово произведение
- •Объединение
- •Разность
- •Операция соединения
- •Пересечение
- •Деление
- •Принципы нормализации. Описание предметной области. Нормальные формы.
- •Модель «Сущность-связь». Er - модель. Типы связей: «один к одному», «многие к одному», «один ко многим», «многие ко многим»
- •Язык sql, его достоинства. Классификация операторов sql
- •Успех sql принесли следующие его достоинства:
- •Классификация операторов sql
- •Типы данных sql. Оператор выбора select
- •Скалярные операторы
- •Оператор выбора select. Формирование запросов из базы данных
- •Примеры запросов
- •Агрегатные функции, вложенные запросы в операторе выбора.
- •Операторы манипулирования данными
- •Команда insert
- •Values ('Иванов и.И.', 546237);
- •Insert into t1 (fio, pasport) values ('Иванов и.И.', 546237);
- •Insert into t1 (fio) values ('Петров п.П.');
- •Команда update
- •Команда delete
- •Работа с триггерами
- •Модели "Клиент-сервер" в технологии баз данных
- •Работа технологии "клиент-сервер"
- •Модели транзакций. Свойства. Способы завершения Поддержка транзакций
- •Улучшенные модели транзакций
- •Модель вложенных транзакций
- •Эмуляция механизма вложенных транзакций с помощью точек сохранения
- •Хроники
- •Модель многоуровневых транзакций
- •Динамическая реструктуризация
- •Модели рабочих потоков
- •Журнал транзакций. Восстановление после сбоев. Назначение атрибутов пользователей
- •Контроль сеансов доступа к данным
- •Уровни защиты бд
- •Виды привилегий
- •Привилегии доступа к объектам
- •Методы восстановления
- •Метод восстановления с использованием отложенного обновления
- •Метод восстановления с использованием немедленного обновления
- •Защита информации в базах данных
- •Контрмеры – компьютерные средства контроля
- •Архитектура субд. Перспективы развития баз данных и субд
- •Традиционная двухуровневая архитектура "клиент-сервер"
- •Трехуровневая архитектура
- •Субд для хранилища данных
- •Требования к субд для хранилища данных
- •Высокая производительность загрузки данных
- •Возможность обработки данных во время загрузки
- •Наличие средств управления качеством данных
- •Высокая производительность запросов
- •Широкая масштабируемость по размеру
- •Масштабируемость по количеству пользователей
- •Возможность организации сети хранилищ данных
- •Наличие средств администрирования хранилища
- •Поддержка многомерного интегрированного анализа
- •Расширенный набор функциональных средств запросов
- •Параллельные субд
- •Интерактивная аналитическая обработка данных (olap)
- •Литература, рекомендуемая при самоподготовке
3. Пользователи баз данных.
В этом разделе мы рассмотрим упомянутый выше пятый компонент среды СУБД - ее пользователей. Среди них можно выделить четыре различные группы: администраторы данных и баз данных, разработчики баз данных, прикладные программисты и конечные пользователи.
Администраторы данных и администраторы баз данных
База данных и СУБД являются корпоративными ресурсами, которыми следует управлять так же, как и любыми другими ресурсами. Обычно управление данными и базой данных предусматривает управление и контроль за СУБД и помещенными в нее данными. Администратор данных, или АД, отвечает за управление данными, включая планирование базы данных, разработку и сопровождение стандартов, бизнес-правил и деловых процедур, а также за концептуальное и логическое проектирование базы данных. АД консультирует и дает свои рекомендации руководству высшего звена, контролируя соответствие общего направления развития базы данных установленным корпоративными целями.
Администратор базы данных, или АБД, отвечает за физическую реализацию базы данных, включая физическое проектирование и воплощение проекта, за обеспечение безопасности и целостности данных, за сопровождение операционной системы, а также за обеспечение максимальной производительности приложений и пользователей. По сравнению с АД, обязанности АБД носят более технический характер, и для него необходимо знание конкретной СУБД и системного окружения. В одних организациях между этими ролями не делается различий, а в других важность корпоративных ресурсов отражена именно в выделении отдельных групп персонала с указанным кругом обязанностей.
Разработчики баз данных.
В проектировании больших баз данных участвуют два разных типа разработчиков: разработчики логической базы данных и разработчики физической базы данных. Разработчик логической базы данных занимается идентификацией данных (т.е. сущностей и их атрибутов), связей между данными и устанавливает ограничения, накладываемые на хранимые данные. Разработчик логической базы данных должен обладать всесторонним и полным пониманием структуры данных организации и ее бизнес-правил. Бизнес-правила описывают основные характеристики данных с точки зрения организации. Ниже приводятся примеры типичных бизнес-правил:
Любой сотрудник не может отвечать одновременно более чем за десять сдаваемых в аренду или продаваемых объектов недвижимости.
Любой сотрудник не имеет права продавать или сдавать в аренду свою собственную недвижимость.
Доверенное лицо не может выступать одновременно и как покупатель, и как продавец недвижимости.
Для эффективной работы разработчик логической базы данных должен как можно раньше вовлечь всех предполагаемых пользователей базы данных в процесс создания модели данных. Работа разработчика логической базы данных обычно делится на два этапа.
Концептуальное проектирование базы данных, которое совершенно не зависит от таких деталей ее воплощения, как конкретная целевая СУБД, приложения, языки программирования или любые другие физические характеристики.
Логическое проектирование базы данных, которое проводится с учетом особенностей выбранной модели данных: реляционной, сетевой, иерархической или объектно-ориентированной.
Разработчик физической базы данных получает готовую логическую модель данных, занимается ее физической реализацией, в том числе:
преобразованием логической модели данных в набор таблиц и ограничений целостности данных;
выбором конкретных структур хранения и методов доступа к данным, обеспечивающих необходимый уровень производительности при работе с базой данных;
проектированием любых требуемых мер защиты данных.
Многие этапы физического проектирования базы данных в значительной степени зависят от выбранной целевой СУБД, а потому может существовать несколько различных способов воплощения требуемой схемы. Следовательно, разработчик физической базы данных должен разбираться в функциональных возможностях целевой СУБД и понимать достоинства и недостатки каждого возможного варианта воплощения. Разработчик физической базы данных должен уметь выбрать наиболее подходящую стратегию хранения данных с учетом всех существующих особенностей их использования. Если концептуальное и логическое проектирование базы данных отвечает на вопрос "что?", то физическое проектирование отвечает на вопрос "как?". Для решения этих задач требуются разные навыки работы, которыми чаще всего обладают разные люди.
Прикладные программисты.
Сразу после создания базы данных следует приступить к разработке приложений, предоставляющих пользователям необходимые им функциональные возможности. Именно эту работу и выполняют прикладные программисты. Обычно прикладные программисты работают на основе спецификаций, созданных системными аналитиками. Как правило, каждая программа содержит некоторые операторы, требующие от СУБД выполнения определенных действий с базой данных - например, таких как извлечение, вставка, обновление или удаление данных. Как уже упоминалось в предыдущем разделе, эти программы могут создаваться на различных языках программирования третьего или четвертого поколения.