数据库原理实验报告电子和丽.doc_第1页
数据库原理实验报告电子和丽.doc_第2页
数据库原理实验报告电子和丽.doc_第3页
数据库原理实验报告电子和丽.doc_第4页
数据库原理实验报告电子和丽.doc_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

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

文档简介

数据库原理与技术数据库原理与技术 DATABASE Principles Technology and Application 实验报告实验报告 电子信息电子信息 1203 班班 0909123003 和丽和丽 中南大学信息科学与工程学院中南大学信息科学与工程学院 1 有关说明有关说明 1 参考教材 参考教材 1 1 张祖平张祖平 孙星明等孙星明等 数据库原理及应用数据库原理及应用 中南大学出版社中南大学出版社 2010 11 2010 11 2 2 oracle10goracle10g 教程从入门到精通 百度文库教程从入门到精通 百度文库 2 2 最终实验结果呈现 最终实验结果呈现 一个文本文件 包括所有实验内容语句 调试数据 思考题等 3 3 对象命名 对象命名 1 文件名取 其中为现在班号 学号后 4 位 如 oraexp 10104 txt sql 表示电子信息 1 班 学号后四位为 0104 总学号为 0909120107 最后源文件名可取 txt 或 sql 等 2 其它对象名如用户 表 视图 过程 触发器等按规则 其中 为对象类型标识码 如用户取名 u 表取 t 视图 V 过程取 P 触发器取 TG 为班 级 学号后四位 与文件名的命名规则类同 可自己命名 不作强制要求 可以用英文 简写法 也可以用中文拼音首字母 如 T STUD 20807 p sumscore 11517 tg STUD ST 12101 目目 录录 实验一 熟悉实验一 熟悉 ORALCE 环境并练习环境并练习 SQL 的定义的定义 1 一 目的与要求 1 二 操作环境 1 三 实验内容 1 四 思考题 3 五 实验报告要求 3 实验二 数据更新操作实验二 数据更新操作 4 一 目的与要求 4 二 操作环境 4 三 实验内容 4 四 思考题 4 五 实验报告要求 4 实验三 视图及权限控制实验三 视图及权限控制 5 一 目的与要求 5 二 操作环境 5 三 实验内容 综合设计与实现 5 四 实验报告要求 5 实验四 数据库触发器与过程实验四 数据库触发器与过程 6 一 目的与要求 6 二 操作环境 6 三 实验内容 6 四 实验报告要求 6 附录 附录 ORACLE 有关命令及内部字典有关命令及内部字典 7 ORACLE 的 SQL PLUS 基本命令 7 ORACLE的哑表与数据字典 7 例句中设有一定的错误 请注意调试 7 0 实验一 熟悉实验一 熟悉 ORALCE 环境并练环境并练习习 SQL 的定义的定义 一 目的与要求一 目的与要求 本实验主要是熟悉 ORACLE 的运行环境 在 CLIENT 端进行联接设置与服务器联通 进入 ORACLE 的 SQL PLUS 的操作环境 进一步建立表格 并考虑主键 外部键 值约束 二 操作环境二 操作环境 硬件 主频 2GHz 以上服务器 内存 2GB 以上 硬件空闲 2 2GB 以上 主频 1GHz 以上微机 内存 1GB 以上 软件 WINDOWS XP 2000 2003 或 win7 2008 等 如操作系统是 SERVER 版 可安装 ORACLE 9i 10g 11g 12C FOR NT WINDOWS 注意在 32 位与 64 位的区别 可选企业版 如果 Windows 非 server 如 XP win7 等 安装时请选择个人版 PERSONAL 三 实验内容三 实验内容 1 1 上机步骤上机步骤 在实验室上机时 一般安装时管理员已设置好 先找到 windows 中的 oracle 服务 一般 为 OracleServiceORCL 如下图 1 启动此服务 再找到 sql plus 所在的位置 一般桌面 上有如下图 2 的程序组有 运行即可进行登录界面 图 1 Oracle 在计算机系统中的服务 图 2 称 Sql plus 在系统程序组中的位置 1 实验室现有环境操作步骤 实验室现有环境操作步骤 通过桌面我的电脑找到管理服务的入口 如图 3 或者通过资源管理器找到管理 图 3 通过桌面我的电脑找到管理服务的入口 然后找到服务 如图 4 图 4 系统中的服务 再找启动 oracle 的服务如图 1 1 从桌面或在程序中 图 2 执行 SQL PLUS 2 输入 system manager 3 在 SQL 状态输入建立用户命令 create user username identified by password 其中 username 与 password 不要数字开头 用户名 username 中按规则加班级学号后缀 如 U 11221 表示 1 班学号尾数为 1221 号的用户 4 给用户授权 grant resource connect to username 5 连接用户 connect username password 在 SQL 就可以建表等操作了 2 根据要求建立如下表根据要求建立如下表 定义基本表格 dept 部门 与 emp 员工 关系模式如下 2 Dept DEPTNO char 4 Primary key NAME VARCHAR2 32 LOC VARCHAR2 32 in 长沙 深圳 tel varchar2 13 以 0731 0755 开头 Emp EMPNO char 10 primary key ENAME VARCHAR2 32 JOB VARCHAR2 12 MGR char 10 foreign key HIREDATE DATE 19920101 SAL NUMBER 7 2 COMM NUMBER 7 2 DEPTNO char 4 foreign key sal commto date 19920101 yyyymmdd sal number 7 2 comm number 7 2 deptno char 4 references dept 33003 deptno check sal comm 5000 alter table emp 33003 add empyear char 50 update emp 33003 set empyear ceil sysdate hiredate 365 3 insert into dept 33003 values 4 accounting 深圳 07314646745 insert into dept 33003 values 4 would 长沙 073127485 insert into dept 33003 values 4 dtre 深圳 0731436547 insert into dept 33003 values 3 aaa 深圳 07553254365 insert into dept 33003 values 3 eee 深圳 07553246547 insert into dept 33003 values 3 sansan 长沙 07312435654 insert into dept 33003 values 3 huahua 长沙 0731334654 insert into dept 33003 values 3 zhang 长沙 075523436 insert into dept 33003 values 3 research 长沙 075525678 insert into dept 33003 values 2 xiaoniu 深圳 0731545666 insert into dept 33003 values 1 和丽 深圳 0731545123 insert into dept 33003 values 1 李四 深圳 0731545456 4 insert into emp 33003 values 0101 李四 董事长 null 11 5 月 14 3000 1000 1 insert into emp 33003 values 0111 zhang 工程师 0102 19 7 月 14 2000 500 3 insert into emp 33003 values 0112 research 工程师 0102 19 7 月 14 2000 500 3 insert into emp 33003 values 0110 huahua 工程师 0102 19 7 月 14 2000 500 3 insert into emp 33003 values 0109 sansan 工程师 0102 19 7 月 14 2000 500 3 insert into emp 33003 values 0107 aaa 工程师 0102 14 7 月 14 2000 500 3 insert into emp 33003 values 0108 eee 工程师 0102 19 7 月 14 2000 500 3 insert into emp 33003 values 0105 would 财务 0103 21 7 月 14 2000 500 4 insert into emp 33003 values 0106 dire 财务 0103 29 7 月 14 2000 500 4 insert into emp 33003 values 0104 accounting 财务 0103 26 7 月 14 2000 500 4 insert into emp 33003 values 0102 和丽 总经理 0101 01 5 月 14 2000 1000 1 insert 5 into emp 33003 values 0103 xiaoniu 部门经理 0102 16 4 月 14 2000 500 2 四 思考题四 思考题 1 能否任意改变表的名称 答 能 ALTER TABLE 当前表名 RENAME TO 2 能否先删除 dept 表 答 不能 为了约束完整性不应该被首先删除 但是可以用 cascade 关键字实现级 联删除 3 能否改变 dept 表中 DEPTNO 类型与长度 或改变 emp 表中 empno 的类型与 长度 答 可以通过 ALTER TABLE DEPT MODIFY DNO CHAR 2 修改 表中主键值不允许为 null 属性定义中声明为 not null 也不允许空值 五 实验报告要求五 实验报告要求 1 实验内容 2 源程序清单 3 回答思考题 4 写出在实验过程中遇到的问题及解决方法 5 要求字迹端正 条理清晰 概念正确 6 实验二 实验二 数据查询与更新操作数据查询与更新操作 一 目的与要求一 目的与要求 本实验主要是熟悉在 SQL PLUS 环境下进行数据记录查询 更新与删除 其中查询考 虑简单查询 复杂查询 嵌套查询 二 操作环境二 操作环境 同实验一 三 实验内容三 实验内容 1 查询所有职工的记录 答 select from emp 33003 2 查询所有部门的记录 并按部门号升序排列 答 select from dept 33003 order by deptno 3 查询有自己姓名的记录 答 Select from emp 33003 where ename 和丽 4 查询 李四 的 EMPNO ENAME JOB 答 select empno ename job from emp 33003 where ename 李四 5 查询 RESEARCHRESEARCH 部门部门所有的职工记录 答 select from dept 33003 where name research 6 查询 RESEARCHRESEARCH 部门部门各职工的入司年数 CeilCeil sysdate HIREDATE 365 的人数 如 10 年的为 3 人 20 年的有 10 人等 答 select round ceil sysdate hiredate 365 count round ceil sysdate hiredate 365 from emp 33003 where deptno in select name research from dept 33003 7 查询 李四 的 EMPNO ENAME JOB DEPTNO DNAME LOC 答 Select empno ename job deptno name loc from emp 33003 dept 33003 where ename 李四 emp 33003 deptno dept 33003 deptno 8 在 emp 中增加入司年数 years 并求出各人的具体数值放到表中 alter 与 update 答 alter table emp 33003 add empyear char 50 update emp 33003 set empyear ceil sysdate hiredate 365 9 删除日期 2000 年 01 月 01 日前的所有员工信息 答 Delete from emp 33003 where hiredate 2000 01 01 7 四 思考题四 思考题 1 查询学生的记录数 2 测试表中的完整性约束 并分析不成功的原因 3 查询平均入司年数最高与最低的部门 五 实验报告要求五 实验报告要求 1 实验内容 2 调试后的各命令清单 3 写出思考题的语句 4 写出在实验过程中遇到的问题及解决方法 5 要求字迹端正 条理清晰 概念正确 8 实验三 视图及权限控制实验三 视图及权限控制 一 目的与要求一 目的与要求 本实验主要是熟悉在 SQL PLUS 环境下进行数据视图及权限控制的操作 二 操作环境二 操作环境 同实验一 三 实验内容三 实验内容 综合设计与实现 综合设计与实现 批处理实现为每个员工建立用户 并授予 connect 角色 建立视图并给相应查询权限 让每个员工用自己的用户登录能查询到自己的整个信息 如果是 manager 则可以查询 到本部门的所有员工信息 如果是 president 则可以查询所有员工信息 select create user u empno identified by p empno from emp 33003 connect system manager create user u0101 identified by p0102 create user u0102 identified by p0102 create user u0103 identified by p0103 create user u0104 identified by p0104 create user u0105 identified by p0105 create user u0106 identified by p0106 create user u0107 identified by p0107 create user u0108 identified by p0108 create user u0109 identified by p0109 create user u0110 identified by p0110 create user u0111 identified by p0111 create user u0112 identified by p0112 connect emp 33003 heli select grant connect resource to u empno from emp 33003 connect system manager grant resource connect to uu0101 9 grant resource connect to uu0102 grant resource connect to uu0103 grant resource connect to uu0104 grant resource connect to uu0105 grant resource connect to uu0106 grant resource connect to uu0107 grant resource connect to uu0108 grant resource connect to uu0109 grant resource connect to uu0110 grant resource connect to uu0111 grant resource connect to uu0112 grant create view to emp 33003 connect emp 33003 heli create view v1 as select dept 33003 deptno name loc tel emp 33003 empno ename job mgr hiredate sal c omm from dept 33003 emp 33003 where dept 33003 deptno emp 33003 deptno create view v2 from v1 where deptno manager deptno grant select on v2 to manager grant select on v1 to president select from U 33003 10 实验四 数据库触发器与过程实验四 数据库触发器与过程 一 目的与要求一 目的与要求 本实验主要是熟悉在 SQL PLUS 环境下数据库触发器的建立及作用 了解大型数据库编 程 二 操作环境二 操作环境 同实验一 三 实验内容三 实验内容 1 先建立表 salgrad job maxsal minsal 2 删除 emp 中关于 sal comm 5000 的检查约束 3 建立触发器 满足如下需求 插入或修改 emp 表中的记录时 判定并提示某一 job 的 sal 满 足不超过 maxsal 不低于 minsal 如提示 数据输入有误 job 为 manager 的最高工资 应为 6000 最低应为 4000 你输入的工资 8000 超过了最高 6000 的限制 请确认输入 数据是否正确 4 测试与调试触发器 create table salgrad 33003 job varchar2 12 maxsal number 7 2 minsal number 7 2 select insert into salgrad 33003 values deptno maxsal number 7 2 minsal number 7 2 from emp 33003 insert into salgrad 33003 values 1 4500 3000 insert into salgrad 33003 values 2 3500 2000 insert into salgrad 33003 values 3 3000 2000 insert into salgrad 33003 values 4 3000 2000 alter table emp 33003 drop constraintcheck sal commmaxsal or sal minsal then raise application error 20000 数据输入有误 请确认输入数据是否正确 end if end 建立触发器 满足如下需求 插入或修改 emp 32719 表中的记录时 判定并提示某一 job 的 sal 满足不 超过 maxsal 不低于 minsal 如提示 数据输入有误 job 为 manager 的最高工资应为 6000 最低应为 4000 你输入的工资 8000 超过了最高 6000 的限制 请确认输入数据是否 正确 5 设计并调试过程 1 分部门统计工资与津贴的总和 如建立 sumsal 过程 创建 sumsal 33003 表 create table sumsal 33003 deptno char 4 references dept 33003 deptno sumsal number 7 2 sumcomm number 7 2 创建过程 create or replace procedure Pro sumsal 33003 s sal in varchar is vin sal char 10 v sal char 10 v sumsal number begin vin sal 0 s rno select count emp 33003 sal into v sumsal From emp 33003 DBMS OUTPUT

温馨提示

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

评论

0/150

提交评论