数据库开发技术实验报告认识Oracle常用管理工具和DDLDML实践

上传人:新** 文档编号:489049733 上传时间:2024-02-03 格式:DOC 页数:13 大小:172.50KB
返回 下载 相关 举报
数据库开发技术实验报告认识Oracle常用管理工具和DDLDML实践_第1页
第1页 / 共13页
数据库开发技术实验报告认识Oracle常用管理工具和DDLDML实践_第2页
第2页 / 共13页
数据库开发技术实验报告认识Oracle常用管理工具和DDLDML实践_第3页
第3页 / 共13页
数据库开发技术实验报告认识Oracle常用管理工具和DDLDML实践_第4页
第4页 / 共13页
数据库开发技术实验报告认识Oracle常用管理工具和DDLDML实践_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数据库开发技术实验报告认识Oracle常用管理工具和DDLDML实践》由会员分享,可在线阅读,更多相关《数据库开发技术实验报告认识Oracle常用管理工具和DDLDML实践(13页珍藏版)》请在金锄头文库上搜索。

1、福建工程学院信息科学与工程学院实验报告 2013 2014 学年第 1 学期 任课老师: 蒋建辉 课程名称 数据库开发技术班级座号姓名实验题目认识Oracle常用管理工具和DDL、DML实践实验时间实验开始日期: 2013.10. 12 报告提交日期: 2013.10.16 实验目的、要求实验目的:1 认识并熟悉Oracle常用的管理工具:SQL Plus、iSQL Plus、SQL Developter和EM。2 掌握Oracle表的数据定义(DDL)语言,实现表的定义、删除与修改。3 掌握创建Oracle表各种约束的方式和方法。4 掌握利用数据字典视图查看各种有用信息的方法。5 掌握插入、

2、删除和更新表中数据的方法。6 掌握控制事务的方法。7 掌握WHERE子句中条件表达式的使用方法。8 掌握访问替换变量的方法。9 学会创建并执行一个脚本文件。10 掌握CASE 结构的使用方法。实验设计内容及实现步骤实验内容和要求1. *登录到SQL Plus、iSQL Plus、SQL Developter和EM,认识并运用这些常用的Oracle管理工具。2. DDL实践(1) Oracle表的DDL实践。设有如下关系表S_班名座号(如:s_wg100103): s_wg100103 (SNO, SNAME, SSEX, SAGE, SDEPT),主关键字是SNO。其中SNO为学号,NUMBE

3、R(5),学号不能为空,值是惟一的;SNAME为姓名,VARCHAR2(20);SSEX为性别,char(2);SAGE为年龄,NUMBER(2); SDEPT为所在系名,VARCHAR2(10)。写出实现下列功能的SQL语句。1) 创建此表并插入数据;create table s_ji3110307207( sno number(5) primary key not null, sname varchar2(20), ssex char(2), sage number(2), sdept varchar2(10)INSERT INTO S VALUES(95001,李明勇,男,20,CS);

4、INSERT INTO S VALUES(95002,刘晨,女,19,IS);INSERT INTO S VALUES(95003,王名,女,18,MA);INSERT INTO S VALUES(95004,张立,男,19,CS);INSERT INTO S VALUES(95005,张军,男,21,MA);INSERT INTO S VALUES(95006,王张凤,女,19,FL);INSERT INTO S VALUES(95011,王敬,女,18,IS);INSERT INTO S VALUES(95021,张名惠,男,19,FL);2) 查看此表的数据结构和数据;3) 根据此表再复

5、制创建一个只有IS系学生组成的新表S_IS_班名座号;create table s_is_ji3110307207as select * from s_ji3110307207where sdept=is4) 向S表添加“入学时间(comedate)”列,其数据类型为日期型(date);alter table s_ji3110307207 add comedate date5) 将年龄的数据类型改为NUMBER(3)且默认值为19,并查看这些修改后的表结构;列无数据的情况下直接修改:alter table s_ji3110307207 modify sage munber(3),default

6、(19)列有数据的情况下:新建一列alter table s_ji3110307207 add newsage number(3) default(19)旧列数据复制新列中update s_ji3110307207 set newsage=cast (sage as number(3);删除旧列alter table s_ji3110307207 drop column sage;重新命名新列alter table s_ji3110307207 rename column newsage to sage;6) 删除新添加的列,查看更改情况;alter table s_ji3110307207

7、drop column comedate7) 将表s改名为student;alter table s_ji3110307207 rename to student_31103072078) 为表s添加注释学生信息表comment on table student_3110307207 is 学生信息表读取注释:select * from user_tab_comments where comments is not null9) 截断s表;truncate table s_ji311030720710) 删除生成的新表S_IS_班名座号;truncate和delete只删除数据不删除表的结构(

8、定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程drop table s_is_ji3110307207(2) 创建约束要求按普遍采用的约定为这些约束命名,约束创建后要进行约束测试。(参见所附的表结构和数据,表名要加上班名座号)CREATE TABLE COURSE_ji3110307207( CNO NUMBER(4) , CNAME VARCHAR2(30), CPNO NUMBER(4), CCREDIT NUMBER(2), CLIMIT NUMBER(4)1) 为COURSE表添加一个主键约束;al

9、ter table course_ji3110307207 add constraint pk_cno primary key(cno)查看此表的约束:Select * from user_constraints where table_name=COURSE_JI31103072072) 创建SC表的主键约束和外键约束(一个列级和一个表级),表级的外键约束要求允许使用级联删除选项;alter table course_ji3110307207 add constraint pk_cno primary key(cno)select * from user_constraints where

10、table_name=SCalter table sc add constraint sno_cno_fk foreign key(sno,cno) references s_ji3110307207(sno) and course_ji3110307207(cno)ORA-02256: 要引用的列数必须与已引用列数匹配?3) 为S表的SSEX创建CHECK约束;alter table s_ji3110307207 add constraint ssex_chk check(ssex in(男,女)Select * from user_constraints where table_name=

11、S_JI31103072074)为S表创建一个合适的Not null和unique惟一性约束;姓名为非空:select * from USER_CONSTRAINTS where table_name = S_JI3110307207学号是唯一的: alter table s_ji3110307207 add constraint sno_unique unique(sno)建表时已经将sno设为主键了,然后就添加不进去了;ORA-02261: 表中已存在这样的唯一关键字或主键;然后查约束条件的时候又没有看到?5) 在上题基础上,删除其中一个约束,启用/禁用其中一个约束,并测试之。 Alter

12、 table s_ji3110307207 drop constraint ssex_chk alter table s_ji3110307207 disable constraint sys_c005176alter table s_ji3110307207 enable constraint sys_c005176(3) 使用数据字典视图利用任意3种数据字典视图查看数据库对象的信息,如查看表、表空间信息和约束信息等。查看用户下所有的表:select * from user_tables显示用户信息所属的表空间:select default_tablespace,temporary_tabl

13、espace from dba_users查询约束信息:Select * from user_constraints 3. DML实践(1) Oracle表的DML操作。1) 7369号雇员加薪10%。update empset sal=sal*1.1where empno=73692) *从部门表(DEPT)中删除部门30,如果删除不成功,那么写出你自己的建议,说明应该怎么做。应该把30号部门的员工信息删除,因为部门表的部门编号作为了员工表的外键3) 向EMP表中插入一个新雇员。Insert into emp values(7950,QSL,MANAGER ,7839,to_date(21-

14、08-2003,DD-MM-YYYY), 4000.00, NULL, 10)(2) 数据检索。1) *显示EMP表中月薪$2850的雇员的姓名和薪资。select ename,sal from empwhere sal28502) *显示雇员号为7566的员工的姓名和部门号。select ename,deptno from empwhere empno=75663) 显示受雇日期在20-2月-1981与1-5月-1981之间的员工的姓名、工种和受雇日期,要求以受雇日期升序排列。select ename ,job,hiredate from empwhere hiredate between 20-2月-1981 and 1-5月-1981order by hiredate4) *显示部门号为10、30的员工的姓名和部门号,要求以姓名序排列。select ename,deptno from empwhere deptno in (10,30)order by ename5) 显示EMP表中所有岗位(job)的类型。select distinct job from emp6) 显示没有上司员工的姓名和工种。select ename ,job from empwh

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号