数据库SQL实验题目(14-15-1).

合集下载

数据库SQL实验题目(14-15-1)

数据库SQL实验题目(14-15-1)

实验一数据定义操作●实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法●实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束(2)Course表(课程名称表)的表结构(3)SC表(成绩表)的表结构特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。

按照相同的方法,将属性Sno也设置为外键。

图2为SC表设置外键Cno2.向上述表中输入如下数据记录学生关系表Student (右键单击表Student ,选择“编辑前200行”)课程关系表Course 成绩表SC3.修改表结构(找到操作的方法即可,不需要真正地修改表中的属性) (1)向student 表中增加“入学时间”列,其数据类型为日期型 (2)将student表中的sdept 字段长度改为20 (3)将student 表中的Speciality 字段删除思考题1. SQL Server 的数据库文件有几种?扩展名分别是什么? 2. 如何实现数据库的备份和还原?2.在定义基本表语句时,NOT NULL 参数的作用是什么? 3.主码可以建立在“值可以为NULL ”的列上吗?实验二 简单查询● 实验目的1. 掌握SELECT 语句的基本用法2. 使用WHERE 子句进行有条件的查询3. 掌握使用IN 和NOT IN ,BETWEEN …AND 和NOT BETWEEN …AND 来缩小查询范围的方法4. 掌握聚集函数的使用方法5. 利用LIKE 子句实现字符串匹配查询6. 利用ORDER BY 子句对查询结果排序7. 利用GROUP BY 子句对查询结果分组● 实验内容和要求一、表结构修改1.在实验一的所建立的数据库中增加Teacher 表,结构如下:2.在实验一的所建立的数据库中增加Teaching 表,表结构如下: Teaching 表(授课表)的表结构3.向上述两表中输入如下数据记录教师表Teacher 授课表Teaching二、完成下面查询 1.查询所有男生信息2.查询年龄大于24岁的女生学号和姓名3.查询所有教师的Tname、Tdept4.查询“电子商务”专业的学生姓名、性别和出生日期5.查询成绩低于90分的学生学号及课号,并按成绩降序排列6.查询Student表中所有的系名7.查询“C01”课程的开课学期8.查询成绩在80分至90之间的学生学号及课号9.统计有学生选修的课程门数10.查询成绩为77,88或99的记录11.计算“C02”课程的平均成绩12.输出有成绩的学生学号13.查询所有姓“刘”的学生信息14.统计输出各系学生的人数15.查询选修了“C03”课程和学生的学号及其成绩,查询结果按分数的降序排列16.查询各个课程号及相应的选课人数,并为选课人数取别名为“人数”17.统计每门课程的选课人数和最高分,并为选课人数和最高分分别取别名为“人数”、“最高分”18.统计每个学生的选课门数和考试总成绩,并为选课门数和总成绩分别取别名为“门数”、“总成绩”,并按选课门数降序排列。

SQL基础知识题库100道及答案(完整版)

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。

14-15-1河流动力学答案A

14-15-1河流动力学答案A

淮海工学院14 - 15 学年第 1 学期河流动力学试卷(A开卷)专业年级:港口航道与海岸工程12(1)一、名词解释(共5题,每题3分,共15分)1.体积含沙量和重量含沙量体积含沙量Sv:泥沙颗粒的体积/浑水总体积质量含沙量Sw:泥沙所占重量/浑水总体积2.泥沙粒径累积频率分布曲线横坐标表示泥沙颗粒粒径大小,纵坐标表示小于某一粒径id的泥沙质量(或颗粒数目)与泥沙总质量(或总的颗粒数目)的百分比3.沙粒阻力在水流作用于床面额全部切应力中,只有一部分直接作用在颗粒上,引发推移质的运动和床面形态的变化,这一部分叫做沙粒阻力。

4.河相关系冲积河流的河床在水流与河床的长期作用下,常取得与所在水文、泥沙条件相适应的最适合的外形,表征这些外形的因素(如河宽、水深、曲率半径等)与水力、泥沙因素(如流量、比降、泥沙粒径等)之间常存在某种函数关系,这种关系称为河相关系。

5.潮流界潮波和潮流上溯的过程中,既受到河床阻力的影响,又受到径流下泄的阻碍,潮汐的能量逐渐消耗。

当潮波推进到达某一地点时,涨潮流速和径流下泄流速相抵消,潮水便停止倒灌,此处为潮流界。

二、简答题(共5题,每题5分,共25分)1.河流的分类河流分为:山区河流、平原河流、潮汐河流。

平原河流根据形态、演变特征可分为:弯曲河道、分叉河道、顺直河道、游荡河道。

2.河口的分类,并说明钱塘江、黄河、黄浦江和长江分属何种河口?潮汐河口的分类:一、按河口形态特征分类1)三角港河口2)三角洲河口。

二、按河口区的动力和来沙特征分类1)强潮海相河口(钱塘江)2)弱潮陆相河口(黄河)3)湖源海相河口(黄浦江)4)陆海双向河口(长江)。

三、按潮汐强弱分类1)感潮河口2)中潮河口3)弱潮河口3.Shields数的含义及其物理意义。

Dscc)(γγτ-=Θ为无量刚临界起动切应力,该值越大,泥沙的可动性愈强,因而它可以看作床沙运动状况的一个重要指标,决定了推移质运动的强度。

4.位于水平河床上的非粘性泥沙而言,促成泥沙起动的力有哪些?赖以抗拒的力有哪些?粘性颗粒起动时还需考虑粘结力,粘结力的影响因素?促成泥沙起动的力有:上举力、推移力、脉动压力等,赖以抗拒的力有:重力、粘结力等5. 阐述河床演变的基本原理输沙的不平衡性。

数据库SQL实验题目

数据库SQL实验题目

实验一数据库和表的建立●实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法●实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束(2)Course表(课程名称表)的表结构(3)SC表(成绩表)的表结构特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。

按照相同的方法,将属性Sno也设置为外键。

图2为SC表设置外键Cno2.向上述表中输入如下数据记录学生关系表Student (右键单击表Student ,选择“编辑前200行”)课程关系表Course 成绩表SC3.修改表结构(找到操作的方法即可,不需要真正地修改表中的属性) (1)向student 表中增加“入学时间”列,其数据类型为日期型 (2)将student表中的sdept 字段长度改为20 (3)将student 表中的Speciality 字段删除思考题1. SQL Server 的数据库文件有几种?扩展名分别是什么? 2. 如何实现数据库的备份和还原?2.在定义基本表语句时,NOT NULL 参数的作用是什么? 3.主码可以建立在“值可以为NULL ”的列上吗?实验二 单表查询● 实验目的1. 掌握SELECT 语句的基本用法2. 使用WHERE 子句进行有条件的查询3. 掌握使用IN 和NOT IN ,BETWEEN …AND 和NOT BETWEEN …AND 来缩小查询范围的方法4. 掌握聚集函数的使用方法5. 利用LIKE 子句实现字符串匹配查询6. 利用ORDER BY 子句对查询结果排序7. 利用GROUP BY 子句对查询结果分组● 实验内容和要求一、表结构修改1.在实验一的所建立的数据库中增加Teacher 表,结构如下:2.在实验一的所建立的数据库中增加Teaching 表,表结构如下: Teaching 表(授课表)的表结构3.向上述两表中输入如下数据记录教师表Student 授课表Teaching二、完成下面查询 1.查询所有男生信息2.查询年龄大于24岁的女生学号和姓名3.查询所有教师的Tname、Tdept4.查询“电子商务”专业的学生姓名、性别和出生日期5.查询成绩低于90分的学生学号及课号,并按成绩降序排列6.查询Student表中所有的系名7.查询“C01”课程的开课学期8.查询成绩在80分至90之间的学生学号及课号9.统计有学生选修的课程门数10.查询成绩为77,88或99的记录11.计算“C02”课程的平均成绩12.输出有成绩的学生学号13.查询所有姓“刘”的学生信息14.统计输出各系学生的人数15.查询选修了“C03”课程和学生的学号及其成绩,查询结果按分数的降序排列16.查询各个课程号及相应的选课人数,并为选课人数取别名为“人数”17.统计每门课程的选课人数和最高分,并为选课人数和最高分分别取别名为“人数”、“最高分”18.统计每个学生的选课门数和考试总成绩,并为选课门数和总成绩分别取别名为“门数”、“总成绩”,并按选课门数降序排列。

数据库技术与应用SQL习题答案

数据库技术与应用SQL习题答案

实验2 SQL Server 数据库的管理4.启动查询分析器,在查询分析器中使用Transact-SQL语句CREATE DATABASE创建studb数据库。

然后通过系统存储过程sp_helpdb查看系统中的数据库信息CREATE DATABASE studbsp_helpdb5.在查询分析器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小文1MB。

ALTER DATABASE studbMODIFY FILE(NAME=studb,SIZE=5MB,MAXSIZE=20MB,FILEGROWTH=1MB)7.使用企业管理器将studb数据库的名称更改为student_db。

ALTER DATABASE studbMODIFY NAME=student_db8.使用Transact-SQL语句DROP DATABASE删除student_db数据库。

DROP DATABASE student_db实验3 SQL Server 数据表的管理5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade 表。

CREATE TABLE grade(学号 char(4),课程编号 char(4),分数 decimal(5))8.使用Transact_SQL语句INSERT INTO...VALUES向studentsdb数据库的grade表插入以下数据:学号课程编号分数0004 0001 80USE studentsdbGOINSERT INTO gradeVALUES('0004','0001','80')9.使用Transact_SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。

sql考试题及答案

sql考试题及答案

sql考试题及答案【篇一:sql试题及答案】题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分)1. ()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。

数据库在建立、使用和维护时由其统一管理、统一控制。

a.dbms b.dbc.dbs d.dba2. 下列四项中,不属于sql2005实用程序的是()。

a.对象资源管理器b.查询分析器c.服务管理器d.媒体播放器3. sql server安装程序创建4个系统数据库,下列哪个不是()系统数据库。

a. masterb. modelc. pubd. msdb4. 下列哪个不是sql 数据库文件的后缀。

a..mdf b..ldfc..tif d..ndf5. sql语言允许使用通配符进行字符串匹配的*作,其中?%?可以表示()a.零个字符b.1个字符串c. 多个字符串d. 以上都是6. sql语言中,条件年龄 between 15 and 35表示年龄在15至35之间,且( )。

a.包括15岁和35岁b.不包括15岁和35岁c.包括15岁但不包括35岁d.包括35岁但不包括15岁7. sql的视图是从()中导出的。

a. 基本表b. 视图c. 基本表或视图d. 数据库8. 在sql语言中,建立存储过程的命令是()a、create procedureb、create rulec、create dured、create file9. sql语言中,删除表中数据的命令是( )。

a. deleteb. dropc. cleard. remove10. 在ms sql server中,用来显示数据库信息的系统存储过程是( )。

a. sp_dbhelpb. sp_dbc. sp_helpd. sp_helpdb二、简答题(16分)1、什么是游标?使用游标的步骤?2、什么是事务?事务的基本属性是什么?三、应用题1、创建一个名字为ks的数据库,包含一个数据文件和一个日志文件,逻辑文件名为ks_data,磁盘文件名为ks_data.mdf,文件初始容量为5mb,最大容量为10mb,文件递增量为1mb;而事务日志文件的逻辑文件名ks_log,磁盘文件名为ks_log.ldf,文件初始容量为1mb,最大容量为5mb,文件递增量为1mb(数据库创建在c:\server文件夹下)(10分)2、假设ks数据库有以下三张表,请写出下列问题的sql语句:(每题6分,共54分)学生(学号,姓名,年龄,性别)课程(课程号,课程名,任课教师)成绩(学号,课程号,成绩)(1)如何在sql server上创建这三张表;(2)查询刘峰教师所授课程号,课程名;(3)查询年龄大于20岁的所有男同学的学号、姓名;(4)查询王文芳同学选修的所有课程的课程号;(5)查询所有上刘峰老师课程的学生学号;(6)查询所有选修“数据库技术”的学生的学号;(7)向学生表中插入一条记录(?2003001?,?吴红?,21,?女?);(8)删除三张表中所有学号为20020001的学生信息;(9)把学号为20030002的学生的年龄改为22岁;sql server 2005 复习题一、选择题1. sql语言允许使用通配符进行字符串匹配的*作,其中?%?可以表示( c )a 零个字符b 1个字符串c 多个字符串d 以上都是2 如何在已经创建好的表上添加一个外键( a )a alter table 表名add foreign key(键名)reference 关联表(关联键名)b alter table 表名add primary key(键名)reference 关联表(关联键名)c alter 表名add foreign key(键名)reference 关联键名)d alter 表名add primary key(键名)reference 关联表(关联键名)3. 要修改表名为table1的字段field1长度,原为char(10)要求用sql增加长度为char(20),以下语句那个正确( c )a alter table table1 alter field1 char(20)b alter table1 alter column field1 char(20)c alter table table1 alter column field1 char(20)d alter column field1 char(20)4. 下面聚集函数中哪个只能用于计算数值类型的数据( d )a count( )b min( )c max( )d sum( )5.以下哪个关键字用来定义记录在某属性上的约束条件( d )a defaultb distinctc uniqued check6.欲往表中增加一条记录,应该用哪一条sql语句( b )a alter tableb insert into tablec create tabled drop table7.以下哪一个不是逻辑运算符( d )a notb andc ord in8. 在创建表的过程中,哪个关键字用来定义默认值( d )a distinctb uniquec checkd default二、填空题1 数据库技术经历了人工管理阶段,_________和_______三个发展阶段。

SQL数据库题库及答案

SQL数据库题库及答案

SQL数据库题库及答案⼀、单项选择题,请将正确答案填在括号⾥。

1、()是位于⽤户与操作系统之间的⼀层数据管理软件.A、数据库管理系统B、数据库系统C、数据库D、数据库应⽤系统2、要想使SQL Server2000数据库管理系统开始⼯作,必须⾸先启动()。

A、数据导⼊和导出程序B、查询分析器C、⽹络实⽤⼯具D、SQL Server服务器3、SQL Server 的登录账户信息保存在()数据库中。

A、masterB、modelC、 msdbD、tempdb4、以下哪个数据库⾓⾊中拥有可以执⾏所有数据库⾓⾊的活动的权限? ( )A、publicB、db_ownerC、db_security adminD、db_access admin5、下列关于数据库的数据⽂件叙述错误的是()。

A 、创建数据库时必须指定数据⽂件B 、创建数据库时, PRIMARY ⽂件组中的第⼀个⽂件为主数据⽂件C 、⼀个数据库可以有多个数据⽂件D 、⼀个数据库只能有⼀个主数据⽂件6、创建约束的命令是()。

A、CREATE TABLEB、ALTER CONSTRAINTC、ALTER TABLED、ALTER COLUMN7、下列有关批的叙述中正确的是()。

A、批是⼀起提交处理的⼀组语句B、通常⽤GO来表⽰⼀个批的结束C、不能在⼀个批中引⽤其它批定义的变量D、批可长可短,在批中可以执⾏任何T-SQL语句8、下⾯关于聚集索引和⾮聚集索引说法正确的是()。

A、每个表只能建⽴⼀个⾮聚集索引B、⾮聚集索引需要较多的硬盘空间和内存C、⼀张表上不能同时建⽴聚集和⾮聚集索引D、⼀个复合索引只能是聚集索引9、下列命令不能执⾏的是()。

A、 SELECT * FROM [select]B、 SELECT * FROM @MyTableC、 SELECT * FROM [MyTable]D、 SELECT * FROM MyTable10、并发操作会带来的数据不⼀致性有()。

SQL实验的题目和答案全解

SQL实验的题目和答案全解

数据库实验总汇二、使用SQL Server 工具在管理数据库系统和运行SQL查询的两个主要工具是企业管理器和查询分析器三、实验目的1.熟悉数据库的交互式SQL工具。

2.熟悉通过SQL对数据库进行操作。

3.完成上机练习。

四、实验内容(打※为选做题)Part A1.使用CREATE语句创建数据库2. 使用CREATE语句创建基本表3.更改基本表的定义,增加列,修改列的数据类型。

4.创建表的索引,取消表的索引1、数据库的建立使用SQL 语句建立关系数据库schooldemo2、基本表的建立在数据库schooldemo下,使用SQL 语句建立关系数据库表:人员表PERSON(Pno,Pname, Page),房间表ROOM(Rno,Rname,Rarea),表PR(Pno,Rno,Date).其中,表PERSON :Pno(CHAR(8),主码,非空,唯一),Pname(CHAR(20),非空),Page(INT);表ROOM:Rno(CHAR(8),主码,非空,唯一),Rname(CHAR(20)),Rarea(FLOAT (10));表PR:Pno(CHAR(8),非空,唯一),Rno(CHAR(8),非空,唯一),Date (DATETIME);(三个表之间有联系)3、更改基本表的定义,增加列,删除列,修改列的数据类型。

更改表PERSON,增加属性Ptype(类型是CHAR ,长度为10),把表ROOM中的属性Rname的数据类型改为长度为40。

4、创建表的索引,取消表的索引为ROOM表创建按Rno降序排列的索引创建PERSON表按Pname升序排列的唯一性索引取消PERSON表Pname升序索引5、删除表ROOM实验过程(1.a)1、数据库的建立使用SQL 语句建立关系数据库schooldemocreate database schooldemoon(name=schooldemo,filename='e:\123\school_data.mdf',size=5mb,maxsize=15mb,filegrowth=10%)log on(name=schooldemo_log,filename='e:\123\schooldemo.ldf',size=5mb,maxsize=15mb,filegrowth=4mb)2、基本表的建立在数据库schooldemo下,使用SQL 语句建立关系数据库表:人员表PERSON(Pno,Pname, Page),房间表ROOM(Rno,Rname,Rarea), 表PR(Pno,Rno,Date).其中,表PERSON :Pno(CHAR(8),主码,非空,唯一),Pname(CHAR(20),非空),Page(INT);表ROOM:Rno(CHAR(8),主码,非空,唯一),Rname(CHAR(20)),Rarea(FLOAT(10));表PR:Pno(CHAR(8),非空,唯一),Rno(CHAR(8),非空,唯一),Date(DATETIME);(三个表之间有联系)create table person(pno char (8)primary key,pname char (20),page int);create table room(rno char (8) primary key,rname char(20),rarea float(10));create table pr(pno char (8),rno char (8),date datetime,primary key(pno,rno),foreign key(pno) references person(pno),foreign key(rno) references room(rno));3、更改基本表的定义,增加列,删除列,修改列的数据类型。

SQL数据库上机实验题目和答案

SQL数据库上机实验题目和答案

SQL数据库上机实验题目和答案试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(/doc/6b7958374.html,o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,/doc/6b7958374.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

数据库SQL实验题目(14-15-1)

数据库SQL实验题目(14-15-1)

数据库SQL实验题目(14-15-1)实验一数据定义操作实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表参数参数值参数参数值存储的数据文件路径D:\db\ 存储的日志文件路径D:\db\数据文件初始大小 5MB 日志文件初始大小2MB数据文件最大值20MB 日志文件最大值15MB数据文件增长量原来10% 日志文件增长量2MB二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Sno Char 10 0 0 否学号,主码Sname Varchar 8 0 0 是姓名Ssex Char 2 0 0 是性别,取值:男或女Sbirthday Date 8 0 0 是出生日期Sdept Char 16 0 0 是系名Speciality Varchar 20 0 0 是专业名特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束(2)Course表(课程名称表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Cno Char 5 0 0 否课程号,主码Cname Varchar 20 0 0 否课程名(3)SC表(成绩表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Sno Char 10 0 0 否学号,外码Cno Char 5 0 0 否课程号,外码Degree Decimal 5 5 1 是成绩,0~100之间特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。

SQL数据库实验和参考答案

SQL数据库实验和参考答案

SQL数据库实验和参考答案数据库实验和参考答案上机实验七1.声明⼀个字符串型的局部变量,并对其赋值:‘我的变量’,然后显⽰出此值。

declare @a char(10)set @a='我的变量'--select @a as 变量的值print @a2.编程实现如下功能:1)声明两个整形的局部变量:@i1和@i2,对@i1赋初值:10,@i2的值为:@i1乘以5,再显⽰@i2的结果值。

declare @i1 int,@i2 intset @i1=10set @i2=@i1*5print @i22)⽤While语句实现5000减1,减2,……⼀直减到50的计算,并显⽰最终的结果。

declare @sum int,@i intset @sum=5000set @i=1while(@i<=50)beginset @i=@i+1endprint @sum3)输出100以内的素数。

declare @i smallint,@jsmallint,@k smallintset @i=2while(@i<=100)beginset @k=0set @j=2while(@j<@i)beginif(@i%@j=0)beginset @j=@Iendset @j=@j+1endif @k=0print @Iset @i=@i+1end4)将字符数在20以内的字符串变量C的值逆序输出。

要求输出界⾯为:declare @i varchar(20),@j int,@k varchar(20)set @j=1set @k=''while @j<=len(@i)beginset @k=substring(@i,@j,1) set @j=@j+1endprint '字符串C的值:'+@iprint 'C的逆序字符串:'+@k5)从SC表中查询所有学⽣的选课成绩情况,分别统计各分数段⼈数,并输出统计结果。

SQLServer2008——第六次触发器

SQLServer2008——第六次触发器

2014-2015-1学期《数据库技术》实验报告(六)班级:计Y125班学号:201200403172 姓名:罗仕镁实验时间:2014-12-16 地点:4D503 指导教师:孙自广一、实验题目:触发器二、实验要求1)完成实验内容要求的触发器的创建。

2)在SQL Server Management Studio中查看触发器的创建结果,并用系统存储过程查看触发器的SQL代码。

3)在SQL Server Management Studio 中查看是否在表product, quotation和distributior之间存在外键参照关系,如果存在,则删除参照关系,用上述的触发器来来代替其作用,直接在表中修改、删除记录,在另一个表中显示相应结果。

4)分别用SQL语法和SQL Server Management Studio图形方式删除已经建立的触发器。

三、实验内容1.在数据库display基础上,用SQL Server Management studio创建一个触发器tr_product_update, 当product中一个产品需要修改产品型号时,联动修改distribution和quotation中信息。

1)完成实验内容要求的触发器的创建。

USE displayGOIF EXISTS(SELECT name FROM sysobjectsWHERE type='TR'AND name='tr_product_update')DROP TRIGGER tr_product_updateGOCREATE TRIGGER tr_product_update ON productFOR UPDATEAS IF UPDATE(型号)DECLARE@oldpno char(20),@newpno char(20)SELECT@oldpno=型号FROM deletedSELECT@newpno=型号FROM insertedUPDATE quotationSET型号=@newpnoWHERE型号=@oldpnoGO结果截图:2)在SQL Server Management Studio中查看触发器的创建结果,并用系统存储过程查看触发器的SQL代码。

sql数据库基本操作考试题及答案

sql数据库基本操作考试题及答案

sql数据库基本操作考试题及答案一、选择题(每题2分,共20分)1. SQL中用于创建数据库的命令是:A. CREATE TABLEB. CREATE DATABASEC. DROP DATABASED. ALTER DATABASE答案:B2. 在SQL中,以下哪个命令用于删除表?A. CREATE TABLEB. DROP TABLEC. ALTER TABLED. TRUNCATE TABLE答案:B3. 如何在SQL中选择所有列?A. SELECT *B. SELECT ALLC. SELECT ALL COLUMNSD. SELECT ALL FIELDS答案:A4. SQL中用于更新表中数据的命令是:A. UPDATEB. MODIFYC. CHANGED. ALTER答案:A5. 在SQL中,以下哪个命令用于插入数据?A. INSERT INTOB. ADD INTOC. PUT INTOD. CREATE INTO答案:A6. SQL中用于删除数据库中数据的命令是:A. DELETEB. REMOVEC. DROPD. ERASE答案:A7. 如何在SQL中使用通配符选择表中的所有记录?A. SELECT *B. SELECT ALLC. SELECT ALL RECORDSD. SELECT ALL ROWS答案:A8. SQL中用于添加新列到表的命令是:A. ALTER TABLEB. MODIFY TABLEC. CHANGE TABLED. ADD COLUMN答案:A9. 在SQL中,以下哪个命令用于重命名表?A. RENAME TABLEB. CHANGE TABLEC. ALTER TABLED. UPDATE TABLE答案:A10. SQL中用于查询表中唯一值的函数是:A. DISTINCTB. UNIQUEC. EXCEPTD. INTERSECT答案:A二、填空题(每题2分,共20分)1. 在SQL中,使用________命令可以查看当前数据库的所有表。

SQL实验及部分答案

SQL实验及部分答案

SQL实验及部分答案实验⼀使⽤SQL语句创建和删除数据库⼀. 实验⽬的:1、了解SQL Server 2005数据库的逻辑结构和物理结构。

2、掌握使⽤SQL 语句创建和删除数据库。

⼆. 实验准备1.明确能够创建数据库的⽤户必须是系统管理员,或是被授权使⽤CREATE DATABASE语句的⽤户。

2.了解⽤SQL语句创建和删除数据库的基本语法。

三. 实验要求3、熟练使⽤查询分析器进⾏数据库的创建和删除操作4、完成⽤sql语句建⽴和删除数据库的实验报告四. 实验内容1.以下是创建数据库userdb1的SQL语句,以下是创建数据库userdb1的SQL语句,CREATE DATABASE userdb1 --创建名为userdb1的数据库on( NAME='userdb2',--数据⽂件的逻辑名称为userdb2FILENAME= 'd:\test\userdb1.mdf', ----物理路径为d:\testSIZE=5mb,----数据初始长度为5MMAXSIZE=10mb, --最⼤长度为10MFILEGROWTH=1mb --数据⽂件每次增长1M)运⾏上诉语句建⽴数据库userdb1.2.⽤SQL语句删除步骤⼀建⽴的数据库userdb1。

drop database userdb1 --删除数据库userdb1实验⼆分别⽤向导和SQL语句创建和删除表⼀.⽤SQL语句创建表在SQL Server 2005 的查询分析器中,⽤sql语句创建student表。

表2.1 student表(学⽣信息表)CREATE TABLE student(sno char(8)not null primary key,--学号(主键)sname char(8)not null,--姓名sex char(2)null,--性别native char(20)null,--籍贯birthday datetime null,--出⽣⽇期dno char(6)null,--所在院系spno char(8)null,--专业代码classno char(4)null,--班级号entime datetime null,--⼊校时间home varchar(40)null,--家庭住址tel varchar(40)null,--联系电话)表2.2 course表(课程信息表)CREATE TABLE course(cno char(10)not null primary key, spno char(8)null,cname char(20)not null,ctno tinyint null,experiment tinyint null,lecture tinyint null,semester tinyint null,credit tinyint null)实验三修改数据库基本表的定义⼀.实验⽬的1.了解表的结构特点。

实验一 sql语言及相关操作及答案(1)

实验一   sql语言及相关操作及答案(1)

实验一SQL语言及相关操作一、实验目的本实验的目的是使学生掌握如何在SQL Server Management studio中进行查询分析以及对数据库中的表和数据进行操作,加深对SQL和SQL语言相关操作理解。

熟练掌握数据查询、表的更新等操作方法。

二、实验时数4学时三、实验内容:(1)利用SQL语句进行简单查询和连接查询操作。

1.列出所有course的课程号、课程名和学分。

2.查询所有蒙古族学生的学号、姓名和所在学院。

3.在score表中显示平均成绩都高于85分的学生学号、课程号和成绩。

4.查询选修课称号为001或005且平均成绩大于等于75分学生的学号、课程号和成绩。

5.查询信息管理学院1991年出生的所有男生的信息。

6.查询所有学生的年龄。

7.查询所有姓王或姓黄的学生的姓名、生日和所在班级名称。

8.查询先修课程为”数据结构”的所有课程。

9.查询信息管理学院非汉族同学的学号、姓名、性别及民族。

10.查找选修了“操作系统”的学生学号、成绩和姓名。

11.查找至少选修了一门其直接先修课编号为004的课程的学生学号和姓名。

12.查找至少选修了学号为0800001的学生所选课程的学生学号和姓名。

10413.查询出生日期在1991年以后的学生的学号、姓名、籍贯和年龄。

14.在student表中查询学生的学号、姓名和平均成绩,并按照平均成绩的降序排列。

15.查找了选修了以“C语言程序设计”为其直接先修课的课程的学生学号、课程号和成绩。

16.在score表中查询平均成绩大于80的学生的学号、课程号和成绩,并先按照课程号的升序、再按照成绩的降序排列。

17.查找信息管理学院学生选课情况,显示学生姓名、课程名和成绩。

18.统计student表中的男女学生的人数。

19.查询成绩最高分的学生的学号、课程号和相应成绩。

20.查询选课少于3门的学生的学号及其选课的门数。

(2) 利用SQL语句进行表的管理等操作。

1.给class表中的classname字段添加唯一约束。

2024年sql题库

2024年sql题库

综合练习题1.从关系中挑选出指定的属性组成新关系的运算称为()。

A.选择 B.互换 C.连接 D.投影2.在下列有关关系的陈述中,错误的是( )。

A.表中任意两行的值不能相同 B.表中任意两列的值不能相同C.行在表中的次序无关紧要D.列在表中的次序无关紧要3.在关系中,关系的键由( )。

A.多个任意属性组成 B.至多由一个属性组成C.一个或多个其值能唯一识别该关系中任何元组的属性组成D.以上都不是4. SQL Server中,数据库的主数据文献的扩展名是( )。

A. DBFB. LDF C.MDF D. NDF5.在数据库设计阶段中,下列属于概念设计阶段的描述工具的是( )。

A.ER图 B. PAD图 C.程序流程图 D.DFD图 6.数据库的并发操作会引起数据不一致的问题是 ( )。

A.丢失更新 B.数据独立性会提升C.非法用户的使用D.增加数据冗余度7. 关系数据模型的三个组成部分中,不包括( )。

A.数据约束条件B.数据结构 C.数据操作 D.数据恢复8.下列四项中说法不正确的是( )。

 A.数据库减少了数据冗余 B.数据库中的数据能够共享C.数据库防止了一切数据的重复D.数据库具备较高的数据独立性9.企业中有多个部门和多名职工,每个职工只能属于一个部门,一个部门能够有多名职工,从职工到部门的联系类型是( )A. 多对一B.一对一C. 多对多 D.一对多10.用于数据库恢复的重要文献是( )。

A.备注文献B.日志文献C.数据库文献D.索引文献11.怎样结构出一个适宜的关系模型是( )重要处理的问题。

A.需求分析阶段 B.概念设计阶段C.逻辑设计阶段 D.物理设计阶段12.若事务T对数据A加上S锁,则其他事务对数据A( B )A.可加X锁 B.可加S锁 C.可加X锁和S锁 D.不能加任何锁 13.一个关系中的主键不能取空值属于( )规则。

 A.参考完整性B.实体完整性C.自定义完整性 D.约束 14.在视图上不能完成的操作是(C)A.更新视图B.查询C.在视图上定义新的基本表 D.在视图上定义新视图15.要确保数据库的数据独立性,需要修改的是( )A.三层模式之间的两种映射 B.模式与内模式 C.模式与外模式 D.三层模式16.若事务T对数据A加上X锁,则其他事务对数据A(D )A.可加X锁B.可加S锁C.可加X锁和S锁D.不能加任何锁17.下列说法正确的是( )A.存储过程在创建时即在服务器上进行编译B. 触发器不是存储过程C. 创建索引是为了简化查询操作D. 以上都不正确18.SQL语言中,下列哪个子句是对数据进行分组( C )A.order by B.having C.group by D.where19.数据库系统的三级模式是指( )。

数据库SQL查询例题与解答

数据库SQL查询例题与解答

1实验目的1 .熟悉数据库的交互式SQL工具,2 . 熟悉通过SQL对数据库进行操作。

3 . 完成作业的上机练习。

2 实验工具sql server利用Sql server及其交互式查询工具-查询分析器来熟悉SQL。

3实验内容和要求1)实验内容:创建数据库boat,包括Sailors ,Boats,Reserves三个表,表结构如下:Sailors(sid: integer, sname: stri ng, rat ing: in teger, age:real)船员(船员编号,姓名,级别,年龄)Boats(bid: integer, bname: stri ng, color: stri ng)船(船编号,名称,颜色)Reserves(sid: integer, bid: integer, day: date) _____租赁(船员编号,船编号,日期)(注:下划线表示主键),并插入一定数据2 )完成下列要求:(1)查询所有船员的信息(2)查询所有姓王的船员的信息(3 )查询租用过103 号船的船员姓名(4)查找租用过船只的船员编号(5 )查找rating>7 且年龄>25 的水手编号(6)查找租用过红船和绿船的水手名字(7 )查找租用过红船或绿船的水手编号(8)查找最年长的水手的年龄和名字(9 )在18 岁以上水手中,对于每个rating 级别中最少有两个水手以上的组中最年轻水手的年龄(10 )查找每条红色船只被租用的次数(11 )把30 岁以上船员的级别调高一级(12 )删除所有年龄超过40 岁的船员信息(13 )建立年龄超过25 岁的船员的视图(14 )对(13 )建立的视图,举一操作的例子(查询、删除、修改均可)2)要求:a.建立boat 数据库的SQL 脚本,插入所有数据项的SQL 脚本(包括所有的测试数据)。

b.记录完成查询要求的SQL 语句脚本。

C •记录完成查询的查询结果。

数据库SQL试题(后附答案)

数据库SQL试题(后附答案)

一、概念选择题(每题1分,共45分)1.()是位于用户和操作系统之间的一层数据管理软件。

数据库在建立、使用和维护时由其统一管理、统一控制。

A.DBMS B.DB C.DBS D.DBA2.在数据库系统的三级模式结构中,用来描述数据的全局逻辑结构的是()。

A.子模式B.用户模式C.模式D.存储模式3.下列选项中,不属于数据库特点的是()。

A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高4.要保证数据库逻辑数据独立性,需要修改的是()。

A.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式5.在关系数据库中,视图是三级模式结构中的()。

A.内模式B.模式C.存储模式D.外模式6.在数据库中可以创建和删除表、视图、索引,可以修改表,这是因为DBMS提供了()。

A.数据定义功能B.数据查询功能C.数据操作功能D.数据控制功能7.数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是()。

A.DBS包括DB和DBMS B.DBMS包括DB和DBSC.DB包括DBS和DBMS D.DBS包括DB,也就是DBMS8.数据库系统的数据独立性体现在()。

A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他存储结构9.E-R图用于描述数据库的()。

A.概念模型B.数据模型C.存储模式D.外模式10.对于现实世界中事物的特征,在实体—联系模型中使用()A.属性描述B.关键字描述C.二维表格描述D.实体描述11.参照完整性规则:表的()必须是另一个表主键的有效值,或者是空值。

A.候选键B.外键C.主键D.主属性12.在关系模式中,实现“关系中不允许出现相同的元组”的约束是()约束。

A.候选键B.主键C.外键D.超键13.约束“年龄限制在18~30岁之间”属于DBMS的()功能。

数据库实验书sql

数据库实验书sql

数据库实验(SQL SERVER 2000)目录实验一数据库和表的简单操作实验二数据操纵语言的使用(一)实验三数据操纵语言的使用(二)实验四数据操纵语言的使用(三)实验五变量与数据类型的使用实验六运算符的使用实验七流程控制语句的使用实验八函数的使用实验九数据库和表的操作语句实验十索引和视图的使用实验十一存储过程的使用实验十二存储过程的高级操作及触发器的使用实验十三数据库的备份、还原与转换实验十四完整数据库产品设计本目录中,蓝色显示标题实验一--四,实验九、十、十三、十四为必做实验,其余红色标题显示实验为附加实验,扩展知识实验,为选作实验。

附录学生管理数据库简介此数据库为实验所用的主要数据库,有三张表,基本情况如(其中记录情况可自定):表一学生表注:学生表各字段类型如下:学号 char(4),姓名 varchar(10),性别 char(2),年龄 smallint ,系别varchar(12),班级 varchar(12)。

表二课程表注:课程表各字段类型如下:课程号 char(2),课程名称 varchar(20),学分 smallint,课时 smallint ,授课教师 varchar(10)。

表三成绩表实验题目:数据库和表的简单操作实验目的:熟练使用企业管理器对数据库和表进行简单操作实验内容:一、使用企业管理器新建一个数据库,名称为“学生管理数据库”,其主要数据文件大小为2M,次要数据文件大小为1M,日志文件大小为1M,存放位置为“D:\SQLServer”,其他选项都采用默认值。

二、在“学生管理数据库”中新建三张表,表名分别为:学生表、课程表和成绩表;其中各表结构如附录;要求:在上述三张表中建立主键约束(PK),各表主键分别为红色显示字段;在上述三张表中建立外键约束(FK),成绩表的学号字段外键参照学生表的学号字段,课程号字段外键参照课程表的课程号字段,并在设置约束时,选择级联删除和级联更新方式对主键表与外键表相互制约;(外键的含义是什么?审查时提问)在上述三张表中建立自定义约束(CK),性别字段和年龄字段的默认值分别为‘男’和18,性别取值为’男’或’女’,年龄取值范围18~30。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据定义操作●实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法●实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束(2)Course表(课程名称表)的表结构(3)SC表(成绩表)的表结构特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。

按照相同的方法,将属性Sno也设置为外键。

图2为SC表设置外键Cno2.向上述表中输入如下数据记录学生关系表Student (右键单击表Student ,选择“编辑前200行”)课程关系表Course 成绩表SC3.修改表结构(找到操作的方法即可,不需要真正地修改表中的属性) (1)向student 表中增加“入学时间”列,其数据类型为日期型 (2)将student表中的sdept 字段长度改为20 (3)将student 表中的Speciality 字段删除思考题1. SQL Server 的数据库文件有几种?扩展名分别是什么? 2. 如何实现数据库的备份和还原?2.在定义基本表语句时,NOT NULL 参数的作用是什么? 3.主码可以建立在“值可以为NULL ”的列上吗?实验二 简单查询● 实验目的1. 掌握SELECT 语句的基本用法2. 使用WHERE 子句进行有条件的查询3. 掌握使用IN 和NOT IN ,BETWEEN …AND 和NOT BETWEEN …AND 来缩小查询范围的方法4. 掌握聚集函数的使用方法5. 利用LIKE 子句实现字符串匹配查询6. 利用ORDER BY 子句对查询结果排序7. 利用GROUP BY 子句对查询结果分组● 实验内容和要求一、表结构修改1.在实验一的所建立的数据库中增加Teacher 表,结构如下:2.在实验一的所建立的数据库中增加Teaching 表,表结构如下: Teaching 表(授课表)的表结构3.向上述两表中输入如下数据记录教师表Teacher 授课表Teaching二、完成下面查询 1.查询所有男生信息2.查询年龄大于24岁的女生学号和姓名3.查询所有教师的Tname、Tdept4.查询“电子商务”专业的学生姓名、性别和出生日期5.查询成绩低于90分的学生学号及课号,并按成绩降序排列6.查询Student表中所有的系名7.查询“C01”课程的开课学期8.查询成绩在80分至90之间的学生学号及课号9.统计有学生选修的课程门数10.查询成绩为77,88或99的记录11.计算“C02”课程的平均成绩12.输出有成绩的学生学号13.查询所有姓“刘”的学生信息14.统计输出各系学生的人数15.查询选修了“C03”课程和学生的学号及其成绩,查询结果按分数的降序排列16.查询各个课程号及相应的选课人数,并为选课人数取别名为“人数”17.统计每门课程的选课人数和最高分,并为选课人数和最高分分别取别名为“人数”、“最高分”18.统计每个学生的选课门数和考试总成绩,并为选课门数和总成绩分别取别名为“门数”、“总成绩”,并按选课门数降序排列。

思考题1.聚集函数能否直接使用在:SELECT子句、HAVING子句、WHERE子句、GROUP BY子句中?2.关键字ALL和DISTINCT有什么不同的含义?3.SELECT语句中用于表示模糊查询的通配符有几种?含义分别是什么?4.利用BETWEEN…AND表示的数据范围能否用其他方法表示?怎样表示?如:score between 80 and 90 还可以怎么表示?实验三复杂查询●实验目的1.掌握连接查询和嵌套查询操作2.能灵活应用SELECT语句解决复杂的查询问题●实验内容和要求一、连接查询1.查询女学生的学生学号及总成绩2.查询李勇同学所选的课程号及成绩3.查询李新老师所授课程的课程名称4.查询女教师所授课程的课程号及课程名称5.查询姓“王”的学生所学的课程名称6.查询选修“数据库”课程且成绩在80到90之间的学生学号及成绩7.查询选修“C02”课程的学生的平均年龄8.查询学习课程名为“数学”的学生学号和姓名9.查询“钱军”教师任课的课程号,选修其课程的学生的学号和成绩10.查询在第3学期所开课程的课程名称,选修其课程的学生学号和成绩二、嵌套查询1.查询至少选修两门课程的男学生姓名2.查询与李勇同一个系的其他同学姓名3.查询学号比刘晨同学大,而年龄比他小的学生姓名4.查询年龄大于所有女同学的男同学的姓名及系别5.查询成绩比该课程平均成绩高的学生的学号、课程号及成绩6.查询不讲授“C01”课的教师姓名7.查询没有选修“C02”课程的学生学号及姓名8.查询选修了“数据库”课程的学生学号、姓名及系别9.查询选修了全部课程的学生姓名10.分别用子查询和连接查询,求“C02”号课程在80分以上的学生信息●思考题1.使用存在量词NOT EXISTS的嵌套查询时,何时外层查询的WHERE条件为真,何时为假?2.DROP命令和DELETE命令的本质区别是什么?实验四数据更新、索引及视图操作●实验目的1.掌握利用INSERT命令实现对表数据的插入操作2.掌握利用UPDATE命令实现对表数据的修改操作3.掌握利用DELETE命令实现对表数据的删除操作4.掌握索引的创建和使用5.掌握视图的创建和删除●实验内容和要求一、数据更新1.向Student表中插入记录('20050203','张静','女','1981-3-21','CS' ,'电子商务')2.插入学号为20050302,姓名为李四学生信息3.把男学生记录保存到表TS中(提示:利用select into 命令可备份数据库中的表格式:select * into 新表名from 原表名where 子句;)4.将学号为20050202的学生姓名改为张华,系别改为“CS”,专业改为“多媒体技术”5.将20050201学生选修“C03”号课程的成绩改为该课的平均成绩6.把女同学的成绩提高5%7.把选修了“数据库”课程学生的成绩全改为空值(NULL)8.删除学号为20050302的学生记录9.把“刘晨”同学的选课记录全部删除10.删除电子商务专业所有学生的选课记录二、索引的创建与使用1.用索引管理器创建SC表的索引IX_XS_KC。

(1)选择要创建索引的数据库文件夹,并在右边的对象窗口中选择并打开其中的“表”对象。

(2)选择所要创建索引的SC表,右键单击该表,在弹出的快捷菜单中选择“设计”命令,然后在工具栏中单击“管理索引和键”按钮,打开“索引和键”窗口。

(3)单击其中的“添加”按钮,创建新的索引,并为其设置相应的属性。

为SC表创建一个基于“课程号”列和“成绩”列的索引IX_XS_KC,其中课程号列按升序排列,成绩列按降序排列。

设置完成后,如图3所示。

图3 创建索引IX_XS_KC2.强制使用刚才创建的索引查询数据。

在查询命令窗口中输入以下SQL查询命令并执行:SELECT SNO,CNO,DEGREEFROM SCWITH (INDEX (IX_XS_KC))WHERE DEGREE>=60观察一下显示出来的数据是否有序。

3.利用SQL命令实现下列操作:(1)为Student表创建一个名为S_dept的索引,以系别排序(2)为Teacher表创建一个名为T_name的聚集索引,以Tname降序排序。

命令格式:create clustered index on 表名(列名1 顺序,列名2 顺序) (3)删除S_dept索引。

命令格式:drop index 表名.索引名或drop index 索引名on 表名三、视图的创建与使用1.创建一个简单视图view1,查询“计算机系”学生的信息2.创建一个简单视图view2,统计每门课程的选课人数和最高分3.创建一个复杂视图view3,查询与“张立”同学同一系别的学生信息4.删除视图View3思考题1.利用INSERT、UPDATE和DELETE命令可以同时对多个表操作吗?2. 使用索引为什么能提高查询速度?3.索引经常被建立在哪些字段上?4.聚集索引与其他索引有什么不同?实验五存储过程、函数、触发器及游标操作●实验目的1.掌握compute by的使用2.掌握变量的定义和使用方法3.掌握存储过程的定义和执行方法4.掌握触发器的定义方法5.掌握函数的定义和调用方法6.掌握游标的定义和使用方法(提示:以下操作全部基于实验一创建的Grademanager数据库)●实验内容和要求一、使用compute by完成下列操作1.显示所有学生的成绩,并汇总每个学生的总分。

2.显示所有学生的信息,并汇总男女学生的人数。

二、存储过程1.创建一个名为Query_student的存储过程,该存储过程的功能是根据学号查询学生表中某一学生的学号、姓名、性别及出生日期。

执行存储过程Query_student,查询学号为“20050301”的学生的学号、姓名、性别及出生日期。

写出完成此功能的SQL命令。

2.创建存储过程sm_score,用于求指定学号(输入参数)的学生的总成绩(输出参数)。

执行该存储过程,指定学号为“20050101 ”。

3.创建并执行存储过程count_sno,用于求所有学生人数,通过参数返回学生人数。

4.删除存储过程count_sno。

5.创建一个向课程表中插入一门新课程的存储过程Insert_course,该存储过程需要两个参数,分别用来传递课程号、课程名;执行存储过程Insert_course,向课程表Course中插入一门新课程(’0807011’,’Flash动画设计’)。

相关文档
最新文档