Условия проведения акции - LIGHT-COM

advertisement
Для проектирования структуры базы данных используется язык Schema,
являющийся частью фреймворка Lavarel. Данный язык создаёт программную
модель представленной БД; описывает её структуру, состав сущностей и связи
между ними. Пример кода, создающего сущность и её связи, написанный в
текстовом редакторе Sublime Text 2, представлен на рисунке 2.2.1
Рисунок 2.2.1 – Код создания сущности базы данных
С помощью команды php artisan make:migration create_concerts_table,
которая вводится в командную строку, созданы файлы, содеражщие описание
таблиц БД. Количество файлов определяется количеством сущностей.
Полный листинг кода, описывающего структуру таблицы, представлен
в приложении.
Для программной реализации базы данных, необходимо определить
список таблиц-сущностей:
1)
Сущность «users», описывающая тип пользователей интернет-
портала представлена в таблице 2.2.1.
Название поля
Тип поля
id
Int
name
password
VarChar
VarChar
account_type
Int
payment_type
Int
remember_token
email
VarChar
VarChar
created_at
Timestamp
updated_at
Timestamp
Описание поля
Уникальный идентификатор записи,
целочисленный
Имя пользователя, строка
Пароль, строка
Тип аккаунта, целочисленный. 0 организатор, 1 - группа, 2 - площадка
Тип аккаунта, целочисленный, 0 – фри, 1 премиум
Электронная почта, строка, уникальный
Дата создания. Используется фреймом для
отслеживания изменений в БД.
Дата обновления. Используется фреймом
для отслеживания изменений в БД.
Таблица 2.2.1 - Сущность «пользователи»
2) Сущность «messages», характеризующая функцию
сообщений между пользователями, представлена в таблице 2.2.2
Название поля
id
message
date
receiver_id
sender_id
created_at
updated_at
Тип поля
передачи
Описание поля
Уникальный идентификатор записи,
целочисленный, является номером платежа
MediumText
Текст сообщения, текст
DateTime
Дата отправки сообщения
Внешний ключ, целочисленное, ссылается
Int
на получателя
Внешний ключ, целочисленное, ссылается
Int
на отправителя
Дата создания. Используется фреймом для
Timestamp
отслеживания изменений в БД.
Дата обновления. Используется фреймом
Timestamp
для отслеживания изменений в БД.
Int
Таблица 2.2.2 – Сущность «сообщения»
3) Сущность «groups», описывающая регистрирующихся музыкальных
исполнителей, представлена в таблице 2.2.3
Название поля
Тип поля
id
Int
name
contacts
VarChar
MediumText
style
VarChar
rider
MediumText
dates
MediumText
description
MediumText
image
VarChar
price
Decimal
user_id
Int
created_at
Timestamp
updated_at
Timestamp
Описание поля
Уникальный идентификатор записи,
целочисленный
Название, строка, уникальный
Контактные данные, текст
Жанр группы, строка. Несколько жанров
указывается через запятую.
Технически и бытовые требования к
организатору, текст.
Свободные даты, текст. Даты указываются
в формате год.месяц.число, несколько дат
указываются через запятую
Описание группы, текст
Лого/фото, строка. В ней хранится путь к
графическому файлу
Гонорар, рациональное число, два разряда
после запятой.
Внешний ключ, целочисленный, привязка
группы к типу пользователя
Дата создания. Используется фреймом для
отслеживания изменений в БД.
Дата обновления. Используется фреймом
для отслеживания изменений в БД.
Таблица 2.2.3 – Сущность «группы»
4) Сущность «halls», описывающая регистрирующиеся концертные
площадки, представлена в таблице 2.2.4
Название поля
Тип поля
id
Int
name
address
contats
dates
VarChar
VarChar
MediumText
MediumText
Описание поля
Уникальный идентификатор записи,
целочисленный
Название, строка, уникальное
Адрес, текст
Контакты, текст
Описание концертной площадки, текст
Таблица 2.2.4 – Сущность «концертные площадки»
description
MediumText
Описание площадки, текст
equipment
MediumText
price
Decimal
volume
Int
image
VarChar
user_id
Int
created_at
Timestamp
updated_at
Timestamp
Оборудование площадки, текст
Гонорар, рациональное число, два разряда
после запятой
Вместительность площадки, целочисленное
Лого/фото, строка. В ней хранится путь к
графическому файлу
Внешний ключ, целочисленный, привязка
площадки к типу пользователя
Дата создания. Используется фреймом для
отслеживания изменений в БД.
Дата обновления. Используется фреймом
для отслеживания изменений в БД.
Продолжение Таблицы 2.2.4
5) Сущность «concerts», содержащая информацию о проведённых
концертах, представлена в таблице 2.2.5
Название поля
id
name
cash
bar
date
description
tickets
image
hall_id
created_at
update_at
Тип поля
Описание поля
Уникальный идентификатор записи,
целочисленный
VarChar
Название мероприятия, строка
Выручка, рациональное число, два разряда
Decimal
после запятой
Выручка бара, рациональное число, два
Decimal
разряда после запятой
VarChar
Дата проведения, строка
MediumText
Описание мероприятия, текс
Int
Количество посетителей, целое число
Лого/фото, строка. В ней хранится путь к
VarChar
графическому файлу
Внешний ключ, целочисленный, привязка к
Int
концертной площадке
Дата создания. Используется фреймом для
Timestamp
отслеживания изменений в БД.
Дата обновления. Используется фреймом
Timestamp
для отслеживания изменений в БД.
Int
Таблица 2.2.5 – Сущность «концерты»
6) Сущность «comments», описывающая функцию отзывов о концерте,
представлена в таблице 2.2.6
Название поля
id
name
content
date
concert_id
user_id
created_at
updated_at
Тип поля
Описание поля
Уникальный идентификатор записи,
целочисленный
VarChar
Имя комментатора, строка
MediumText
Текст комментария, текст
DateTime
Дата комментария, тип дата-время
Внешний ключ, целочисленный, привязка к
Int
проведённому мероприятию
Внешний ключ, целочисленный, привязка к
Int
пользователю
Дата создания. Используется фреймом для
Timestamp
отслеживания изменений в БД.
Дата обновления. Используется фреймом
Timestamp
для отслеживания изменений в БД.
Таблица 2.2.6 – Сущность «отзывы»
Int
7) Сущность «users_rating», характеризующая оценки деятельности
участников процесса организации музыкального концерта, представлена в
таблице 2.2.7
Название поля
Тип поля
id
Int
rate
Int
reciever_id
Int
sender_id
Int
created_at
Timesamp
updated_at
Timestamp
Описание поля
Уникальный идентификатор записи,
целочисленный
Оценка, целочисленный
Внешний ключ, целочисленный, привязка к
получившему оценку
Внешний ключ, целочисленный, привязка к
поставившему оценку
Дата создания. Используется фреймом для
отслеживания изменений в БД.
Дата обновления. Используется фреймом
для отслеживания изменений в БД.
Таблица 2.2.7 – Сущность «оценка пользователя»
8) Сущность «payment», описывающая функцию оплаты премиумаккаунта, представлена в таблице 2.2.8
Название поля
Тип поля
id
Int
date
DateTime
invoice
state
VarChar
VarChar
user_id
Int
created_at
Timestamp
updated_at
Timestamp
Описание поля
Уникальный идентификатор записи,
целочисленный, является номером платежа
Дата последнего обновления статуса
платежа
Строка, содержит код платежа
Строка, содержит состояние платежа
Внешний ключ, целочисленное, ссылается
на пользователя-плательщика
Дата создания. Используется фреймом для
отслеживания изменений в БД.
Дата обновления. Используется фреймом
для отслеживания изменений в БД.
Таблица 2.2.8 – Сущность «оплата»
9) Сущность «organizators», описывающая регистрирующихся
организаторов концертов, представлена в таблице 2.2.9
Название поля
id
name
agency
age
contacts
price
image
user_id
created_at
updated_at
Тип поля
Описание поля
Уникальный идентификатор записи,
целочисленный, является номером платежа
VarChar
Имя, строка
VarChar
Место работы, строка
Int
Стаж, целое число
MediumText
Контакты, текст
Цена за работу, рациональное число, два
Decimal
разряда после запятой
Лого/фото, строка. В ней хранится путь к
VarChar
графическому файлу
Внешний ключ, целочисленное, привязка к
Int
пользователю
Дата создания. Используется фреймом для
Timestamp
отслеживания изменений в БД.
Дата обновления. Используется фреймом
Timestamp
для отслеживания изменений в БД.
Таблица 2.2.9 – Сущность «организатор»
Int
10) Вспомогательная сущность «concerts2groups», характеризующая
связь проведённых мероприятий с выступавшими на нём группами,
представлена в таблице 2.2.10
Название поля
Тип поля
id
Int
concert_id
Int
group_id
Int
created_at
Timestamp
updated_at
Timestamp
Описание поля
Уникальный идентификатор записи,
целочисленный, является номером платежа
Внешний ключ, целочисленный, привязка к
концерту
Внешний ключ, целочисленный, привязка к
группе
Дата создания. Используется фреймом для
отслеживания изменений в БД.
Дата обновления. Используется фреймом
для отслеживания изменений в БД.
Таблица 2.2.10 – Вспомогательная сущность «связь исполнителей с
мероприятиями»
11)
Вспомогательная
сущность
«concerts2organizators»,
характеризующая связь проведённых мероприятий с организаторами,
представлена в таблице 2.2.11
Название поля
Тип поля
id
Int
concert_id
Int
organizator_id
Int
created_at
Timestamp
updated_at
Timestamp
Описание поля
Уникальный идентификатор записи,
целочисленный, является номером платежа
Внешний ключ, целочисленный, привязка к
концерту
Внешний ключ, целочисленный, привязка к
организатору
Дата создания. Используется фреймом для
отслеживания изменений в БД.
Дата обновления. Используется фреймом
для отслеживания изменений в БД.
Таблица 2.2.11 – Вспомогательная сущность «связь организаторов с
мероприятиями»
12) Сущность «concerts_rating», характеризующая оценку проведённого
мероприятия, представлена в таблице 2.2.12
Название поля
Тип поля
id
Int
concert_id
Int
group_id
Int
created_at
Timestamp
updated_at
Timestamp
Описание поля
Уникальный идентификатор записи,
целочисленный, является номером платежа
Внешний ключ, целочисленный, привязка к
концерту
Внешний ключ, целочисленный, привязка к
группе
Дата создания. Используется фреймом для
отслеживания изменений в БД.
Дата обновления. Используется фреймом
для отслеживания изменений в БД.
Таблица 2.2.12 – Сущность «оценка проведённого мероприятия»
12) Сущность «messages», характеризующая функцию передачи
сообщений между пользователями, представлена в таблице 2.2.12
Название поля
id
message
date
receiver_id
sender_id
created_at
updated_at
Тип поля
Описание поля
Уникальный идентификатор записи,
целочисленный, является номером платежа
MediumText
Текст сообщения, текст
DateTime
Дата отправки сообщения
Внешний ключ, целочисленное, ссылается
Int
на получателя
Внешний ключ, целочисленное, ссылается
Int
на отправителя
Дата создания. Используется фреймом для
Timestamp
отслеживания изменений в БД.
Дата обновления. Используется фреймом
Timestamp
для отслеживания изменений в БД.
Int
Таблица 2.2.12 – Сущность «сообщения»
Инфологическая модель базы данных представлена в приложении.
Download