(1)域,关系,元组,属性 答 域:域是一组具有相同数据类型的值的集合 关系:在域D1,D2,…,Dn上笛卡尔积Dl×D2×…×Dn的子集称为关系,表示为 R(Dl,D2,…,Dn) 元组:关系中的每个元素是关系中的元组 属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为 了加以区分,必须对每列起一个名字,称为属性( Attribute)。 (2)主码,候选码,外部码 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码( Candidate 主码:若一个关系有多个候选码,则选定其中一个为主码( Primary key) 外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码 Ks相对应,则称F是基本关系R的外部码( Foreign key),简称外码 基本关系R称为参照关系( Referencing relation),基本关系S称为被参照关系( Referenced relation)或目标关系( Target relation)。关系R和S可以是相同的关系。 (3)关系模式,关系,关系数据库 关系模式:关系的描述称为关系模式( Relation schema)。它可以形式化地表示为: R( U, D, dom, F) 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向 域的映象集合,F为属性间数据的依赖关系集合 关系:在域D1,D2,…,Dn上笛卡尔积Dl×D2×…×Dn的子集称为关系,表示为 R(D1,D2,…,Dn) 关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间 不断变化的,因为关系操作在不断地更新着数据库中的数据
( 1)域,关系,元组,属性 答: 域:域是一组具有相同数据类型的值的集合。 关系:在域 D1,D2,…,Dn 上笛卡尔积 D1×D2×…×Dn 的子集称为关系,表示为 R(D1,D2,…,Dn) 元组:关系中的每个元素是关系中的元组。 属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为 了加以区分,必须对每列起一个名字,称为属性( Attribute)。 ( 2)主码,候选码,外部码 答: 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码( Candidate key)。 主码:若一个关系有多个候选码,则选定其中一个为主码( Primary key)。 外部码:设 F 是基本关系 R 的一个或一组属性,但不是关系 R 的码,如果 F 与基本关系 S 的主码 Ks 相对应,则称 F 是基本关系 R 的外部码(Foreign key),简称外码。 基本关系 R 称为参照关系(Referencing relation),基本关系 S 称为被参照关系(Referenced relation)或目标关系(Target relation)。关系 R 和 S 可以是相同的关系。 (3)关系模式,关系,关系数据库 关系模式:关系的描述称为关系模式( Relation Schema)。它可以形式化地表示为: R(U,D,dom,F) 其中 R 为关系名,U 为组成该关系的属性名集合,D 为属性组 U 中属性所来自的域,dom 为属性向 域的映象集合,F 为属性间数据的依赖关系集合。 关系:在域 D1,D2,…,Dn 上笛卡尔积 D1×D2×…×Dn 的子集称为关系,表示为 R(D1,D2,…,Dn) 关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间 不断变化的,因为关系操作在不断地更新着数据库中的数据
关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据 库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式 在某一时刻对应的关系的集合,通常就称为关系数据库。 4.试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可 以为空? 答 关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、 参照完整性和用户定义的完整性。参见教材 在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码 属性不是其所在关系的主属性。 例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。其 语义是,该学生的专业尚未确定。 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性, 所以不能为空。因为关系模型必须满足实体完整性。 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 5.等值连接与自然连接的区别是什么? 答:自然连接( Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相 同的属性组,并且要在结果中把重复的属性去掉。 第三章关系数据库标准语言SQL(教材148页) 1.试述SQL语言的特点。 (1)综合统一。SαL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于 (2)髙度非过程化。用SL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做
关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据 库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式 在某一时刻对应的关系的集合,通常就称为关系数据库。 4.试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可 以为空? 答: 关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、 参照完整性和用户定义的完整性。参见教材 在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码 属性不是其所在关系的主属性。 例如,在下面的 “学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。其 语义是,该学生的专业尚未确定。 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 而在下面的 “选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性, 所以不能为空。因为关系模型必须满足实体完整性。 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 5.等值连接与自然连接的区别是什么? 答:自然连接( Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相 同的属性组,并且要在结果中把重复的属性去掉。 第三章 关系数据库标准语言 SQL (教材 148 页) 1. 试述 SQL 语言的特点。 答: ( 1)综合统一。 SQL 语言集数据定义语言 DDL、数据操纵语言 DML、数据控制语言 DCL 的功能于 一体。 ( 2)高度非过程化。用 SQL 语言进行数据操作,只要提出“做什么”,而无须指明“怎么做
因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成 (3)面向集合的操作方式。S哑L语言采用集合操作方式,不仅操作对象、查找结果可以是元组的 集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 (4)以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自 含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序 时使用。 (5)语言简捷,易学易用。 2.试述SQL的定义功能。 答 SQL的数据定义功能包括定义表、定义视图和定义索引。 SQL语言使用 CREATE TABLE语句定义建立基本表,; ALTER TABLE语句修改基本表定义, DROP TABLE 语句删除基本表:建立索引使用 CREATE INDEX语句建立索引, DROP INDEX语句删除索引表;SQL语言 使用 CREATE VIEW命令建立视图, DROP VIEW语句删除视图。 3.用SαL语句建立第3章习题3中的四个表。 对于S表:S(SNO, SNAME, STATUS,CITY) 建S表 CREATE TABLE S (SNO CHAR (3) SNAME CHAR (10) STATUS CHAR (2) CITY CHAR (10)) P(PNO, PNAME, COLOR, WEIGHT) 建P表、建J表、建SPJ表略。 4.针对上题中建立的四个表试用SL语言完成第3章习题3中的查询
因此无需了解存取路径,存取路径的选择以及 SQL 语句的操作过程由系统自动完成。 ( 3)面向集合的操作方式。SQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的 集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 ( 4)以同一种语法结构提供两种使用方式。SQL 语言既是自含式语言,又是嵌入式语言。作为自 含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序 时使用。 ( 5)语言简捷,易学易用。 2. 试述 SQL 的定义功能。 答: SQL 的数据定义功能包括定义表、定义视图和定义索引。 SQL 语言使用 CREATE TABLE 语句定义建立基本表,;ALTER TABLE 语句修改基本表定义,DROP TABLE 语句删除基本表;建立索引使用 CREATE INDEX 语句建立索引, DROP INDEX 语句删除索引表;SQL 语言 使用 CREATE VIEW 命令建立视图,DROP VIEW 语句删除视图。 3. 用 SQL 语句建立第 3 章习题 3 中的四个表。 答: 对于 S 表:S( SNO,SNAME,STATUS,CITY); 建 S 表 CREATE TABLE S (SNO CHAR(3), SNAME CHAR(10), STATUS CHAR(2), CITY CHAR(10)); P(PNO,PNAME,COLOR,WEIGHT); 建 P 表、 建 J 表、建 SPJ 表略。 4. 针对上题中建立的四个表试用 SQL 语言完成第 3 章习题 3 中的查询
答 (1)求供应工程J1零件的供应商号码SNO SELECT SNO FROM SPJ WHERE JNO=‘J1 (2)求供应工程J1零件P1的供应商号码SNO SELECT SNO FROM SPJ WHERE JNO=‘J AND PNO=P1’ (3)求供应工程J1零件为红色的供应商号码SN0 SELECT SNO FROM SPJ WHERE JNO=‘J1 AND PNO IN (SELECT PNO FROM P WHERE COLOR=‘红); (4)求没有使用天津供应商生产的红色零件的工程号JNO; 略,注意:从J表入手,以包含那些尚未使用任何零件的工程号。 5.针对习题3中的四个表试用SQL语言完成以下各项操作 (1)找出所有供应商的姓名和所在城市 (2)找出所有零件的名称、颜色、重量
答: ( 1) 求供应工程 J1 零件的供应商号码 SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1'; ( 2) 求供应工程 J1 零件 P1 的供应商号码 SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1' AND PNO=‘P1'; ( 3) 求供应工程 J1 零件为红色的供应商号码 SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1' AND PNO IN (SELECT PNO FROM P WHERE COLOR=‘红'); ( 4) 求没有使用天津供应商生产的红色零件的工程号 JNO; 略, 注意:从 J 表入手,以包含那些尚未使用任何零件的工程号。 5. 针对习题 3 中的四个表试用 SQL 语言完成以下各项操作: ( 1)找出所有供应商的姓名和所在城市。 ( 2)找出所有零件的名称、颜色、重量
(3)找出使用供应商Sl所供应零件的工程号码。 (4)找出工程项目J2使用的各种零件的名称及其数量。 (5)找出上海厂商供应的所有零件号码。 (6)找出使用上海产的零件的工程名称 (7)找出没有使用天津产的零件的工程号码 (8)把全部红色零件的颜色改成蓝色 (9)由S5供给J4的零件P6改为由S3供应,请作必要的修改。 (10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录 (11)请将(S2,J6,P4,200)插入供应情况关系。 答 (1)找出所有供应商的姓名和所在城市 SELECT SNAME, CITY FROM S (2)找出所有零件的名称、颜色、重量。 SELECT PNAME. COLOR, WEIGHT FROM P (3)找出使用供应商Sl所供应零件的工程号码。 SELECT JNO FROM SPJ WHERE SNO=‘S1 (4)找出工程项目J2使用的各种零件的名称及其数量 SELECT P PNAME, SPJ QTY FROM P, SPJ
( 3)找出使用供应商 S1 所供应零件的工程号码。 ( 4)找出工程项目 J2 使用的各种零件的名称及其数量。 ( 5)找出上海厂商供应的所有零件号码。 ( 6)找出使用上海产的零件的工程名称。 ( 7)找出没有使用天津产的零件的工程号码。 ( 8)把全部红色零件的颜色改成蓝色。 ( 9)由 S5 供给 J4 的零件 P6 改为由 S3 供应,请作必要的修改。 ( 10)从供应商关系中删除 S2 的记录,并从供应情况关系中删除相应的记录。 ( 11)请将 (S2,J6,P4,200) 插入供应情况关系。 答: (1) 找出所有供应商的姓名和所在城市。 SELECT SNAME, CITY FROM S; (2) 找出所有零件的名称、颜色、重量。 SELECT PNAME, COLOR, WEIGHT FROM P; (3) 找出使用供应商 S1 所供应零件的工程号码。 SELECT JNO FROM SPJ WHERE SNO=‘S1'; (4) 找出工程项目 J2 使用的各种零件的名称及其数量。 SELECT P.PNAME, SPJ.QTY FROM P, SPJ