最新昆明理工大学数据库报告_第1页
最新昆明理工大学数据库报告_第2页
最新昆明理工大学数据库报告_第3页
最新昆明理工大学数据库报告_第4页
最新昆明理工大学数据库报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、精品文档数据库原理上机实验报告专 业:自动化、测控学号:姓名:班级:指导老师:昆明理工大学信息工程与自动化学院2014年12月一、实验目的与要求:熟练使用SQL定义子语言、操纵子语言命令语句 掌握关系模型上的完整性约束机制掌握一定的数据库管理技术能完成简单的数据库应用开发二、实验内容及学时安排(总学时:8)(一)数据定义子语言实验(2学时)实验1:利用SQL语句创建Employee数据库 程序:create database employee结果:m zjm ,f-.1匸*-f -ZDr3a r*Vndj.*i5& 牛頊目SQL二Lj2jlI-sqL sajpr UJEMs11My* DlTl

2、IFn.i : ServicesW二j團整阵 1 丄l 期 号1杆带P I ws实验2:利用SQL语句在Employee数据库中创建人员表person月薪表salary 及部门表dept。要求:按表1、表达、表3中的字段说明创建表1 person表结构字段名数据类型字段长度允许空否字段说明P noChar6Not Null工号,主键P n ameVarchar10Not Null姓名SexChar2Not Null性别BirthdateDatetime8Null出生日期ProfVarchar10Null职称Dept noChar4Not Null部门代码,外键(参照 dept表)表2 sala

3、ry表结构字段名数据类型字段长度允许空否字段说明P noChar6Not Null工号,主键,外键(参照person表)BaseDec5Null基本工资Bon usDec5Null奖金,要求50FactDec5Null实发工资-基本工资+奖金Mon thInt2Not Null月份表3 dept表结构字段名数据类型字段长度允许空否字段说明Dept noChar4Not Null部门代码,主键,Dn ameVarchar10Not Null部门名称程序:createtabledept(Dept nochar(4)notnull,Dn amevarchar(10)notnull,)createta

4、blepers on(P_nochar ( 6)not n ullprimarykeyP_n amevarchar(10)notnull,SexChar ( 10 )notn ull,Birthdatedaten ull,Profvarchar(10)n ull,Dept nochar (4)not n ull,Foreig nkey(Dept no ) Refere ncesdept ( Dept no)createtablesalary(P_nochar ( 6)not n ullprimarykey ,BaseDec ( 5)n ull,Bon usDec ( 5)n ull,FactD

5、ec ( 5)n ull,Mon thIntn otn ull,Foreig nkey(P_no ) Referencesperson ( P_no )结果:耕有者创建日软SQL Server?罔血dtio用尸3013-12-13 10:24:563-vet 拒3 dtpfcpertfesdbo系蛭2013-1Z-1S 10:12:2141-38 (Windows NT)三person10用尸ZD13-1Z-13 1021:7J淞蛋当 saleirrdbo用户Z013-1Z-13 1O:ZZ:35骂1 svsEolumrsAozooo-a-e 1:za:iz垢主累图3 sSSEdramEntE

6、020UlU-fc 1 29:12二1亩200O8-e 1 29 12(二)数据操纵子语言实验(4学时)实验3:利用SQL语句向表person salary和dept中插入数据。 要求:按表4、表5、表6中的数据插入。表4 表person中的数据P_noP_n ameSexBirthDateProfDept no000001王云男1973-4-7中级0001000002谢志文男1975-2-14中级0001000003李浩然男1970-8-25高级0002000004廖小玲女1979-8-6初级0002000005梁玉琼女1970-8-25中级0003000006罗向东男1979-5-11初级

7、0003000007肖家庆男1963-7-14高级0003程序:insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno) values(000001,王云,男,1973-4-7,中级,0001) 其他person表的数据插入同上。结果:;虽叩的磁,tk医是0中1巧“呷 PDH 38-囱F nmeSexllirthimwtnaIrirmicmicccme谢古丈lQf7S-2-H中级oralCCCOLG1973-S.-25areLLLLU4摩1務EtCEOCCOK1WA&-鶉anmCDX5isrra-s-iLa3OXCDT另cm表5 表sa

8、lary中的数据P_noBaseBon usFactS_mon th00000121003001000002180030010000032800280100000425002501000005230027510000061750130100000724002101程序:in sert into salaryvalues (000001,2100,300,2400,1)其他salary表的数据插入同上。结果:兀0000012100xo24001MOODSIfXiOWOZioo1naooDn2S003080QQK0425QDreo2TC01OOOOQ5Z3O0I7525751ODOOOC1T5O1

9、3016601UU1X10724CD21Q2B1U1*表6 表dept中的数据DeptnoDn ame0001人事部0002财务部0003市场部程序:insert into dept畋眇烈n爭rt=备values (0001,人事部)其他dept表的数据插入同上。结果:(| H 3L Hl I !鱼驴 zi 1Dnairi a0001 0002财芻剖0003市场部灌实验4:( 1)利用SQL语句修改表中的数据。要求:将salary 表中工号为000006的员工工资增加为1800元, 奖金增加为160元。程序:update salaryset Base=1800,Bo nus=160where

10、P_no=000006结果: 一j| in 3:SalarypaqW,恂青是性mE叶吐冲陀1-3旷上盼至 Q W Fz |I野1朝藐敢S= %11=卜f_noEaseB 4inus| Mlonth): oi: 0 :酹蚩濫瀑觀21003002400100000219003002100I000003280020030 an10000042E002S027 SO1.0UUUU5ZJUU27 !5Z57510000061S0016019801OOOOOTztoo21026101*(2)利用SQL语句删除表中的数据。要求:删除person表中工号为000007的员工数据程序:deletefrom pe

11、rs on where P_no=000007结果:ii- -mennr壬丄*/inrw i r;t-应査是floycu冲,ZDH-36歩丨吨口殛匚|芦 !政岁|扎匸魏垢 %F_mf MA.上ivllkAi.toiPrefLtji me壬IA13-4-T中辺coniOQOUJ谢7E1975 仔 14中请叽WD003李注拓1910-3-250003DODEOligig-8-BCDDSOOOOOE.197O-B-25申址COOSDODOtX107S-S-11C003(3)利用SQL语句查询person表中的所有数据 程序:select *from pers on结果:select * frem p

12、roriF noP najieSes:BirthdateProfDeptnoIWDODl王云男1073-04-07 ao:oo:OL jddaoai2OJO302谢志文1975-02-14 00:00:00. DOO00013ooanoi李浩然tfl7O-O8-25 OOrQOiQD. DOO高级nno?寸030001處,卜玲1979 08 06 00:00:00. )0000025DD0005變珈玄L970-08-25 00:00:00. )000D03UJDJ06郢向东勇L970-O5-L1 UU:(JO:OU. JOO初级0DU3实验5:条件查询要求:(1)查询person表中所有不重复

13、的职称。程序:select disti net prof from pers on结果:select distinct prof frzijii persoiiL查询p erson表中职称为中级的所有员工数据 程序:select *from pers onwhere Prof=中级结果:select *from Dtrscr where口级:P noSex3irthdateProfDeptru1COOOD1王芸男1975-04-07 00:00:0.000中级00012匚OQOUZ男19TS-0-14 U:00:JU.UUU中级UDI3000005197D-0E-25 00:00:00. 00

14、0中级0003程序:(2)查询person表中具有高级职称的男员工信息。 select *from pers onwhere Prof=高级and sex=男结果:精品文档(3)查询person表中姓名为王云、谢志文、罗向东的员工数据。程序:select *from pers onwhere p_n ame二王云or p_n ame=谢志文or p_n ame= 向东结果:select *from person _whert 口_narw=王云,Qf p_nam=谢志文,or p_najne-罗向东P riQP naneShkBirthdateProfDeptrio1000001壬云男1973

15、-04-07 00:10:00.000中額00012000002谢恙文男1976-02-14 00:00:00.000中圾OC013000006罗向东男1979-05-11 00:0000.000初级0003实验6:使用ORDER BY排序要求:利用SQL语句将工号在000003和000006之间的员工的月收入 按实发工资升序排序。程序及结果如下:3 select; *rom salaryP_no=00iD0CI3P_no*r000006order by Fact age:结杲J消息PnoEaseDonuBFactMonth11 OOTOJ6 1800160138012(XKXH523OT27

16、5257513OOOOM250025027501JDODO23(H)26030801实验7:利用SQL语句查询各部门的实发工资总数程序及结果如下:I三| s&lect; 5ON)一 匸口m solaxyK结果Lj消崑1 I 17395!*! aiiBrrvn rm1! ii实验&利用SQL语句查询人事部所有员工信息 程序:select *from pers onwhere dept no =0001结果:口结果二P_noP _nanieSexBirltldateProfOefMnc1f QQW01i王云19734M7中级012tX0fl2谢志文197&4)24中级00Q1实验9:表的内连接查询

17、:要求:利用SQL语句查询person表中职称为中级的员工信息程序及结果如下: *茎口皿 person-whexe FEofp 中级二I踣果Pjio 尸3侶 Sme Rirttiriflrt,i& Prof DfiptrinUMi 10WMM2工云貝洲志文 1973 (M 07 中辗1975-0214 中圾W01W01DOOOQS星玉琼女1970-0&-25 中级0003实验10:表的外连接查询:要求:利用SQL语句查询每个员工1月份的工资和奖金 程序及结果如下:I |se J.3C3 saiaxy Dase 上 3onusff orn sa lary lett o?e ter 3 om n雯

18、壬ok (salary - P no ceK P no)i 21Wi瑚iaoo300zaooJW2500250730027516Wiso2400210| 曲衆L.j谄尧实验11:子查询:要求:利用SQL语句查询比工号为000005的员工实发工资高的所有员 工信息。程序及结果如下:f Few F“r曰 were Tact(n,r salary-elect: ?astr? aalaty斥1更三盘Paea 00&051)4rEBH结=J:沟-却男甲翼主立也臭骂E:立左氓田8F畀玄京啊(三)数据完整性实验(1学时)实验12:定义外键约束要求:(1) 创建表时将person表的dept no列定义为外键

19、,并参考 dept表的 歹 U dept no。)(2)将salary表中的P_no设为外键,程序:createtablesalary(P_nochar ( 6)BaseDec ( 5)Bon usDec ( 5)FactDec ( 5)Mon thIntForeig nkey ( P_no ) References并使其参照person表中的列P_nc。not nullprimary key ,n ull,n ull,n ull,n ot n ull,person ( P_no )程序:createtablepers on (P_nochar ( 6)not nullprimarykeyP_

20、n amevarchar ( 10 )not n ull,SexChar ( 10 )notn ull,Birthdatedaten ull,Profvarchar ( 10)null,Dept nochar (4)notn ull,Foreig n key ( Dept no ) Refere ncesdept ( Dept no )其依赖关系为对象战赖关奈-personS -即n - L2)剖助)依摊于【p er so n的对 ffi赖的对象也 依爐集栗E _j perswi- J寄问r -血帮助只寸象依赖关系-personO依赖于person的对象) rpersQTil依韓的对转恂、依輟

21、关莱曰-3 J ST 3 CEI_3 dipt实验13:测试对主表进行插入、更新及删除操作时的影响。(请写明原因)要求:(1)向表dept中插入一行数据(0004,研发部),测试是否影响从 表。程序:in sert into dept(Dept no,D name) values(0004,研发部)结果:1=1 JLnsex? InJCG de pt(P DnddLEpLvaiue3(-0004* r,研岌劭)Qj消貝i行受影响、dept表的结果为Depfcio0M100020M33 name瑕部财劳部硏戎部ALOPerson表的结果为:P_TTBM0001WQOQ2 ooacm cndm4

22、ooooos ooqco&AUlP_rimeSaxSirtiddrtif王M里15730+07a孚械A京京1S70-0325常向东lGI-05-llMJS.1MA1fJUHDeptio COO! amiOD320032CDJ3GOZI3Salary表的结果为3 noBaseBonusFactMontiOOaoai21003002400-1000002180030021001000003MOO2S030801000004250025027501OOMOS230027525751CQ0006160016018801000007240021026101runALEZNLALNULLES故向表dept

23、中插入一行数据(0004研发部),并未影响从表。原因是 因为 person 表参照的是 dept表,salary 表参照的是 person 表,并且 person 表和salary表中均没有与新插入数据有关联的数据, 所以,当dept表插入新数 据时,person表和salary表的数据不会发生改变。(2)将表dept中的部门号0003改为0006,测试是否影响从表。程序:update deptset Dept no=0006where Dept no=0003结果:II “ 石活尸 PDOGirtiBEe DepLngF:,OOt3,b :* a浦慝 吩言齿d二百,魅 21_至SE -ii.

24、_右摘HEUi*E.fNCE Jpwt汩3!jbLFSCA竺,丁左晅巧*-、真JUacuumn 1 qpmct .谧we捋止故将表dept中的部门号0003改为0006,会影响到从表。原因是各表之间 已经建立联系,person表参照的是dept表,person表中已有 Deptno=0003 的数据,当dept表中的Deptno=0003数据发生改变时,person表中数据也会 发生改变,由于有约束,所以限制了程序的执行。(3)删除表dept中部门号为0001的员工的数据,测试是否影响从表。程序:deletefrom deptwhere dept no =0001 结果:故删除表dept中部门

25、号为0001的员工的数据,会影响到从表。原因是各表 之间已经建立了联系,person表参照的是dept表,且person表中已有deptno= 0001 的数据,当 dept表中deptno= 0001 的数据发生改变时, person表中数据势必会发生改变。由于有约束,所以限制了程序的执行。实验14:测试对从表进行插入、更新及删除操作时的影响。(请写明原因)(1)向表person中插入一行数据(000012,宋全礼,男、 1980-7-17, 初级,0005),测试是否违背参照完整性。程序:insert into person(P_no,P_name,Sex,Birthdate,Prof,D

26、eptno)values(000012,宋全礼,男,1980-7-17,初级,0005)结果:初级,0005),会影响到其他从表。原因是各表之间已经建立连接, person 表参照的是dept表,person表中的数据依赖于dept表中的数据,改变 person 表中的数据势必会影响dept表,违背了参照完整性。由于有约束,所以限制了程序的执行(2)删除表中工号为000005的员工数据,测试是否违背参照完整性。 程序:deletefrom pers onwhere P_no=000005结果:一gdeleteL frem pvrKmP ruzaCDaS_j ifiS消息皿S iS ifDELH

27、I 雷旬与 BUI UKEaalaj tf P_n_IMLMS1”冲突二尸沖菸冬生丁*:挺岸$ 需口. 二亡EBlnan 1 - *请句己纬止删除表中工号为000005的员工数据,会影响到person表的数据。原因是各 表之间已经建立了联系,salary表参照的是person表,且,salary表中已有 P_no=000005的数据,当person表中删除P_no=000005的数据时,势必会影 响到salary表,违背了参照完整性。由于有约束,所以限制了程序的执行。(四)用 Microsoft Access设计Employee数据库系统(5学时)创建表55RMR表cG |3deptpers-on3salaryPers on 表F_nq : : ? r !i i?OUOOOE:F.nae * Sei * Eirthdate T xc-fr M004DM0350MdO6D?O(J :里国出-k-k里里-1 -74/7 屮駅ryzb/4 巾皱I0u02000200忻 ooos 0C03nr

温馨提示

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

评论

0/150

提交评论