這是在3NF嗎?sql 3NF標準化
create table movies(
id numeric primary key not null default autoincrement,
name varchar(50) not null,
release-date Date,
price numeric,
rating numeric,
length numeric,
description varchar(1500)
);
create table movies(
id numeric primary key,
name varchar(20)
);
create table genre(
name varchar(20) primary key
);
create table directors(
id numeric primary key not null default autoincrement,
first-name varchar(32) not null,
last-name varchar(32) not null,
gender varchar(8),
dob Date,
biography varchar(1000)
);
create table movie-Star(
id numeric primary key not null default autoincrement,
first-name varchar(20) not null,
last-name varchar(20) not null,
gender varchar(8),
dob Date,
hometown varchar(20)
);
create table movies-cast(
movie-id numeric references movies(id),
actor-id numeric references movie-Star(id),
role varchar(32),
primary key (movie-id, actor-id)
);
Create table Studio(
studio-id numeric references directors(id)
Directer-name varchar(20) not null
name varchar(20) primary key
);
create table directors(
id numeric primary key not null default autoincrement,
first-name varchar(32) not null,
last-name varchar(32) not null,
gender varchar(8),
dob Date,
biography varchar(1000)
);
我認爲正常的形式描述了多個表如何相互關聯以及如何實現多值域。你還有其他什麼桌子? – Rup 2010-10-14 09:48:48
Rup這裏是我有的其他表 – user475529 2010-10-14 09:50:10
只是一個建議,創建藝術家和角色像藝術家,導演等單表。然後創建一個藝術家角色的映射表,並映射您的電影與這個映射ID在另一個映射表電影-投。 – 2010-10-14 17:15:31