Sql 在电影数据库中创建表之间的关系
我创建了一个包含以下表的电影数据库: 1.胶片Sql 在电影数据库中创建表之间的关系,sql,Sql,我创建了一个包含以下表的电影数据库: 1.胶片 2.人 3.体裁 4.角色 5.用户 这是我的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(
2.人
3.体裁
4.角色
5.用户 这是我的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));
我想创建电影、人物和角色表之间的关系。所以我的问题是,我是否需要创建一个表来建立这些表之间的关系,以及是否需要对id列使用自动增量?您需要创建一些表,如:
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)
如果需要,您可以向每个表中添加一个
标识(例如SQL Server)列,但在这种特殊情况下,两列PK就足够了,因为这些表只指向其他记录。您需要更改表并添加外键(一个表中的主键和另一个表中的属性)。示例如何做到这一点在这里
对!!强制引用完整性
视情况而定,但这是在表上创建PK的最受欢迎的方式您尝试了什么?你找过JOIN和Foreign Key吗?@Kaushikishore我试过添加外键,但我想不出我应该至少有一个类似的专栏来在电影和人物之间添加外键,但那是哪个专栏呢?我曾尝试创建一个名为Film_people的表,并尝试连接三个表,但显示和sql错误,这听起来像是一个不同的问题。。。请投票选出我们的优秀答案,并发布另一个问题。像这样做。在表Role
中创建一个列RelatedFilmId,该列将是Film
中的FilmId。然后加入表格,你会得到结果;我发誓我已经看到这个问题了……是的,但是你可以在评论中提出这个建议,或者你可以简单地解释你的答案,并在底部添加一个参考。我给出了一个参考和一个简短的解释。谢谢,这很有帮助,但你没有从上面的问题中解决的一件事是自动增量。如果我使用带有id的自动增量,会有什么问题吗问题我的意思是,如果从表中删除一条记录,自动递增就可以了,在这种情况下我不会这样做,但也可以。
do i need to create a table to make relation between those table ?
is it necessary to use auto_increment for id column?