SQL课后题答案整理.doc
文本预览下载声明
第一章 关系型数据库—基本概念和操作
课后习题:
========
【注意:每一章后面的课后习题,是作业,也是期末考试主要的题源,期末试卷中约50分的试题就从这些题目中选取】
1.各用一句话说明以下概念
关系数据库,实例,属性,域,记录(元组),候选键,主键,外键
一个关系数据库是由若干二维表和表之间的关联组成,这个库也叫一个“实例(instance)”。
表的第一行是“表头”,它并不是数据,而是说明每一列的数据应该“是什么”,以及取值范围和其它约束条件,“表头”的每个字段叫属性(attribute),属性的取值范围及其他约束条件叫域(field)。属性是描述数据的数据,叫元数据。
每个表的各个属性不能重名,不同表的属性可以重名。一个表也可以叫一个关系,表中的数据,有的是本表实体的数据,有的是与其它表的联系,比如“表8:选课表”,“课程号”和“学号”列是联系。
每张表从第二行往后是数据部分、每一行叫一条记录,或一个元组。记录中的每一列可以叫一个字段。6.每张表至少应该有一个,也可以有多个属性,可以唯一的确定一条记录,这种属性叫候选键(candidate key),比如,表5:“学生表”的“学号”肯定是候选键,而“姓名”如果加上不允许重复的约束条件,也是候选键,否则不是。
当一个表中有多个候选键,可以从中任选一个作为主键(prime key) ,当一个表只有一个候选键,它自然就是主键。主键可以是数值,可以是字符串或其它类型,但无论如何主键的值不能为空,不同记录的主键值也不能重复。
外键(foreign key):在本表中是主键,而在其它表中可能不是主键,叫外键。比如,“表8:选课表”的“课程号”和“学号”在该表中都不是主键,是可以重复的。而在“表7:课程表”和“表5:学生表”中,却是各自的主键。外键说明了一个表和另一个表的关联,是关系数据库中重要的键。
关系型数据库—SQL语言
CREATE TABLE 表名
(列名 类型,…表级约束) NCHAR和CHAR的区别; 数据库主文件,次文件,日志文件的概念及其扩展名 数据操作DML INSERT INTO 表名
(属性列表)VALUES(值列表);
UPDATE表名
SET 列名=表达式,
WHERE行选择条件 数据查询DQL SELECT *|列名,…
FROM 表名|视图名,…
WHERE 行选择条件;
例31-33内连接查询句法; LIKE和 _, % ;
SELECT?聚集函数名(形参) AS 别名FROM 表名 WHRER行选择条件; 列的别名的用途;
结果集;
脏数据;
外键的必要性 视图 CREATE VIEW视图名AS SELECT 语句; 视图;
视图最重要的作用 索引 CREATE INDEX索引名
ON 表名|视图名(列名,…); 索引,
索引的优点和缺点
第二章【附录】 关系代数理论
本章习题:
1 用100字左右简述关系数据的三层模型
2 本章“2.3 关系代数的原始运算”“选择”、“投影”、“笛卡尔积”、“并集”、“差集”和“重命名”。请根据课件第二章的例题,猜测一下,这六个原始运算对应SQL语言的那个主句、子句或谓词。
3本章“2.4连接和类似连接的运算”给出了几个链接查询结果集的表格样例(比如部门表和雇员表的自然连接),写出相应的SQL语句。
1.
外模式 比如SQL的视图,用户完全可见 向上映射 概念模式:主要描述数据、类型、关系、约束、用户操作等。 比如SQL语句,用户部分可见 向上映射 内模式:描述数据库的物理存储 用户看不到 操作系统的文件系统,向上映射 有些数据库有独立的文件系统
“选择”:select “投影”:SELECT test FROM A
“笛卡尔积”:SELECT 选课表.*,学生表.*,课程表.*
“并集”:WHERE ...OR...“差集”:WHERE...AND...
“重命名”:EXEC sp_rename 表名.原列名, 新列名 (?)
自然连接是写为 (R ? S) 的二元运算(相当于C语言的双目运算),这里的 R 和 S 是关系。自然连接的结果是在R和S 中公共属性名字上相等的所有元组的组合。例如下面是表格“雇员”和“部门”和它们的自然连接:
雇员
Name
EmpId
DeptName
Harry
3415
财务
Sally
2241
销售
George
3401
财务
Harriet
2202
销售
部门
DeptName
Manager
财务
George
销售
Harriet
生产
Charles
雇员 ? 部门
Name
EmpId
DeptName
Manager
Harry
3415
财务
George
Sally
2241
显示全部