SQL实验2
sql server数据库应用与实践教程(第2版) 实验文档

以下是一个基本的SQL Server数据库应用与实践教程(第2版)实验文档的大纲示例,具体内容可能会根据实际教材和实验要求有所不同:实验一:SQL Server的安装和配置1. 实验目标:理解并掌握SQL Server的安装过程和基本配置。
2. 实验环境:Windows操作系统,SQL Server安装介质。
3. 实验步骤:准备安装环境。
运行SQL Server安装程序。
选择安装类型和功能。
设置服务器配置(如实例名称、账户、密码等)。
完成安装并验证安装结果。
4. 实验问题与思考:如何根据实际需求选择合适的安装选项?实验二:SQL Server Management Studio的使用1. 实验目标:熟悉SQL Server Management Studio(SSMS)的界面和基本操作。
2. 实验环境:已安装SQL Server的计算机,SSMS软件。
3. 实验步骤:启动SSMS并连接到SQL Server实例。
浏览对象资源管理器中的服务器对象。
创建新的数据库和表。
插入、查询、更新和删除数据。
使用Transact-SQL编写和执行简单查询。
4. 实验问题与思考:如何利用SSMS提高数据库管理的效率?实验三:数据库设计与ER图1. 实验目标:学习并实践数据库设计的基本原则和方法。
2. 实验环境:数据库设计工具(如Visio、PowerDesigner等)。
3. 实验步骤:确定业务需求和数据实体。
设计实体关系图(ER图)。
将ER图转换为数据库模型。
根据数据库模型创建实际的数据库和表。
4. 实验问题与思考:如何处理数据库设计中的冗余和异常情况?实验四:事务与并发控制1. 实验目标:理解事务的概念和作用,掌握并发控制的方法。
2. 实验环境:SQL Server实例,多用户环境。
3. 实验步骤:创建并执行包含多个操作的事务。
观察事务的ACID特性(原子性、一致性、隔离性和持久性)。
探讨并发访问可能导致的问题(如脏读、不可重复读、幻读)。
数据库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数据库完整实验报告

学生学号实验课成绩学生实验报告书实验课程名称企业数据库应用开课学院管理学院指导教师姓名学生姓名XXX学生专业班级人力ZY09012010 — 2011 学年第2 学期实验报告填写规范1、实验是培养学生动手能力、分析解决问题能力的重要环节;实验报告是反映实验教学水平与质量的重要依据。
为加强实验过程管理,改革实验成绩考核方法,改善实验教学效果,提高学生质量,特制定本实验报告书写规范。
2、本规范适用于管理学院实验课程。
3、每门实验课程一般会包括许多实验项目,除非常简单的验证演示性实验项目可以不写实验报告外,其他实验项目均应按本格式完成实验报告。
在课程全部实验项目完成后,应按学生姓名将各实验项目实验报告装订成册,构成该实验课程总报告,并给出实验课程成绩。
4、学生必须依据实验指导书或老师的指导,提前预习实验目的、实验基本原理及方法,了解实验内容及方法,在完成以上实验预习的前提下进行实验。
教师将在实验过程中抽查学生预习情况。
5、学生应在做完实验后三天内完成实验报告,交指导教师评阅。
6、教师应及时评阅学生的实验报告并给出各实验项目成绩,同时要认真完整保存实验报告。
在完成所有实验项目后,教师应将批改好的各项目实验报告汇总、装订,交课程承担单位(实验中心或实验室)保管存档。
附表:实验成绩考核建议观测点考核目标成绩组成实验预习1.对验证型实验,考察对实验原理与方法的预习情况2.对于综合型、设计型实验,着重考查设计方案的科学性、可行性和创新性对实验目的和基本原理的认识程度,对实验方案的设计能力20%实验过程1.是否按时参加实验2.对实验过程的熟悉程度3.对基本操作的规范程度4.对突发事件的应急处理能力5.实验原始记录的完整程度6.同学之间的团结协作精神着重考查学生的实验态度、基本操作技能;严谨的治学态度、团结协作精神30%结果分析1.所分析结果是否用原始记录数据2.计算结果是否正确3.实验结果分析是否合理4.对于综合实验,各项内容之间是否有分析、比较与判断等考查学生对实验数据处理和现象分析的能力;对专业知识的综合应用能力;事实求实的精神50%实验项目名称SQL Server的安装及操作实验者xxx 专业班级人力ZY0901同组者无实验日期2011年3月11日一、实验目的、意义1、写出SQL Server的功能与特点,使用方法,应用状况的报告。
SQL实验二:数据库查询实验报告

实验二数据库的查询实验实验目的和要求(1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。
(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
(3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
实验内容和原理在实验一定义的“学生成绩数据库”中,使用T-SQL 语句完成以下查询:(1 )求计算机系学生的学号和姓名。
(2)求选修了数学的学生学号、姓名和成绩。
(3)求选修01 课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
(4)查找选修课程的平均成绩位于前三名的学生的学号。
(5)查询计算机系的姓刘且单名的学生的信息。
(6)查询至少选修两门课程的学生学号。
(7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。
(8)查询选修“数据库”课程,且成绩在80 分以上的学生的学号和成绩。
(9)查询所有姓“王”的同学没有选修的课程名。
(请分别用exists和in完成该查询) (10)查询选修了全部课程的学生的姓名。
(请至少写出两种查询语句)(11)求选修了学生“ 95001”所选修的全部课程的学生学号和姓名。
(12)查询每一门课的间接先修课。
(13)列出所有学生所有可能的选课情况。
(14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。
(15)输出与“张三”同性别并位于同一个系的所有同学的姓名。
(请至少写出两种查询语句)(16)查询至少被两名男生选修的课程名。
(17)对被两名以上学生所选修的课程统计每门课的选课人数。
要求输出课程号和选修人数,查询结果按人数降序排列;若人数相同,按课程号升序排列。
(18)列出选修课程超过 3 门的学生姓名及选修门数。
(19)检索至少选修课程号为01 和03 的学生姓名。
(20)检索至少选修课程“数学”和“操作系统”的学生学号。
(21 )查询‘操作系统'课程的最高分的学生的姓名、性别、所在系(22)查询数据结构的成绩低于操作系统的成绩的学生姓名及该生的这两门课的成绩(23)所有成绩都在70 分以上的学生姓名及所在系。
集美大学数据库SQL实验二 数据库的查询(I)

集美大学诚毅学院实验报告课程名称:数据库系统原理班级:实验成绩:指导教师:姓名:实验项目名称:数据库的查询(I)学号:上机实践日期:实验项目编号:实验2组号:上机实践时间:实验二数据库的查询(I)一.实验目的与要求1.掌握SELECT语句的基本语法。
2.掌握连接查询的方法。
3.掌握数据汇总的方法。
二.实验环境1.PC,CPU:P4 2.0GHz以上,内存:512M,硬盘:40GB以上;2.操作系统:Microsoft Windows 2003/WIN7;3.数据库系统软件:SQL Server 2008三.实验内容与步骤完成以下查询并显示查询结果。
(要求:以“SQL Server 实用教程”的附录A的所有数据作为数据库样本。
)1.查询计算机专业的所有同学的姓名、性别、年龄和总学分。
要求:“年龄”这一列的列标题显示为“年龄”,性别属性的值为0时,显示为“女”,性别属性为1时,显示为“男”。
2、查询姓"张"且全名为三个汉字的学生的所有信息。
3、查询在学生情况表中有备注内容的学生的学号、姓名、专业、备注。
4、查询计算机专业的总学分在50分以下(包括50分)的学生姓名5、查询1990年出生的学生姓名、专业、出生时间及总学分。
龄降序排列。
7、查询已经选修了课程的学生人数。
8、查询选修了“程序设计语言”课程且成绩在80分以上的学生姓名及成绩。
9、查找所有学生情况及他们选修的课程号,若学生未选修任何课,也要包括其情况。
10、查找所有开设的课程及被学生选修的情况(学号及成绩),如某门课程尚未有学生选修时也要列出来。
11、查询选修了101号课程的学生的最高成绩、最低成绩及平均成绩。
12、查询各个课程号及相应的选课人数。
13、查询“离散数学”课程成绩在85分以上的人数。
14、查询选修了3门以上课程的学生学号。
15、查询选修课程超过2门且成绩都在80分以上的学生的姓名、专业及总学分。
四.参考资料1.王珊,萨师煊:数据库系统概论(第四版) ,高等教育出版社,2006.5 2.SQL Server 实用教程,郑阿奇主编。
数据库原理实验2数据查询

课程名称数据库原理实验序号 2实验项目数据查询实验地点实验学时实验类型验证性指导教师实验员专业班级学号姓名年月日成绩:A教师该学生本次实验的内容丰富,完成的操作步骤详细具体,实验结果正确,在实验报告的填写中态度十分严谨,对数据分析有自己的见解。
四、实验过程(实验步骤、记录、数据、分析)实验准备:在实验一的基础上(包括数据库的建立、定义表和添加表内容)进行实验,下面分别为depts表、students表、courses表、reports表。
一、简单的选择与投影查询1、无条件查询1.1查询全体学生的详细记录。
这是一个无条件的选择查询,其命令为:其命令为:select * from students运行结果如右图,显示整张表的内容。
1.2查询全体学生的姓名(Sname)、学号(Sno)、所在系(dno)。
这是一个无条件的投影查询,其命令为:select sname,ssexfrom students运行结果如右图,显示了表中的三列。
1.3查询全体学生的姓名(Sname)、出生年份及学号(Sno)。
其命令为:select sno,sname,2017-sage as birth from students运行结果如右图,显示了三列内容。
1.4查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。
其命令为:select sname,'birth:' title,YEAR(GETDATE())-sagebirthyear,LOWER(sno) lsnofrom students运行结果如右图,显示了四列内容。
1.5查询选修了课程的学生学号。
其命令为:select distinct snofrom reports运行结果如右图,distinct短语是为了消去查询结果中的重复值。
2、条件查询(1)比较条件1.1查询d03系全体学生的学号(Sno)和姓名(Sname)。
其命令为:select sno,snamefrom studentswhere dno='d03'运行结果如右图,显示了d03系的全体学生姓名与学号。
实验三SQL(二)SQL语言进行简单查询实验报告范文

实验三SQL(二)SQL语言进行简单查询实验报告范文实验目的:1.掌握SQL查询语句的一般格式2.掌握简单数据查询操作。
3.熟练掌握各种查询条件的表示。
4.掌握排序和分组操作在SQL语句中的实现。
5.掌握集函数的使用。
实验内容;1.创建学生表tudent、课程表coure和选课表SC,并输入数据(注意数据的完整性。
);(可以使用实验一中已经建立的表和数据)2.对各表中的数据进行不同条件的查询;1)查询全体学生的学号和姓名2)3)4)5)6)7)8)9)查询全体学生的详细记录查询所有选修过课程的学生学号查询考试有不及格的学生学号查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别查询选修了4号课的学生学号和成绩,结果按成绩降序排列查询每个课程号和相应的选课人数查询计算机系(CS)的学生姓名、年龄、系别查询年龄18-20岁的学生学号、姓名、系别、年龄;10)查询姓刘的学生情况11)查询既选修1号课程,又选修2号课程的学生学号12)查询学生的姓名和出生年份(今年2003年)13)查询没有成绩的学生学号和课程号14)查询总成绩大于200分的学生学号15)查询每门课程不及格学生人数16)查询不及格课程超过3门的学生学号17)查询年龄在10到19岁之间的学生信息18)查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列19)查询选了1号课程的学生平均成绩20)查询选了3号课程的学生的最高分21)查询每个同学的总成绩实验步骤与过程:1.创建学生表tudent、课程表coure和选课表SC,使用实验一中已经建立的表和数据。
2.并输入数据,设置主键。
3.建立索引及三表之间关系。
4.按照SQL语句格式及题目要求输入语句进行以下查询:1、查询全体学生的学号和姓名;2、查询全体学生的详细记录;3、查询所有选修过课程的学生学号;4、查询考试有不及格的学生学号;5、查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别;6、查询选修了4号课的学生学号和成绩,结果按成绩降序排列;7、查询每个课程号和相应的选课人数;8、查询计算机系(CS)的学生姓名、年龄、系别;9、查询年龄18-20岁的学生学号、姓名、系别、年龄;10、查询姓刘的学生情况;11、查询既选修1号课程,又选修2号课程的学生学号;12、查询学生的姓名和出生年份(今年2003年);13、查询没有成绩的学生学号和课程号;14、查询总成绩大于200分的学生学号;15、查询每门课程不及格学生人数;16、查询不及格课程超过3门的学生学号;17、查询年龄在10到19岁之间的学生信息;18、查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列;19、查询选了1号课程的学生平均成绩;20、查询选了3号课程的学生的最高分;21、查询每个同学的总成绩实验结果:利用实验一中所建立的表设置主键,建立索引及三表之间关系。
实验二数据定义实验报告

实验二数据定义一、实验目的1、掌握使用SQL语句创建和删除数据库;2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构;3、掌握索引的创建和删除方法。
二、预备知识1、数据库的建立与删除可以使用SQL语句建立数据库,语句格式为:CREA TE DA TABA SE <数据库名>其中CREA TE DA TABA SE为关键字,<数据库名>为用户创建的数据库的名称,由用户自定。
使用DROP DA TABA SE 语句可以删除数据库,语句格式为:DROP DA TABA SE <数据库名>其中DROP DA TABA SE为关键字,<数据库名>为要删除的数据库的名称。
当数据库被删除时,数据库中的所有数据对象也一起被删除掉。
2、数据表的创建与删除使用Crea te Table语句创建数据表,语句格式为:CREA TE TABLE<表名>(<列名> <数据类型> [列级完整性约束条件][,<列名> <数据类型> [列级完整性约束条件]]…[,<表级完整性约束条件>]);其中CREA TE TABLE为关键字,<表名>为数据表的名称,由用户确定,<列名>为组成这个表的属性列的名称,由用户确定,<数据类型>为属性列的取值的类型,由用户在具体的DBMS所提供的数据类型中选择。
使用Drop Table语句删除数据表,语句格式为:DROP TABLE<表名>注意:删除一个表,表的定义以及表中的所有数据,以及该表的索引、约束、触发器等将自动删除,并且与表相关联的规则和默认对象也将失去与它的关联关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL语言与简单程序设计
【实验内容】
先设置默认路径,再按以下要求在命令窗口内输入指令完成实验,记录所有正确的指令。
已有如下表格:
一、SQL语言
1、根据学生、选课和课程表建立一个查询chaxun,查询“性别”是“男”的所有学生的“姓名”、“课程名”、“成绩”,要求查询去向是表,表名是cx1.dbf,并执行该查询(“姓名”取自学生表,“课程名”取自课程表,“成绩”取自选课表)。
select 姓名,课程名,成绩 from 学生,课程,选课 where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 and 性别="男" into table cx1
2、根据学生、选课表用SQL SELECT命令查询学生的学号、姓名、课程号和成绩,结果按“课程号”降序排序,课程号相同时按成绩降序排序,并将查询结果存储到cjb表中。
select 学生.学号,姓名,课程号,成绩 from 学生,选课 where 学生.学号=选课.学号 order by 课程号 desc ,成绩 desc into table cjb
3、使用SQL命令在“学生”表中查询年龄最大的前5名职工的“姓名”和“出
生年月”,查询结果按“年龄”降序存入表oldage.dbf中。
(注意:表中无“年龄”字段,只有“出生年月”字段)。
select top 5 姓名,出生年月 from 学生 order by 出生年月 asc into table oldage
4、以表学生.dbf和选课.dbf中数据为基础,使用SQL命令检索平均成绩最高的前三名学生的学号、姓名和平均成绩,检索结果按平均成绩降序排序存入表newstu.dbf
select top 3 学生.学号,姓名,avg(成绩) as 平均成绩 from 学生,选课 where 学生.学号=选课.学号 group by 学生.学号 order by 平均成绩 desc into table newstu
5、使用SQL语句为“教师”表的“教师号”字段增加有效性规则:“教师号”的最左边三位字符是t11,表达式应为:LEFT(教师号,3)=”t11”。
6、打开数据库文件“教学管理”,使用SQL语句建立一个视图,该视图包括“职称”和(该职称的)“平均工资”两个字段,并且按“平均工资”降序排列。
二、程序设计:
1、从键盘输入学生姓名,并显示学生生中该学生的记录。
2、从键盘输入一个变量,判断该数是奇数还是偶数。
3、计算1-100之间所有非3的倍数的所有奇数和
4、计算10的阶乘
5、分别统计学生表中男、女生人数?(循环结构实现)
编写程序最常见的三种类型:
1. 多表建立关联
2.批量修改数据
Replace [all] A with B [for 条件]
3.查找:
情况一:找到满足条件的记录,例如程序二:
Accept ………
Locate for ……
Do while not eof()/found()
?.........
……
cont
enddo
情况二:反复查找,当输入为“N”的时候才退出循环,例如程序三:
Do while .t..
Accept ………
Locate for ……
?.........
Wait “是否退出?Y/N” to an
If upper(an)=”N”
Exit
Endif
Enddo
情况三:以上两种综合,例如程序四:
Do while .t..
Accept ………
Locate for ……
Do while not eof()/found()
?.........
……
cont
enddo
Wait “是否退出?Y/N” to an
If upper(an)=”N”
Exit
Endif
Enddo
按要求书写程序:
程序一:有学生.dbf,其数据如下:
1、计算总分和平均分
2、为等级字段加入内容,根据平均分按:
平均分>=120,等级为“优”,
120>平均分>=110,等级为“良”,
110>平均分>=100,等级为“中”,
100>平均分>=90,等级为“差”,
90>平均分,等级为“不及格”。
3、显示如下结果)
程序二:提供程序一正确执行后的学生.dbf
按要求书写程序:
根据输入的学生姓名,显示该生的部分信息,如果没有找到,则显示“查无此人!”,要求按如下的格式显示:
程序三:提供程序一正确执行后的学生.dbf
按要求书写程序:
根据输入的学生姓名,显示该生的部分信息,如果没有找到,则显示“查无此人!”,能够实现反复输入姓名查询,要求按如下的格式显示:
提供程序一正确执行后的学生.dbf
按要求书写程序:
根据输入的等级,逐个显示该等级学生的部分信息,如果没有找到,则显示“输入的等级没有!”,能够实现反复输入并查询显示,要求按如下的格式显示:。