什么是候选码 什么是外部码
时间: 2023-08-24 08:46:52 浏览: 108
候选码和外部码都是数据库设计中的概念。
候选码是指在关系模式中能唯一标识元组的属性集合,也就是说,候选码是关系模式中的一组属性,这组属性的取值可以唯一地确定一条记录。
外部码是指一个关系模式中的属性或属性组合,它可以在另一个关系模式中作为参照完整性约束的依据,从而实现两个关系之间的联系。外部码通常是关系模式之间的主键和外键之间的约束关系。
相关问题
建立一个关于系、学生、班级、学会等诸信息的关系数据库。 学生:学号、姓名、出生年月、系名、班号、宿舍区。 班级:班号、专业名、系名、人数、入校年份。 系:系名、系号、系办公地点、人数。 学会:学会名、成立年份、办公地点、人数。 语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同 一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部 是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码, 有没有全码存在?
关系模式:
学生(学号,姓名,出生年月,系名,班号,宿舍区)
班级(班号,专业名,系名,人数,入校年份)
系(系名,系号,系办公地点,人数)
学会(学会名,成立年份,办公地点,人数)
极小函数依赖集:
学生:
学号→姓名,出生年月,系名,班号,宿舍区
系名→系号,系办公地点,人数
班级:
班号→专业名,系名,人数,入校年份
系名→系号,系办公地点,人数
系:
系名→系号,系办公地点,人数
学会:
学会名→成立年份,办公地点,人数
不存在传递函数依赖。
候选码和外部码:
学生:候选码为学号,外部码为班号和系名
班级:候选码为班号,外部码为系名
系:候选码为系名,外部码为系号
学会:候选码为学会名,外部码为无
全码不存在。
对于学生关系模式中的函数依赖左部是多属性的情况,学号是候选码,因此学号→姓名,出生年月,系名,班号,宿舍区是完全函数依赖,而系名→系号,系办公地点,人数是部分函数依赖,因为系名不能唯一确定系号、系办公地点和人数。
阅读全文