数据库实验报告Word文档格式.docx
《数据库实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库实验报告Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
![数据库实验报告Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/21/b3d27a8c-2efa-4f1d-a281-0a1c65702f60/b3d27a8c-2efa-4f1d-a281-0a1c65702f601.gif)
实验内容
与
结
果
1.用数据库SQLServer2005的SSMS工具启动数据库服务。
2.用数据库SQLServer2005的SSMS工具建立一个数据文件名为student_data、大小50M,日志文件名为student_log、大小25M的新数据库,该数据库名为student。
数据库student创建完成
3.建立数据库中的三张表:
学生表:
Student(Sno,Sname,Ssex,Sage,Sdept)
课程表:
Course(Cno,Cname,Cpno,Ccredit)
学生选课表:
SC(Sno,Cno,Grade)
4.建立主键和外键
步骤3,4完成
5.建立数据库关系图
6.分离数据库
分离完成
实验总结
我在此过程中不但应用了所学的知识,而且还不断的学习新的知识、工具,以完成上机的需要,在初次操作的过程中我深深体会到SQL的实用性为了实现1个模块的功能,通常需要寻找代码。
虽然我的基础知识不够扎实,但是我在此期间积累了许多宝贵的经验,由于这是1个新的尝试,还有我有限的知识和仓促的时间所限,所有难免有缺点和不足的地方,望老师能给予我批评指正。
指导教师意见
签名:
年月日
实验二
第十三、十四周周五下午1-3节
学习使用查询编辑器
本次实验进一步熟悉如何使用查询编辑器建表,并学会SSMS工具中提供的查询编辑器来完成插入记录、查询记录,重点在于练习查询功能。
。
1.使用查询编辑器向数据库student的三张表中插入相应的数据。
插入数据完成
2.练习查询语句:
⑴查询全体学生的学号和姓名;
查询全体学生的详细信息。
⑵查询全体学生的姓名和出生年份,并在“出生年份”列前加一个新列,新列的每行数据均为“出生年份”常量值。
⑶查询姓“张”的学生的详细信息。
⑷查询选修了2号课程的学生的学号及其成绩,查询结果按成绩降序排列。
⑸统计“200215121”学生的选课门数和考试总成绩。
⑹统计每门课程的选课人数,列出课程号码和选课人数。
⑺查询选修2号课程且成绩在90分以上的所有学生。
实
验
内
容与
数据库的内容是从数据表的创建和修改开始的,数据表的建立关系数据库的基本结构,它用来存储数据具有已定义的属性,在数据表的操作中有:
查看表的信息、查看表的属性、修改表当中的数据、删除表当中的数据以及修改、删除表的操作,从课程的学习和实验当中我了解到,表是数据库数据当中最重要的一个数据对象,表建立的好坏直接关系到数据库的实际使用效果,表当中的内容越具体对表越有利,同时对数据库的各种应用也有着各种各样的便利,但是表的内容也不能过于的繁琐,当然,这些也只能在今后的实际使用当中多多的应用,才能加深和理解如何对表进行规,才更有利于使用和查询。
实验三
第十五周周五下午1-3节
建立索引、存储过程与触发器
了解索引的建立,掌握存储过程的创建、修改和删除操作,掌握触发器的不同创建方法及触发器是如何被执行的,了解存储过程与触发器在程序设计中的作用。
1、视图
在学生管理数据库中建立一个视图xkcj,该视图需要显示学生姓名、选课的课程名和该门课程的成绩,用select语句查看视图的结果,并筛选出李勇同学数据库这门课程的成绩。
创建完成
2、索引的建立与删除
⑴为student表的sno建立一个唯一聚集索引;
⑵为student表的sname建立一个非聚集索引;
⑶为sc表的sno和cno建立一个聚集索引,其中sno按照升序排列,cno按照降序排列。
⑷删除所建的索引。
3、存储过程
⑴创建一个存储过程,其用于查询学生管理数据库中每位学生选修每一门课程所得成绩的信息。
⑵对上述存储过程进行修改,对学生管理数据库中指定某位学生检索其选修的每一门课程所得成绩信息。
⑶执行存储过程。
⑷删除存储过程。
4、触发器
创建如下触发器:
在学生情况表(student)表中加入一列allcredit,用于记录学生总学分的信息;
在学生选课表(sc)中加入一列credit,用于记录课程学分的信息。
DML触发器:
⑴在学生成绩库中创建触发器trigge_1,实现如下功能:
当在sc表中插入一条选课信息后,自动实现更新该学生在学生情况表(student)中的总学分信息。
⑵创建触发器trigge_2,实现当修改学生课程表(course)中的数据时,显示提示信息“学生课程表被修改了!
”
DDL触发器:
⑶创建DDL触发器trigger_3,以防止从student数据库中删除任何表。
通过实验对其他数据库对象如索引、储存过程、触发器、关系图等进行基本操作,重点掌握了交互式界面操作方法,知道了每一种对象的作用和意义,并能对其实现创建、修改、使用、删除等核心作用
实验四
第十六周周五下午1-3节
数据安全管理和完整性
1.掌握SQLServer的安全机制。
2.掌握服务器的安全性的管理。
3.掌握数据库用户的管理。
4.掌握权限的管理。
5.掌握在SQLServer2005环境中实施数据完整性的方法。
一、数据安全管理
建立数据库wzx,建立职工表emp,其中字段为:
empnoint,enamevarchar(10),ageint,jobvarchar(9),salfloat,deptnoint;
建立部门表dept,其中字段为:
deptnoint,deptnamevarchar(10),managervarchar(10),phonenamechar(12)。
1、SQLServer2005的登录和用户
⑴创建登录
创建登录JOHN,其口令为J12345
⑵创建用户
为master数据库创建用户JOHN
⑶用户与架构的分离
2、SQLServer2005中的权限设定
⑴用户授权
第一步:
给用户USER02赋予在数据库master上查询SCOURSE.TEST01表的权限;
第二步:
用户USER02对于SCOURSES架构中的表TEST01进行查询操作。
⑵收回权限
把刚才授予用户USER02对于安全对象TEST01的查询权限收回(请注意切换登录为sa)。
⑶可视化的方法:
用可视化的方法在再次赋予用户USER02赋予在数据库master上查询SCOURSE.TEST01表的权限;
二、完整性
⑴主键约束、外键约束和唯一性约束
⑵检查约束
建立check约束:
职工年龄不超过60岁的check约束,并输入数据验证数据的完整性约束。
⑶默认约束、列约束和表约束
1.数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。
合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能。
比如装载大量数据时,只要在装载之前临时使基于DBMS的数据库完整性约束失效,此后再使其生效,就能保证既不影响数据装载的效率又能保证数据库的完整性。
实验五
第十七周周五下午1-3节
查询学生信息的实现
学会使用ADO访问数据库,学会VB操作和使用数据库,完成学习信息的查询。
1、使用ADO访问xscj数据库:
(1)创建XSCJ数据库,建立学生信息表student;
(2)添加数据源:
在控制面板→管理工具→ODBC数据源中添加数据源XSCJ
2、利用VB为前端开发工具,建立与数据库XSCJ的连接,实现对数据库中学生信息的查询,界面如下:
⑴建立一个新工程保存为XSCJ:
修改窗体的背景颜色→修改窗体的标题文字为查询学生信息;
⑵在窗体中插入图片:
添加一个图形控件(pictuerbox)→在控件中加入图片;
⑶在窗体中插入两个标签(lable),分别将标签文字修改为学号和姓名;
⑷在窗体中插入两个文本控件(textbox),分别用于显示学号和姓名,在数据源处(datasourse)添加数据控件(data1)
⑸在窗体中插入四个按钮(commandbutton),分别用来显示数据库中学生信息的第一条记录、前一条记录、后一条记录和最后一条记录,双击控件输入代码实现相应功能,代码如下:
第一条记录:
Form1.Data1.Recordset.MoveFirst
前一条记录:
IfNotForm1.Data1.Recordset.BOFThen
Form1.Data1.Recordset.MovePrevious
Else
EndIf
后一条记录:
IfNotForm1.Data1.Recordset.EOFThen
Form1.Data1.Recordset.MoveNext
Form1.Data1.Recordset.MoveLast
最后一条记录:
⑹在窗体中插入数据控件(data),在caption中修改空间文字为查询学生信息,在database中输入数据源的位置。
⑺为窗体添加代码实现数据检索功能,双击窗体空白处,添加如下代码:
Form1.Data1.DatabaseName="
D:
\student.mdb"
(数据源的位置)
Form1.Data1.RecordSource="
student"
Form1.Text1.DataField="
sno"
Form1.Text2.DataField="
sname"
通过实验进一步了解掌握SQLSERVER一些基本操作,能运用SQL创建出一个登陆窗口进行查询数据。