
- •Рецензент
- •Лекция 1. Базы данных и системы управления базами данных
- •Понятие базы данных
- •Понятие системы управления базами данных
- •Обобщенная архитектура субд
- •Трехуровневая архитектура ansi-sparc
- •Достоинства и недостатки субд
- •Архитектура многопользовательских субд
- •Технология «клиент/сервер»
- •Лекция 3. Администрирование баз данных. Системный каталог Понятие независимости данных
- •Общая классификация пользователей бд
- •Администратор базы данных
- •Разделение функций администрирования
- •Лекция 4. Проектирование бд
- •Некоторые термины и определения, используемые при работе с базами данных
- •Принципы проектирования информационных систем
- •Жизненный цикл информационной системы
- •Этапы проектирования баз данных
- •Лекция 5. Семантическое моделирование
- •Лекция 6. Логическое проектирование субд Выбор субд
- •Метод ранжировки
- •Метод непосредственных оценок
- •Метод последовательных предпочтений
- •Оценка результатов экспертного анализа
- •Лекция 7. Даталогические модели данных
- •Иерархическая модель
- •Сетевая модель
- •Реляционная модель
- •Достоинства и недостатки даталогических моделей
- •Лекция 8. Нормализация бд. Часть1 Понятие функциональной зависимости[2]
- •Аксиомы вывода функциональных зависимостей
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Нормализация через декомпозицию
- •Лекция 9. Нормализация бд. Часть 2 Недостатки нормализации посредством декомпозиции
- •Нормальная форма Бойса–Кодда (нфбк)
- •Многозначные зависимости
- •Аксиомы вывода многозначных зависимостей
- •Четвертая нормальная форма
- •Зависимости соединения
- •Пятая нормальная форма
- •Обобщение этапов нормализации
- •Лекция 10. Физическая организация данных в субд Списковые структурых [2]
- •Последовательное распределение памяти
- •Связанное распределение памяти
- •Модель внешней памяти
- •Лекция 11. Методы поиска и индексирования данных Последовательный поиск [2]
- •Бинарный поиск
- •Индекс - «бинарное дерево»
- •Неплотный индекс
- •Плотный индекс
- •Инвертированный файл
- •Лекция 12. Реляционная модель данных Понятие отношениях
- •Формы представления отношений
- •Теоретические языки запросов
- •Определение реляционной полноты
- •Лекция 13. Распределенные базы данных и субд
- •Основные определения, классификация распределенных систем
- •Преимущества и недостатки распределенных субд
- •Функции распределенных субд
- •Архитектура распределенных субд
- •Лекция 15. Общее введение в sql, типы данных и средства определения доменов Часть 1. Введение
- •Краткая история языка sq [12]
- •Структура языка sql
- •Типы данных sql
- •Tочные числовые типы
- •Истинно целые типы
- •Точные типы, допускающие наличие дробной части
- •Приближенные числовые типы
- •Типы символьных строк
- •Типы битовых строк
- •Лекция 16. Общее введение в sql, типы данных и средства определения доменов Часть 2. Типы даты и времени
- •Тип даты
- •Типы времени
- •Типы временной метки
- •Типы времени и временной метки с временной зоной
- •Типы временных интервалов
- •Булевский тип
- •Типы коллекций
- •Типы массивов
- •Типы мультимножеств
- •Анонимные строчные типы
- •Типы, определяемые пользователем
- •Ссылочные типы
- •Средства определения, изменения определения и отмены определения доменов
- •Определение домена
- •Примеры определений доменов
- •Изменение определения домена
- •Примеры изменения определения домена
- •Отмена определения домена
- •Неявные и явные преобразования типа или домена
- •Неявные преобразования типов в sql
- •Явные преобразования типов или доменов и оператор cast
- •Заключение
- •Тезаурус
- •12. Кузнецов с. Д. Базы данных. Вводный курс. Http://citforum.Ru/database/advanced_intro/
Администратор базы данных
Администратор базы данных – человек (или группа лиц), имеющий' полное представление об одной или нескольких базах данных и контролирующий их проектирование и использование. Отвечает за состояние базы данных в организации (учреждении) на протяжении ее жизненного цикла. Функциями АБД являются [17, 24]:
решение вопросов организации данных об объектах предметной области и установлении связей между этими данными с целью объединения информации о различных объектах; согласование представлений пользователей;
координация всех действий по проектированию, реализации и ведению БД; учет перспективных и текущих требований пользователей;
решение вопросов, связанных с расширением БД в связи с изменением границ предметной области;
разработка и реализация мер по обеспечению защиты данных от некомпетентного использования, от сбоев технических средств, по обеспечению секретности определенной части данных и разграничению доступа к данным;
выполнение работ по ведению словаря данных; контроль неизбыточности и непротиворечивости данных, их достоверности;
обеспечение заданной производительности БД, чтобы обработка запросов выполнялась за приемлемое время;
изменение при необходимости методов хранения данных, путей доступа к ним, связей между данными, форматов данных; определение степени влияния изменений на всю БД;
координация вопросов технического обеспечения системы аппаратными средствами исходя из требований, предъявляемых БД к оборудованию;
координация работы системных программистов, разрабатывающих дополнительное программное обеспечение для улучшения эксплуатационных характеристик системы;
координация работы прикладных программистов, разрабатывающих новые пакеты программ и выполнение их проверки и включение в состав программного обеспечения системы.
Таким образом, при реализации достаточно сложных проектов, группа АБД может включать ряд специалистов, представленных на рис. 3.2.[24].
Разделение функций администрирования
В некоторых очень сложных предметных областях функции администрирования автоматизированной информационной системы могут быть распределены между администратором данных (АД) и администраторам базы данных (АБД),
Рис. 3.2. Состав группы АБД
Специфика обязанностей АД к АБД на этапах жизненного цикла автоматизированной информационной системы представлена в табл. 3.1 [10].
Таблица 3.1
Этап |
Основная роль |
Вспомогательная роль |
Планирование разработки базы данных |
АД |
АБД |
Определение требований к системе |
АД |
АБД |
Сбор и анализ требований пользователей |
АД |
АБД |
Концептуальное проектирование базы данных |
АД |
АБД |
Выбор целевой СУБД |
АБД |
АД |
Логическое проектирование базы данных |
АБД |
АД |
Разработка приложений |
АБД |
АД |
Физическое проектирование базы данных |
АБД |
АД |
Создание прототипов |
АБД |
АД |
Реализация |
АБД |
АД |
Конвертирование и первичная загрузка данных |
АБД |
АД |
Тестирование |
АБД |
АД |
Эксплуатация и сопровождение |
АБД |
АД |
При таком делении функций администрирования к задачам администрирования данных относятся следующие.
Разработка стратегии построения информационной системы.
Предварительная оценка осуществимости и планирование процесса создания базы данных.
Разработка корпоративной модели данных.
Определение требований организации к используемым данным.
Определение стандартов сбора данных и выбор формата их представления.
Оценка объемов данных и вероятности их роста.
Определение способов и интенсивности использования данных.
Определение правил доступа к данным и мер безопасности соответствующих правовым нормам и внутренним требованиям организации.
Концептуальное проектирование базы данных.
Взаимодействие с АБД и разработчиками приложений.
Обучение пользователей существующим стандартам обработки данных и юридической ответственности за их некорректное применение.
Постоянная модернизация используемых информационных систем и технологий.
Обеспечение полноты всей требуемой документации.
Поддержка словаря данных.
Взаимодействие с конечными пользователями для определения новых требований и разрешения проблем, связанных с доступом к данным и недостаточной производительностью их обработки.
Деятельность АДБ по сравнению с АД является в большей мере технической. Основные задачи администратора БД при наличии АД следующие [10].
Оценка и выбор целевой СУБД.
Логическое и физическое проектирование базы данных.
Реализация физического проекта базы данных в среде целевой СУБД.
Определение требований защиты и поддержки целостности данных.
Взаимодействие с разработчиками приложений баз данных.
Разработка стратегии тестирования.
Обучение пользователей.
Ответственность за сдачу в эксплуатацию готового приложения базы данных.
Контроль текущей производительности системы и соответствующая настройка базы данных.
Регулярное резервное копирование.
Разработка требуемых механизмов и процедур восстановления.
Обеспечение полноты используемой документации, включая материалы, разработанные внутри организации.
Поддержка актуальности используемого программного и аппаратного обеспечения, включая заказ и установку пакетов обновлений в случае необходимости.
Результаты сравнительного анализа задач администрирования данных и администрирования базы данных представлены в табл. 3.2 [10], из которой видно, что работа АД является в большей степени управленческой, а работа АБД – технической.
Средства администрирования баз данных
Учитывая сложность и важность функций АБД, легко предположить, что для их успешного выполнения, у администратора должны быть специальные средства администрирования.
К основным из таких средств администрирования можно отнести:
1) язык определения данных;
2) язык манипулирования данными;
3) словарь данных (системный каталог ).
Вкратце остановимся на назначении перечисленных средств.
Для работы с данными в СУБД предусмотрен внутренний язык, состоящий из двух частей: языка определения данных (Data Definition Language – DDL) и языка манипулирования данными (Data Manipulation Language – DML). Эти языки еще называются подъязыками данных, т.к. в них отсутствуют конструкции для выполнения всех вычислительных операций, обычно используемых в языках программирования высокого уровня. Во многих СУБД предусмотрена возможность внедрения операторов подъязыка данных в программы на языках высокого уровня. В этом случае язык высокого уровня принято называть базовым или включающим языком.
Таблица 3.2
Администрирование данных |
Администрирование базы данных |
Участвует в стратегическом планировании информационной системы организации |
Оценивает новые СУБД |
Определяет долгосрочные цели |
Выполняет планы достижения целей |
Применяет стандарты, политики и процедуры |
Применяет стандарты, политики и процедуры |
Определяет требования к данным |
Реализует требования к данным |
Выполняет концептуальное проектирование базы данных |
Выполняет логическое и физическое проектирование базы данных |
Разрабатывает и сопровождает корпоративную модель данных |
Реализует физический проект базы данных |
Координирует разработку системы |
Выполняет текущий контроль и управление базой данных |
Управленческая направленность |
Техническая направленность |
Работа не зависит от типа целевой СУБД |
Работа зависит от типа целевой СУБД |
Язык определения данных (ЯОД, DDL) - формальный закон, используемый в некоторой модели данных для определения структуры, баз данных [17].
Результат компиляции операторов ЯОД – набор таблиц» хранимых в особых файлах, называемых словарями данных или системными каталогами.
Посредством ЯОД обычно определяются подразделения данных, типовые структуры и правила их композиции, присваиваются имена данным, определяются типы элементов данных посредством задания присущих им свойств, учреждаются ключи базы данных, а также определяются отношения между данными, упорядоченность данных внутри их совокупностей, правила проверки достоверности данных и замки защиты от неправомочного использования их.
Обычно в ЯОД не определяются техника запоминания или поиска данных на физических носителях и другие особенности их физической организации, что обусловлено одной из основных концепций базы данных – независимостью логической структуры данных от физических особенностей их хранения. ЯОД обычно полностью независим от языка манипулирования данными. Следовательно, определение данных в базах данных независимо от программ обработки, что является второй важной концепцией использования баз данных.
Язык манипулирования данными (ЯМД, DML) – совокупность языковых средств для организации доступа к данным в некоторой модели данных и в соответствующих ей СУБД [17].
Может выступать в роли языка запросов, прямо обеспечивающего информационное обслуживание пользователей баз данных, или быть расширением некоторого языка программирования, называемого базовым (включающим) языком, с конструкциями и понятиями которого ЯМД должен быть согласован. Операторы ЯМД позволяют извлекать данные из баз данных, создавать или модифицировать последние.
К основным операциям манипулирования данными относятся:
вставка в БД новых сведений;
модификация сведений, хранимых в БД;
извлечение сведений, содержащихся в БД;
удаление сведений на БД.
ЯМД отличаются базовыми конструкциями манипулирования данными. Отличают два их типа:
а) процедурные ЯМД;
б) непроцедурные (декларативные) ЯМД.
С помощью, процедурного языка пользователь (программист) указывает на то, кол; можно получить необходимые данные из определенного набора данных. Т.е. пользователь должен определить все операции доступа К данным, чтобы получить результат. При этом предполагается знание пользователем деталей внутренней , организации структур данных в БД.
С помощью непроцедурных языков пользователь указывает какие данные ему нужны, без определения способа их получения. Данный подход освобождает пользователя от необходимости знать подробности внутренней организации БД. Работа пользователя обретает некоторую независимость от данных.
В общем случае язык запросов – часть ЯМД, высокоуровневый узкоспециализированный язык, предназначенный для удовлетворения различных требований по выборке данных из БД.
СУБД должна иметь доступный конечным пользователям каталог, в котором хранится описание элементов данных.
Словарь данных (системный каталог) – специальная система в составе БД, содержащая информацию обо всех ресурсах системы (см. рис. 3.3).
В словаре данных (системном каталоге) интегрированы метаданные – данные об объектах базы данных, позволяющие упростить способ доступа к ним и управление ими. Перед доступом к реальным данным СУБД обращается к системному каталогу.
Ключевой особенностью архитектуры ANSI/SPARC является наличие интегрированного системного каталога с данными о схемах, пользователях, приложениях и т.д. Предполагается, что каталог доступен как пользователям, так и функциям СУБД. В зависимости от типа используемой СУБД количество информации и способ ее применения могут варьироваться. Обычно в системном каталоге хранятся следующие сведения:
имена, типы и размеры элементов данных;
имена связей;
накладываемые на данные ограничения поддержки целостности;
имена зарегистрированных пользователей, которым предоставлено право доступа к данным;
внешняя, концептуальная и внутренняя схемы и , отображения между ними;
статистические данные, например частота транзакций и счетчики обращений к объектам базы данных.
Рис. 3.3. Примерная структура словаря данных
Системный каталог позволяет достичь определенных преимуществ, перечисленных ниже.
Информация о данных может быть централизованно собрана и сохранена, что позволит контролировать доступ к этим данным, как и к любому другому ресурсу.
Можно определить смысл данных, что поможет другим пользователям понять их предназначение.
Упрощается сообщение, так как сохраняются точные определения смысла данных. В системном каталоге также могут быть указаны один или несколько пользователей, которые являются владельцами данных или обладают правом доступа к ним.
Благодаря централизованному хранению избыточность и противоречивость описания отдельных элементов данных могут быть легко обнаружены.
Внесенные в базу данных изменения могут быть запротоколированы.
Последствия любых изменений могут быть определены еще до их внесения, поскольку в системном каталоге зафиксированы все существующие элементы данных, установленные между ними связи, а также все их пользователи.
Меры обеспечения безопасности могут быть дополнительно усилены.
Появляются новые возможности организации поддержки целостности данных.
Может выполняться аудит сохраняемой информации.
Системный каталог СУБД является одним из фундаментальных компонентов системы. Программные компоненты строятся на использовании данных, хранящихся в системном каталоге. Например, модуль контроля прав доступа использует системный каталог для проверки наличия у пользователя полномочий, необходимых для выполнения запрошенных им операций. Для проведения подобной проверки системный каталог должен включать следующие компоненты:
имена пользователей, для которых разрешен доступ к базе данных;
имена элементов данных в базе данных;
элементы данных, к которым каждый пользователь имеет право доступа, и разрешенные типы доступа к ним – для вставки, обновления, удаления или чтения.
Другим примером могут служить средства проверки целостности данных, которые используют системный каталог для проверки того, удовлетворяет ли запрошенная операция всем установленным ограничениям поддержки целостности данных. Для выполнения этой проверки в системном каталоге должны храниться такие сведения:
имена элементов данных из базы данных;
типы и размеры элементов данных;
ограничения, установленные для каждого из элементов данных.
Термин «словарь данных» часто используется для программного обеспечения более общего типа, чем просто каталог СУБД. Система словаря данных может быть либо пассивной, либо активной. Активная система всегда согласуется со структурой базы данных, поскольку она автоматически поддерживается этой системой. Пассивная система может противоречить состоянию базы данных из-за инициируемых пользователями изменений. Если словарь данных является частью базы данных, то он называется интегрированным словарем данных. Изолированный словарь данных обладает своей собственной специализированной СУБД. Его предпочтительно использовать на начальных этапах проектирования базы данных для некоторой организации, когда требуется отложить на какое-то время привязку к конкретной СУБД. Однако недостаток этого подхода заключается в том, что после выбора СУБД и воплощения базы данных изолированный словарь данных значительно труднее поддерживать в согласии с состоянием базы данных.
Эту проблему можно было бы свести к минимуму, если преобразовать использовавшийся при проектировании словарь данных непосредственно в каталог СУБД.