Вот две таблицы, которые я разработал для управления учетными записями пользователей.
create table if not exists users (
id int unsigned not null auto_increment,
username varchar(100) not null,
password binary(60) not null,
first_name varchar(100) not null,
last_name varchar(100) not null,
role_id int unsigned not null,
primary key(id),
unique(username)
);
create table if not exists roles (
id int unsigned not null auto_increment,
role varchar(100) not null,
primary key(id),
unique(role)
);
Я думаю, что мне нужно нормализовать первую таблицу, например, разбить первую таблицу на некоторый вид user_info (first_name, last_name, ...) и учетной записи (username, password, role_id).У меня проблема в том, что я очень неуверен в том, зачем мне это нужно, потому что не могу объяснить, почему это не в 3NF.
РЕДАКТИРОВАТЬ
Пользователь может иметь только одну роль (admin, poweruser, user).