2014数据库技术及应用实验报告 2.docx_第1页
2014数据库技术及应用实验报告 2.docx_第2页
2014数据库技术及应用实验报告 2.docx_第3页
2014数据库技术及应用实验报告 2.docx_第4页
2014数据库技术及应用实验报告 2.docx_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湘潭大学数学与计算科学学院学生实验报告专业信计班级2班姓名张涛学号2011750315实验日期 2014 年 3 月1 日至 2014 年 6 月 10 日实验项目数据库实验报告实 验 内 容 与 要 求一、数据库习题部分1. 调研分析现今主流的数据库应用软件(3-4个)和数据库应用系统(2个以上),将分析整理成Word的图文文档。2. 下载mysql或sql server软件,将安装步骤、安装配置步骤记录,并将其过程中出现过的问题和解决办法给出阐述。3书上习题P72 3. 4. 5二、数据库应用系统设计从以下二个选题中选取其一,进行相应的系统设计1) 本专业毕业生信息管理系统设计(2010-2013)要求最少建立一个不少于30个人的基本信息表数据库,建立完全的个人信息,设置一个超级管理员,3个二级用户帐号,3个三级权限用户帐号。2)班级电子资源管理系统模拟电子图书馆的图书管理系统设计班级电子资源数据库系统,提供资源上传、下载、查询等功能数据操纵。指导教师意见成绩: 签名: 2014 年 6 月 日备注一、数据库习题部分1.调研主流数据库软件:mysql:MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。oracle:ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。microsqft sql server:SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UN操作系统上的应用。SQL Server 2000 是Microsoft 公司推出的SQL Server数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。2.Mysql数据库的安装:下面的是MySQL安装的图解,运行“setup.exe”,出现如下界面mysql安装图文教程1mysql安装向导启动,按“Next”继续mysql图文安装教程2选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”mysql图文安装教程3在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation(文档)”也如此操作,以保证安装所有文件。点选“Change.”,手动指定安装目录。mysql图文安装教程4填上安装目录,我的是“F:ServerMySQLMySQL Server 5.0”。mysql图文安装教程5返回刚才的界面,按“Next”继续mysql图文安装教程6确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装。mysql图文安装教程7正在安装中,请稍候,直到出现下面的界面mysql图文安装教程8这里是询问你是否要注册一个的账号,或是使用已有的账号登陆,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。mysql图文安装教程9现在软件安装完成了,将 “Configure the Mysql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。mysql图文安装教程10mysql配置向导启动界面,按“Next”继续mysql图文安装教程10选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。mysql图文安装教程11选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满。mysql图文安装教程12选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,我这里选择“Transactional Database Only”,按“Next”继续。mysql图文安装教程13对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用用默认位置,直接按“Next”继续mysql图文安装教程14选择您的网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续mysql图文安装教程15是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。按“Next”继续mysql图文安装教程16西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“gbk”。按 “Next”继续。mysql图文安装教程17选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。mysql图文安装教程18这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。“Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。mysql图文安装教程19确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置生效。mysql图文安装教程20设置完毕,按“Finish”结束mysql的安装与配置这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。课后习题:P72,题3已知关系模式:supplier(sno, sname, city, tel, credit)project(pjno, pjname, manger, charge)part(ptno, ptname, batch_no)spp(sno, pjno, ptno, qty, time)1.根据关系模式的描述,在Oracle数据库中建立关系表supplier,project,part,spp-为四个表的主键创建序列create sequence s_su start with 1 increment by 1;create sequence p_su start with 1 increment by 1;create sequence part_su start with 1 increment by 1;create sequence spp_su start with 1 increment by 1;-创建供应商表create table supplier(sno number(3) constraint PK_Sno primary key,-供应商编号sname nvarchar2(30) not null,-供应商名称city nvarchar2(10),-城市tel varchar2(11) not null,-电话credit nvarchar2(2)-信誉);-创建project表create table project(pjno number(3) constraint PK_pjno primary key ,-项目号pjname nvarchar2(30),-项目名称manager nvarchar2(5),-负责人charge decimal(10,2)-经费);-创建part表create table part(ptno varchar2(5) constraint pk_ptno primary key,-零件号ptname nvarchar2(30),-名称batch_no number(10) -生产批号);-创建采购表sppcreate table spp(sno number(3) constraint fk_sno references supplier(sno),-供应商编号pjno number(3) constraint fk_pjno references project(pjno),-项目号ptno varchar2(5) constraint fk_ptno references part(ptno),-零件号qty number(5),-供应数量time date-供应时间);2.插入数据-插入供应商数据insert into supplier(sno,sname,city,tel,credit) values(1,惠普,台湾,00000001,优);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,华硕,台湾,00000001,优);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,微星,新北市,00000002,优);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,富士康,台湾,00000003,优);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,映泰,深圳, 95105530,良);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,新泰,西雅图,00000004,中);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,海洋,香港,00000005,中);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,威盛,台北,00000006,中);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,Tool,北京市,00000006,中);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,Car,上海市,00000007,优);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,Leno,天津市,00000008,优);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,Beer,北京市,00000009,优);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,Box,上海市,0000003243,中);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,Hool,天津市,000421432,良);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,Xxx,北京市,00000043243,良);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,Abc,上海市,000004324,中);insert into supplier(sno,sname,city,tel,credit) values(s_su.nextval,Xyxcont,天津市,00000006,中);-插入project中数据insert into project(pjno,pjname,manager,charge) values(part_su.nextval,LJ_CIMS,张三丰,3000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,2008_2号,卢梭,10000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,地下管道监视系统,伏尔泰,20000000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,2008_1号,张三,111111.50);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,汽车刹车系统,李世民,300000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,大气预测系统,李丽君,200000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,波浪模拟系统,李海尔,3000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,旅游搜索系统,张梦梦,200.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,火灾预警系统,王丽,30000.50);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,博客二代系统,欧阳兰兰,900.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,Jackjds fdsaf,Neo,4000000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,JioL ,Tom,6000000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,JsfkdsL ,Ank,7000000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,JL ,Black,8000000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,Grace ,Black,8000000.00);insert into project(pjno,pjname,manager,charge) values(part_su.nextval,TZM ,Black,8000000.00);-向part中插入数据insert into part(ptno,ptname,batch_no) values(P1,主板,p_su.nextval);insert into part(ptno,ptname,batch_no) values(P2,显卡,p_su.nextval);insert into part(ptno,ptname,batch_no) values(P3,泵,p_su.nextval);insert into part(ptno,ptname,batch_no) values(P4,显示器,p_su.nextval);insert into part(ptno,ptname,batch_no) values(P5,CPU,p_su.nextval);insert into part(ptno,ptname,batch_no) values(P6,摄像机,p_su.nextval);insert into part(ptno,ptname,batch_no) values(P7,CPU,p_su.nextval);insert into part(ptno,ptname,batch_no) values(P8,FSG,p_su.nextval);insert into part(ptno,ptname,batch_no) values(P9,HGR,p_su.nextval);insert into part(ptno,ptname,batch_no) values(P10,GGR,p_su.nextval);insert into part(ptno,ptname,batch_no)values(P11,LSKS,p_su.nextval);alter session set NLS_DATE_FORMAT=yyyy-mm-dd;-向采购表中插入数据insert into spp(sno,pjno,ptno,qty,time) values(1,1,P11,2000,2013-4-23);insert into spp(sno,pjno,ptno,qty,time) values(3,10,P2,500,2012-5-25);insert into spp(sno,pjno,ptno,qty,time) values(4,12,P3,700,2010-6-13);insert into spp(sno,pjno,ptno,qty,time) values(2,13,P7,1000,2010-8-6);insert into spp(sno,pjno,ptno,qty,time) values(5,14,P6,3440,2008-12-2);insert into spp(sno,pjno,ptno,qty,time) values(4,13,P5,2100,2003-5-8);insert into spp(sno,pjno,ptno,qty,time) values(2,2,P4,770,2004-6-17);insert into spp(sno,pjno,ptno,qty,time) values(6,4,P8,560,2013-1-9);insert into spp(sno,pjno,ptno,qty,time) values(7,5,P10,1000,2000-2-22);insert into spp(sno,pjno,ptno,qty,time) values(8,5,P9,320,2002-12-30);insert into spp(sno,pjno,ptno,qty,time) values(9,7,P1,9900,2008-7-15);insert into spp(sno,pjno,ptno,qty,time) values(10,7,P3,990,2008-8-16);insert into spp(sno,pjno,ptno,qty,time) values(11,4,P3,990,2009-4-12);insert into spp(sno,pjno,ptno,qty,time) values(12,2,P3,99,2008-3-30);insert into spp(sno,pjno,ptno,qty,time) values(13,8,P2,909,2008-2-28);insert into spp(sno,pjno,ptno,qty,time) values(14,9,P2,979,2008-2-28);insert into spp(sno,pjno,ptno,qty,time) values(5,10,P2,959,2008-2-28);insert into spp(sno,pjno,ptno,qty,time) values(5,12,P2,999,2008-2-28);insert into spp(sno,pjno,ptno,qty,time) values(5,13,P2,949,2008-2-28);insert into spp(sno,pjno,ptno,qty,time) values(5,5,P2,979,2008-7-31);insert into spp(sno,pjno,ptno,qty,time) values(1,15,P2,99,2008-8-30);insert into spp(sno,pjno,ptno,qty,time) values(1,15,P1,99,2008-9-11);insert into spp(sno,pjno,ptno,qty,time) values(1,10,P1,599,2008-11-11);insert into spp(sno,pjno,ptno,qty,time) values(1,3,P1,499,2007-2-11);insert into spp(sno,pjno,ptno,qty,time) values(1,3,P11,909,2008-1-2);3.1 从supplier表中查询供应商的下列信息:sno,sname,city,credit,查询结果按供应商姓名升序输出select sno,sname,city,credit from supplier order by sname asc;3.2 列出项目负责人的名字,同名的负责人只列出一个select manager from project group by manager; 3.3查询以J开头或以L结尾的项目名称select pjname from project where pjname like J% or pjname like %L;3.4 查询项目经费高于500万元的项目负责人的名字,查询结果包含项目负责人,项目名,项目经费,并降序列出项目经费select manager,pjname,charge from project where charge5000000 order by charge desc;3.5 列出信誉为”优”的供应商名及所在城市select sname,city from supplier where credit=优;3.6 列出项目经费在1000020000 之间的项目号和项目名select pjno,pjname from project where charge between 5000000 and 20000000;3.7 查询供应商零件编号为P11的供应商名称及所在城市和电话号码select sname, city,tel from supplier where sno in(select sno from spp where ptno=P11);3.8列出2008年全年成交总额超过1000万元的供应商的号码select sno from supplier where sno in ( select s.sno from spp s,project p where to_char(time,YYYY) = 2008 and s.pjno = p.pjno group by sno having sum(p.charge) 10000000 )3.9 列出工程名为LJ_CIMS的工程项目,自2007年1月1日以来购买的零件清单select p.ptno,p.ptname,p.batch_no,s.time from part p,spp s where s.ptno=p.ptno and s.time to_date(2007:01:01,YYYY:MM:DD) and s.pjno=( select pjno from project where pjname=LJ_CIMS )3.10查询同时为工程项目名称为“2008_1”号和“2008_2号”供应国零件的供应商号和供应商名称select sno,sname from supplier where sno in ( select sno from spp where pjno in( select pjno from project where pjname in(2008_1号,2008_2号) ) )二、数据库应用系统设计本专业毕业生信息管理系统设计(2010-2013)经过对学生查询系统的分析,我们将系统划分出了用户、学生、专业、户籍、学院、课程、协议等几个实体,其各个实体的属性如下:员工角色用户信息(用户编号,用户名,密码,权限,描述)学生信息(学号,姓名,性别,出生日期,民族,来源地区,学院编号,专业编号,学制,入学日期,身份证号,协议编号,户籍编号, ) 专业信息(专业编号,专业名称)户籍信息(户籍编号,原户籍,现户籍)学院信息(学院编号,学院名称)课程信息(课程编号,课程代码,课程名称,课程性质,学分,课程归属)协议信息(协议编号,公司名称,公司性质,公司地址,公司电话,第一入职公司,第二入职公司,标志)成绩信息(选课编号,学号,学年,学期,选课课号,课程名称,学分,成绩,绩点,补考成绩)本系统的具体ER模型如下:用户描述用户名密码权限图3-1用户ER图 编号学生学员编号学号协议编号户籍编号身份证号学制来源地区民族专业编号出生日期姓名入学日期性别图3-2学生ER图 专业专业编号专业名称图3-3专业ER图 学院学院编号学院名称图3-4学院ER图 户籍户籍编号现户籍图3-5户籍ER图 原户籍课程课程编号课程名称图3-6课程ER图 课程代码课程性质课程归属学分第一入职公司协议协议编号第二入职公司图3-7协议ER图 公司名称公司性质标志公司电话选课选课编号学年图3-8选课ER图 学号学期选课课号课程名称学分绩点补考成绩成绩图3-9 系统结构图数据库表设计1.users (用户信息表)字段名数据类型是否为空默认值备注Idinteger否无主键 审核IDUsernameVarchar2(15)否无用户登录名PasswordVarchar2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论