2015-2016学年第二学期《大型数据库技术》大作业课题名称:物流信息管理系统班级:14级软工云计算2班学号:姓名:成绩:2016年5月一)ORACLE11g的安装与配置(20分)在自己的电脑上配置安装ORACLE11g,并创建数据库。具体要求如下:(1)安装版本为企业版(2)在安装时,只安装Oralce服务器。在安装完成后再创建数据库。安装数据库软件(3)利用DBCA创建数据库,数据库名称为自己姓名的拼音首字母,如某学生的姓名为“张三”,则数据库的名称则为zs。在CMD下面输入DBCA就可以弹出创建数据库的对话框,是那种图示化的界面创建数据库设置数据库名称:XP设置所有用户密码为我的学号:1415925675(4)数据库为共享数据库。(5)创建数据库时选择示例模式。数据库创建中数据库创建完成(6)数据库所有的用户使用相同的口令,口令为学生的学号。登录到system用户中登录到scott用户中(二)用户的创建与权限管理(20分)(1)新建一个用户表空间MYTBS,要求大小为500M。MYTBS表空间下有两个数据文件MYTBS1.DBF和MyTBS2.DBF,文件分别放在E和F两个不同的磁盘分区。(因为在虚拟机里安装的oracle11g所以两个文件都放在了C盘里)SQLconnectsystem/1415925675已连接。SQLcreatetablespacemytbsdatafile'c:\mytbsl.dbf'size30m,'c:\mytbs2.dbf'size20m;表空间已创建。(2)创建用户配置文件userprofile,要求密码的生存周期为30天,允许输入错误的密码不得超过5次,超过5次密码锁2天。(用语句查看该配置文件中的资源配置结果,dba_profiles数据字典表,截图语句及查询结果)SQLcreateprofilelock_countlimitpassword_life_time30failed_login_attempts5password_lock_time2;配置文件已创建SQLselect*fromdba_profileswhereprofile='LOCK_COUNT';(3)新建一个用户,用户名称为学生姓名的首字母,密码为学生的学号。如学生姓名为“张三”,则用户名称则为zs。为新帐号设置默认表空间为MYTBS。系统所有对象必须建立在该帐号下,所有对象必须存储在MYTBS表空间中。用户的配置文件为userprofile;(用语句查看新建的用户默认表空间,dba_users数据字典表,截图语句及查询结果)SQLcreateuserxpidentifiedby1415925675defaulttablespaceMYTBS;用户已创建。SQLgrantconnect,resourcetoxp;授权成功。SQLalteruserxpprofilelock_count;用户已更改。SQLconnxp/1415925675;已连接。SQLshowuser;USER为XPSQLselectusername,account_status,lock_date,expiry_datefromdba_usersawherea.username='XP';USERNAMEACCOUNT_STATUSLOCK_DATE----------------------------------------------------------------------------EXPIRY_DATE--------------XPOPEN27-6月-16(4)为用户赋予登录Oracle的权限;为用户赋予创建任何表、创建任何索引的权限;将DBA的角色给新建用户;查看对应的用户获得的权限和角色(用数据字典表user_sys_privs,user_tab_privs,user_role_等,,截图语句及查询结果)SQLgrantconnect,resourcetoxp;授权成功。SQLselectusername,default_tablespacefromuser_users;SQLselect*fromuser_sys_privs;SQLselect*fromuser_tab_privs;SQLselect*fromuser_role_privs;(5)用新建的帐号登录。并执行showuser命令,显示当前登录用户。完成以上命令,并写入文档中。(三)Oracle对象的创建与管理(20分)物流管理系统1.需求分析该系统目标就是为物流业提供方便快捷管理方式。主要设计:建立业务信息、货物信息、卖家信息、消费者信息;完成业务信息、货物信息、卖家信息、消费者信息;业务实体包括操作员、发货城市、发货站、费用、接洽时间、收货站、收货城市,一个收货人选择业务,收货人包括姓名、身份证号码、年龄、电话、地址,一个收货人要网购一种货物,一个货物有标签、名称、体积、重量、包装类型。货物由发货人统一发送,发货人包括姓名、身份证号码、电话、地址。2.数据库设计卖家信息(ID号,,姓名,年龄,电话,住址);货物信息(货物名,货号,体积,重量,包装类型);消费者信息(ID号,姓名,年龄,电话,住址);业务信息(业务员号,接洽时间,发货站,发货城市,收货站,收货城市);选择信息(选择号,业务员号,消费者ID号,货物名,费用);运输信息(运输号,卖家ID号,货物名,发货时间)Seller(ID号,姓名,年龄,电话,住址);SQLedit已写入fileafiedt.buf1createtablex_Seller(2SeIDchar(20)primarykey,3Snamechar(10)notnull,4Agechar(10),5Tellchar(20)notnull,6Adrchar(20)notnull7*)8SQL/表已创建。Goods(货物名,货号,体积,重量,包装类型);SQLedit已写入fileafiedt.buf1createtablex_Goods(2Gnamechar(10)primarykey,3Gnochar(10)notnull,4Volumechar(10),5Weightchar(10),6Packchar(10)7*)SQL/表已创建。Consume(ID号,姓名,年龄,电话,住址);SQLedit已写入fileafiedt.buf1createtablex_Consume(2CIDchar(20)primarykey,3Cnamechar(10)notnull,4Agechar(10),5Tellchar(20)notnull,6Adrchar(20)7*)SQL/表已创建。Business(业务员号,接洽时间,发货站,发货城市,收货站,收货城市);SQLedit已写入fileafiedt.buf1createtablex_Business(2Onochar(4)primarykey,3Jtimechar(10)notnull,4Fhzchar(10)notnull,5Fhcitychar(10)notnull,6Shzchar(10)notnull,7Shcitychar(10)notnull8*)9;表已创建。Select(选择号,业务员号,消费者ID号,货物名,费用);SQLedit已写入fileafiedt.buf1createtablex_Select(2Xnochar(10),3Onochar(4),4CIDchar(20),5Gnamechar(10),6Costchar(10),7primarykey(Xno,Ono,CID,Gname),8foreignkey(Ono)referencesx_Business(Ono),9foreignkey(CID)referencesx_Consume(CID),10foreignkey(Gname)referencesx_Goods(Gname)11*)SQL/表已创建。Transport(运输号,卖家ID号,货物名,发货时间)SQLedit已写入fileafiedt.buf1createtablex_Transport(2Ynochar(10),3SeIDchar(20),4Gnamechar(10),5Ftimechar(10)notnull,6primarykey(Yno,SeID,Gname),7foreignkey(SeID)referencesx_Seller(SeID),8foreignkey(Gname)referencesx_Goods(Gname)9*)SQL/表已创建。3.添加数据信息添加卖家信息已写入fileafiedt.buf1insertintox_Seller(SeID,Sname,Age,Tell,Adr)2*values('20162016','徐棚','22','15238101067','南阳理工学院')添加消费者信息insertintox_Consumevalues('20172017','许仙','21','15238101066','东南山')insertintox_Goodsvalues('、','1415925','2','3kg','精装')insertintox_Businessvalues('110','2016525','圆通站1','郑州','圆通站2','南京')insertintox_Selectvalues('0','110','20172017','枇杷果','500$')insertintox_Transportvalues('2016618','20162016','枇杷果','2016520')4.建立索引由于上面好多表创建的同时设置的有主键,创建主键的时候会创建同名索引SQLcreateindexsy1onx_Transport(Ftime);5.视图创建SQLcreateviewxbasselectTell,Adrfromx_SellerwhereSname='徐棚';SQLedit已写入fileafiedt.buf1createviewxb2(SeID,Sname,Gname)2as3selectx_Seller.SeID,x_Seller.Sname,x_Transport.Gname4fromx_Seller,x_Transport5*wherex_Seller.SeID=x_Transport.SeIDSQLedit已写入fileafiedt.buf1createviewxb3(Ono,Fhcity,CID,Cost)2as3selectx_Business.Ono,x_Business.Fhcity,x_Select.CID,x_Select.Cost4fromx_Business,x_Select5*wherex_Business.Ono=x_Select.OnoSQL/(四)PL/SQL编程(20分)系统功能必须通过函数、存储过程、触发器或包实现。至少创建一个函数、一个触发器(实现级联更新功能)、2个过程。不能用程序设计语言实现。先描述功能,再写实现代码。例如:用户登录验证,可以创建一个存储过程,输入参数是用户帐号、用户密码,输出参数是整型值。-1表示登录失败,0表示没有此用户,1表示登录成功。SQLcreateuserxbpidentifiedby1415925675accountunlock;grantcreatesession,createtable,createview,createanyprocedure,createrole,createsequencetoxbp;连接xbp用户,然后建立四张表(关于学生管理系统的表)createtablestudentInfo(stuIDchar(10)primarykey,stuNamechar(20)notnull,sexchar(8)notnull,s