
- •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. О метаданных
Приложение 2. Встроенные функции
Функции – это подпрограммы, возвращающие значения, основывающиеся на значениях входных параметров. Функции можно использовать везде, где разрешены выражения, в том числе вместо параметров самих функций. Иначе говоря, допускаются вложенные функции.
Большинство функций принимает параметры в круглых скобках, причем между именем функции и открывающей скобкой не должно быть пробелов. Это помогает программе MySQL отличать имена функций от имен столбцов.
Ниже приведены функции, их форматы и краткая справочная информация. Следует иметь в виду, что это далеко не полный перечень функций.
DATABASE() – возвращает имя стандартной базы данных.
USER() – возвращает имя пользователя, начавшего текущий сеанс работы с сервером. Сообщается также имя компьютера, за котором работает пользователь.
Управляющие функции sql для MySql
Эти функции управляют выполнением программного кода.
Функция CASE
CASE – вычисляет проверяемое выражение, сравнивает его со списком значений и в зависимости от результатов проверки возвращает один из результатов.
CASE проверяемое значение
WHEN значение1 THEN возвращаемое_значение1
WHEN значение2 THEN возвращаемое_значение2
…
[ELSE значение_по_умолчанию]
END
Функция CASE WHEN
Это альтернативная форма конструкции CASE.
CASE
WHEN условие1 THEN возвращаемое_значение1
WHEN условие2 THEN возвращаемое_значение2
…
[ELSE значение_по_умолчанию]
END
Пример:
SELECT family, course,
CASE
WHEN course=1 THEN name
WHEN name="Анна" THEN "Анна"
WHEN course=3 THEN student_id
ELSE stipendia
END
FROM student;
Обратите внимание в примере, что перед словом CASE стоит запятая, отделяющая список полей от поля или выражения, выводимого этой управляющей функцией.
Функция IF
IF(условие, значение_истина, значение_ложь)
Функция возвращает различные значения в зависимости от того, истинным или ложным является проверяемое выражение. Тип результата определить заранее невозможно.
Статистические функции
Статистические функции носят также название агрегатных функций. Это функции AVG(столбец), COUNT(столбец), MAX(…), MIN(…), SUM(…). Правила записи этих функций такие же, как и для всех прочих функций. Дополнительная информация по этим функциям приведена в п.9.3.
Математические функции
В качестве аргументов большинство функций этой группы принимает числа с плавающей запятой и возвращает результат аналогичного типа.
CEILING(x) ‑ возвращает наименьшее целое значение, не меньшее значения аргумента x (округляет вверх).
EXP(x) ‑ возвращает значение экспоненциальной функции (ex).
FLOOR(x) ‑ возвращает наибольшее целое значение, не превышающее значение аргумента x (округляет вниз).
LOG(x) ‑ возвращает значение натурального логарифма аргумента х.
LOG10(x) ‑ возвращает значение десятичного логарифма аргумента х.
MOD(x,y) ‑ возвращает остаток от деления нацело х на у. Сначала оба аргумента округляются до целого значения, а затем вычисляется целочисленный остаток.
SELECT MOD(15.4,6.4) => 3
SIN(x) ‑ возвращает тригонометрический синус аргумента х. Аргумент задается в радианах.
SQRT(x) ‑ возвращает положительный квадратный корень из неотрицательного числа х.
RAND([начальное_число]) – возвращает псевдослучайное число в интервале от 0 до 1. Аргумент функции инициализирует генератор псевдослучайных чисел. Если аргумент отсутствует, используется значение системных часов.
ROUND(x[,d]) ‑ возвращает значение аргумента х (числа с плавающей запятой), округленное до d десятичных разрядов (если d не указано, число округляется до целого числа, если d отрицательно, число х округляется до d знаков слева от десятичной точки).
TAN(x) ‑ возвращает тригонометрический тангенс аргумента х. Аргумент задается в радианах.
TRANCATE(число, точность) – усекает число до требуемой точности.