当前位置:文档之家› 数据库实验期末总结以及心得

数据库实验期末总结以及心得

数据库原理实验学期总结班级摘要学习数据库已经有一个学期的时间,经过一个学期的SQL Server 2000课程的学习,老师在课堂上耐心、细致的讲解,以及内容详细、层次鲜明、易于记忆和理解的教学课件,让我了解了SQL Server 2000的基础知识,学会了创建数据库以及对数据库操作的一些基本应用,现就所学到知识作出以下的学习心得总结:SQL Server 是一个关系数据库管理系统,SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft WindowsXP 的大型多处理器的服务器等多种平台使用。

一、数据库实验的主要意义的目的数据库是数据管理的最新技术,是计算机科学的重要分支。

目前,对数据库各种模型的研究以及理论上的探讨都还在蓬勃开展,其应用也从一般管理扩大到计算机辅助设计,人工智能以及科技计算等领域。

数据库实验有利于同学理解书中复杂抽象的理论,让同学建立直观印象,加强实践操作技能,加深对理论的理解。

二、概述本学期的实验内容和目的本学期实验内容:1数据库的创建和管理2 数据表的创建和管理3 表中数据的操作4 视图的创建和使用5索引的创建和使用6 存储过程的创建和使用7 触发器的创建和使用目的:掌握使用SQL Server 2005 开发数据库系统的方法三、总结1.我的实验完成的实际情况数据库实验报告(一)实验内容:1.在STUDENT数据库中创建一个名为t_course(课程信息)的表,要求如下:c_number char(10) primary key, c_name char(30), hours int ,credit real;2.在STUDENT数据库中创建一个名为t_score (学生成绩)的表要求如下:s_number char(10)取值范围:数据来自学生信息表主键,C_number char(10)取值范围:数据来自课程信息主键,Score real 取值范围:0~100.2.在SQLServer2005 中有多少中约束?答:在SQL Server 中有5 种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和缺省约束(Default Constraint)。

4.给为t_course 表创建唯一性约束和检查约束、默认约束,如下:5给为t_score 表创建唯一性约束和检查约束、默认约束,如下:实验二数据库的修改和和删除实验环境及工具:1.软件环境:(操作系统及实验工具……)WINDOWS 7 Microsoft SQL Server2.硬件环境:处理器:Intel(R)core(TM)2 CPU *************安装内存(RAM): 2.00GB系统类型:32位操作系统实验内容:1.在企业管理器中按照要求做如下操作:(1)按照下面要求修改“Student”数据库,要求:添加一个次要数据文件:逻辑文件名为Student_data2;实际文件名为Student2.ndf;初始容量为5MB,最大容量为20MB,递增量为1MB;(2)更改数据库文件:主要数据文件(Student.mdf)容量为20MB,最大容量为50MB,递增量为2MB事务日志文件(Student.ldf)容量为2MB,最大容量为10MB,递增量为1MB在查询分析器重完成1中的操作是,试图如下:2.在查询分析器中完成数据库的删除,试图如下:.3。

在企业管理器中完成数据库的附加和分离,试图如下:.4。

完成数据的导入和导出。

实验3-创建索引、视图及与视图有关的操作主要内容:1:创建及删除索引2:视图及与视图有关的基表操作(1)-在Student学生表上按学号升序创建唯一索引(2)验证索引已被创建:任务2:简单查询(3)创建所有女同学的视图(4)--查询年龄不大于20岁的女生(5)建计算机系学生视图(6)--查询计算机系01号课程考取最高分的学生(7)创建计算机系选修数据结构的学生成绩视图(8)查询数据结构成绩高于90分的学生记录(9)创建学生年龄的视图(10)查询年龄在全体学生平均年龄以上的学生记录(11)建立各系每个学生平均分的视图(12)在在视图vwA VG_Grade 上建立新的视图,显示学生详细的信息(13)查询各系最高平均分(14)--利用视图更新基本表索引的总结有关索引的使用规则:1、表的主键、外键必须有索引;2、经常与其他表进行连接的表,在连接字段上应该建立索引;3、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;4、索引应该建在选择性高的字段上;5、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;6、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:A、正确选择复合索引中的主列字段,一般是选择性较好的字段;B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;7、频繁进行数据操作的表,不要建立太多的索引;8、删除无用的索引,避免对执行计划造成负面影响;实验4-S、J、P及SPJ表验证主要内容:验证s表、j表、p表及spj表的有关操作创建S表语句:创建P表语句:创建J表语句:创建SPJ表语句:1.求供应工程J1零件的供应商号码SNO2.求供应工程J1零件P1的供应商号码SNO3.求供应工程J1零件为红色的供应商号码SNO4.求没有使用天津供应商生产红色零件的工程号JNO实验结果如上:5.求至少用了供应商S1所供应的全部零件的工程号JNO实验五:1-1 求供应工程J1零件的供应商号码SNO1-2 求供应工程J1零件P1的供应商号码SNO1-3 求供应工程J1零件为红色的供应商号码SNO1-4 求没有使用天津供应商生产的红色零件的工程号JNO 1-5 求至少使用了供应商S1所供应的全部零件的工程号JNO 2-1 找出所有供应商的姓名和所在城市2-2 找出所有零件的名称、颜色、重2-3 找出使用供应商S1所供应零件的工程号码2-4 找出工程项目J2使用的各种零件的名称及其重量2-5 找出上海厂商供应的所有零件号码2-6 找出使用上海产的零件的工程名称2-7 找出没有使用天津产的零件的工程号码1. 新建数据库角色2. 添加角色成员3 . 创建数据库用户4设置身份验证模式实验六:存储过程和触发器实验环境软件环境:Windows 7 ,SQL Server硬件环境:Lenovo Thinkpad sl410k1、存储过程任务1:创建不带参数的存储过程方法1:利用对象管理器创建不带参数的存储过程(2):依次打开【数据库】—【SC学习】—【可编程性】—【存储过程】,如下图所示:(2):右键单击【存储过程】,如下图所示:(3):点击【新建存储过程】后即出现下面所示的窗口:(4):我们适当修改即可创建一个触发器,此处和下面用SQL代码创建的差不多,就不在赘述了。

方法2:使用SQL-Transact创建不带参数的存储过程--打开数据库SC学习USE SC学习GOIF EXISTS(SELECT name FROM sysobjects Where name='PR_查看女生的信息'AND TYPE='P')Drop PROC PR_查看女生的信息GO--创建一个不带参数的存储过程CREATE Proc PR_查看女生的信息ASBEGINSELECT*FROM StudentWhere Ssex='女'END--打开数据库SC学习USE SC学习GO--执行PR_查看女生的信息存储过程EXEC PR_查看女生的信息任务2:创建带参数的存储过程方法1:利用对象资源管理器创建带参数的存储过程方法和前面的一样,这里也不再说了……方法2:使用SQL-Transact创建带参数的存储过程--打开数据库SC学习USE SC学习GOIF EXISTS(SELECT name FROM sysobjects Where name='PR_查看学生的信息'AND TYPE='P')Drop PROC PR_查看学生的信息GO--创建一个带参数的存储过程CREATE Proc PR_查看学生的信息@xb char(2)ASBEGINSELECT*FROM StudentWhere Ssex=@xbEND--打开数据库SC学习USE SC学习GO--执行PR_查看学生的信息存储过程EXEC PR_查看学生的信息'女'练习1:针对Student表,创建一个存储过程PR_查看学生的信息,该存储过程有一个表示性别的参数,通过传递显示相应性别学生的记录。

答案:见前面所示的参数的存储过程。

练习2:针对Student表,创建一个存储过程PR_查看学生的信息_学号,用来根据传入的学生编号返回学生的出生日期。

方法1:利用对象资源管理器创建存储过程(1):依次打开【数据库】—【SC学习】—【可编程性】—【存储过程】,如下图所示:(2):右键单击【存储过程】,如下图所示:(3):点击【新建存储过程】后即出现下面所示的窗口:(4):我们适当修改即可创建一个触发器,此处和下面用SQL代码创建的差不多,就不在赘述了。

方法2:使用SQL-Transact创建参数的存储过程--打开数据库SC学习USE SC学习GOIF EXISTS(SELECT name FROM sysobjects Where name='PR_查看学生的信息_学号'AND TYPE='P')Drop PROC PR_查看学生的信息_学号GO--创建一个带参数的存储过程CREATE Proc PR_查看学生的信息_学号@xh varchar(10)ASBEGINSELECT*FROM StudentWhere Sno=@xhEND--打开数据库SC学习USE SC学习GO--执行PR_查看学生的信息存储过程EXEC PR_查看学生的信息_学号'200681015'2、触发器练习1:在数据库SC学习的表Student上建立一个名为TR_禁止更新Student表的UPDATE 触发器,该触发器将被UPDATE操作激活,该触发器不允许用户修改Student表中的数据。

相关主题