
- •1. История развития баз данных
- •3. Модели данных [1]
- •1. История развития баз данных
- •1.1. Файлы и файловые системы
- •1.2. Базы данных на больших эвм
- •1.3. Эпоха персональных компьютеров
- •1.4. Распределенные базы данных
- •1.5. Особенности настоящего периода:
- •2. Проблемы обработки информации
- •Основные функции субд
- •Типовая организация современной субд
- •3. Модели данных [1]
- •3.1. Системы управления файлами
- •3.2. Иерархические базы данных
- •3.3. Сетевые базы данных
- •3.4. Реляционные базы данных
- •Недостатки реляционных систем
- •3.5. Объектно-ориентированные базы данных
- •Преимущества и недостатки оосубд [8, с.817]
- •3.6. Объектно-реляционные базы данных
- •4. Реляционная модель данных [2]
- •5. Операции над отношениями
- •5.1. Теоретико-множественные операции реляционной алгебры
- •5.1.1 Объединение отношений
- •5.1.2. Пересечение отношений
- •5.1.3. Разность отношений
- •5.1.4. Расширенное декартово произведение
- •5.2. Специальные операции реляционной алгебры
- •5.2.1. Операция фильтрации
- •5.2.2. Операция проектирования
- •5.2.3. Операция условного соединения
- •5.2.4. Операция деления
- •5.2.5.Примеры использования операций реляционной алгебры
- •Целостность [8]
- •6. Проектирование бд Жизненный цикл бд
- •Проектирование бд
- •Проектирование бд с учетом конкретной архитектуры Архитектура клиент-сервер
- •Структура сервера базы данных
- •Проектирование распределенных бд
- •11.1. Концепции распределенных баз данных
- •Этапы проектирования реляционной базы данных
- •6.1. Разработка технического задания
- •6.2. Разработка структуры бд
- •6.3. Нормализация
- •6.3.1. Первая нормальная форма
- •6.3.2. Вторая нормальная форма
- •6.3.3. Третья нормальная форма
- •6.3.4. Нормальная форма Бойса-Кодда
- •6.3.5. Четвертая и пятая нормальные формы
- •6.3.6. Денормализация
- •Проектирование реляционной базы данных на основе декомпозиции универсального отношения (плоской таблицы)
- •7.Язык запросов sql (Structured Query Language)
- •7.1. История развития
- •7.2. Как работает sql?
- •7.3. Интерактивный и встроенный sql
- •7.4. Типы данных
- •7.6. Оператор выбора select (MySql)
- •7.6.1. Предикаты предложения where
- •7.6.2. Примеры использования оператора select
- •7.6.3. Применение агрегатных функций и вложенных запросов в операторе выбора
- •8. Система управления базами данных (субд) MySql
- •8.1. Преимущества MySql перед другими субд. Недостатки
- •8.2. Инструментарий, поставляемый с MySql
- •8.3. Установка и завершение связи с сервером
- •8.4. Команды sql для MySql. Правила оформления листингов
- •8.5. Основы использования MySql
- •8.5.1. Замечания по организации работ с MySql
- •8.5.2. Программы MySql
- •8.5.2.1. Стандартные опции программ MySql
- •8.5.2.2. Конфигурационные файлы
- •8.5.2.3. Переменные среды
- •8.5.2.4. Клиенты mysql и mysqlc
- •Программирование приложений
- •Использование специализированных библиотек и встраиваемого sql
- •Odbc - открытый интерфейс к базам данных на платформе ms Windows
- •Jdbc - мобильный интерфейс к базам данных на платформе Java
- •9. Администрирование бд
- •9.1. Управление данными на предприятии
- •9.2. Основные функции dba
- •9.3. Администрирование в MySql [1])
- •9.3.1. Обеспечение доступности данных
- •9.3.2. Поддержание целостности данных
- •9.3.3. Подготовка к катастрофе
- •9.3.4. Поддержка пользователей
- •9.3.5. Разработка и внедрение стандартов
- •9.3.6. О хранении данных
- •9.3.6.1. Журнал транзакций
- •9.3.6.2. Журнальные файлы
- •9.3.7. Безопасность
- •9.3.7.1. Схемы привилегий
- •9.3.7.2. Задание привилегий
- •9.3.8. Оптимизация
- •9.3.8.1. Оптимизация запросов
- •9.3.8.2. Оптимизатор запросов
- •9.3.8.3. Выбор типа столбцов и эффективность запросов
- •9.3.8.4. Эффективная загрузка данных
- •9.3.8.5. Оптимизация для администратора
- •10. Транзакции и параллельные вычисления
- •10.1. Параллельные запросы
- •10.2. Транзакции
- •10.3. Уровни изоляции
- •10.4. Выполнение транзакций
- •10.5. Блокировки
- •10.6. Программные блокировки
- •Мониторы транзакций
- •12. Направления и тенденции развития баз данных
- •12.1. Ограничения реляционных систем
- •12.2. Особенности построения информационных хранилищ
- •Что достигается через использование технологии хранилищ данных?
- •Проблемы хранилищ данных
- •12.3. Olap-технология
- •Правила для olap-систем
- •12.3.1. Реляционные olap-системы
- •12.3.2. Многомерные olap-системы
- •12.3.3. Принципы построения многомерной базы данных
- •12.4. Oltp-технологии
- •13. Интеграция субд в среду Web
- •13.1. Публикация бд в Интернете
- •13.1.1. Общие концепции публикации бд в Интернете
- •13.1.2. Технологии публикации бд в Internet.
- •13.2. Сценарии JavaScript, jScript и vbScript
- •13.3. Элементы управления ActiveX
- •13.4. Апплеты и сервлеты Java
- •13.5. Интерфейсы
- •13.5.1. Интерфейсы cgi и WinCgi
- •13.5.2. Интерфейс isapi/nsapi
- •13.5.3. Asp, php, idc/htx-страницы
- •13.5.4. Формирование Web-страниц
- •13.5.5. Интерфейсы ole db, ado, odbc
- •13.6. Статическая публикация бд
- •13.7. Динамическая публикация бд
- •13.9. Протоколы передачи гипертекста
- •13.10. Универсальный указатель ресурсов
- •13.11. Состав и теги html-документа
- •13.15. Двухуровневые Web-приложения
- •13.16. Трехуровневые Web-приложения
- •13.17. Многоуровневые Web-приложения
- •13.18. Характеристики интерфейсов ole db, ado и odbc
- •Список использованной литературы
- •Приложения 1. Типы таблиц, поддерживаемых MySql
- •Приложение 2. Встроенные функции
- •Управляющие функции sql для MySql
- •Статистические функции
- •Математические функции
- •Строковые функции
- •Функции работы с датой и временем
- •Приложение 3. Инструкции языка sql для MySql
- •Приложение 4. Маленькая база для маленькой компании (OpenOffice_MySql) Приложение 5. MySql – начинающим администраторам Приложение 6. О метаданных
9.3.2. Поддержание целостности данных
Данные – важнейший актив организации. Попробуйте оценить стоимость потерянной информации. Если мебель, оборудование и даже работников можно заменить, то данные можно заменить далеко не всегда.
Целостность базы данных должна защищаться административными мерами.
Желательно минимизировать число учетных записей на сервере.
Не надо выдавать учетные записи пользователям БД без особой необходимости.
Пусть пользователи подключаются в режиме удаленного доступа с помощью клиентских программ из своих собственных систем.
Надо задать список узлов, от которых можно принимать запросы. Одних лишь имени пользователя и пароля недостаточно. Должен быть задан еще и перечень разрешенных IP-адресов.
Сам компьютер, на котором запущен сервер, должен находиться в изолированном помещении с ограниченным доступом.
Следует регулярно проверять таблицы привилегий и журнальные файлы для выявления нарушений безопасности. Если дампы базы данных mysql создаются регулярно, можно сравнить отличия предыдущего дампа от текущего. Если в таблице обнаружено повреждение, его можно немедленно исправить. При соответствующей настройке демон будет пытаться автоматически восстановить поврежденные таблицы. Это хорошее решение на случай непредвиденных аварий.
Регулярный просмотр журнальных файлов позволяет выявить необычные операции, обнаружить признаки неэффективной организации таблиц, а также наличие в них ошибок. Для поиска ошибок и восстановления таблиц у демона mysqld есть специальная опция --myisam-recover, при наличии которой в строке запуска демон будет пытаться автоматически восстановить поврежденные таблицы. Это хорошее решение на случай непредвиденных аварий, например, таких, которые происходят вследствие внезапного выключения питания.
9.3.3. Подготовка к катастрофе
После того как предприятие доверило свои данные системе баз данных, оно стало критически зависимым от успешного функционирования системы. В случае повреждения какой-либо части базы данных неважно по какой причине очень важно иметь возможность восстановить данные с минимальной задержкой и с наименьшим воздействием на остальную часть системы. Администратор базы данных должен определить и реализовать подходящую схему восстановления БД на любой случай
Компьютер должен находиться в изолированном помещении. Систему надо защищать не только от незаконного проникновения, но и от физических повреждений, в том числе от природных катаклизмов. Обеспечьте бесперебойное питание системы, т.к. внезапные потери питания способны привести к повреждению таблиц.
Стопроцентной защиты от катастроф не существует. Катастрофы могут быть вызваны природными явлениями, и их последствия иногда бывают ужасающими, но чаще всего они происходят по вине пользователей. Необходимо:
регулярно создавать резервные копии и хранить их вне сервера;
тестировать средства восстановления данных;
регулярно проверять архивы, чтобы защитить себя от неприятных сюрпризов.
9.3.4. Поддержка пользователей
Новые пользователи должны быть посвящены в детали функционирования системы. Нужно не только создать для них учетные записи, но и познакомить с существующим порядком работы. По мере знакомства пользователей с возможностями сервера базы данных разрастаются, а пользователи изобретают новые способы взаимодействия с сервером.
Администратор должен понимать, зачем пользователям нужна та или иная база данных. Есть смысл потратить время на изучение операций, выполняемых над хранимыми в ней данными.
Зная структуру системы, администратор может подсказать пользователям наиболее эффективные способы решения основных задач.
Хорошо бы сделать краткий обзор утилит, имеющихся в распоряжении пользователей, и источники получения дополнительной информации.
Нужно заранее предусмотреть ситуацию, когда кто-то из пользователей попытается выйти за рамки установленных привилегий или монополизировать системные ресурсы.
Администратор может потребовать от пользователей составлять отчеты о замеченных аномалиях.