Структура БД MySQL, нуждается в уточнении - PullRequest
0 голосов
/ 14 марта 2012

Я разрабатываю веб-сайт, на котором вы можете загружать игры с описанием и т. Д. И сохранять их рейтинг. Я единственный, кто может предоставить рейтинг, поэтому мне для этого не понадобится вторая БД.

Тем не менее, будут проводиться неопределенные раунды соревнований, поэтому я хочу сохранить Раунд # в столбце в Базе данных. Другое требование состоит в том, что каждый раунд имеет свою собственную информацию, поэтому я буду создавать вторую таблицу с Round_Number, а затем с другими полями, такими как Описание, Дата исполнения и т. Д.

Итак, это моя текущая идея схемы БД:

Entries ( Comp #, Entry # AutoInc, Password, 
    Entry Date, Author Contact, Description, Screenshot, Website )
Competitions ( Comp #, Theme, Entries, Start Date, Finish Date, Prize )

Таким образом, участники могут оставить присоединиться к соревнованиям на Comp #, чтобы получить дополнительную информацию о своем соревновании. Это кажется наиболее эффективным? Нет системы учетных записей (или таблицы пользователей), каждая запись просто получает свой пароль для редактирования.

1 Ответ

0 голосов
/ 14 марта 2012

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

CREATE TABLE USERS_T ( account_id number, username varchar, password data_type, author varchar, .... )

CREATE TABLE COMPETITIONS_T ( comp_id number, description varchar, theme varchar, #entries number- not needed, just count by id in ENTRIES_T table start_date date, finish_date date, prize varchar, ... )

CREATE TABLE ENTRIES_T ( account_id number, comp_id number, entry_date date, descr varchar, screenshot blob, website varchar, ... )

В каждом соревновании может быть несколько записей, но каждая записьможет быть только для одного соревнования.

Добавить первичный ключ в таблицу ENTRIES_T: PRIMARY KEY (account_id, comp_id)

Вы можете даже пойти дальше, определить таблицу тем, таблицу комментариев и т. д.Я думаю, вы поймете идею.Надеюсь это поможет.Гудлак!

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