电子科技大学数据库原理及应用实验报告_第1页
电子科技大学数据库原理及应用实验报告_第2页
电子科技大学数据库原理及应用实验报告_第3页
电子科技大学数据库原理及应用实验报告_第4页
电子科技大学数据库原理及应用实验报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

./计算机专业类课程实验报告课程名称:数据库原理及应用学院:计算机科学与工程专业:计算机科学与技术学生:希学号:20指导教师:日期:14年5月9日电子科技大学实验报告实验一实验名称:创建数据库实验学时:4实验容和目的:实验容:创建数据库:manage该数据库包括四个表:建议:在定义表中字段时,尽量使用意义的英文单词。"系别代码表" 表名:dep"教师表" 表名:teacher"学生表" 表名:student"课程表" 表名:course"选课表" 表名:sc为每个表准备大约10记录,使用Insert语句将这些数据插入到相应表中数据录入完成后,将数据库备份到磁盘上,在以后的的试验中备用。实验目的:本实验要求学生掌握创建数据库的方法及相关操作实验原理:使用数据库管理系统DB、DDL创建数据库及数据库对象。实验器材笔记本一台CPUcorei7-3610QM存8GB系统windows8.164位专业版dbms:Sqlserver2012实验步骤:创建数据库:STUDCreatedatabasestud;创建表,表的详细说明见表格."系别代码表"表名:dep其结构如下:〔该表的主键为"系代码"字段名称字段类型字段大小/格式是否可为空约束条件系代码depidVARCHAR8否PK系名depnameVARCHAR20否Notnull"教师表"表名:teacher其结构如下:〔该表的主键为"教师号"字段名称字段类型字段大小/格式是否可为空约束条件教师号tidVARCHAR8否PK教师名tnameVARCHAR8否Notnull职称titleVARCHAR8是所属院系编号depidVARCHAR8是"学生表" 表名:student 其结构如下:〔该表的主键为"学生号"字段名称字段类型字段大小/格式是否可为空约束条件学号sidVARCHAR11否PK学生名snameVARCHAR8否Notnull院系编号depidVARCHAR8是性别sexVARCHAR2否出生年月birthdDATETIME是semailVARCHAR20是家庭地址homeaddrVARCHAR40是"课程表"表名:course其结构如下:〔该表的主键是课程号字段名称字段类型字段大小/格式是否可为空约束条件课程号cidVARCHAR8否PK课程名cnameVARCHAR30否Notnull学分creditsDECIMAL3,1<小数位数1>否Notnull"选课表"表名:sc其结构如下:〔该表的主键是课程号字段名称字段类型字段大小/格式是否可为空约束条件学号sidVARCHAR11否Notnull,PK课程号cidVARCHAR8否Notnull,PK教师号tidVARCHAR8否Notnull成绩scoreDECIMAL3,1<小数位数1>是备份数据库BACKUPDATABASEstudTODISK='d:\stud.bak'WITHINIT;恢复数据库RESTOREDATABASEstudFROMDISK='d:\stud.bak'WITHREPLACE;实验数据及结果分析:〔1createdatabasestud〔2createtabledep<depidvarchar<8>primarykey,depnamevarchar<20>notnull>createtableteacher<tidvarchar<8>primarykey,tnamevarchar<8>notnull,titlevarchar<8>,depidvarchar<8>>createtablestudent<sidvarchar<11>primarykey,snamevarchar<8>notnull,depidvarchar<8>,sexvarchar<2>notnull,birthddate,semailvarchar<20>,homeaddrvarchar<40>>createtablecourse<cidvarchar<8>primarykey,cnamevarchar<30>notnull,creditsdecimalnotnull>createtablesc<sidvarchar<11>notnull,cidvarchar<8>notnull,tidvarchar<8>notnull,scoredecimal,primarykey<sid,cid>>〔3backupdatabasestudtodisk='d:\database\stud.bak'withinit;〔4restoredatabasestudfromdisk='d:\database\stud.bak'withreplace;实验结论、心得体会和改进建议:1、实验结论2、心得体会1Sql语言用起来十分方便。2积累了宝贵操作经验。3、改进建议这几个实验可以合并成一个实验,可以减少实验报告的量。电子科技大学实验报告实验二实验名称:数据库的完整性实验学时:4实验容和目的:实验容:设置约束条件设置教师表,学生表中的院系字段<depid>的外键约束设置选课表的三个外键约束〔学号,课程号,教师号设置选课表中成绩字段的取值围是0到100设置学生表中性别字段的取值为"男"或"女"设置学生表电子字段的取值必须包含符号实验目的:通过设置表的检查约束、外键约束体会数据库完整性的含义,约束条件下数据修改操作的限制,以及实现修改操作的技巧。实验原理:数据库库的完整性、约束条件、结构化查询语言。实验器材笔记本一台CPUcorei7-3610QM存8GB系统windows8.164位专业版dbms:Sqlserver2012实验步骤:恢复数据库,将数据库备份stud恢复到DB2中执行SQL命令完成实验容备份数据库实验数据及结果分析:1restoredatabasestudfromdisk='d:\database\stud.bak'withreplace;2altertableteacheraddforeignkey<depid>referencesdep<depid>;altertablestudentaddforeignkey<depid>referencesdep<depid>;altertablescaddforeignkey<sid>referencesstudent<sid>;altertablescaddforeignkey<cid>referencescourse<cid>;altertablescaddforeignkey<tid>referencesteacher<tid>;altertablescaddcheck<scorebetween0and100>;altertablestudentaddcheck<sexin<'男','女'>>;altertablestudentaddcheck<semaillike'%%'>;3>restoredatabasestudfromdisk='d:\database\stud.bak'withreplace;实验结论、心得体会和改进建议:1、实验结论2、心得体会积累了操作经验。对数据库有了更深刻的理解。3、改进建议这几个实验可以合并成一个实验,可以减少实验报告的次数。电子科技大学实验报告实验三实验名称:数据查询实验学时:4实验容和目的:1、实验容查询年龄在30—32之间的学生〔通过出生日期和当前日期计算年龄year<getdate<>>-year<birthd>查询所有副教授的信息查询姓""的学生的学号、、地址求每门课程的选课人数、最高分、最低分、平均分,要求在查询结果中显示课程号和课程名;查询既选修了1号课程,又选修了2号课程的学生学号查询既选修了1号课程,又选修了2号课程的学生查询选修了全部课程的学生2、实验目的练习用SELECT查询语句,设置查询条件,实现单表查询。练习使用SELECT语句从多个表中查询数据,表的连接、左外连接、右外连接的使用以及设置连接条件,理解连接条件和查询条件的在目的和功能上的区别。实验原理:结构化查询语言、表的连接、关系运算、分组查询实验器材笔记本一台CPUcorei7-3610QM存8GB系统windows8.164位专业版dbms:Sqlserver2012实验步骤:恢复数据库,将数据库备份stud恢复到DB2中执行SQL命令完成实验容实验数据及结果分析:1、restoredatabasestudfromdisk='d:\database\stud.bak'withreplace;2、selectsname"",<datepart<year,getdate<>>-datepart<year,birthd>>"年龄"fromstudentwhere<datepart<year,getdate<>>-datepart<year,birthd>>between30and32;select*fromteacherwheretitle='副教授';selectsid"学号",sname"",semail"地址"fromstudentwheresnamelike'%';selectcourse.cid"课程号",cname"课程名称",count<*>"选课人数",max<score>"最高分",min<score>"最低分",avg<score>"平均分"fromsc,coursewherecourse.cid=sc.cidgroupbyame,course.cid;selectsc1.sidfromscsc1,scsc2wheresc1.sid=sc2.sidandsc1.cid=1andsc2.cid=2;selectsnamefromstudent,scsc1,scsc2wherestudent.sid=sc1.sidandsc1.sid=sc2.sidandsc1.cid=1andsc2.cid=2;selectsnamefromstudent,scsc1,scsc2,scsc3wherestudent.sid=sc1.sidandsc1.sid=sc2.sidandsc1.sid=sc3.sidandsc1.cid=1andsc2.cid=2andsc3.cid=32实验结论、心得体会和改进建议:1、实验结果2、心得体会1充分理解了聚集函数和groupby的用法2对自连接的理解更加深刻3、改进意见数据太少,若单条录入有显得繁杂,希望以后有现成的bak备份文件。电子科技大学实验报告实验四实验名称:数据库建模实验学时:4实验容和目的:1、实验容使用PDM,以图形化界面方式创建表及确定各表之间的关系,在实验报告中给出模型图;通过"生成数据库"功能生成创建数据库的脚本,在实验报告中给出脚本容;2、实验目的本实验要求学生学习数据库建模工具PowerDesigner的使用方法,掌握最基本的使用方法。实验原理:实验步骤中已详细介绍。实验器材笔记本一台CPUcorei7-3610QM存8GB系统windows8.164位专业版powerdesigner版本:实验步骤:1. 通过生成PhysicalDataModel〔PDM以图形化界面创建表及确定各表之间的关系。<1> 打开了PD以后,选择New,并在Modeltype里面选择PhysicalDataModel,同时选择可使用的DBMS,如DB2或MySQL4.0,然后点击确定,如图1所示。图1<2> 从Palette工具面板中单击创建Table的工具图标,并在图表窗口中点击一下便可产生一个新的Table〔默认名称为Table_1,可修改该名称,如图2所示:图2<3> 选中该表,右击选择"Properties"对该表进行编辑〔修改名称、增加列等如图3所示:图3<4> 选择"Columns"标签,如图3中的红色矩形所示。便可以给student这个表添加列了。在添中列的时候应该指明列的类型,并指是否允许为空,是否为主键等各种属性,如图4所示:图4<5> 按生成student表同样的办法生成department表,只是具体属性不一样,如图5所示:图5<6> 学生表中的学生所在系是department表中的一个外键,这时我们需要建立一个表的引用。如图6所示:图6<7> 这时候可以发现student表中多了一个dno字段,并且有<fk>这种外键标识,这样表也就建好了。2. 根据第一步生成的表导出数据库的脚本要产生数据库生成脚本,进行如下操作:<1> 选择Database→GenerateDatabase,打开"ParametersforSybaseSQLAnywhere"窗口<图7>。<2> 在Filename框中接受缺省的文件名crebas.sql,在Directory框中接受缺省的目录名。<3> 接受其它缺省的生成参数和选项。图7<4> 单击"Generatescript"按钮,打开如图8所示的确认框。图8<5> 单击"是〔Y"按钮。<6> 打开数据库生成脚本文件,并浏览这个文件。这个脚本文件就是我们通过图形化的界面创建的表及其之间的关系的一个SQL描述,我们可以在应用程序中或者相应的DBMS导入这个脚本就可以完成数据库的创建了〔在例子中的这个脚本只有表相关的创建语句。3. 利用PD的逆向工程生成PDM并进行修改逆向工程的实验我们以从数据库生成脚本生成PDM为例。从数据库生成脚本生成PDM,按下列步骤进行:<1> 选择File→ReverseEngineering→Database"窗口。新窗口如图9所示:图9<2> 从"Databasename"下拉列表框中选择数据库管理系统。如图9的红圈所示,并点击确定。<3> 单击"Usingascriptfile"单选按钮,并添加一个SQL脚本文件,如图10所示:图10<4> 单击"OK",新的PDM出现在窗口中,如图11所示:这时可按照步骤1介绍的方法进行图形化界面的修改,并生成新的SQL脚本文件,具体在这里就不重复介绍了。实验数据及结果分析:1、2、/*==============================================================*//*DBMSname:SybaseSQLAnywhere11*//*Createdon:2014/5/1021:17:11*//*==============================================================*/ifexists<select1fromsys.sysforeignkeywhererole='FK_STUDENT_REFERENCE_DEPARTME'>thenaltertablestudentdeleteforeignkeyFK_STUDENT_REFERENCE_DEPARTMEendif;ifexists<select1fromsys.systablewheretable_name='department'andtable_typein<'BASE','GBLTEMP'>>thendroptabledepartmentendif;ifexists<select1fromsys.systablewheretable_name='student'andtable_typein<'BASE','GBLTEMP'>>thendroptablestudentendif;/*==============================================================*//*Table:department*//*==============================================================*/createtabledepartment<dnovarchar<4>notnull,dnamevarchar<10>null,constraintPK_DEPARTMENTprimarykeyclustered<dno>>;/*============================================================

温馨提示

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

评论

0/150

提交评论