Файл: Системотехнологическая реализация 4 1Описание предметной области 4.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.02.2024

Просмотров: 29

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
сущность — связь», модель данных, позволяющая описывать концептуальные схемы предметной области.

ER-модель используется при концептуальном проектировании баз данных. С её помощью можно выделить ключевые сущности и обозначить связи, которые могут устанавливаться между этими сущностями.

В предыдущем разделе были выявлены сущности для построения ER-диаграммы. Далее нужно проанализировать, как сущности относятся друг к другу, и описать связи между ними. Разберем их подробнее в таблице 7.

Таблица 7 - Связи

№ п/п

Наименование связи

Сущности, участвующие в связи

Краткое описание

1

М:М

Спортсмен – Соревнование

Разные спортсмены могут участвовать в разных соревнованиях.

2

1:М

Вид спорта – Соревнования

В одном виде спорта много соревнований.

3

М:М

Спортсмен - место

Разные спортсмены получают разные места в различных соревнованиях


Для разрыва связи многие ко многим создадим таблицу «Итог_соревнований».

Метод проектирования подразумевает под собой процесс создания нескольких моделей, которые описывают своими средствами различные стороны разрабатываемой системы. На данный момент существуют различные способы решения данной задачи, среди которых можно выделить три основных метода: структурное проектирование; организация потоков данных; объектно-ориентированное проектирование.

Структурное проектирование – представление программы в виде иерархической структуры блоков.

Организация потоков данных – методология графического структурного анализа, описывающая внешние, по отношению к системе, источники и адресаты данных, логические функции, потоки данных и хранилища данных, к которым осуществляется доступ. 

Объектно-ориентированное проектирование – методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.

Объектно-ориентированное проектирование более актуально сейчас и понятнее двух других методов, поэтому данный метод будет выбран и задействован для решения задачи. На основе всех этих данных мы можем построить диаграмму.


Концептуальная модель будет представлена графически со всеми таблицами и связями ниже.


Рисунок 1 – ER-диаграмма

1.5 Физическое проектирование

1.5.1. Даталогическое проектирование



ER-диаграмма является основой для построения даталогической модели базы данный. А также служит промежуточной моделью для специалистов предметной области и администратора БД в процессе проектирования и разработки конкретной БД.

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

Такая таблица составляется для каждого отношения, используемого в базе данных. Отношения в базе соответствуют классам объектов из инфологической модели. Кроме того, отношения могут представлять некоторые связи предметной области.

Каждой таблице нужно поставить в соответствие ее ключи. Схема ключа представляет собой перечисление атрибутов отношения, составляющих ключ.

Различают простые и составные ключи. Простой ключ строится на основе одного атрибута. Составной ключ строится на базе использования нескольких атрибутов.

Ключи принято разделять на: первичные, внешние и вспомогательные.

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

Внешние ключи используются для реализации связей типа 1:М между отношениями. Внешний ключ строится для отношения, находящегося на стороне «много» связи 1:М. Для каждого такого отношения на даталогической модели должен быть показан внешний ключ. Внешний ключ всегда должен иметь соответствующий ему первичный ключ отношения, находящегося на стороне «один» связи типа 1:М. Внешних ключей может быть несколько для одной таблицы.

Следует отметить, что первичные и внешние ключи строятся на основе целочисленных атрибутов, а не атрибутов, имеющих строковый или вещественный тип.


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

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

Даталогическая модель базы данных также представляется в виде набора таблиц, в которых указываются характеристика каждого атрибута. (Таблицы 8-12).
Таблица 8 - Список атрибутов таблицы «Sportsman (Спортсмен)»

№ п/п

Название атрибута

Идентификатор

Тип данных

Не пусто

Ограничение

1

2

3

4

5

6

1

ID_ Спортсмена

ID_ Sportsman

Int

Да

PK (первичный ключ)

Продолжение 8 таблицы

1

2

3

4

5

6

2

Фамилия

Surname

Nvarchar (50)

Да




3

Имя

Name

Nvarchar (50)

Да




4

Отчество

Patronymic

Nvarchar (50)

Нет




5

Дата_рожденмя

Birthdate

Date

Да




6

Пол

Gender

Nvarchar (7)

Да






Таблица 9 - Список атрибутов таблицы «Сompetition (Соревнование)»

№ п/п

Название атрибута

Идентификатор

Тип данных

Не пусто

Ограничение

1

ID_Соревнования

ID_Сompetition

Int

Да

PK (первичный ключ)

2

ID_Спорта

ID_Sport

Int

Да

FK (Внешний ключ)

3

Название

Name

Nvarchar (100)

Да





Таблица 10 - Список атрибутов таблицы «Place (Место)»

№ п/п

Название атрибута

Идентификатор

Тип данных

Не пусто

Ограничение

1

ID_Места

ID_Place

Int

Да

PK (первичный ключ)

2

Приз

Medal

Nvarchar (50)

Да




Таблица 11 - Список атрибутов таблицы «Sport (Спорт)»

№ п/п

Название атрибута

Идентификатор

Тип данных

Не пусто

Ограничение

1

ID_Спорта

ID_ Sport

Int

Да

PK (первичный ключ)

2

Название

Name

Nvarchar (50)

Да






Таблица 12- Список атрибутов таблицы «Result_competitions (Итог_соревнований)»

№ п/п

Название атрибута

Идентификатор

Тип данных

Не пусто

Ограничение

1

ID_Соревнования

ID_Сompetition

Int

Да

PK (первичный ключ)

2

ID_Спортсмена

ID_ Sportsman

Int

Да

PK (первичный ключ)

3

Дата

Date

Date

Да

PK (первичный ключ)

4

ID_Места

ID_Place

Int

Да

FK (Внешний ключ)


Даталогическая модель представлена графически со всеми таблицами и связями ниже на рисунке 2.

Рисунок 2 – Даталогическая диаграмма



1.6 Создание запросов



SQL-запросы – это наборы команд для работы с реляционными (табличными) базами данных.

По видам запросы SQL чаще всего делятся на:

  • запросы, предназначенные для работы со структурой данных - для создания, описания и модификации БД;

  • запросы, используемые непосредственно в работе с данными, с помощью которых можно добавлять, обновлять, сохранять и удалять данные;

  • запросы, применяемые для предоставления или отмены прав доступа к БД.

В свою очередь, каждый из видов SQL-запросов подразделяется на типы:

  • команды, работающие со структурой БД (определение данных Data Definition Language, DLL). К ним относятся CREATE - «создать» (например, CREATE TABLE (создать таблицу), CREATE USER (создать пользователя)), ALTER - «модифицировать» (этот запрос используется при внесении изменений в саму БД или в ее часть), DROP - «удалить» (также относятся к БД и ее частям);

  • команды, работающие с данными (манипуляция с данными Data Manipulation Language, DML). К наиболее востребованным запросам относятся: SELECT (выборка данных), INSERT (вставка новых данных), UPDATE (обновление данных), DELETE (удаление данных), MERGE (слияние данных); 

  • команды, работающие с правами доступа. В их список входят GRANT -разрешение пользователю на проведение определенных операций с БД или данными; REVOKE – отзыв выданного разрешения; DENY – установка запрета, имеющего приоритет над разрешением.

Структура SQL-запросов

При составлении SQL-запроса для работы с базами данных в СУБД Microsoft SQL Server вводятся следующие параметры отбора:

  • названия таблиц, из которых необходимо извлечь данные;

  • поля, значения которых требуется вернуть к исходным после внесения изменений в БД;

  • связи между таблицами;

  • условия выборки;

  • вспомогательные критерии отбора (ограничения, способы представления информации, тип сортировки).

Запрос с использованием ORDER BY на рисунке 3.



Рисунок 3 – Листинг запроса



Рисунок 4 –