- •Разработка баз данных средствами 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
10. Анализ и моделирование предметной области
1. Выбор и текстовое описание предметной области
Перед тем как приступить к непосредственному созданию базы данных, необходимо проделать очень важную и существенную работу по анализу предметной области и проектированию БД.
Важность этапов анализа и проектирования можно оценить, сравнив их с аналогичными при постройке дома — если проект дома был непродуман и содержал ошибки, внести существенные конструкционные изменения в уже строящееся здание — когда произведена разметка, вырыт котлован, забиты сваи, залит и застыл фундамент, положены первые плиты и поставлены и скреплены панели или кирпичные стены — практически невозможно, приходится всё разрушать и строить заново.
Понятно, что нельзя создать базу данных, учитывающую абсолютно все аспекты реальности, к которой относится наша задача. В качестве сквозной демонстрационной задачи у нас будет выступать БД «Аэропорт». Для неё мы, конечно же, не будем описывать все сто тысяч деталей, из которых, по словам конструкторов, состоит современный самолёт, не будем описывать все качества и свойства взлётно-посадочных полос, зданий, сооружений, механизмов, транспортных средств, персонала, пассажиров и т.д., которые участвуют в жизнедеятельности аэропорта.
Чтобы понять, что именно стоит описать на этапе анализа, и до какой степени глубины, стоит определить точку зрения на задачу, т.е. выбрать предмет изучения в объекте. В качестве такой точки зрения мы выберем точку зрения диспетчеров аэропорта, которые следят за полётами, контролируют их ход и т.д. С такой точки зрения, например, не представляют особого интереса детали личной биографии пассажира, более того, возможно, нам не нужно о них знать вообще ничего, кроме того, что они есть, если рейс пассажирский.
Выберите предметную область, которая вам наиболее близка и интересна, зафиксируйте её и выберите точку зрения на неё и занесите их в в отчёт. Точка зрения, помимо выделения области описания и уровня его детализации, также определяет те узкие задачи или функциональные требования, которым будет удовлетворять создаваемая вами БД.
Функциональные требования определяют, что и в каком виде хранит БД и какого рода операции она может выполнять по запросу пользователя, внешней системы или автоматически.
Теперь, для того чтобы построить текстовое описание предметной области, вам необходимо обратиться к экспертам, энциклопедиям, технологическим справочниками и т.д. или просто к вашей памяти и заключённым в ней знаниям и опыту, если выбранная вами предметная область не представляет для вас особой новизны.
С учётом последующего использования для моделирования изложение описания можно вести одним сплошным потоком предложений либо представить в виде списка, что более удобно для контроля. Общими формулами для концептуального описания предметной области являются следующие:
1. «Кто/что» «как связан/о» «с чем/кем» и
2. «Кто/что» обладает «какими качествами».
Вот пример текстового описания предметной области для задачи «Аэропорт»:
1. Каждый аэропорт обслуживает рейсы разных авиакомпаний и имеет международный код и название. 2. Авиакомпания имеет название. 3. У каждой авиакомпании есть несколько рейсов, проходящих через этот аэропорт. 4. Каждому рейсу соответствует один самолёт («воздушное судно»), каждому самолёту — несколько рейсов. 5. Самолёт характеризуется номером, маркой, моделью, вместимостью. 6. Каждому рейсу соответствует несколько экипажей, выполняющих их в разное время согласно расписанию. 7. Рейсы могут быть терминальные — завершающиеся или начинающиеся в аэропорту и транзитные, которые используют аэропорт только для временной посадки для заправки и отдыха. 8. Рейс характеризуется номером, типом (терминальные/транизитные), аэропортом отправления, аэропортом назначения, временем отправления, временем прибытия, временем в пути, дальностью, периодичностью (по нечётным дням, по чётным, по выходным, каждый N понедельник/вторник/.../воскресенье). 9. Экипаж состоит из нескольких сотрудников авиакомпании. 10. Каждый член экипажа имеет ФИО, должность (командир, пилот, стюардесса) и лётный стаж, исчисляющийся в количестве вылетов. 11. В аэропорту происходит 2 типа событий — вылет и посадка. 12. Каждое событие — вылет или посадка — характеризуется состоянием — «ожидается» / «состоялось» / «отменён», датой, временем задержки/опережения. |
Составьте подобное описание своей предметной области и занесите его в отчёт.