请教一个数据库的模型设计问题(有关“联系”)
时间:2011-11-20
来源:互联网
一张表是Star,有2列
StarID,演员的ID号
name,演员的姓名
另一张表是Movie,有2列
MovieID,影片的ID号
name,影片的名称
一个演员可能会出演过n多部电影,比如说刘德华,但是很多没名气的演员大概只能在一两部片中当主演。
片也是这样,一部片有可能是n多的明星参加演出,比如说建国大业,但是大多数片大概只有几个知名演员参加演出。
现在的要求是,设计数据库,使得给出演员的姓名,能查到TA演出过哪些片;给出片名,能查到这部片中哪些明星参加了演出。
要完成设计,目前我想出来的办法是再建立一张表,有2列,一列是StarID,另一列是MovieID。不过我觉得这样做很不方便。例如我现在要记录柳岩演出过《画壁》,我还要先查一下柳岩的ID,再查一下《画壁》的ID,最后到新建的表中输入这2个ID。
并且,我认为这样设计,还会造成很多重复的数据。假设建国大业有100个知名演员参加演出,那么就需要100条记录,200个数据项。
有木有更好的解决方案?
作者: liyongf 发布时间: 2011-11-20
作者: linyu13179 发布时间: 2011-11-20
作者: ssp2009 发布时间: 2011-11-20
有一个数据库,现有两张表。
一张表是Star,有2列
StarID,演员的ID号
name,演员的姓名
另一张表是Movie,有2列
MovieID,影片的ID号
name,影片的名称
一个演员可能会出演过n多部电影,比如说刘德华,但是很多没名气的演员大概只能在一两部片中当主演。
片也是这样,一部片有可能是n多的明星参加演出,比如说建国大业,但是大多数片大概只有几个知名演员参加演出……
你这样的设计(新建一个纽带表),是最标准的解决方案.
作者: qianjin036a 发布时间: 2011-11-20
一个建国大业,100个知名演员参加演出,那么就需要100条记录,其中有重复的吗?
作者: qianjin036a 发布时间: 2011-11-20
作者: fredrickhu 发布时间: 2011-11-20
你再仔细想想,建一个新表,一列是StarID,另一列是MovieID,它里面怎么会有重复的数据呢?
一个建国大业,100个知名演员参加演出,那么就需要100条记录,其中有重复的吗?
建国大业的MovieID不是重复了100次吗?
作者: liyongf 发布时间: 2011-11-20
引用 4 楼 qianjin036a 的回复:
你再仔细想想,建一个新表,一列是StarID,另一列是MovieID,它里面怎么会有重复的数据呢?
一个建国大业,100个知名演员参加演出,那么就需要100条记录,其中有重复的吗?
建国大业的MovieID不是重复了100次吗?
这不就是最典型的 一对多 吗!
作者: qianjin036a 发布时间: 2011-11-20
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28