ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:1.10MB ,
资源ID:207244      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-207244.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库原理实验报告.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据库原理实验报告.docx

1、数据库原理实验报告数据库原理实验报告书 班 级: 学 号: 姓 名: 指导教师: 实验成绩: 中南林业科技大学涉外学院理工系数据库原理实验安排 3实验一 数据库和表的建立、数据操作 4实验二 SQL语言的使用9实验三 完整性、安全性实现 16实验四 数据库编程 18附录一 SQLServer的安装20数据库原理实验安排一、实验目的 通过实验,使学生熟悉并掌握数据库的基本概念、基本原理、和基本技术;能够应用这些理论和技术设计合理的数据库;更重要的是通过教学活动,使学生能够把与数据库相关的先修后继知识融会贯通,初步具有开发完整可用的数据库系统的能力。二、实验安排 本门课程共分4个实验,8学时实验一

2、 数据库和表的建立、数据操作 2学时实验二 SQL语言的使用 2学时实验三 完整性、安全性实现 2学时实验四 数据库编程 2学时三、实验考核 实验成绩通过实验报告及每次实验后的验机给出,每次实验结束后都必须写出实验报告。实验一 数据库和表的建立、数据操作一、实验目的: 掌握使用SQL语言进行数据定义和数据操纵的方法。二、实验要求: 建立一个数据库stumanage,建立三个关系表students,course,grade。向表中插入数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。三、实验步骤:1、在SQL Server中输入本机器的名字,选择“windows身份验证”。点击确

3、定连接SQL Server数据库服务器。 2、新建查询分析器。3、在查询分析器中输入SQL语句-建立数据库stumanage。然后单击上面的绿色三角形右箭头。下部的空白区显示该语句的运行情况。 4、选择数据库stumanage为当前数据库。 5、如下图建立表students: 列名 数据类型 允许空 主键 说明 (1) sno Char(8) 否 是 学号 (2) sname Varchar(20) 是 否 姓名 (3) sex Char(2) 是 否 性别 (4) dept Varchar(20) 是 否 所在系如下图建立表:course 列名 数据类型 允许空 主键 说明 (1) cno

4、Char(6) 否 是 课程号 (2) cname Varchar(20) 是 否 课程名如下图建立表sc:(注:包括两个外键,sno和cno共同组成主键) 列名 数据类型 允许空 主键 外键 说明 (1) sno Char(8) 否 是 students(sno) 学号 (2) cno Char(6) 否 是 course(sno) 课程号 (3) grade int 否 否 否 成绩6、 使用SQL语句完成建表操作并以截屏的方式将建表操作过程粘贴在下方表格中。建立表student建立表course建立表sc7、在students表中插入以下数据: (1)20050101,王飞,男,计算机系

5、 (2)20050102,李丽,女,信息系 (3)20050103,张晨,女,信息系 (4)20050104,刘建峰,男,信息系 (5)20050105,李勇志,男,信息系 (6)20050106,邹红艳,女,计算机系8、在course表中插入以下数据:(1)01,数据结构(2)02,数据库原理(3)03,计算机组成原理(4)04,Java程序设计(5)05,算法导论 9、在sc表中插入以下数据:(1) 20050101,01,70(2) 20050101,02,90(3) 20050101,03,93(4) 20050101,04,85(5) 20050102,02,77(6) 200501

6、02,03,84(7) 20050102,04,88(8) 20050102,05,80(9) 20050103,02,79(10)20050103,03,96(11)20050103,04,70(12)20050105,01,90(13)20050105,02,93(14)20050105,03,56(15)20050105,04,85(16)20050105,05,82(17)20050106,01,91(18)20050106,03,82(19)20050106,04,87(20)20050106,05,94 10、对每一门课,求学生的平均成绩,并把结果以基本表的形式存入数据库。将操作过

7、程和结果展示以截屏的方式粘贴在下方表格中。11、修改sc表中sno为20050102、cno为02的记录的grade属性值为85,然后将该条记录删除。将操作过程和结果展示以截屏的方式粘贴在下方表格中。12、删除李丽的所有选课情况。将操作过程和结果展示以截屏的方式粘贴在下方表格中。13、删除数据库中的三个表中的所有数据,将操作过程和结果展示以截屏的方式粘贴在下方表格中。 14、删除数据库中的三个表结构。将操作过程和结果展示以截屏的方式粘贴在下方表格中。15、删除数据库,将操作过程和结果展示以截屏的方式粘贴在下方表格中。四、实验分析和体会:这次实验让我粗略的了解如何创建数据库、如何创建表格、如何插

8、入信息、如何查询信息以及如何删除信息。这次实验让我感觉意识到,数据库语言与c语言和java语言还是有许多不同的,如果用之前学过的思想来学数据库的话还是不行的,必须从头开始。不过还是有共同点的,那就是多练,多想。实验二 SQL语言的使用一、实验目的:掌握使用SQL语言进行各种查询的操作和视图的操纵方法。 二、实验要求:在现有的数据库上进行各种查询操作,对视图、存储过程的创建、使用等操作。 三、实验步骤: 1、在SQL Server中输入本机器的名字,选择“windows身份验证”。点击确定连接SQL Server数据库服务器。2、新建查询分析器。3、在查询分析器中输入SQL语句,建立起实验要操作

9、的数据库test1,并在库中建立表、数据(数据参照教材第二章习题)。 4、在数据库test1中进行下列查询操作,将查询语句与结果(结果以截屏图片的方式)写入下面的表格中。(1)查询所有供应商情况,先按城市升序排列,城市相同按供应商名称降序排列。 SQL语句:select * From S ORDER BY city, sname DESC结果(2)查询所有零件情况,先按零件名称升序排列,零件名称相同按重量降序排列。SQL语句:select * From P ORDER BY pname, weight DESC结果: (3)查询项目名中含有“厂”的项目情况。 SQL语句:select jnam

10、e,jno From J Where jname like %厂%结果:(4)查询供应商名称中第二个字为“方”的供应商情况。SQL语句: SELECT Sname,Sno FROM S WHERE Sname LIKE _ 方%结果:(5)查询所有零件中的最大、最小、平均重量。 SQL语句:select max(weght)最大值,min(weight)最小值,avg(weight)平均值 From P结果:(6)查询零件中名为“螺丝刀”的零件的种类数、平均重量。SQL语句:SELECT AVG(weight),count(*) FROM P WHERE pname= 螺丝刀 结果:(7)查询

11、供应商S1所供应的各种零件的名称和数量。SQL语句:select pname 零件名称,qty 零件数量 From SPJ,P Where SJP.pno=P.pno, And SJP.sno=s1结果:(8)查询工程J1所使用的各种零件的名称和数量。SQL语句:select pname 零件名称 ,sum(qty )零件数量 from SPJ left outer join P on (SPJ.pno=P.pno) where SPJ.jno=j1 group by pname结果:(9)查询没有使用红色螺丝刀的工程名称。 SQL语句:select jname 没有使用红色螺丝刀的工程名称

12、from J where not exists (select*from SPJ,P where SPJ.pno=P.pno and SPJ.jno=J.jno and color=红色 and pname=螺丝刀);结果:(10)查询没有供应红色螺丝刀的供应商名称。SQL语句:select sno没有供应红色螺丝刀的供应商 from S where not exists (select*from SPJ,P where SPJ.pno=P.pno and SPJ.sno=S.sno and color=红色 and pname=螺丝刀);结果:(11)查询所用零件数量超过500的工程项目号。

13、 SQL语句:select jno 所用零件数量超过的工程项目号 from SPJ group by jno having sum(qty)500结果:(12)查询所用零件种类超过3种的工程项目名称。SQL语句:select jname 所用零件种类超过种的工程项目名称 from J where jno in(select jno from SPJ group by jno having count(pno)3);结果:(13)查询使用了全部零件的工程项目名称。SQL语句:select jname 所用全部零件的工程项目名称 from J where jno in(select jno fro

14、m SPJ group by jno having count(pno)=6);结果:(14)查询至少供应了工程J1所使用的全部零件的供应商名称。SQL语句:select sname 至少供应了工程J1所使用的全部零件的供应商名称 from S where not exists(select * from SPJ X where X.jno=j1and not exists (select * from SPJ Y where S.sno=Y.sno and X.pno=Y.pno) )结果:(15)查询供应情况,显示内容为供应商名称、零件名、工程名称、数量。SQL语句:select snam

15、e 供应商名称 ,pname 零件名,jname 工程名称 ,qty 数量 from S,P,J,SPJ where S.sno=SPJ.sno and P.pno=SPJ.pno and J.jno=SPJ.jno结果:(16)查询“东方红”供应商供应情况,显示供应的零件名、工程名称、数量。SQL语句:select pname 零件名,jname 工程名称 ,qty 数量 from S,P,J,SPJ where S.sno=SPJ.sno and P.pno=SPJ.pno and J.jno=SPJ.jno and sname=东方红结果:5、请为机车厂工程项目建立一个供应情况的视图,包

16、括供应商代码,零件代码,供应数量。针对该试图完成如下查询,将查询语句与结果(结果以截屏图片的方式)写入下面的表格中。(1)查询机车厂工程项目使用的各种零件代码及其数量。SQL语句:create view jcc as select sno,pno,qty from SPJ,J where J.jno=SPJ.jno and jname=机车厂结果:(2)查询处供应商S2的供应情况。SQL语句:select * from jcc where sno=s2结果:四、实验分析和体会: 这次实验让我熟练了创建数据库,创建表格,插入信息,查询信息,删除信息等基础操作并得到加强,还学到了许多新的知识。让我

17、对数据库有了更深了理解。SQL语言和其他语言一样,书本上的知识是有限的,必须得上网,翻课外书,查找所需的资料,这样才能使自己学习的更完善。实验三 完整性、安全性实现一、实验目的:使学生加深对数据库安全性和完整性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器。二、实验要求:通过实验对数据进行完整性控制、安全性维护。三、实验步骤:1、数据库的安全性实验:在SQL Server服务器中,设置SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。2、数据库的完整性实验:使用Transact-SQ

18、L设计规则、缺省、约束和触发器,通过SQL Server管理器定义它们。(1)在SQL Server管理器中,为所属的SQL服务器设置Windows NT安全认证模式。 (2)在SQL Server管理器中为自己建立一个服务器用户、数据库用户和数据库角色。并将自己创建的学生选课库的所有操作权赋予它们,将设计数据库的操作权赋予新建的数据库用户。图书(书号,类别,出版社,作者,书名,定价,作者);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅日期)(3)用企业管理器创建触发器的步骤如下: 定义学生表所在系属性为“计算机系”的缺省,并捆绑缺省到学生表中。 利用触发器来保证学生选课库

19、中选课表的参照完整性,以维护其外码与参照表中的主码一致。(4)为图书读者库中的借阅表建立一个保证参照完整性,以维护外码与被参照表中的主码一致的触发器。(5)建立一个学生与选课表间来维护参照完整性而使用的级联删除触发器、级联修改触发器和受限插入触发器。四、实验分析和体会:这次动手做实验,使得数据库的一些理论知识和实践相结合,更加深刻了我对数据库完整性和安全性的认识,巩固了我的理论知识,熟练了SQL Sever的操作。 这次实验让我知道了完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出曹成的无效操作和错误结果,安全性是防止数据库被恶意的破坏和非法的存取。而完整性和安全性也是密

20、切相关的,特别是从系统实现的方法来看,某一种机制常常既可以用于安全保护也可用于完整性保证。实验四 数据库编程一、实验目的: 熟悉并掌握嵌入式SQL编程、存储过程、ODBC的原理和使用。二、实验要求: 掌握使用存储过程来进行数据库应用程序的设计。三、实验步骤: 1、对“学生课程数据库”编写存储过程,完成下面功能:存储过程创建过程:use stumanage create procedure Proc2 as select cname,count(case when grade60 then 1 end) 0-60,count(case when grade=60 then 1 end) 60-7

21、0,count(case when grade=70 then 1 end) 70-80,count(case when grade=80 then 1 end) 80-90,count(case when grade=90 then 1 end) 90-100 from course inner join sc on (o=o) where cname=数据库原理 group by cname execute Proc2 调用存储过程结果演示: (1)统计数据库原理课程的成绩分布情况,按照各分数段统计人数;(2)统计任意一门课程的平均成绩;存储过程创建过程:create procedure

22、myprocedure as select ame as 课程名字 ,avg(grade) as 平均成绩 from course,sc where o=o group by ame execute myprocedure调用存储过程结果演示: (3)查询某一门课程的信息。要查询的课程由用户指定,如果输入的课程不存在,系统给出提示:输入的课程不存在,请重新输入。存储过程创建过程:Create procedure myproc inputName varchar(20) AS IF inputName NOT IN(SELECT cname FROM course)print 输入的课程不存在,

23、请重新输入.ELSE SELECT * FROM course WHERE cname=inputName execute myProc inputName=数据结构 调用存储过程结果演示:四、实验分析和体会: 这次实验虽然需要灵活运用SQL语言的各种知识,但完成的还算顺利。对此,我有了一些感想。就是学什么都一样,都得从简单的学起,基本的学期,就像要学会走,才能学会跑;学会字母,才能认识单词;学会基本功,才能做出各种高难度动作。程序语言亦是如此,不可算法都不会写就去读大程序,这种好高骛远的想法得杜绝。只要你系统的,一步一个脚印,踏踏实实的坚持练习,假以时日,必定成为一代程序大师的。 附录一:S

24、QL Server的安装Microsoft SQL Server 2008 基本安装说明安装SQL2008的过程与SQL2005的程序基本一样,只不过在安装的过程中部分选项有所改变,当然如果只熟悉SQL2000安装的同学来说则是一个革命性的变动,一、安装前的准备1. 需要.Net Framework 3.5,若在Vista或更高的OS上需要3.5 SP1的支持(在SQL2008安装的前会自动更新安装)2. 需要Widnows PowerShell的支持,WPS是一个功能非常强大的Shell应用,命令与DOX/UNIX兼容并支持直接调用.NET模块做行命令编辑,是非常值得深入研究的工具(在SQL

25、2008安装时会自动更新安装)3. 需要确保Windows Installer的成功启动,需要4.5以上版本(需要检查服务启动状态service.msc)4. 需要MDAC2.8 sp1的支持(XP以上系统中已集成)5. 若机器上已经安装Visual studio 2008则需要VS 2008 sp1以上版本的支持(需要自己从MS的网站上下载安装二、安装配置过程1.进行SQL Server安装中心,选择安装选项,在新的电脑上安装SQL2008可以直接选择“全新SQL Server独立安装或向现有安装功能,将会安装一个默认SQL实列,如下图 2.功能选择,对于只安装数据库服务器来说,功能的选择上

26、可以按实际工作需要来制定,本人一般选择:数据库引擎服务、客户端工具连接、SQL Server 联机丛书、管理工具基本、管理工具完整其中数据库引擎服务是SQL数据库的核心服务,Analysis及Reporting服务可按部署要求安装,这两个服务可能需要IIS的支持。如下图 3.实列设置,可直接选择默认实例进行安装,或则若同一台服务器中有多个数据服务实列可按不同实列名进行安装。如图4.服务器配置,服务器配置主要是服务启动帐户的配置,服务的帐户名推荐使用NT AUTHORITYSYSTEM的系统帐户,并指定当前选择服务的启动类型,如图5.数据库引擎配置,在当前配置中主要设置SQL登录验证模式及账户密码,与SQL的数据存储目录,身份验证模式推荐使用混合模式进行验证,在安装过程中内置的SQL Server系统管理员帐户(sa)的密码比较特殊,SQL2008对SA的密码强度要求相对比较高,需要有大小写字母、数字及符号组成,否则将不允许你继续安装。在指定Sql Server管理员中最好指定本机的系统管理员administrator。如图

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2