在Movie Database中创建表之间的关系

时间:2014-04-07 17:54:51

标签: sql

我创建了一个包含以下表格的电影数据库:

1.Film
2.People
3.Genres
4.Role
5.Users

这是我的sql

create table Film ( id INT(30),title varchar(30),images varchar(30)
primary key (id));
create table people(id INT(30),Fname varchar(30),Lname varchar(30),
primary key (id));
create table Role(id INT(30), name varchar(30),
primary key(id));

我希望在Film,People和Role table之间创建关系。我的问题是我需要创建一个表来建立这些表之间的关系吗?是否有必要对id列使用auto_increment?

3 个答案:

答案 0 :(得分:0)

您想要创建一些表格,如:

FilmRole( FilmId INT, RoleId INT) these 2 columns would make your PK and they are also FK's to their 
FilmPeople (FilmId INT, PeopleId INT)  respective source tables.
FilmUsers( FilmId INT, UserId INT)

如果需要,您可以为每个表添加一个IDENTITY(例如,对于SQL Server)列,但在这种特殊情况下,2列PK就足够了,因为这些表只是指向其他记录。

答案 1 :(得分:0)

您需要更改表并添加外键(一个表中的主键和另一个表中的属性)。示例如何在这里做! http://www.w3schools.com/sql/sql_foreignkey.asp

答案 2 :(得分:0)

do i need to create a table to make relation between those table ?

是的!强制执行参照完整性read this

is it necessary to use auto_increment for id column?

取决于但它是在桌面上创建PK的最佳方式