Что бы я взял:
Ресурсы (для моих файлов)
- file_id INT (или SMALLINT в зависимости от количества ожидаемых записей)
- имя файла VARCHAR (или текст, если он длиннее 255 символов)
- file_type ENUM (если только те, которые вы упомянули, или VARCHAR, если можно добавить динамические типы)
- загрузить DATE DATETIME (или DATE, если вам не нужно время)
- uploaded_by INT (или SMALLINT, но так же, как в пользовательской таблице)
- событие INT (или SMALLINT, но так же, как в таблице событий)
Пользователи (учетные записи пользователей - для доступа администратора и, возможно, списка уведомлений)
- user_id INT (или SMALLINT в зависимости от количества ожидаемых записей)
- first_name VARCHAR
- фамилия VARCHAR
- электронная почта VARCHAR
- пароль CHAR (40) (для хэша SHA1)
- phone_number VARCHAR (так как он может содержать что-то вроде -, / или +)
- permissions_level TINYINT (если только числовые значения и максимум 127 значений)
- creation_DATE DATETIME (или DATE, если вам не нужно время)
События
- event_id INT (или SMALLINT в зависимости от количества ожидаемых записей)
- event_name VARCHAR
- event_location VARCHAR
- event_DATE DATETIME (или DATE, если вам не нужно время)
- event_description TEXT (так как 255 из VARCHAR может быть коротким)
- entry_DATE DATETIME (или DATE, если вам не нужно время)
Когда вы настроите свою базу данных и введете несколько фиктивных данных, вы можете запустить через phpmyadmin простой оператор, который скажет вам, что MySQL примет для этих точных фиктивных данных:
SELECT * FROM events PROCEDURE ANALYSE()
В столбце Optimal_fieldtype
вы найдете то, что MySQL говорит вам принять. Но вы не должны принимать именно этот тип поля. Очень часто вам будет предложено принять ENUM, но в большинстве случаев вы будете добавлять случайные данные, поэтому вам придется использовать VARCHAR, в этом случае столбец Max_length
даст вам подсказку о том, как долго это должно быть. Но во всех полях VARCHAR вы должны добавить дополнительное пространство в зависимости от того, как долго вы ожидаете значения. Примите во внимание, что даже имя может быть длиннее 50 символов.