- •Разработка баз данных средствами MySql
- •Содержание
- •Введение
- •1. Основы работы в субд MySql
- •Системы управления базами данных
- •Основные характеристики MySql
- •Команда create database
- •Работа с таблицами
- •Синтаксис команды create table
- •Удаление таблиц
- •Синтаксис команды drop table
- •Типы данных
- •Числовые данные
- •Строковые данные
- •Календарные данные
- •Тип данных null
- •Выбор типа данных
- •1 Вариант.
- •2 Вариант.
- •3 Вариант.
- •2. Работа с таблицами. Ввод, извлечение, поиск и удаление данных Запись данных в таблицы
- •Заполните таблицу employee_data 5-10 записями. Запрос данных из таблицы MySql
- •Выборка данных с помощью условий
- •Операторы больше и меньше
- •Поиск текстовых данных по шаблону
- •Предложение group by и having
- •Удаление записей из таблицы
- •Задание 1
- •Задание 2
- •Задание 3
- •3. Логические операции в MySql
- •Операторы in и between
- •Упорядочивание данных
- •Ограничение количества извлекаемых данных
- •Извлечение подмножеств
- •Ключевое слово distinct
- •Изменение записей
- •Задание 1
- •Задание 2
- •Задание 3
- •Вычисление среднего значения
- •Именование столбцов
- •Подсчет числа записей
- •Группировка данных
- •5. Математические функции в MySql. Строковые функции. Работа с датой Математические функции MySql
- •Строковые функции
- •Ascii(строка)
- •Concat(строка1, строка2, ...)
- •Особенности типа данных Date
- •Операции с датами
- •Определение диапазонов
- •Использование Date для сортировки данных
- •Выбор данных с помощью Date
- •Текущие даты
- •Тип столбца Null
- •Задание 1
- •Задание 2
- •Задание 3
- •6. Переменные и временные таблицы. Многотабличные запросы
- •7. Вложенные запросы в MySql
- •8. Хранимые процедуры и функции
- •9. Курсоры в MySql. Представления. Конструкции управления потоком данных
- •10. Анализ и моделирование предметной области
- •1. Выбор и текстовое описание предметной области
- •2. Разработка концептуальной er-модели предметной области
- •3. Определение функциональных требований
- •11. Проектирование базы данных
- •1. Создание логической реляционной модели базы данных
- •2. Нормализация логической реляционной модели базы данных
- •1Нф (Первая Нормальная Форма)
- •2Нф (Вторая Нормальная Форма)
- •3Нф (Третья Нормальная Форма)
- •12. Проектирование физической модели бд и ее реализация
- •1. Создание физической модели базы данных
- •2. Реализация физической модели базы данных в коде
- •13. Наполнение и тестирование бд
- •1. Наполнение базы данных
- •2. Тестирование базы данных
- •14. Создание приложения к бд в среде delphi 7, с использованием AnyDac framework 1.7.0
- •1. Начало работы
- •2. Связь с таблицами
- •3. Отображение таблицы на форме
- •4. Компонент adQuery
- •5. Экспорт данных в Excel
- •6. Работа с внешними ключами
- •Рекомендуемая литература
- •Разработка баз данных средствами MySql
- •460844, Г. Оренбург, ул. Советская, 19
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»
Э. Ф. Морковина
Разработка баз данных средствами MySql
Учебное пособие
Оренбург
Издательство ОГПУ
2007
УДК 004.4 (075)
ББК 32.973 – 018 я 73
М 79
Рецензенты:
В. О. Дженжер, кандидат физико-математических наук, заведующий кафедрой Информатики и методики преподавания информатики Оренбургского государственного педагогического университета
А. Е. Шухман, кандидат педагогических наук, заведующий кафедрой Администрирования информационных систем Оренбургского государственного университета
Морковина, Э. Ф.
Р
М 79
УДК 004.4 (075)
ББК 32.973 – 018 я 73
© Морковина Э. Ф., 2007
© Издательство ОГПУ, 2007
Содержание
СОДЕРЖАНИЕ 3
ВВЕДЕНИЕ 4
1. ОСНОВЫ РАБОТЫ В СУБД MySQL 5
2. РАБОТА С ТАБЛИЦАМИ. ВВОД, ИЗВЛЕЧЕНИЕ, ПОИСК И УДАЛЕНИЕ ДАННЫХ 17
3. ЛОГИЧЕСКИЕ ОПЕРАЦИИ В MySQL 22
4. КОМАНДЫ ОБРАБОТКИ ДАННЫХ 29
5. МАТЕМАТИЧЕСКИЕ ФУНКЦИИ В MySQL. СТРОКОВЫЕ ФУНКЦИИ. РАБОТА С ДАТОЙ 32
6. ПЕРЕМЕННЫЕ И ВРЕМЕННЫЕ ТАБЛИЦЫ. МНОГОТАБЛИЧНЫЕ ЗАПРОСЫ 41
7. ВЛОЖЕННЫЕ ЗАПРОСЫ В MySQL 51
8. ХРАНИМЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ 57
9. КУРСОРЫ В MySQL. ПРЕДСТАВЛЕНИЯ. КОНСТРУКЦИИ УПРАВЛЕНИЯ ПОТОКОМ ДАННЫХ 65
10. АНАЛИЗ И МОДЕЛИРОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 74
11. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ 80
12. ПРОЕКТИРОВАНИЕ ФИЗИЧЕСКОЙ МОДЕЛИ БД И ЕЕ РЕАЛИЗАЦИЯ 103
13. НАПОЛНЕНИЕ И ТЕСТИРОВАНИЕ БД 109
14. СОЗДАНИЕ ПРИЛОЖЕНИЯ К БД В СРЕДЕ DELPHI 7, С ИСПОЛЬЗОВАНИЕМ AnyDAC FRAMEWORK 1.7.0 115
1. Начало работы 115
2. Связь с таблицами 117
3. Отображение таблицы на форме 119
4. Компонент ADQuery 120
5. Экспорт данных в Excel 123
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА 127
Введение
Процесс информатизации общества немыслим без использования сложных информационных систем. Специалисты в области проектирования, реализации и администрирования информационных систем являются сегодня одними из наиболее востребованных. Всё это предъявляет определенные требования к подготовке соответствующих специалистов. Дисциплины, связанные с разработкой баз данных, входят в стандарт подготовки бакалавров и специалистов большого числа специальностей.
Настоящее учебное пособие предназначено для студентов специальностей 050202 «Информатика», 010503 «Математическое обеспечение и администрирование информационных систем» и 230401 «Прикладная математика» в рамках изучения таких дисциплин как «Информационные системы», «Базы данных и системы управления базами данных» и «Базы данных и экспертные системы».
Предлагается рассмотреть основные понятия теории баз данных на лекциях без особой привязки к конкретной СУБД. На лабораторных занятиях рекомендуется проводить закрепление практических навыков по разработке баз данных на основе архитектуры «клиент-сервер». Результатом изучения дисциплины является некоторый программный продукт, который студенты по желанию могут реализовать с помощью любых инструментальных средств на основе указанной архитектуры. В конце семестра предлагается провести итоговое занятие в форме презентации своих проектов. По каждому проекту студентам необходимо представить отчёт в письменной форме, в котором отразить проектирование, основные моменты реализации и тестирование программного продукта.
Изложенная концепция курса отражена в данном учебном пособии, который содержит необходимый теоретический материал и задания для лабораторных работ. В качества сервера базы данных выступает сервер MySQL, а приложение реализуется в среде разработки Delphi с использованием AnyDAC Framework 1.7.0. Предлагается начать изучение с особенностей СУБД MySQL. Далее рассмотреть синтаксис и основные возможности структурированного языка запросов – SQL, а также реализацию хранимых процедур и функций. Затем подробно изучаются основы проектирования баз данных и разработка приложения к ней в среде Delphi.
Автор выражает благодарность заведующему кафедрой информатики и методики преподавания информатики ОГПУ В. О. Дженжеру, а также преподавателям Г. Ф. Лозенко, Д. Б. Милохину, В. Ю. Нефёдовой за поддержку и ценные замечания. Особой благодарности заслуживают заведующий кафедрой администрирования информационных систем ОГУ А. Е. Шухман и заведующий кафедрой геометрии и топологии – С. А. Герасименко, оказавшие неоценимую помощь в работе над книгой. Также хочется поблагодарить всех студентов, вместе с которыми впервые удалось реализовать предлагаемые идеи.