Проектирование базы данных на языке SQL

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

жеством экземпляров подчиненных сущностей Футболисты и Тренеры. Т.е. одна команда включает в себя несколько футболистов и тренеров. К ключевым атрибутам сущности Футболисты относится атрибут Номер футболиста.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Неключевыми атрибутами данной сущности являются Дата рождения, Рост, Вес, Позиция, ФИО и мигрирующий ключ Номер команды,а для сущности Тренерский штаб ключевым атрибутом является Номер тренера, а неключевыми ФИО, Дата рождения, Профессия и мигрирующий ключ Номер команды.

Так же используется сущность Турнир. Номер турнира - ключевой атрибут данной сущности. Призовой фонд, Дата старта и Длительность - неключевые атрибуты. Связь между сущностью Турнир и Матч - неидентифицирующая типа один ко многим: один турнир может включать несколько договоров.

Сущность Матч определяет набор атрибутов, которые описывают конкретный футбольный матч. В качестве ключевого атрибута данной сущности был введен ключ Номер матча. К неключевым атрибутам данной сущности относятся атрибуты Дата матча, Результат матча и мигрирующие ключи Первая команда, Номер турнира и Номер команды. Особенностью логического уровня концептуальной схемы является взаимосвязь сущностей Команда и Матч по средствам двух неидентифицирующих связей, т.к. для проведения матча необходимо в сущности Матч наличие двух команд. Связь между сущностью Команда и Матч один ко многим: одна команда может участвовать в нескольких матчах.

Из особенностей предметной области было выявлено, что команда может принять участие во множестве турниров. Кроме этого, один турнир включает в себя множество команд. Явно видно, что связь между сущностями Команда и Турнир типа многие ко многим (Рисунок 2.2).

 

Рисунок 2.2 - Связь типа многие ко многим

 

При таком типе связи трудно проследить, каким образом связаны таблицы базы данных. Введение ассоциативной сущности решает проблему связей таблиц. Тем самым тип связи многие ко многим преобразовывается к типу один ко многим (Рисунок 2.3).

 

Рисунок 2.3 - Преобразование к связи типа один ко многим

 

 

Данная связь между сущностями не допускает NULL?значения внешнего ключа номер_команды, потому что у команды обязательно должен быть номер, по которому она включена в турнир. Кроме этого, ассоциативная сущность Матч имеет атрибуты номер_команды, а также номер_ турнира.

 

2.2 Физический уровень концептуальной схемы

 

Физический уровень концептуальной схемы зависит от конкретной СУБД. В физической модели содержится информация о всех объектах БД. Поскольку стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, полях, индексах и т. д.

Физический уровень концептуальной схемы процесса Учет результатов футбольного турнира разрабатывался с учетом особенности СУБД MySQL 5.1 (Рисунок 2.4). В физической модели используются следующие типы атрибутов сущностей: INTEGER, VARCHAR, CHAR, DECIMAL, DATE. Рассмотрим каждый из них подробнее.

Типу INTEGER принадлежат атрибуты:

Номер футболиста сущности Футболист,

Номер тренера сущности Тренерский штаб,

Номер команды сущности Команда,

Номер турнира сущности Турнир,

Номер матча, Первая команда сущности Матч.

Тип INTEGER в СУБД MySQL позволяет хранить 4-байтные целочисленные данные. Диапазон от -231 (-2147483648) до 231-1 (2147483647). Этот тип выбран для перечисленных полей потому, что все они должны иметь значения целочисленного типа. Кроме того, данные поля являются ключевыми. Применение данного типа к ключевым атрибутам позволяет однозначно идентифицировать каждую сущность. Атрибуты имеют отметку NOT NULL.

Типу VARCHAR принадлежат атрибуты:

Позиция, ФИО сущности Футболист,

ФИО, Профессия сущности Тренерский штаб,

Название, Информация сущности Команда,

Результаты матча сущности Матч.

Тип VARCHAR выбран для данных атрибутов потому, что в соответствующих полях будут храниться символьные данные переменной длинны. Максимальная длина для переменной данного типа в СУБД MySQL 5.1 достигает 4000 символов. Однако для выше перечисленных атрибутов ИС будет достаточно длины в 255 символов.

Типу DECIMAL принадлежат атрибуты:

Вес сущности Футболист,

Призовой фонд сущности Турнир,

Тип DECIMAL предназначен для хранения в полях данных о стоимости. Значения в скобках указывают, соответственно, количество знаков под число и количество знаков после запятой.

Типу DATE принадлежат атрибуты:

Дата рождения сущности Футболист,

Дата старта, с