1、数据库第四次作业 20052025 陈奕豪第四章 SQL 查询语言一. 简答题1. SQL 语言的使用方式?交互式操作和将 SQL 语言作为子语言嵌入到作为宿主语言的高级程序设计语言中。或者称动态 SQL 和嵌入式 SQL。2. 完整的 SQL 包括哪三个子语言分类?数据定义子语言(DDL);数据操纵子语言(DML);数据控制子语言(DCL);3. SQL 语言中定义的数据库与第一章中的数据库概念之异同?在 RDBMS 中,数据库一般指存储空间,用于存放数据集合,所以 这种存储空间的含义与第一章中的数据库概念有点区别。4. 标准的 SQL 语言与实际数据库产品中的 SQL 数据库语言的关系?S
2、QL-92 中的某些功能,在实际数据库产品中可能没有得到支持;同时, 实际 RDBMS 的 SQL 语言也可能出现 SQL-92 中没有的特性和功能,例如在 MS SQL Sever 和 Sybase 中均实现了触发器功能,而在 SQL-92 标准中却没有。5. SQL 语言对数据库对象的定义使用哪三个 SQL 命令关键字?Create(创建),Drop(删除),Alter (修改)。6. 定义索引的目的?索引是关于数据未知信息的关键字表,是数据库系统中的数据存取方法之一。利用索引,系 统可以较快地在次磁盘上定位所需数据,而不需要在磁盘上从头到尾或从后向前,一个数据一个数据地匹配和查找,从而加
3、快数据查询的速度。二. 根据教材 P390 的表 11-111-4 和 P393 P394 表 11-511-8,完成如下任 务:数据库第四次作业 20052025 陈奕豪1.写出创建 Salary 表的代码;/* 11-2-2 薪水表*/*表级外键约束 */CREATE TABLE Salary(P_no Char(6) PRIMARY KEY,Base Dec(5,1) NULL,Bonus Dec(5,1) NULL ,Fact AS Base+Bonus,CONSTRAINT P_no_constrFOREIGN KEY(P_no)REFERENCES Person20052025(P
4、_no) ON DELETE CASCADEON UPDATE CASCADE)2.写出向表 Person 插入一行(表 11-5 中的任一行均可)数据的代 码;insert person20052025 values(000002,谢志文,男,1975-02-14,2003-12-07,培训部,000005)3.将表 11-5 中“000006”的 Deptname 由“销售部”改为“财务部”,写出代码;update personset Deptname=财务部 where Deptname=销售部4.删除表 11-5 中“000002”员工,写出代码;delete from person
5、where p_no=0000025.查询“销售部”基本工资在 2000 以上的员工姓名及基本工资,写出查询代码。数据库第四次作业 20052025 陈奕豪由题目可知,此查询涉及到 person 和 Salary 这两个表,且最后要得到的字段 为 P_name 和Fact。select P_name as 员工姓名 ,Fact as 基本工资 from person20052025,salary20052025 where person20052025.Deptname=销售部and salary20052025.Fact=2000and person20052025.P_no=salary20052025.P_no