关系数据库与SQL语言练习答案(完整版)
SQL课后题答案整理
第一章关系型数据库—基本概念和操作课后习题:========【注意:每一章后面的课后习题,是作业,也是期末考试主要的题源,期末试卷中约50分的试题就从这些题目中选取】1.各用一句话说明以下概念关系数据库,实例,属性,域,记录(元组),候选键,主键,外键1)一个关系数据库是由若干二维表和表之间的关联组成,这个库也叫一个“实例(instance)”。
2)表的第一行是“表头”,它并不是数据,而是说明每一列的数据应该“是什么”,以及取值范围和其它约束条件,“表头”的每个字段叫属性(attribute),属性的取值范围及其他约束条件叫域(field)。
属性是描述数据的数据,叫元数据。
3)每个表的各个属性不能重名,不同表的属性可以重名。
一个表也可以叫一个关系,表中的数据,有的是本表实体的数据,有的是与其它表的联系,比如“表8:选课表”,“课程号”和“学号”列是联系。
4)每张表从第二行往后是数据部分、每一行叫一条记录,或一个元组。
记录中的每一列可以叫一个字段。
6.每张表至少应该有一个,也可以有多个属性,可以唯一的确定一条记录,这种属性叫候选键(candidate key),比如,表5:“学生表”的“学号”肯定是候选键,而“姓名”如果加上不允许重复的约束条件,也是候选键,否则不是。
5)当一个表中有多个候选键,可以从中任选一个作为主键(prime key) ,当一个表只有一个候选键,它自然就是主键。
主键可以是数值,可以是字符串或其它类型,但无论如何主键的值不能为空,不同记录的主键值也不能重复。
6)外键(foreign key):在本表中是主键,而在其它表中可能不是主键,叫外键。
比如,“表8:选课表”的“课程号”和“学号”在该表中都不是主键,是可以重复的。
而在“表7:课程表”和“表5:学生表”中,却是各自的主键。
外键说明了一个表和另一个表的关联,是关系数据库中重要的键。
第二章关系型数据库—SQL语言本章习题(1)本章“8 小结”表中提到的重点关键词、谓词、句型、概念。
SQL基础知识题库100道及答案(完整版)
SQL基础知识题库100道及答案(完整版)1. 在SQL 中,用于创建表的语句是()A. CREATE TABLEB. INSERT INTOC. UPDATED. DELETE答案:A2. 以下哪个关键字用于在SQL 中添加数据()A. ADDB. INSERTC. APPENDD. PUT答案:B3. 在SQL 中,用于从表中检索数据的语句是()A. SELECTB. GETC. FETCHD. REQUEST答案:A4. 以下哪个关键字用于在SQL 中更新数据()A. MODIFYB. CHANGEC. UPDATED. REPLACE答案:C5. 要从表中删除数据,应使用的SQL 语句是()A. DROPB. DELETEC. REMOVED. CLEAR答案:B6. SQL 中用于创建索引的关键字是()A. CREATE INDEXB. MAKE INDEXC. BUILD INDEXD. ESTABLISH INDEX答案:A7. 以下哪种数据类型用于存储整数()A. INTB. FLOATC. VARCHARD. DATE答案:A8. 用于存储字符串的常见数据类型是()A. CHARB. INTC. DECIMALD. DOUBLE答案:A9. 在SQL 中,用于对结果集进行排序的关键字是()A. SORTB. ORDER BYC. ARRANGED. ALIGN答案:B10. 以下哪个运算符用于等于比较()A. =B. ==C. <>D. >答案:A11. 用于不等于比较的运算符是()A.!=B. < >C. NOT EQUALSD. DIFFERENT答案:B12. 以下哪个运算符用于大于比较()A. >B. >=C. <D. <=答案:A13. 用于小于比较的运算符是()A. <B. <=C. >D. >=答案:A14. 以下哪个关键字用于在SQL 中进行分组操作()A. GROUP BYB. SORT BYC. CLASSIFY BYD. CATEGORIZE BY答案:A15. 聚合函数SUM 用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最小值答案:A16. 聚合函数AVG 用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最大值答案:B17. COUNT 函数用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最小值答案:C18. MAX 函数用于()A. 计算总和B. 计算平均值C. 计算最大值D. 计算最小值答案:C19. MIN 函数用于()A. 计算总和B. 计算平均值C. 计算最大值D. 计算最小值答案:D20. 在SQL 中,用于连接两个表的关键字是()A. JOINB. CONNECTC. LINKD. BIND答案:A21. 内连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:A22. 左连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:B23. 右连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:C24. 全连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:D25. 在SQL 中,用于限制结果集行数的关键字是()A. LIMITB. RESTRICTC. BOUNDD. CONSTRAINT答案:A26. 以下哪个子句用于在SQL 中进行条件筛选()A. WHEREB. HAVINGC. FROMD. GROUP BY答案:A27. HAVING 子句通常与()一起使用A. GROUP BYB. ORDER BYC. WHERED. FROM答案:A28. 在SQL 中,用于创建视图的语句是()A. CREATE VIEWB. MAKE VIEWC. BUILD VIEWD. ESTABLISH VIEW 答案:A29. 以下哪个关键字用于删除视图()A. DROP VIEWB. DELETE VIEWC. REMOVE VIEWD. CLEAR VIEW 答案:A30. 要在SQL 中添加注释,可以使用()A. //B. /* */C. #D. --答案:D31. 在SQL 中,以下哪种数据类型用于存储日期和时间()A. DATEB. TIMEC. DATETIMED. TIMESTAMP答案:C32. 用于提取日期部分的函数是()A. DATEPART()B. DAY()C. MONTH()D. YEAR()答案:A33. 以下哪个函数用于计算字符串的长度()A. LENGTH()B. SIZE()C. COUNT()D. LEN()答案:A34. 在SQL 中,用于将字符串转换为大写的函数是()A. UPPER()B. TO_UPPER()C. CAPITALIZE()D. BIGCASE()答案:A35. 用于将字符串转换为小写的函数是()A. LOWER()B. TO_LOWER()C. SMALLCASE()D. DECAPITALIZE()答案:A36. 以下哪个函数用于去除字符串两端的空格()A. TRIM()B. CLEAN()C. REMOVE_SPACES()D. STRIP()答案:A37. 在SQL 中,用于执行事务的语句是()A. BEGIN TRANSACTIONB. START TRANSACTIONC. OPEN TRANSACTIOND. INITIATE TRANSACTION答案:A38. 提交事务使用的语句是()A. COMMITB. SUBMITC. CONFIRMD. VALIDATE答案:A39. 回滚事务使用的语句是()A. ROLLBACKB. REVERTC. CANCELD. ABORT答案:A40. 以下哪个关键字用于在SQL 中创建存储过程()A. CREATE PROCEDUREB. MAKE PROCEDUREC. BUILD PROCEDURED. ESTABLISH PROCEDURE答案:A41. 调用存储过程使用的语句是()A. EXECUTEB. CALLC. INVOKED. RUN答案:B42. 在SQL 中,用于删除存储过程的语句是()A. DROP PROCEDUREB. DELETE PROCEDUREC. REMOVE PROCEDURED. CLEAR PROCEDURE答案:A43. 以下哪个关键字用于在SQL 中创建触发器()A. CREATE TRIGGERB. MAKE TRIGGERC. BUILD TRIGGERD. ESTABLISH TRIGGER44. 删除触发器使用的语句是()A. DROP TRIGGERB. DELETE TRIGGERC. REMOVE TRIGGERD. CLEAR TRIGGER答案:A45. 在SQL 中,用于授予权限的语句是()A. GRANTB. ALLOWC. PERMITD. AUTHORIZE答案:A46. 收回权限使用的语句是()A. REVOKEB. DENYC. REFUSED. FORBID答案:A47. 以下哪个关键字用于在SQL 中创建索引的唯一性约束()A. UNIQUEB. PRIMARY KEYC. FOREIGN KEYD. CHECK答案:A48. 用于定义主键约束的关键字是()A. PRIMARY KEYB. UNIQUE KEYC. FOREIGN KEYD. INDEX KEY答案:A49. 外键约束使用的关键字是()A. FOREIGN KEYB. OUTER KEYC. RELATED KEYD. REFERENCED KEY答案:A50. 以下哪个约束用于检查数据的有效性()A. CHECKB. VALIDATEC. INSPECTD. VERIFY答案:A51. 在SQL 中,以下哪个语句用于创建数据库()A. CREATE DATABASEB. MAKE DATABASEC. BUILD DATABASED. ESTABLISH DATABASE 答案:A52. 要删除数据库,应使用的语句是()A. DROP DATABASEB. DELETE DATABASEC. REMOVE DATABASED. CLEAR DATABASE 答案:A53. 以下哪个关键字用于在SQL 中切换数据库()A. USEB. SELECT DBC. CHANGE DBD. SWITCH DB答案:A54. 在SQL 中,以下哪种操作可以对多个表同时进行()A. 联合查询B. 子查询C. 交叉连接D. 内连接55. 子查询可以在以下哪个子句中使用()A. SELECTB. FROMC. WHERED. 以上都可以答案:D56. 以下哪个语句用于在SQL 中创建用户()A. CREATE USERB. MAKE USERC. BUILD USERD. ESTABLISH USER答案:A57. 删除用户使用的语句是()A. DROP USERB. DELETE USERC. REMOVE USERD. CLEAR USER答案:A58. 在SQL 中,用于修改表结构的语句是()A. ALTER TABLEB. MODIFY TABLEC. CHANGE TABLED. UPDATE TABLE答案:A59. 以下哪个操作可以添加列到表中()A. ADD COLUMNB. INSERT COLUMNC. APPEND COLUMND. PUT COLUMN答案:A60. 要删除表中的列,应使用()A. DROP COLUMNB. DELETE COLUMNC. REMOVE COLUMND. CLEAR COLUMN答案:A61. 在SQL 中,以下哪个关键字用于对结果集进行分页()A. PAGEB. PAGINGC. OFFSETD. LIMIT答案:D62. 以下哪个函数用于返回当前日期()A. CURDATE()B. NOW()C. CURRENT_DATE()D. TODAY()答案:C63. 用于返回当前时间的函数是()A. CURTIME()B. NOW()C. CURRENT_TIME()D. THIS_TIME()答案:C64. 在SQL 中,以下哪个关键字用于为表中的列设置默认值()A. DEFAULTB. INITIALC. BASED. START答案:A65. 以下哪个语句用于在SQL 中重命名表()A. RENAME TABLEB. MODIFY TABLE NAMEC. CHANGE TABLE NAMED. UPDATE TABLE答案:A66. 要获取表的结构信息,可以使用以下哪个语句()A. DESCRIBE TABLEB. SHOW TABLE STRUCTUREC. EXPLAIN TABLED. GET TABLE DETAILS答案:A67. 在SQL 中,以下哪个关键字用于在查询结果中去除重复行()A. DISTINCTB. UNIQUEC. SINGLED. ONLY答案:A68. 以下哪个函数用于对字符串进行拼接()A. CONCAT()B. JOIN()C. MERGE()D. COMBINE()答案:A69. 在SQL 中,用于创建临时表的关键字是()A. TEMPORARY TABLEB. TEMP TABLEC. TRANSIENT TABLED. SHORT_LIVED TABLE答案:A70. 以下哪个语句用于在SQL 中为列添加注释()A. COMMENT ON COLUMNB. NOTE ON COLUMNC. REMARK ON COLUMND. EXPLAIN COLUMN答案:A71. 在SQL 中,以下哪个关键字用于在子查询中引用外部查询的结果()A. CORRELATEDB. RELATEDC. CONNECTEDD. LINKED答案:A72. 以下哪个操作符用于在SQL 中进行范围查询()A. BETWEENB. INC. LIKED. EXISTS答案:A73. 用于模糊匹配的操作符是()A. LIKEB. SIMILARC. MATCHD. CLOSE_TO答案:A74. 在SQL 中,以下哪个关键字用于对查询结果进行排序时按照多个列进行()A. ORDER BY MULTIPLEB. SORT BY SEVERALC. ORDER BY MORE THAN ONED. ORDER BY MULTIPLE COLUMNS答案:D75. 以下哪个函数用于返回字符串的子串()A. SUBSTRING()B. PART()C. SEGMENT()D. SLICE()答案:A76. 在SQL 中,以下哪个关键字用于在存储过程中定义输入参数()A. INB. OUTC. INOUTD. PARAMETER答案:A77. 用于定义输出参数的关键字是()A. INB. OUTC. INOUTD. PARAMETER答案:B78. 以下哪个关键字用于在存储过程中定义既可以输入又可以输出的参数()A. INB. OUTC. INOUTD. PARAMETER答案:C79. 在SQL 中,以下哪个关键字用于在创建表时指定自增列()A. AUTO_INCREMENTB. SELF_INCREMENTC. AUTO_GROWD. SELF_GROW答案:A80. 以下哪个语句用于在SQL 中创建序列()A. CREATE SEQUENCEB. MAKE SEQUENCEC. BUILD SEQUENCED. ESTABLISH SEQUENCE 答案:A81. 要获取序列的下一个值,可以使用以下哪个函数()A. NEXTVAL()B. GET_NEXT()C. NEXT_VALUE()D. FOLLOWING_VALUE()答案:A82. 在SQL 中,以下哪个关键字用于锁定表()A. LOCKB. HOLDC. FREEZED. BLOCK答案:A83. 以下哪种锁类型用于防止其他事务读取或修改数据()A. 共享锁B. 排他锁C. 意向共享锁D. 意向排他锁答案:B84. 共享锁允许其他事务()A. 读取数据B. 修改数据C. 删除数据D. 以上都不行答案:A85. 在SQL 中,以下哪个关键字用于解锁表()A. UNLOCKB. RELEASEC. FREED. UNBIND答案:A86. 以下哪个函数用于计算两个日期之间的天数差()A. DATEDIFF()B. DATE_DIFFERENCE()C. DAY_DIFFERENCE()D. TIME_DIFFERENCE()答案:A87. 在SQL 中,以下哪个关键字用于在查询中使用别名()A. ASB. LIKEC. SAME ASD. EQUALS答案:A88. 以下哪个语句用于在SQL 中创建索引的唯一约束()A. UNIQUE INDEXB. PRIMARY INDEXC. FOREIGN INDEXD. CHECK INDEX答案:A89. 要在SQL 中创建全文索引,应使用()A. FULLTEXT INDEXB. COMPLETE TEXT INDEXC. ALL_TEXT INDEXD. WHOLE_TEXT INDEX 答案:A90. 在SQL 中,以下哪个关键字用于在存储过程中声明变量()A. DECLAREB. DEFINEC. STATED. ANNOUNCE答案:A91. 以下哪个语句用于在SQL 中为变量赋值()A. SETB. ASSIGNC. GIVED. PUT答案:A92. 在SQL 中,以下哪个关键字用于在存储过程中进行条件判断()A. IFB. WHENC. CASED. CHECK答案:A93. 以下哪种语句用于在SQL 中进行循环操作()A. FORB. WHILEC. LOOPD. 以上都是答案:D94. 在SQL 中,用于退出循环的语句是()A. BREAKB. EXITC. STOPD. END答案:A95. 以下哪个函数用于将数字转换为字符串()A. CAST()B. CONVERT()C. TO_STRING()D. NUM_TO_STR()答案:B96. 在SQL 中,用于获取当前会话的用户名称的函数是()A. CURRENT_USERB. SYSTEM_USERC. LOGGED_IN_USERD. SESSION_USER答案:A97. 以下哪个关键字用于在SQL 中创建存储函数()A. CREATE FUNCTIONB. MAKE FUNCTIONC. BUILD FUNCTIOND. ESTABLISH FUNCTION 答案:A98. 要删除存储函数,应使用的语句是()A. DROP FUNCTIONB. DELETE FUNCTIONC. REMOVE FUNCTIOND. CLEAR FUNCTION答案:A99. 在SQL 中,用于获取数据库版本信息的函数是()A. VERSION()B. DB_VERSION()C. DATABASE_VERSION()D. SYSTEM_VERSION()答案:A100. 以下哪个操作可以在SQL 中对表进行重命名()A. RENAME TABLEB. MODIFY TABLE NAMEC. CHANGE TABLE NAMED. UPDATE TABLE NAME答案:A。
关系数据库标准语言SQL
关系数据库标准语言SQL(总分:120.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:30,分数:60.00)1.在SELECT-SQL语句中,可以删除表的是 ______ 。
(分数:2.00)A.DELETEB.DROP √C.ALTERD.DISTINCT解析:2.用SQL语句建立表时将属性定义为主关键字,应使用短语 ______。
(分数:2.00)A.FREEB.PRIMARY KEY √C.CHECKD.UNIQUE解析:3.在第27题表中,将“工资”字段定义有效性检查及错误信息的是 ______。
(分数:2.00)A.ALTER TABLE职工ALTER工资; CHECK工资>0 ERROR“工资应为正数”B.ALTER TABLE职工ALTER工资; SET CHECK工资>0 ERROR工资应为正数C.ALTER TABLE职工ALTER工资; SET CHECK工资>0ERROR“工资应为正数”√D.ALTER TABLE职工ALTER工资; CHECK工资>0 ERROR“工资应为正数”解析:4.SQL的SELETE语句中,限定分组条件的短语是 ______。
(分数:2.00)A.ORDER BYB.WHEREC.GROUP BYD.HAVING √解析:5.SQL语句中的SELECT命令建立表之间联系的短语为 ______ 。
(分数:2.00)A.UNIOEB.GROUP BYC.JOIN √D.FROM解析:6.SQL语言是 ______ 的语言,易学习。
(分数:2.00)A.过程化B.非过程化√C.格式化D.导航式解析:7.在SELECT-SQL语句中,测试列值是否为空值的运算符是 ______。
(分数:2.00)A.IS NULL √B.EXISTSC.NOTD.NOT IN解析:8.在SQL的计算查询中,用于统计的函数是 ______ 。
(分数:2.00)A.AVG()B.SUM()C.COUNT() √D.COUNT解析:9.SQL命令中建立表的命令是 ______ 。
关系数据库操作语言SQL(三)_真题(含答案与解析)-交互
关系数据库操作语言SQL(三)(总分100, 做题时间90分钟)一、选择题1.以下叙述正确的是______。
• A.字符串数据由英文字母、数字和各种符号组成• B.字符串数据由汉字、英文字母和数字组成• C.字符串数据由汉字、英文字母和各种符号组成• D.字符串数据由汉字、英文字母、数字和各种符号组成SSS_SIMPLE_SINA B C D该问题分值: 2.5答案:D[解析] 字符串数据由汉字、英文字母、数字和各种符号组成,因此本题答案为D。
2.SQL Server支持的准确型数据类型不包括______。
•**•**•****SSS_SIMPLE_SINA B C D该问题分值: 2.5答案:D[解析] 准确型数值是指在计算机中能够精确存储的数,SQL Server支持的准确型数据类型包括:Bigint、Int、Smallint、Tinyint、Bit、numeric(p,q)或decimal(p,q)。
近似型是用于表示浮点型数据的近似数据类型,包括float 和real。
所以本题的答案为D。
3.SQL Server支持的普通编码字符串的数据类型不包括______。
•**(n)•**(n)•****SSS_SIMPLE_SINA B C D该问题分值: 2.5答案:D[解析] SQL Server支持的普通编码字符串的数据类型包括char(n)、varchar(n)和text。
所以本题的答案为D。
4.设在SQL Server 2000中,某关系表需要存储职工的工资信息,工资的范围为2000~10000,设用整型类型存储。
下列数据类型中最合适的是______。
•**•**•****SSS_SIMPLE_SINA B C D该问题分值: 2.5答案:B[解析] int数据类型所表示的数值范围从-231到231-1,也就是说,你可以用int数据类型来表达-2,147,483,648到2,147,483,647(即大约正负二十亿)之间的整数。
实训sql关系数据库实训练习含答案,DML语句及DDL语句
DML 语句及 DDL 语句实训内容 】1、数据操纵语句实训目的】 掌握 INSERT 、UPDATE 、DELETE 三个数据操作语句; 掌握数据库对象的定义CREATE )、修改( ALTER )及删除( DELETE )操作。
用 INSERT 、UPDATE 、DELETE 三个语句来完成对数据进行添加、更新及删 除操作,这三个语句能修改数据库中的数据,但不返回结果集。
2、创建和修改表结构SQL 的DDL 语句能创建和修改数据库的逻辑结构, 包括CREATE 语句、ALTER 语句及 DROP 语句。
3、创建和修改视图 在 SQL 中,视图是一种类表对象。
或称之为衍生表(虚拟表) ,它并不在物理 上包含数据,但是它的定义是永久性的。
用 CREAE VIEW 定义视图。
4、请完成以下数据操纵语句: 1) 学号为“ 1031231”的学生,新选修了 3号课程,成绩未知。
insert into 选课表 values('1031231',3,NULL) 2) 为 GZ02 计 6班未选 4号课程的学生补选 4 号课程。
insert into 选课表 (学号 ,课程号 ) select 学号 ,4 from 学生表 where 班级 ='GZ02 计 6' and 学号 not in (select 学号 from 选课表 where 课程号 =4) 3) 将名字为 '王玲俐 '的学生的年龄修改为 18 岁,班级改为 'GZ02 计 8'。
update 学生表set 年龄=18,班级='GZ02计8' where 姓名='王玲俐' 4) 将“软件工程”这门课成绩在 60 分以下的学生的成绩统一修改为 59 分。
update 选课表 set 成绩 =59from 选课表,课程表 where 选课表•课程号=课程表•课程号and 课程名='软件工程' and 成绩<60 up date 选课表set 成绩=59 where 成绩<60 and 课程号=( select 课程号from 课程表where 课程名='软件工程'5)删除课程号为1号的所有的选课信息。
关系数据库与SQL语言练习答案(完整版)
一.1.选择题:1.B2.B3.C4.D5.A6.B7.C8.C9.D10.B11.C12.A13.C14.B15.A16.C17.A18.C19.D2.填空1. 外模式2. 个体3. 实体集4. 一对一,一对多,多对多5. 型值6. 层次模型网关模型关系模型7. 并发性控制8. 集成性9. 封装对象类10. 多媒体数据库3.简答:1.数据:描述事物的符号记录称为数据。
数据的种类有文字、图形、图象、声音、正文等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库系统:数据库系统(dbs)是指在计算机系统中引入数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
数据库管理系统:数据库管理系统(dbms)是位于用户与操作系统之间的一层数据管理软件。
用于科学地组织和存储数据、高效地获取和维护数据。
dbms主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
2.使用数据库系统的好处是由数据库管理系统的特点或优点决定的。
使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。
使用数据库系统可以大大提高应用开发的效率。
因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由dbms来完成。
用一个通俗的比喻,使用了dbms就如有了一个好参谋好助手,许多具体的技术工作都由这个助手来完成。
开发人员就可以专注于应用逻辑的设计而不必为管理数据的许许多多复杂的细节操心。
还有,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。
数据逻辑结构的改变是dba的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。
2021福建计算机专升本年真题参考答案《关系数据库与SQL语言》(1)
2021年真题参考答案《关系数据库与SQL语言》一、单项选择题(共20小题,每小题2分,共40分)1-5ABABC6-10DDABC11-15 CBDDC16-20 CCABD二、填空题(共5小题,每空2分,共20分)21、实体完整性,参照完整性22、模式/内模式,物理数据独立性23、选取,投影24、无损连接性,函数依赖保持性25、逻辑设计,物理设计三、根据题意,写出实现以下查询的SQL语句(本大题共25分)26、(2分)答案:insert into Productvalues('P2145','康佳手机',1250)27、(2分)答案:select Mno,Mnamefrom Marketwhere City='上海'28、(1)(3分)答案:select Mname,Cityfrom Marketwhere Mname like '厦门%'(2)(3分)答案:select *from Productwhere Price>=1200order by Price desc(3)(3分)答案:select distinct Mno,Mnamefrom Market,Salewhere Market.Mno=Sale.Mno and Pno='P1208'29、(1)(3分)答案:update Productset Price=4568where Pname='联想电脑'(2)(3分)答案:delete from Productwhere Pname='海尔洗衣机'30、(3分)答案:create view View_Salesas select Mno,Pno,Quanityfrom Salewhere Quanity>2031、(3分)答案:create table Product(Pno char(5) primary key,Pname varchar(10),//字符型长度只要大于等于10都可以 Price int)四、设计题(共3小题,共15分)32、(2分)答案:)(Pr 1000Pr ,oduct ice Pname Pno ≤σπ33、(1)(2分)答案:R 的候选键CE(2)(3分)答案:{D,E},{B,C,D},{A,C,D},{C,E}34、(1)(5分)E-R 图如下所示:(2)(3分)答案:。
关系数据库标准语言SQL(二)有答案
关系数据库标准语言SQL(二)一、选择题1. 在Visual FoxPro中要建立一个与现有的数据库表具有相同结构和数据的新数据库表,应该使用( )命令。
A.CRAETEB.APPENDC.COPYD.INSERT答案:C2. 下列关于SQL中HAVING子句的描述,错误的是( )。
A.HAVING子句必须与GROUP BY子句同时使用B.HAVING子句与GROUPBY予句无关C.使用WHERE子句的同时可以使用HAVING子句D.使用HAVING子句的作用是限定分组的条件答案:B3. SELECT SQL语句中,条件短语的关键字是A.FORB.FROMC.WHERED.WITH答案:C4. 要为商品表的所有商品降低10元定价,正确的SQL命令是( )。
A.UPDATE商品SET定价WITH定价-10B.UPDATE定价=定价-10FOR商品C.UPDATE定价WITH定价-10FOR商品D.UPDATE商品SET定价=定价-10答案:D5. 如下SQL语句SELECT*FROM职工ORDER BY工资DESC查询结果的第一条纪录的工资字段值是( )。
A.1210B.1220C.1230D.1250答案:D6. 如F SQL语句SELECT仓库号,MAX(工资)FROM职工GROUP BY仓库号查询结果有几条记录( )。
A.0B.1C.3D.5答案:C7. 在SQL语句中,与表达式”仓库号NOT IN("wh1","wh2")”功能相同的表达式是( )。
A.仓库号"wh 1" AND仓库号="wh2"B.仓库号!="wh 1"OR仓库号="wh2"C.仓库号<>"wh 1"OR仓库号wh2"D.仓库号!="wh 1"AND仓库号!"wh2"答案:D8. INSERT-SOL语句可以( )。
sql数据库习题与答案
sql数据库习题与答案SQL数据库习题与答案SQL(Structured Query Language)是一种用于管理关系型数据库的标准化语言。
在数据库管理系统中,SQL可以用于执行各种操作,如插入、更新、删除和查询数据。
对于学习SQL的人来说,练习SQL数据库习题是非常重要的。
下面将为大家提供一些常见的SQL数据库习题以及相应的答案。
1. 查询所有学生的信息答案:SELECT * FROM students;2. 查询所有学生的姓名和年龄答案:SELECT name, age FROM students;3. 查询所有学生的姓名,并按照年龄从小到大进行排序答案:SELECT name FROM students ORDER BY age;4. 查询学生表中年龄大于18岁的学生信息答案:SELECT * FROM students WHERE age > 18;5. 查询学生表中姓“张”的学生信息答案:SELECT * FROM students WHERE name LIKE '张%';6. 查询学生表中的姓名和对应的课程名称答案:SELECT , FROM students INNER JOIN course ON students.course_id = course.id;7. 查询学生表中每个班级的学生人数答案:SELECT class, COUNT(*) FROM students GROUP BY class;通过以上SQL数据库习题与答案的练习,可以帮助大家更好地理解和掌握SQL语言的基本操作和常用查询。
同时,也可以帮助大家提升解决实际问题的能力,为今后的数据库管理工作打下坚实的基础。
希望大家能够认真对待SQL数据库习题,不断提升自己的技能水平。
第三章 关系数据库标准语言SQL(习题)
一、选择题1.SQL语言是()的语言,容易学习.BA. 过程化B.非过程化C.格式化D.导航式2.在视图上不能完成的操作是()。
CA.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREA TE、DROP、ALTER语句是实现哪种功能()。
CA.数据查询B.数据操纵C.数据定义D.数据控制4.SQL语言中,删除一个视图的命令是()。
BA.DELETEB.DROPC.CLEARD.REMOVE5.在SQL语言中的视图VIEW是数据库的()。
AA.外模式B.模式C.内模式D.存储模式6.下列的SQL语句中,()不是数据定义语句。
DA.CREA TE TABLEB.DROP VIEWC.CREA TE VIEWD.GRANT7.若要撤销数据库中已经存在的表S,可用()。
CA.DELETE TABLE SB.DELETE SC.DROP TABLE SD.DROP S8.若要在基本表S中增加一列CN(课程名),可用()。
CA. ADD TABLE S (CN CHAR(8))B. ADD TABLE S ALTER (CN CHAR(8))C. ALTER TABLE S ADD CN CHAR(8)D. ALTER TABLE S (ADD CN CHAR(8))9.学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
BA.DELETE Age from SB.ALTER TABLE S DROP COLUMN AgeC.UPDA TE S AgeD.ALTER TABLE S ‘Age’10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。
其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。
关系数据库与SQL语言_习题答案
关系数据库与SQL语言_习题(黄旭明)参考答案本章习题均基于以下假设:在某校,有关学生有学号、姓名、系别、出生日期等信息,有关课程有课程号、课程名、选修课程等信息,每个学生只有一个学号、只在一个系、可以选修多门课程;每门课程只有一个课程号、可以由多个学生选修,学生选修课程产生成绩。
这些数据在名为Student的数据库中进行管理,其中各表逻辑结构设计如下:表名:学生属性:学号(定长字符串,12)如:200210515001,2002年,105系别,15专业代码,001学生编号姓名(变长字符串,20,非空)出生日期(日期时间,非空)是否党员(逻辑型)班委(定长字符串,8)主键:学号表名:课程属性:课程号(定长字符串,3)课程名称(变长字符串,20)先修课号(定长字符串,3)主键:课程号外键:先修课号其值取自本表主键“课程号”的值表名:成绩表属性:学号(定长字符串,12)课程号(定长字符串,3)成绩(整数,3,取值0~100) .主键:(学号,课程号)外键:学号其值取自表“学生”主键“学号”的值.课程号其值取自表“课程”主键“课程号”的值1.用SQL语言创建一个数据库,命名为Student。
Create dababase student2.在Student数据库中,用SQL语言建立以上各表。
1)Create table 学生(学号 char(12) primary key,姓名 varchar(20) not null,出生日期datetime not null,是否党员 bit,班委 char(8))2)Create table 课程(课程号 char(3) primary key,课程名称 varchar(20) ,先修课号char(3) foreign key references 课程(课程号))3)Create table 成绩表(学号 char(12) foreign key references 学生(学号),课程号char(3) foreign key references 课程(课程号),成绩 smallint check(成绩 between 0 and 100),primary key (学号,课程号))3.在表“成绩表”中创建关于“课程号”的索引。
答案《关系数据库与SQL语言》第一章练习题
《关系数据库与SQL语言》第一章练习题一、选择题1. 实体完整性要求主属性不能取空值,这一点通常是通过(B)A. 定义外键来保证B. 定义主键来保证C. 用户定义完整性来保证D. 关系系统自动保证2. 建立在计算机外部设备上的结构化的、有联系的数据集合是(A)。
A. 数据库B. 数据库管理系统C. 数据结构D. 数据文件3. 英文缩写 DBA 是代表(B)。
A. 数据库管理系统B. 数据库管理员C. 数据定义语言D. 数据操纵语言4. 数据库设计中,在概念设计阶段可用 E — R 方法,其设计出的图称为(A)。
A. 实体联系图B. 实用概念图C. 实体表示图D. 实物示意图5. 在概念设计阶段可用 E —R 图,其中“矩形框”表示实体,(D)表示实体间联系。
A. 圆形框B. 椭圆框C. 箭头D. 菱形框6. 一个教师能开多门课程,一门课程有许多教师会开,实体课程与实体教师间是(C)。
A. 一对一的联系B. 一对多的联系C. 多对多的联系D. 多对一的联系7. 两个不同型实体间(B)。
A. 只有一种联系B. 可以有多种联系C. 不能有联系D. 只有多对多的联系8. 不是数据库系统中的数据模型是(D)。
A. 层次模型B. 网状模型C. 关系模型D. 多用户型9. 对于两实体间 m:n 联系,必须对“联系”单独建立(D),用来联系双方实体。
A. 一个实体B. 一个属性C. 一个指针D. 一个关系10. 模式的逻辑子集通常称为(C)A .存储模式B .内模式C .外模式D .模式11.要保证数据库物理数据独立性,需要修改的是 ( B ) 。
A. 模式B. 模式与内模式的映射C. 模式与外模式的映射D. 内模式12. 下列四项中,不属于数据库特点的是 ( C ) 。
A. 数据共享B. 数据完整性C. 数据冗余很高D. 数据独立性高13. 数据库中存储的是 ( D ) 。
A. 数据B. 数据模型C. 数据之间的联系D. 数据以及数据之间的联系14.表示数据库的概念模型一般使用 ( C) 。
第三单元 关系数据库标准语言--SQL 练习
第三单元关系数据库标准语言—SQL学号: 姓名: 成绩:一、选择题1.SQL语言是____的语言,易学习A、过程化B、非过程化C、格式化D、导航式2.SQL语言是____语言。
A、层次数据库B、网络数据库C、关系数据库D、非数据库3..SQL语言具有____的功能。
A、关系规范化、数据操纵、数据控制B、数据定义、数据操纵、数据控制C、数据定义、关系规范化、数据控制D、数据定义、关系规范化、数据操纵4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDA TE和DELETE,最重要的,也是使用最频繁的语句是____。
A、INSERTB、SELECTC、UPDA TE;D、DELETE5.SQL语言具有两种使用方式,分别称为交互式SQL和____。
A、提示式SQLB、多用户SQLC、嵌入式SQLD、解释式SQL6.SQL语言中,实现数据检索的语句是____。
A、INSERTB、SELECTC、UPDA TED、DELETE7. 下列SQL语句中,修改表结构的是____。
A、CREATEB、ALTERC、UPDA TED、INSERT8.SQL为用户授权的命令是。
A.GRANT B. REVOKE C. SELECT D. PUT9.SQL收回用户权力的命令是。
A.GRANT B. REVOKE C. SELECT D. PUT10.SQL规定具有执行授权和收回权力命令的用户是。
A.只能是该数据库(表)的使用者 B. 只能是该数据库(表)的建立者C.只能是DBA D. 只能是DBA和该数据库(表)的建立者11.结构化查询语言SQL 。
A.是一种自含式语言 B. 是一种嵌入式语言C.既是自含式语言又是嵌入式语言 D. 以上说法都不对12. 以下关于SQL的叙述中,哪个不是SQL的特点。
A.综合统一,即集DDL、DML、DCL等多种功能于一体B.高度过程化C.面向集合的操作方式D.提供交互式和嵌入式两种使用方式13.基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#, SN, SEX, AGE, DEPT)C(C#, CN)SC(S#, C#, GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE.为成绩。
关系数据库标准语言——SQL 练习及答案
--更新图书表,将高等教育出版社的图书定价,未达 更新图书表,将高等教育出版社的图书定价 未达 更新图书表 到该社平均定价的图书, 到该社平均定价的图书,定价提高到平均定价 Update 图书
Set 定价 定价=(select avg(定价 from 图书 定价) 定价 where 出版社 高等教育出版社 出版社=‘高等教育出版社 高等教育出版社') Where 定价 定价<(select avg(定价 from 图书 定价) 定价 where 出版社 高等教育出版社 出版社=‘高等教育出版社 高等教育出版社')
--查询本周借出的图书借阅信息,字段同题一 查询本周借出的图书借阅信息, 查询本周借出的图书借阅信息 Select 借阅 书号 书名 借阅 读者编号 借阅日期 借阅.书号 书名,借阅 读者编号,借阅日期 书号,书名 借阅.读者编号 From 图书 借阅 读者 图书,借阅 借阅,读者
Where 图书 书号 借阅 书号 and 借阅 读者编号 读者 编号 图书.书号 借阅.书号 书号=借阅 借阅.读者编号 读者.编号 读者编号=读者
--建立“机械工业出版社”和“高等教育出版社”图书的借 建立“机械工业出版社” 高等教育出版社” 建立 阅情况视图V_jxgj(书号,书名,出版社,读者编号,读者 书号, 阅情况视图 书号 书名,出版社,读者编号, 姓名,借阅时间) 姓名,借阅时间 Create view V_jxgj As select 借阅.书号, 书名, 出版社, 借阅.读者编号,借阅日期 借阅.书号 书名, 出版社, 借阅.读者编号 书号, 读者编号,借阅日期 From 图书 借阅 读者 图书,借阅 借阅,读者 Where 图书 书号 借阅 书号 and 借阅 读者编号 读者 编号 图书.书号 借阅.书号 书号=借阅 借阅.读者编号 读者.编号 读者编号=读者 And 出版社 in ('机械工业出版社 ,'高等教育出版社 机械工业出版社' 高等教育出版社') 机械工业出版社 高等教育出版社
数据库系统:关系数据库标准语言SQL期末单元测试与答案
一、单选题1、修改基本表结构的SQL语句是A.DROP INDEXB.ALTER DATABASEC.ALTER TABLED.DROP TABLE正确答案:C2、定义外码的SQL语句是A.PRIMARY KEYB.FOREIGN KEYC.UNIQUED.NOT NULL正确答案:B3、用于删除数据库对象的SQL语句是A.SELECTB.CREATEC.DROPD.ALTER正确答案:C4、定义聚集索引使用下面哪个关键字A.INDEXB.UNIQUEC.UNCLUSTERD.CLUSTER正确答案:D5、表达查询条件的子句是A.WHERE子句B.ORDER BY子句C.SELECT子句D.FROM子句正确答案:A6、下面哪个聚集函数是用来计数的A.COUNT()B.MAX()C.MIN()D.SUM()正确答案:A7、定义视图的SQL语句是A.CREATE VIEWB.CREATE DATABASEC.CREATE TABLED.CREATE INDEX正确答案:A8、当查询的结果为多个元组时,必须使用什么来保存查询结果A.数组B.游标C.主语言变量D.SQLCODE正确答案:B二、多选题1、下面属于定义语句的有A.SELECTB.DROPC.ALTERD.CREATE正确答案:B、C、D2、下面关于SQL语言特点正确的是A.集多种数据库语言于一体B.面向集合的操作方式C.高度非过程化D.功能强大,语言简洁正确答案:A、B、C、D三、判断题1、DBMS执行CREATE VIEW语句的时执行其中的SELECT语句,并保存结果。
正确答案:×2、聚簇索引可以显著提高某些查询的速度,因此,对一个基本表可以建立多个聚簇索引正确答案:×3、查询语句中有分组子句时,SELECT子句后面只能是分组属性或者聚集函数正确答案:√4、透过视图的更新被保存在视图中正确答案:×5、建立索引是为了加快查询速度。
数据库sql课后练习题及答案解析
数据库sql课后练习题及答案解析第一篇:数据库sql课后练习题及答案解析先创建下面三个表:(book表)(borrow表)(reader表)1)找出姓李的读者姓名(NAME)和所在单位(COMPANY)。
2)列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。
3)查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。
4)查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。
5)查找书名以”计算机”开头的所有图书和作者(WRITER)。
6)检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。
##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。
8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。
9)* 无重复地查询2006年10月以后借书的读者借书证号(READER_ID)、姓名和单位。
##10)* 找出借阅了一书的借书证号。
11)找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。
12)查询2006年7月以后没有借书的读者借书证号、姓名及单位。
#13)求”科学出版社”图书的最高单价、最低单价、平均单价。
##14)* 求”信息系”当前借阅图书的读者人次数。
#15)求出各个出版社图书的最高价格、最低价格和总册数。
#16)分别找出各单位当前借阅图书的读者人数及所在单位。
17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。
18)分别找出借书人次数多于1人次的单位及人次数。
19)找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。
20)查询经济系是否还清所有图书。
如果已经还清,显示该系所有读者的姓名、所在单位和职称。
关系数据库与SQL语言试卷及(参考答案)
关系数据库与SQL语言(共1 00分)一、单项选择题(本大题共20小题,每小题2分,共40分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。
1.在数据库技术领域,术语DBMS指的是( A )A.数据库管理系统B.数据库系统C.对象关系数据库系统D.分布式数据库2.以下常见软件中,属于数据库管理系统的是( B )A.Word 2007 B.Oracle 10G C.Visio 2003 D.QQ 20093.以下关于数据冗余的叙述中,不平确的是( A )A.数据库中不应该存在任何冗余B.冗余的存在将给数据库的维护增加困难C.冗余的存在可能导致数据的不一致性D.数据冗余是指在两个或多个文件或表中出现重复的数据4.SQL Server 2000是常用的一种数据库产品,它所基于的数据模型是( B )A.网状模型B.关系模型C.层次模型D.瀑布模型5.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选修课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系( B )A.S B.SC,C C.S,C,SC D.S,SC6.设有关系R和S如图-1:则R与S进行差运算,其结果的元组数为( D )A.1 B. 5 C.3 D. 27.一个规范化的关系模式至少应属于(D )A BCNFB 3NFC 2NFD 1NF8.设有关系R如图-2所示:则进行关系运算后所得结果的元组数为(D )A 2B 3C 4D 59.当关系模式R(A,B)属于3NF,下列说法中正确的是(A )A 一定消除了插入和删除异常B 可能仍存在插入或删除异常C 一定消除了插入异常D 一定消除了删除异常10. 在关系R1(S,SN,D)和R2(D,CN,NM)中,R1的主键是S,R2的主键是D,则D在R1中称为(C )A 主码B 主属性C 外键D 主键11. 在SQL中使用FOREIGN KEY时,与之配合的语句是(C )A EXISTSB EXCEPTC REFERENCESD TABLE12.在SQL中,建立索引使用( B )A CREATE SCHEMA 命令B CREATE INDEX命令C CREATE TABLE 命令D CREATE VIEW 命令13.在SQL中,建立索引使用(B )A INSERTB CERA TEC UPDA TED ALTER14.在SQL中,对Name字段所作的涉及空值的比较,不正确...的是( D )A Name IS NULLB Name IS NOT NULLC NOT(Name IS NULL)D Name=NULL15.实体集书店与图书之间的联系是( A )A 一对多B 一对一C 多对多E 多对一16.现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况),可选作主码(主键)的是( B )A.诊断日期B.医生编号C.患者编号,医生编号,诊断日期D.患者编号17.在数据库设计中,独立于计算机的硬件和DBMS软件,设计人员仅从用户角度看待数据及处理要求和约束的阶段是( C )A.逻辑设计B.物理设计C.概念设计D.系统实施18.下列SQ[。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.1.选择题:1.B2.B3.C4.D5.A6.B7.C8.C9.D10.B11.C12.A13.C14.B15.A16.C17.A18.C19.D2.填空1. 外模式2. 个体3. 实体集4. 一对一,一对多,多对多5. 型值6. 层次模型网关模型关系模型7. 并发性控制8. 集成性9. 封装对象类10. 多媒体数据库3.简答:1.数据:描述事物的符号记录称为数据。
数据的种类有文字、图形、图象、声音、正文等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库系统:数据库系统(dbs)是指在计算机系统中引入数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
数据库管理系统:数据库管理系统(dbms)是位于用户与操作系统之间的一层数据管理软件。
用于科学地组织和存储数据、高效地获取和维护数据。
dbms主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
2.使用数据库系统的好处是由数据库管理系统的特点或优点决定的。
使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。
使用数据库系统可以大大提高应用开发的效率。
因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由dbms来完成。
用一个通俗的比喻,使用了dbms就如有了一个好参谋好助手,许多具体的技术工作都由这个助手来完成。
开发人员就可以专注于应用逻辑的设计而不必为管理数据的许许多多复杂的细节操心。
还有,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。
数据逻辑结构的改变是dba的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。
从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。
使用数据库系统可以减轻数据库系统管理人员维护系统的负担。
因为dbms在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由dbms执行。
总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。
读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。
3. 文件系统与数据库系统的区别:文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。
数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。
4. 实体,实体型,实体集,属性,码,实体联系图(e-r图)实体:客观存在并可以相互区分的事物叫实体。
实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
实体集:同型实体的集合称为实体集。
属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。
码:唯一标识实体的属性集称为码。
实体联系图:e-r图提供了表示实体型、属性和联系的方法:·实体型:用矩形表示,矩形框内写明实体名。
·属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。
·联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。
二.1.选择1.D2.D3.B4.A5.C6.C7.A8.B9.B10.C11.D12.C13.A14.C15.B16.C17.B18.C2.填空1. 相容的2. 查询所有的数据3. 关系代数4. 差或除法5. 域6. 主属性7. 5元8. 两个不变性3. 计算题1. ∏s#,c#(SC)÷∏c#(σc#=’c1’∨c#=’c2’(C))×∏sn(S)2. ∏s#,c#(SC)÷∏c#(σcn=’数据库原理’(C))×∏s#,sn(S)三.1.select * from student;select * from sc;2.select 姓名,年龄from studentwhere 所在系=’计算机系’;3.select 学号,成绩from scwhere 课程号=’c01’4.select *from scwhere 成绩between 70 and 805.select 姓名,年龄from studentwhere 年龄between 18 and 20 and 性别=’男’6.select *from scwhere 学号=’951201’7.select max(成绩)from scwhere 课程号=’c01’8.select distinct 课程号from sc9.select max(年龄),min(年龄)from student10.select avg(成绩),max(成绩),min(成绩)from scwhere 课程号=’c02’11.select count(学号)from studentgroup by 所在系12.select count(学号),max(成绩)from scgroup by 课程号13.select count(课程号)from scgroup by 学号order by count(课程号)14.select count(student.学号),avg(成绩)from sc,studentwhere student.学号=sc.学号group by 所在系15.select 学号,count(课程号), avg(成绩)from scgroup by 学号having count(课程号)>=216.select 学号,sum(成绩)from scgroup by 学号having sum(成绩)>20017.select 姓名,所在系from sc,studentwhere 课程号=’c02’ and student.学号=sc.学号18.select 姓名,课程号,成绩from sc,studentwhere 成绩>=80 and student.学号=sc.学号order by 成绩desc19.select 姓名,年龄,成绩from sc,student,coursewhere 所在系=’计算机’and 课程名=’数据库’and student.学号=sc.学号and sc.课程号=course.课程号20.select student.学号,姓名,course.课程号,成绩from sc,student,coursewhere student.学号=sc.学号and sc.课程号=course.课程号21.select top 3 student.学号,姓名,所在系,成绩from sc,student,coursewhere 课程名=’数据库’ student.学号=sc.学号and sc.课程号=course.课程号order by 成绩desc22.select distinct s1.学号,s1.课程号from sc s1,sc s2where s1.课程号=s2.课程号order by s1.课程号23.select distinct s1.姓名,s1.年龄from student s1,student s2where s1.年龄=s2.年龄24.select course.课程号,course.课程名from course,scwhere course.课程号=sc.课程号and course.课程号not in (select 课程号from sc)25.select 姓名student_name,课程名course_name,成绩grade into new_scfrom student,sc,coursewhere student.学号=sc.学号and sc.课程号=course.课程号and sc.成绩is not null26.select student.所在系,student.姓名,student.性别,course.课程号,sc.成绩from student,course,scwhere sc.学号=student.学号and sc.课程号=course.课程号and student.所在系=’计算机系’unionselect student.所在系,student.姓名,student.性别,course.课程名,sc.成绩from student,course,scwhere student.学号=sc.学号and sc.课程号=course.课程号and student.所在系=’信息系’27.1.select 姓名,所在系from studentwhere 学号in(select 学号from sc where 课程号=’c01’)2.select 学号,姓名from student where 学号in(select distinct 学号from sc where 成绩>80)and 所在系=’数学系’3.select 课程名from coursewhere 课程号in (select 课程号from sc where 学号in(select 学号from student where 所在系=’计算机系’))4.select 学号,姓名,所在系from studentwhere 学号in(select top 3 学号from sc where 课程号in(select 课程号from course where 课程名=’vb’) order by 成绩desc)28.insert into test_t values(null,'b1','')insert into test_t values('1','b2','c2')insert into test_t values('2','b3','')insert into test_t values(null,'b4','c4')29.(1)select 学号,课程号into new_scfrom sc,studentwhere sc.学号=student.学号and 所在系=’计算机系’ and 成绩>80(2)create table new_sc (学号varchar(7),课程号varchar(10));insert into new_scselect 学号,课程号from sc,studentwhere 成绩>80 and 所在系=’计算机系’ and student.学号=sc.学号30.deletefrom scwhere 成绩<5031.子查询实现:deletefrom scwhere 成绩<50 and 学号in( select 学号from student where 所在系=’信息系’)连接查询实现deletefrom scwhere 学号in(select 学号from sc,student where sc.学号=student.学号and 成绩<50 and 所在系=’信息系’)32.update scset 成绩=成绩+10where 课程号=’c01’33.连接查询实现:update scset 成绩=成绩+10where 学号in(select 学号from sc,student,coursewhere sc.学号=student.学号and course.课程号=sc.课程号and 所在系=’计算机系’ and sc.课程名=’计算机文化学’)子查询实现:update scset 成绩=成绩+10where课程号in (select 课程号from course where 课程名=’计算机文化学’) and 学号in ( select 学号from student where所在系=’计算机系’)四.1.选择题1.c2.c3.c4.a5.b6.d7.c8.d9.d10.b2.1. grant2.分解具有无损连接性3.1NF4.不是五.1.C2.C3.A4.A5.A6.B7.C8.B9.A10.B11.D12.A13.D2.1. 一次加锁法顺序加锁法2.利用数据冗余3.数据存储3.1.2.车队(车队号,车队名)主码:车队号车辆(车牌号,出厂日期,厂家)主码:车牌号司机(司机编号,姓名,性别)主码:司机编号聘用(车队号,司机编号,聘期)主码:车队号,司机编号外码:车队号(引用自车队关系),司机编号(引用自司机关系)车辆使用(司机编号,车牌号,使用日期,公里数)主码:司机编号,车牌号,使用日期,公里数外码:司机编号(引用自司机关系),车牌号(引用自车辆关系)车辆归属(车队号,车牌号)主码:车队号,车牌号外码:车队号(引用自车队关系),车牌号(引用自车辆关系)。