数据库结构
instructor关系: instructor(id, name, dep_name, salary)
course关系: course(course_id, title, dept_name, credits)
department(dept_name, building, budget)
section(course_id, sec_id, semester, year, building, room_number, time_slot_id)
student(id, name, dept_name, tot_cred)
classroom(building, room_number, capacity)
time_slot(time_slot_id, day, start_time, end_time)
teaches(idm course_id, sec_id, semester, year)
在关系模型的属于中,关系(relation)用来指代表,元组(tuple)用来指代行,属性(attribute)指代的是表中的列
数据库模式: 数据库的洛基设计
数据库实例:给定时刻数据库中数据的一个快照
超码(superkey)
超码是一个或多个属性的集合,这些属性的组合可以使我们在一个关系中唯一的表示一个元组。
eg. 因为通过id可以找到唯一一个学生,所以{id}是一个超码,同理{id,student_number}、{id,student_number,name}、{id,student_number,name,sex}、{student_number}、{student_number,name}、{student_number,name、sex}也是超码.
候选码
虽然超码可以唯一标识一个实体,但是可能大多数超码中含有多余的属性。所以我们需要候选码。如果任意超码的真子集不能包括超码,则称其为候选码;超码包括候选码。