Определяем предметную область

Итак, мы подошли к вопросу проектирования БД. Что определяет выбор модели и структуры данных? Постановка задачи. От задачи зависит то, каким образом будут организованы данные.

Например, мы разрабатываем ПО для сайта продажи автомобилей. Скорее всего у нас будет информация о марках и моделях авто, их характеристиках и конфигурациях. Если мы разрабатываем ПО для университета, то скорее всего наша БД будет содержать информацию о студентах, преподавателях, подразделениях. Если речь о продаже авиабилетов, то мы будем говорить о пассажирах, маршрутах, стоимости билетов.

При этом, именно постановка задачи определяет данные (а не просто определение сферы, для которой разрабатывается ПО). То есть "университет" - это не постановка задачи. Для примера рассмотрим две задачи:

  1. Бухгалтерская система университета. В ней речь пойдет о сотрудниках (в том числе технический персонал, администрация), зарплатах, грантах, бюджетах.
  2. Система составления расписания университета. Здесь речь идет о группах, студентах, преподавателях, кабинетах, кафедрах.
    И 1 и 2 являются составными частями университета. Мы меняем точку зрения на него. Выбранная точка зрения называется предметной областью.
    Аналогично, вспомните, когда вы покупаете билет на самолет, там нет информации о терминале и выходе на самолет. Т.к. это информация из другого контекста - работы аэропорта, а не авиакомпании.

Предметная область - это часть реального мира, подлежащая изучению с целью создания информационной системы.

Есть несколько подходов, форматов описания требований (постановки задачи). Подробнее о них вы можете узнать в следующей (дополнительной) главе.

На данный момент достаточно перечислить несколько типичных вариантов использования нашей БД (собственно, это и есть что-то похожее на user stories):

  1. Получить список рейсов из города A в город B в день X
  2. Получить информацию о посадочных местах и классах обслуживания в различных самолетах
  3. Получить статистику по задержанным рейсам за конкретный период
  4. Забронировать билет
  5. Узнать "маршрут" (список перелетов) для билета конкретного пассажира

После постановки задач появляется представление о том, какие нам необходимы данные: ФИО пассажиров, модели самолетов и количество посадочных мест, расписание рейсов... С этого и начинается процесс проектирования БД: с определения данных, сущностей и связей (отношений) между ними. В итоге мы получаем структуру БД, также именуемую схемой БД.

Подходы к представлению схем зависят от модели данных. Например, для описания структуры XML-документа существует специальный язык XML Schema. Аналогичный JSON Schema используется для описания данных в формате JSON.

Мы же сделаем акцент на способах описания реляционных данных.

results matching ""

    No results matching ""