
- •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. О метаданных
8.5.1. Замечания по организации работ с MySql
В базе данных информация представлена единообразно. Сведения о том, как структурированы данные и как они связаны друг с другом, хранятся в самой базе данных в виде метаданных. Это позволяет СУБД иметь в своем распоряжении универсальные подпрограммы.
СУБД обеспечивает возможность многопользовательской работы. Базы данных контролируют все обращения к хранимой информации и могут выполнять несколько запросов одновременно.
СУБД MySQL допускает применение одноименных таблиц несколькими пользователями. Таблицы хранятся в различных базах данных, и СУБД MySQL не позволит им пересечься.
Для успешной эксплуатации СУБД MySQL должна быть соответствующим образом установлена. Пользователь должен иметь доступ к клиентам СУБД MySQL (по крайней мере клиентские программы mysql или mysqlc должны быть на вашем компьютере). Что же касается сервера СУБД MySQL, то он может быть установлен как на вашем, так и на другом компьютере, с которым может быть установлена связь.
MySQL можно инсталлировать двумя способами:
скомпилировав исходные коды программы или
воспользовавшись предварительно скомпилированными двоичными файлами.
Первый способ допускает больше возможностей в плане конфигурации, но более продолжителен. Второй вариант удобнее, так как есть готовые дистрибутивы для многих операционных систем.
В целом лучше выбирать самую новую версию MySQL. Исключение составляют лишь альфа-версии системы, в которых вводятся новые функциональные возможности. Программа MySQL отвечает самым высоким критериям качества и надежности, поэтому ее бета-версии зачастую вполне сопоставимы с финальными версиями других программ.
Программа MySQL работает не со списком пользователей, который есть у операционной системы, у нее ‑ своя таблица пользователей. Тем не менее, если при работе с имеющимися клиентскими программами не ввести имя пользователя в процессе регистрации на сервере, будет подставлено системное имя пользователя.
В рамках учебного курса в основном будет изучаться использование клиентской программы mysql (mysqlc). Однако следует помнить, что помимо указанных имеется достаточно большой набор других клиентских программ.
8.5.2. Программы MySql
MySQL состоит из достаточно большого набора программ (утилит). Ниже рассматриваются назначение, синтаксис вызова, поддерживаемые опции и используемые переменные.
Основные утилиты следующие:
mysqlaccess – Perl-сценарий, проверяющий привилегии заданных узла, пользователя и базы данных.
mysqladmin – утилита, которая выполняет ряд административных задач. С помощью утилиты на сервер посылаются команды, обычно разрешенные лишь администратору базы данных.
mysqld – это сервер MySQL, работающий в фоновом режиме, принимая запросы от клиентов (демон MySQL). Эта программа обеспечивает клиентам доступ к управляемым базам данных:
mysqld-max – версия сервера, скомпилированная с включением всех возможных опций;
mysqld-nt – версия сервера, скомпилированная для систем Windows NT и Windows 2000. Включена поддержка именованных каналов;
mysqld-opt – версия сервера, оптимизированная для процессоров Pentium и рекомендуемая для Windows 95 и Windows 98;
mysqld-multi – позволяет запускать несколько серверов MySQL одновременно.
mysqldump – утилита резервирования содержимого таблиц баз данных в текстовых файлах. Она извлекает информацию из указанной базы данных и формирует SQL-инструкции, предназначенные для воссоздания указанных таблиц в другой базе данных. Полученные инструкции записываются в поток stdout. Как минимум, это будут инструкции CREATE TABLE и INSERT.
mysqlimport – импортирует записи в таблицы из указанного текстового файла. Это оболочка инструкции LOAD DATA INFILE, обеспечивающая импорт записей в таблицы.
mysqlshow – утилита, обеспечивающая сбор информации о базах данных и таблицах, возвращает информацию о базах данных и таблицах. Это оболочка инструкций SHOW DATABASES, SHOW TABLES и SHOW COLUMNS. При отсутствии опций будет выдан список баз данных.
perror – возвращает описание числового кода ошибки.
Есть еще достаточно большой набор утилит (isamchk, myisamchk, myisampack, pack_isam) и сценариев (mysql.server, mysqlbug, safe_mysqld), которые обеспечивают решение тех или иных задач при работе с СУБД, но их изучение рационально только при необходимости. Две утилиты: mysql и mysqlc ‑ будут рассмотрены далее.