



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库概论实验指导书(2004 级 )一、 实验目的:数据库系统是一门应用性很强的课程,上机实验是数据库课程的重要环节。本实验是结合数据库概论课程的学习而开设的实验。本实验目的如下:1. 通过上机实验,加深对数据库系统理论知识的理解,增强对网络环境下大型数据库的感性认识和实际操作能力;2. 通过使用具体的 DBMS,了解一种实际的数据库管理系统,并掌握其操作技术。熟悉数据库的 Net8 工具,掌握 ORACLE数据库的网络连接配置;ORACLE3. 学习使用 SQL语言,加深对 SQL语言的认识和理解,提高 SQL语言的实际应用能力;4. 加强对事务处理、权限管理等概念的认识和理解。二、 适应
2、专业: 信息管理与信息系统,信息与计算机科学三、实验学时数: 8 学时四、 实验内容及学时安排:实验准备:各班 选出 10 个同学,协助老师搭建试验环境。包括:1)安装 ORACLE客户端,配置与主机的数据库连接。2)安装软件工具PLSQL/DEVELOPER3)负责本班用户的建立。实验一:数据定义 / 数据操纵语言实验目的: 熟悉 Oracle 上机环境以及 Oracle 客户端的配置;熟练掌握和使用 DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引;熟练掌握和使用 DML语言,对数据进行增加、修改和删除操作。学时数: 4 学时实验内容: SQL数据定义语句,SQL 数据操纵语
3、句。实验要求: 1.熟悉 Oracle 上机环境; 2.建立数据库表,修改数据库表结构,建立、删除索引; 3.对数据库表进行插入、修改和删除数据的操作。实验二:数据查询语言,视图定义实验目的: 体会 SQL语言数据查询功能的丰富和复杂,视图使用。学时数: 4 学时实验内容: SQL数据查询语句;实验要求: 对数据库表进行各种查询操作;五、 教材及参考文献1. 数据库系统概论 (第三版)萨师煊等编著高等教育出版社2000.22. ORACLE 8.x For Windows NT实用教程翁正科等编著清华大学出版社1998.10六、 实验环境实验要求如下环境服务器端:Windows 2000NT
4、Server ; ORACLE 8.x Database ServerFor Windows Windows2000 Server客户端:Windows9x ; Oracle 8.x Client网络协议: TCP/IP七、 成绩考核上机实验考核采取实验报告和上机抽查检验相结合的方式。每次实验结束后都必须写出实验报告。八.实验报告实验一:数据定义 / 数据操纵语言实验日期年月日学号:姓名:实验目的 熟悉 Oracle 上机环境以及Oracle 客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。实
5、验内容 Oracle上机环境以及Oracle 客户端的配置参见附录。1 SQL 数据定义语句:例 1-1 : ( 建立数据库表)建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2)字段, Sname字段为 Sname(C,8)且可为空。例 1-2 : ( 修改数据库表 ) 在 Student 表中增加 SSEX(C,2)字段。例 1-3 : ( 修改数据库表 ) 将 Student 表中把 Sname字段修改为 Sname(C,10)且为非空。例 1-4 : ( 建立索引)为Score 表按学号升序和课程号降序分别建立索引, 索引名分别为SC_NDXSNO和 SC_ND
6、XCNO。为 Score 表按分数降序建立索引,索引名为GRADE_NDX。例 1-5 : ( 删除索引 ) 删除索引 SC_NDX_SNO。例 1-6 : ( 建立数据库表 )建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与 Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。例 1-7 : ( 修改数据库表 )删除成绩表 Score 的参照完整性约束关系。例1-8: ( 修改数据库表 )添加成绩表 Score 的参照完整性约束关系。例 1-7 , 8:为选作题2 SQL 数据操纵语句:例 2-1:(插入数据)按前面各表中的 部分
7、数据分别插入到教学数据库的四个数据库表中。例 2-2:( 多行插入 )将表 Student 中在计算机系 ( CS) 的学生数据插入到表S1 中。例 2-3 : ( 利用查询来实现表的定义与数据插入)求每一个学生的平均成绩,把结果存入数据库表Student_Gr 中。例 2-4:(修改数据)将S1表中所有学生的年龄加2。例 2-5 : ( 修改数据 ) 将 Course 表中程序设计课时数修改成与数据结构的课时数相同。例 2-6 : ( 插入数据 ) 向 Score 表中插入数据( 98001, 001, 95 ) ,根据返回信息解释其原因。例 2-7 : ( 插入数据 ) 向 Score 表
8、中插入数据( 97001, 010 , 80 ),根据返回信息解释其原因。例 2-10 : ( 删除数据 ) 删除学生表 S1 中学号以 96 打头的学生信息。例 2-11 : ( 删除数据 ) 删除数据库表 S1 中所有学生的数据。例 2-12 : ( 删除表 )删除数据库表S1 和 Student_Gr 。实验要求 熟悉 Oracle 上机环境,掌握Oracle 客户端的配置;建立数据库表,修改数据库表结构,建立、删除索引;对数据库表进行插入、修改和删除数据的操作。实验方法 按照附录中的操作步骤进行客户端的配置;将实验需求用SQL语句表示;执行SQL语句;查看执行结果,如果结果不正确,进行
9、修改,直到正确为止。 实验总结 SQL 语句以及执行结果 ; 对重点 实验结果进行分析; 实验中的问题和提高; 收获与体会。实验二:数据查询语言实验日期年月日学号:姓名:实验目的 体会 SQL语言数据查询功能的丰富和复杂。实验内容 3 SQL 数据查询语句:例 3-1 : ( 选择表中的若干列)求全体学生的学号、姓名、性别和年龄。例 3-2 : ( 不选择重复行 )求选修了课程的学生学号。例 3-3 : ( 选择表中的所有列 ) 求全体学生的详细信息。例 3-4 : ( 使用表达式 ) 求全体学生的学号、姓名和出生年份。例 3-5 : ( 使用列的别名 ) 求学生的学号和出生年份,显示时使用别
10、名“学号”和“出生年份”。例 3-6 : ( 比较大小条件 ) 求年龄大于 19 岁的学生的姓名和年龄。例 3-7 : ( 比较大小条件 ) 求计算机系或信息系年龄大于18 岁的学生的姓名、系和年龄。例 3-8 : ( 确定范围条件 ) 求年龄在 19 岁与 22 岁( 含 20 岁和 22 岁 ) 之间的学生的学号和年龄。例 3-9 : ( 确定范围条件 ) 求年龄不在 19 岁与 22 岁之间的学生的学号和年龄。例 3-10 : ( 确定集合条件 ) 求在下列各系的学生信息:数学系、计算机系。例 3-11 : ( 确定集合条件 ) 求不是数学系、计算机系的学生信息。例 3-12 : ( 匹
11、配查询 ) 求姓名是以“李”打头的学生。例 3-13 : ( 匹配查询 ) 求姓名中含有“志”的学生。例 3-14 : ( 匹配查询 ) 求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。例 3-15:( 匹配查询 ) 求选修课程 001或 003,成绩在80 至 90 之间,学号为96xxx 的学生的学号、课程号和成绩。例 3-16: ( 涉及空值查询 )求缺少学习成绩的学生的学号和课程号。例 3-17: ( 控制行的显示顺序) 求选修003 课程或 004课程的学生的学号、课程号和分数。例 3-18 : ( 组函数 ) 求学生总人数。例 3-19 : ( 组函数 ) 求选修了课程
12、的学生人数。例 3-20 : ( 组函数 ) 求计算机系学生的平均年龄。例 3-21 : ( 组函数 ) 求选修了课程 001 的最高、最低与平均成绩。例 3-22 : ( 分组查询 ) 求各门课程的平均成绩与总成绩。例 3-23 : ( 分组查询 ) 求各系、各班级的人数和平均年龄。例 3-24 : ( 分组查询 ) 输入以下查询语句并执行,观察出现的其结果并分析其原因。SELECT SNAME, SDEPT, COUNT( * ) FROM STUDENTWHERE SDEPT=CS GROUP BY SDEPT;例 3-25 : ( 分组查询 )分析以下语句为什么会出现错误。并给出正确的
13、查询语句。SELECT SAGE FROM STUDENTGROUP BY SNO;例 3-26 : ( 分组查询 ) 求学生人数不足 3 人的系及其相应的学生数。例 3-27 : ( 分组查询 ) 求各系中除 01 班之外的各班的学生人数。例 3-28 : ( 涉及空值的查询 ) 分别观察各组函数、行的显示顺序以及分组查询与空值的关系。例 3-29 :( 自然连接查询 ) 求学生号以及其选修课程的课程号和成绩,但查询结果中只能有一个SNO字段。例 3-30 : ( 连接查询)求选修了课程001 且成绩在70 分以下或成绩在90 分以上的学生的姓名、课程名称和成绩。例 3-31 : ( 连接查
14、询与表的别名 ) 求选修了课程的学生的学生姓名、课程号和成绩。例 3-32 : ( 自身连接查询 ) 求年龄大于 李丽 的所有学生的姓名、系和年龄。例 3-33 : ( 外部连接查询 )求选修了课程002 或 003 的学生的学号、课程号、课程名和成绩。例 3-34 : ( 子查询 ) 求与 李丽 年龄相同的学生的姓名和系。例 3-35 : ( 子查询 ) 求选修了课程名为 数据结构 的学生的学号和姓名。例 3-36 : ( 子查询 ANY) 求比数学系中某一学生年龄大的学生的姓名和系。例 3-37 : ( 子查询 ALL) 求比数学系中全体学生年龄大的学生的姓名和系。实验要求 对数据库表进行
15、各种查询操作。实验方法 将实验需求用 SQL语句表示; 执行 SQL语句; 查看执行结果,如果结果不正确,进行修改,直到正确为止。 实验总结 SQL 语句以及执行结果 ; 对重点 实验结果进行分析; 实验中的问题和提高; 收获与体会。附录:数据库概论操作指导一.客户端配置为了使得Oracle和 Windows NT 连接起来,必须建立数据库别名(一种连接名称),提供一个和 Oracle 数据库连接的通路。操作如下:1. 选择 Windows95&98 开始 -> 程序 -> Oracle for Windows95 -> Oracle net8 easy config
16、得到如下图所示画面:选择“ Yes”按扭,得到下面的画面:在这个画面上,左边的一组单选按扭是功能选择,含义如下:Add New Service添加服务名Modify修改存在的连接Delete删除存在的连接Test测试存在的连接如果选择添加新服务名,需要在右上文本框中输入新服务名(New Service Nami)。如果是其他三种操作,则需要在右下列表框选择其存在的服务名(Exsting Services)。2.添加新服务名。在右上文本框中输入一个服务名(如ORA5),然后按“ Next”按扭进入下一步。3. 选择通信协议。 Oracle 数据库与网络是通过指定的协议进行连接的。可选择的画面如下
17、图所示,通常选择 TCP/IP 协议,单击“ Next”按扭,进入下一步。4.输入 IP 地址和端口号。使用TCP/IP 协议需要输入IP 地址。在Host Name文本框中输入IP地址(注意:输入哪个服务器地址,需要询问实验指导老师或数据库管理员)。系统提供一个缺省的端口号,如是1251,可以直接使用它。单击“Next”按扭,进入下一步。5. 系统标识。典型安装的数据库使用的系统标识符号是直接单击“ Next”按扭,进入下一步。ORCL,因此可在出现如下图所示的画面之后6. 测试。可跳过此步,直接单击“ Next”按扭,进入下一步。再单击“ Finish ”按扭,完成配置操作。说明: 由于实
18、验室机器加有保护卡,因此每次重新启动机器,使用置服务名( Service Name )。ORACLE时,都必须按上述步骤配二.用户管理1 建立用户:以数据库管理员身份登录Oracle系统(参见<四 .登录 Oracle >)按 UserName=DXP, PassWord=DXP, Service= ORA5,登录 Oracle 系统后,输入命令:CREATE USERUxxxxxxxx IDENTIFIED BYKxxxxxxxx DEFAULT TABLESPACE DXPDATASPACETEMPORARY TABLESPACE DXPTEMPSPACE;注意: Uxxxxx
19、xxx,用户名; Kxxxxxxxx,口令,是以字母打头的字母数字字符串。 ORA5为服务名,即是你所创建的服务名。2 用户授权。输入命令:GRANT CONNECT,RESOURCEUxxxxxxxxTO;退出 Oracle (参见 < 四. 退出 Oracle >)。再以新建的用户帐号(用户名和密码)重新登录 Oracle 。3 修改用户密码。进入 Oracle 系统后,可以随时修改自己帐户的密码。ALTER USERUxxxxxxxx IDENTIFIED BY新口令;三 . 登录 Oracle方法一 :(1) 在 MS-DOS提示符下 , 执行 SQL *PLUS命令C:&
20、gt; SQLPLUS RETURNSQL *PLUS 将显示它的版本号、日期和版权信息,并提示你输入用户名。(2) 按提示要求输入用户名后按 RETURN, SQL *PLUS提示你输入口令。(3) 如果口令输入正确, SQL *PLUS 将宣布你已经与 ORACLE连接上了,然后提示:连接到:Oracle8 Release 8.0.5.0.0 ProductionPL/SQL Release 8.0.5.0.0 - ProductionSQL>说明现在你已经进入SQL *PLUS 中,并等待你的指示。如下图所示:输入用户名:输入口令:SQL提示符另外,在进入SQL *PLUS时,也可
21、以在命令行上直接输入用户名和口令,中间以“/ ”分隔。方法二 :(1) 选择 Windows95&98 开始 -> 程序 -> Oracle for Windows95 -> SQL PLUS 8.0出现 Oracle 登录窗口。(2) 按提示要求输入:Username : UxxxxxxxxPassword:KxxxxxxxxService:ORA5其中: Uxxxxxxxx, Kxxxxxxxx, ORA5同前说明。例如:某一学生学号为99094180,则其用户名为U99094180 ,口令为K99094180,数据库别名设为 ORA6。(3) 按 确定 按钮。如
22、果输入正确,SQL *PLUS 将显示它的版本号、日期和版权信息以及已与ORACLE连接上的信息,然后显示:连接到:Oracle8 Release 8.0.5.0.0 - ProductionPL/SQL Release 8.0.5.0.0 - ProductionSQL> SQL 提示符说明现在你已经进入SQL *PLUS 中,并等待你的指示。注意: 在方法一或方法二中,如果口令输入不正确,系统提示出错信息,并要求你重新输入。在向ORACLE三次注册失败后,屏幕上将出现终止服务信息,并退出SQL *PLUS。四.退出Oracle当想停止工作并离开SQL *PLUS,则可以在SQL *P
23、LUS 命令提示符下输入EXIT或 QUIT 命令。SQL> EXIT RETURN或SQL> QUIT RETURN五.提示信息1. 建议使用方法二登录 ORACLE。在此方式下, SQL *PLUS 有一种缓冲区编辑器,可以用来在 SQL >提示符下交互式地输入命令和修改命令。(1)在 SQL>提示符下,可直接进行拷贝和粘贴操作。(2)在 SQL>提示符下,可直接对命令缓冲区内容进行编辑。SQL> EDRETURN出现缓冲区编辑器窗口,自动显示刚刚执行的命令语句。修改编辑,保存退出,返回SQL> 命令提示符状态。SQL>/RETURN自动执行
24、缓冲区编辑器中的命令语句。2. 一个事务从执行一条 SQL 更新语句 (INSERT、 UPDATE、 DELETE)开始,当出现如下任一情况时,就结束该事务:执行COMMIT或ROLLBACK命令 ( 这是一种显式划分事务的方式) ;发出DDL命令 ( 如执行CREATE TABLE命令等) ;LOGOFF;程序异常结束。如果在 SQL *PLUS中没有上述四种情况,当退出系统时,系统会自动提交最后一个事务。3. 查询本用户账号下的所有数据库表的名称:SELECT * FROM TAB ;4. 查看一个数据库表的表结构:DESC表名;5. ORACLE常用的数据类型:数据类型表示方式说明NU
25、MBER(n)可包括数字 0-9 、正负号 (+ 、-) 和十进制小数点数字型n:总有效位数 ( 范围 1-38)NUMBER(n,d)s:小数点后面的位数CHAR(n)可包含字母、数字和特殊字符(+ 、 - 、%、$)字符型VARCHAR(n)n <= 255 ; n1 <= 2000VARCHAR2(n1)日期和时间。存储方式为:日期型DATE世纪、年、月、日、时、分、秒。缺省日期格式:中文版为 09-10 月-99 ,英文版为 09-OCT-99。利用 ORACLE提供的日期掩码格式,可按需要显示日期与时间。例如显示系统日期或显示系统日期、时间:SELECT TO_CHAR(
26、SYSDATE,'YYYY-MM-DD') FROM DUAL;或 SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH:MM:SS') FROM DUAL;6. 几个常用的 ORACLE函数(1) LTRIM()、 RTRIM() 、 TRIM() :去除前导、后缀的空格或字符。(2) UPPER() 、 LOWER():字符大小写转换。(3) SUBSTR(str, m, n) :截取子串。其中,str :字符串; m:开始位置;n:长度。7. 在 Oracle 中,可以使用 SET AUTOCOMMIT命令来设置事务自动提交环境。一旦
27、设置了自动提交,则在每个 SQL操作 INSERT、 UPDATE或 DELETE语句之后,系统就自动进行了提交。一般情况下,最好不要使用自动提交方式。设置自动提交的语句格式:SET AUTOCOMMIT IMMEDIATE;SET AUTOCOMMIT ON;设置非自动提交的语句格式:SET AUTOCOMMIT OFF;Oracle 以非自动提交方式为缺省方式。8.查询其他用户的数据(必须为授权的用户),应在表名前增加用户名作为限定词。格式为:用户名 . 表名9. 查询本用户所有表上的完整性约束名称。SELECT Constraint_name, Constraint_type, Tabl
28、e_name, R_constraint_name FROM User_constraints;Constraint TypePRIMARY KEYCharacterPUNIQUE KEYFOREIGN KEYCHECK, NOT NULLURC10.查询本用户所有表上的非空约束和CHECK约束条件。SELECT Constraint_name, Search_conditionFROM User_constraints;11查询本用户所有表上定义的完整性约束的约束列名SELECT Constraint_name, Table_name, Column_nameFROM User_cons_columns;六 . 教学管理数据库设计各表的数据结构和数据如下:1 学生情况表StudentSNO(C,5 SNAME(C,1 SDEPT(C, SCLASS(C, SSEX(C,SAGE(N,)0)2)2)2)2)学号姓名系班级性别年龄CS:计算机系96001CS0121马小燕女9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国内插式接头管件行业发展研究报告
- 2025至2030年中国侧壁格栅式风口行业发展研究报告
- 数字出版发展引入电子图书资源满足数字阅读需求计划
- 促进教师团队合作的工作安排计划
- 影楼管理基础知识培训
- 资源配置优化的年度计划
- 学生有效沟通技巧
- 课程设计的个性化与多样性计划
- 积极引导班级良性竞争计划
- 环境保护主题活动安排计划
- 南京网架加固加固施工方案拆换杆件
- 举升机每日维护检查表
- 装饰装修隐蔽工程验收记录文本表全套范例
- 益智区故事:小动物住几楼
- 医疗机构相关法律法规培训PPT课件(医疗卫生与健康促进法、医师法、处方管理办法、传染病防治法、职业病防治法、医疗纠纷)
- 中国文学理论批评史全套教学课件
- 餐饮业成本核算 全套课件
- 三相异步电动机的速度控制
- 供电所线损的基本概念和管理
- CNAS质量体系文件(质量手册程序文件)
- 【实用版】GF-2013-0201建设工程施工合同(示范文本)
评论
0/150
提交评论