【数据库基础与应用】形考作业二:
一、填空题(每空1分,共20分)
1. 命令交互、程序执行、窗口界面
2. create schema、drop schema
3. 数据、日志
4. 6、4
5. values、select
6. 实表、虚表
7. select、from、where
8. 数据流图、数据字典
9. 1对1、1对多
二、简答题(每题5分,共20分)
1.简述SQL的功能
SQL具有三个主要功能:
1)数据定义功能:定义数据库的三级模式结构,即外模式、全局模式和内模式结构;
2)数据操纵功能:对基本表和视图的数据进行查询、插入、删除和修改;
3)数据控制功能:对用户的访问权限进行控制,保证系统的安全性。
2.简述列级完整性约束的作用。
DEFAULT<常量表达式>默认值约束。当不给元组中的该列分量输入值时则采用由常量表达式所提供的值。
NULL/NOT NULL空值/非空值约束。注明每行上的该列值是否允许为空。
PRIMARY KEY主码约束。注明该列为关系的主码。
UNIQUE单值约束(惟一值约束)。注明该列上的所有取值必须互不相同。
REFERENCES<父表名> (<主码>)外码约束。注明该列为外码。
CHECK(<逻辑表达式>)检查约束。注明该列的取值条件。
3.简述逻辑设计的主要任务和目标。
逻辑设计阶段的主要任务和目标是根据概念设计的结果设计出数据库的逻辑结构模式,包括全局模式和外模式。
关系数据库系统中的全局模式由若干个基本表组成,表与表之间的联系通过定义的主码和外码来实现,每个表都要根据需要达到一定的规范化程度,一般需要达到第三范式。
4.简述视图的概念及作用。
视图是建立在基本表上的一个虚表,它的结构和内容都来自基本表,它依据基本表存在。视图的列可以来自一个基本表或多个基本表。视图的建立和删除只影响视图本身,不影响对应的基本表,对视图的更新(插入、删除和修改)直接影响基本表。
视图能够增强安全性,使数据库中一些保密的数据对无关人员成为不可见的。
三、根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL查询语句写出相应的功能。(每题6分,共30分)
1. 从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类号、产地和品牌。
2. 从商品库中查询出每一种商品的商品代号、分类号、数量和品牌。
3. 从教学库中查询出每门课程被选修的学生人数,并按所选人数的升序排列出课程号、课程名和选课人数。
4. 从教学库中查询出选修了课程名为“C++语言”的所有学生的姓名和成绩。
5. 从教学库中查询出同时选修了3门课程的全部学生。
四、根据教材第四章所给的商品库和教学库,按照下列功能要求写出相应的查询语句(每题6分,共30分)
1.select distinct 产地
from 商品表2
2.select 分类名,max(单价) as 最高单价
from 商品表1
group by 分类名
3.select 分类名,sum(数量) as 总数量
from 商品表 1
group by 分类名
4.select x.学生号,y.学生号,y.课程号
from 选课 x,选课 y
where x.学生号=@s1 and y.学生号=@s2 and x.课程号=y.课程号
5.select distinct x.*
from 课程 x,选课 y,选课 z
where y.课程号=z.课程号 and y.学生号<>z.学生号
and x.课程号=y.课程号