===== 第 1 页 ===== 第5节、表与关键字 数据库领域中最常用的数据模型是层次模型、网状模型和关系模型。 目前普遍采用的是关系模型。 在关系模型中,是通过二维表来表示实体以及实体之间的关系。 关系,就是二维表;但二维表不一定是关系。 ===== 第 2 页 ===== 5-1、数据表: 关系数据库中的关系,也称为表(数据表)。 一个关系就是一个表。 具有下列特点的二维表才是关系模型: ①、表中每一列都是不可再分的数据项。 ②、每列的名字不同。 ③、行的顺序无关紧要。 ④、列的顺序无关紧要。 ⑤、表中不能存在完全相同的两行。 (6)同一列的数据类型相同或者兼容。 这样的表,称为关系,或关系模型。 行,称为记录,或元组;列,称为字段,或属性。 ===== 第 3 页 ===== 关系模型中数据的逻辑结构是一张二维表,它由行和列组成 编号 | 姓名 | 性别 | 出生日期 | 职称 001 | 张三 | 男 | 1970-1-1 | 副教授 002 | 李四 | 女 | 1978-10-5 | 助教 003 | 王五 | 男 | 1974-9-8 | 讲师 004 | 赵六 | 男 | 1967-5-21 | 副教授 行 (元组,记录) 列(字段,属性) 字段名 ===== 第 4 页 ===== 表与表的关系 编号 | 姓名 | 性别 | 出生日期 | 职称 | 部门编号 001 | 张三 | 男 | 1970-1-1 | 副教授 | 101 002 | 李四 | 女 | 1978-10-5 | 助教 | 101 003 | 王五 | 男 | 1974-9-8 | 讲师 | 102 004 | 赵六 | 男 | 1967-5-21 | 副教授 | 101 部门编号 | 部门名称 101 | 计算机系 102 | 教务处 103 | 办公室 雇员表 部门表 主键 主键 外键 父表 子表 表和表之间是相互关联的; Ⅰ.表与表之间通过公共字段(关键字)建立关系,分为主键和外键 Ⅱ.主键指表中一列或多列的组合,其值唯一标志表中的记录,值非空。 Ⅲ.外键指表B中含有与另一表A(父表)的主键相对应的列,该列在表B(子表) 中称为外键。 ===== 第 5 页 ===== 5-2、 关键字 1、关键字的概念: 关键字是用来唯一标识表中每一行的属性或属性的组合,通常也称关键码、码、键。 如:学生表中有学号、姓名、性别、身份证号;学号、身份证号不会重复,而姓名、性别可能会重复,则学号、身份证号是关键字,而姓名、性别不是关键字。 表中可以有多个关键字,每个关键字,又叫候选关键字。 ===== 第 6 页 ===== 2、主关键字: 若在候选关键字中,指定一个,作为表中标识每一行的关键字,则这个关键字称为主关键字,或主键(或称主码)。 如:学号是唯一识别学生的属性,是主键。 特点: (1)一个表中可能有一个或多个关键字,但只能指定一个为主键。(如学号、身份证号都是关键字,但只能指定一个为主键) (2)主键的值,在表中是唯一的,不能有重复。 (3)主键值不允许为空值(NULL值,指未知的,并非空格) (4)主键可以是表中的一个属性,也可以是几个属性的组合 通常选择属性值较短的那个属性作为主关键字。如学号11位,而身份证18位,可以指定学号为主键。 ===== 第 7 页 ===== 3、外关键字: 本表中的一个属性(或多个属性组合),不是本表的主键,而是另一个表的主关键字,则称这个属性为本表的外关键字,或外键。 如: 表1,有字段“系部编号、系部名称”,指定“系部编号”为主键; 表2,有字段“学号、姓名、系部编号”,指定“学号”为主键; 表2的“系部编号”是表1的主键,它可称为表2的外键; ===== 第 8 页 ===== 外键特点: (1)其值要么为空(NULL)、要么等于另个表的主键值。 (2)通过外键建立本表和其他表之间的联系。 (3)一个表中不一定必须有外键;如果有外键,可以有一个也可以多个外键。 ===== 第 9 页 ===== 4、主表与从表: 主健所在的表为主表(也称父表), 外键所在的表为从表(也称子表)。 如: 表A,有字段“学号、姓名、系部编号”,指定“学号”为主键,“系部编号”为外键; 表B,有字段“系部编号、系部名称”,指定“系部编号”为主键; 则,主表是?,从表是? ===== 第 10 页 ===== 小结: (一)概念 数据存放在表中,表存放在数据库中。 要使用数据库中的数据,其实就是使用数据库中的表。 通过对表的操作,来实现对数据的操作。 ===== 第 11 页 ===== 每个数据库中,可存放若干不同的表; 关系数据库中的表,是结构化的,即是二维表; 每个表中,可存放若干不同的行(即记录); 每行(即每条记录)中,可有若干不同的列(即字段); 表中的每一列都用于存储某种类型的信息,例如,日期、名称、金额和数字。 表的结构,即表具有的字段;由于不同的字段存储不同类型的数据,因此字段具有类型和长度的特性。 ===== 第 12 页 ===== 要把数据保存到表中,首先要建立这个表; 建表就是建立表的结构。 然后,向表中增加数据。 再后,对数据进行修改、查询、删除等操作。