Oracle的DDL实践实验报告

合集下载

oracle数据库实验报告

oracle数据库实验报告

oracle数据库实验报告《Oracle数据库实验报告》在当今信息化时代,数据库管理系统扮演着至关重要的角色。

Oracle数据库作为全球领先的企业级数据库管理系统,在各行各业都有着广泛的应用。

本次实验旨在通过对Oracle数据库的实验操作,深入了解其基本功能和特点,并探讨其在实际应用中的优势和局限性。

实验一:数据库的创建与连接在实验中,我们首先学习了如何使用SQL命令创建一个新的数据库,并通过用户名和密码连接到该数据库。

通过这一步骤,我们了解了Oracle数据库的基本操作流程,包括数据库的创建、用户的授权和连接等。

实验二:数据表的创建与管理在本次实验中,我们学习了如何使用SQL命令创建数据表,并进行数据的插入、查询、更新和删除操作。

通过这些操作,我们深入了解了Oracle数据库的数据管理功能,包括数据表的设计和维护等。

实验三:索引的创建与优化索引是数据库中非常重要的组成部分,能够提高数据的检索效率。

在本次实验中,我们学习了如何使用SQL命令创建索引,并通过优化查询语句来提高数据库的性能。

这些操作让我们更加深入地了解了Oracle数据库的优化功能,以及如何通过索引来提高数据库的性能。

实验四:备份与恢复数据库的备份与恢复是数据库管理中至关重要的一环。

在本次实验中,我们学习了如何使用Oracle数据库提供的工具进行数据库的备份和恢复操作。

这些操作让我们了解了数据库的灾难恢复功能,以及如何保障数据的安全性。

通过本次实验,我们深入了解了Oracle数据库的基本操作和功能,包括数据库的创建与连接、数据表的管理、索引的优化以及备份与恢复等。

同时,我们也发现了Oracle数据库在实际应用中的优势,如稳定性、安全性和性能优化等方面。

然而,我们也意识到Oracle数据库在一些特定场景下存在一定的局限性,如高昂的成本、复杂的配置和维护等。

总的来说,本次实验让我们更加深入地了解了Oracle数据库的特点和功能,对我们今后的数据库管理工作有着重要的指导意义。

oracle实习报告

oracle实习报告

实验四数据更新与视图一、实验目的1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。

二、实验内容及其对应的SQL语句1.在实验二创建的表中使用SQL语句完成以下操作:(1)现有一供应商,代码为S9、姓名为英特尔、所在城市西安,供应情况如下:供应零件P5给工程J7数量为600,供应零件P4给工程J4数量为500,请将此供应商的信息和供应信息插入数据库。

insertinto s(sno,sname,city)values('s9','英特尔','西安');insertinto spj(sno,pno,jno,qty)values('s9','p5','j7',600);insertinto spj(sno,pno,jno,qty)values('s9','p4','j4',500);commit;(2)请将北京供应商的供应数量加20update spjset qty=qty+20where sno in(select snofrom swhere city='北京');commit;(3)零件P3已经停产,请将P3的相关信息从数据库中删除。

deletefrom spjwhere pno='p3';deletefrom pwhere pno='p3';commit;(4)创建零件名为螺丝刀的供应情况的视图P_ls,包括供应商名(Sname),零件名(Pname),零件重量(Weight),工程项目代码(Jno),供应数量(QTY). create view P_1sasselect sname,pname,weight,jno,qtyfrom s,p,spjwhere pname='螺丝刀';(5)在视图P_ls中查询供应数量为500的供应商姓名。

《Oracle数据库》实验报告参考模板

《Oracle数据库》实验报告参考模板

河南财经政法大学计算机与信息工程学院
2011年---2012年第一学期
专业:信息管理与信息系统
课程名称:Oracle数据库
班级:
姓名:学号:
指导教师:张巧荣
实验一创建数据库和表
实验二表数据的插入、修改和删除
实验三数据库的查询
实验四数据库的视图
实验五索引和完整性
实验六用户、角色管理
实验七备份和恢复
实验八PL/SQL编程
实验九存储过程和触发器的使用
友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。

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

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

福建工程学院信息科学与工程学院实验报告2013 –2014 学年第 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 V ALUES(95001,'李明勇','男',20,'CS');INSERT INTO S V ALUES(95002,'刘晨','女',19,'IS');INSERT INTO S V ALUES(95003,'王名','女',18,'MA');INSERT INTO S V ALUES(95004,'张立','男',19,'CS');INSERT INTO S V ALUES(95005,'张军','男',21,'MA');INSERT INTO S V ALUES(95006,'王张凤','女',19,'FL');INSERT INTO S V ALUES(95011,'王敬','女',18,'IS');INSERT INTO S V ALUES(95021,'张名惠','男',19,'FL');2)查看此表的数据结构和数据;3)根据此表再复制创建一个只有’IS’系学生组成的新表S_IS_班名座号; create table s_is_ji3110307207as select*from s_ji3110307207where sdept='is'4)向S表添加“入学时间(comedate)”列,其数据类型为日期型(date);alter table s_ji3110307207 add comedate date5)将年龄的数据类型改为NUMBER(3)且默认值为19,并查看这些修改后的表结构; 列无数据的情况下直接修改:alter table s_ji3110307207 modify sage munber(3),default(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 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只删除数据不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程drop table s_is_ji3110307207(2) 创建约束要求按普遍采用的约定为这些约束命名,约束创建后要进行约束测试。

Oracle实训报告

Oracle实训报告

ORACLE数据库开发实践报告要求1.实践名称:Oracle数据库开发2.实践题目:(1)Oracle数据库的操作(2)小型数据库系统的设计与开发3.实践目的:初步掌握Oracle关系数据库语言;掌握 Oracle的操作与使用;数据库的建立与管理、数据表的建立与操作等;PL/SQL语言的使用与编程。

4.实践内容与结果:4.1 Oracle数据库的操作4.1.1实践操作11、熟悉Oracle运行环境,理解存储管理器、方案管理器和安全管理器的作用及操作过程。

要求:(1).登录到存储管理器中,查看表空间和回滚段中的情况。

(2).登录到方案管理器中,查看SYS方案下的ACCESS$表。

(3).在SQL Plus环境下,键入下面内容,执行并观察结果。

•SQL>SET SERVEROUTPUT ON;•SQL>DECLARE• 2 n1 NUMBER:=18;• 3 n2 NUMBER:=6;• 4 BEGIN• 5 IF n2<=10 THEN• 6 n1:=n1+n2;•7 DBMs_Output.Put_Line(To_Char(n1));•8 END IF;•9 END;•10 /•4.1.2实践操作21、建立数据库(熟悉DBCA工具的使用)2、利用OEM创建新用户SOL语句:CREATE USER "MENG072" PROFILE "DEFAULT"IDENTIFIED BY "m" DEFAULT TABLESPACE "USERS"ACCOUNT UNLOCK;GRANT UNLIMITED TABLESPACE TO "MENG072" GRANT "CONNECT" TO "MENG072";GRANT "DBA" TO "MENG072";3、利用OEM创建Departments表(1)设置一般信息(2)设置约束条件SQL语句:CREATE TABLE "MENG072"."DEPARTMENTS" ("DEPARTMENTID" CHAR(3) NOTNULL, "DEPARTMENGTNAME" CHAR(20) NOT NULL, "NOTE"V ARCHAR2(100) NOT NULL, PRIMARY KEY("DEPARTMENTID")) 4、创建Employees表SOL语句:CREATE TABLE "MENG072"."EMPLOYEES" ("EMPLOYEEID" CHAR(6) NOT NULL, "NAME" CHAR(10) NOT NULL, "BIRTHDAY" DATE NOT NULL, "SEX"NUMBER(1) NOT NULL, "ADDRESS" CHAR(20) NOT NULL, "ZIP"CHAR(6) NOT NULL, "PHONENUMBER" CHAR(12) NOT NULL, "DEPARTMENTID"CHAR(3) NOT NULL, PRIMARY KEY("EMPLOYEEID"))5、创建Salary表SOL语句:CREATE TABLE "MENG072"."SALARY" ("EMPLOYEEID" CHAR(6) NOT NULL, "INCOME"NUMBER(8, 2) NOT NULL, "OUTCOME" NUMBER(8, 2) NOT NULL,PRIMARY KEY("EMPLOYEEID"))6、用PL/SQL语句创建表Departments、表Employees、表Salary:4.1.3实践操作31、用OEM向表Employ、表Departments、表Salary中各插入记录:(1)表Departments插入记录SOL语句:INSERT INTO "DEPARTMENTS" V ALUES ('1' ,'财务部' ,'1' ); INSERT INTO "DEPARTMENTS" V ALUES ('2' ,'人力资源部' ,'2' ); INSERT INTO "DEPARTMENTS" V ALUES ('3' ,'经理办公室' ,'3' ); INSERT INTO "DEPARTMENTS" V ALUES ('4' ,'研发部' ,'4' ); INSERT INTO "DEPARTMENTS" V ALUES ('5' ,'市场部' ,'5' ); (2)表Employ插入记录SOL语句:INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('000001' ,'王林' ,TO_DA TE('23-1月-1966', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'中山路32-1-508' ,'210003' ,'83355668' ,'2' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('010008' ,'伍荣华' ,TO_DA TE('28-3月-1976', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'北京东路100-2' ,'210001' ,'83321321' ,'4' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('020010' ,'王向荣' ,TO_DATE('09-12月-1982', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'四牌楼10-0-108' ,'210006' ,'83792361' ,'1' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('020018' ,'李莉' ,TO_DA TE('30-7月-1976', 'dd-Mon-yyyy HH:MI:SS AM') ,0 ,'中山东路102-2' ,'210002' ,'83413301' ,'1' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('102201' ,'刘明' ,TO_DA TE('02-9月-1965', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'虎踞路100-2' ,'210013' ,'83606608' ,'5' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('102208' ,'朱俊' ,TO_DA TE('10-8月-1979', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'牌楼巷5-3-106' ,'210004' ,'84708817' ,'5' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('108991' ,'忠民' ,TO_DA TE('01-10月-1974', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'中山路10-3-105' ,'210003' ,'83346722' ,'3' )(3)表Salary中插入记录SOL语句:INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('000001' ,2100.8 ,123.09 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('010008' ,1582.62 ,88.03 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('102201' ,2569.88 ,185.65 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('108991' ,3259.98 ,281.52 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('020010' ,2860.0 ,198.0 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('020018' ,2347.68 ,180.0 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('102208' ,1980.0 ,100.0 )2、用PL/SOL语句向表Employ、表Departments、表Salary中插入记录:4.1.4实践操作41、建立索引:2、实现域完整性:注:该同学此题完成有误,下面给出另一同学的正确解答为数据库中的employees表的phonenumber列建立check约束:3、实现实体完整性:(1)为表Departments设置主键DepartmentID:(2)为表Departments的DepartmentName建立唯一性索引:4实现参照完整性:4.1.5实践操作51、SELECT语句的基本使用:(1)查询每个雇员的所有数据:(2)查询每个雇员的地址和电话:(3)查询EmployeeID为000000的雇员的地址和电话:(4)查询Employees表中女雇员的地址和电话;(5)计算每个雇员的实际收入:(6)找出所有姓王的雇员的部门号:(7)找出所有收入在2000~5000元之间的雇员号码:2 子查询的使用(1)查找在财务部工作的雇员的情况:(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名:(3)查找比所有财务部的雇员收入都高的雇员的姓名:3.连接查询的使用(1)查询每个雇员的情况及其薪水的情况:(2)查找财务部收入在2200元以上的雇员姓名及其薪水情况:4.数据汇总(1)求财务部雇员的平均水平:(2)求财务部雇员的平均实际收入:(3)求财务部雇员的总人数:5.GROUP BY、ORDER BY 子句的使用(1)求各部门的雇员数:(2)将各雇员的情况按收入由低到高排列:6.视图(1)创建视图——限制查看雇员的某些情况:各部门经理只能查找本部门雇员的薪水情况:(2)使用视图查询财务部雇员的信息:查询财务部雇员薪水情况:向表EMPLOYEES中插入一条记录:从经理办公室转到市场部:从表EMPLOYEES中删除:4.1.6实践操作61.条件结构的使用例5.52.循环结构的使用例5.92.选择和跳转语句例5.134.自定义函数的使用例5.27例5.284.1.7实践操作71.创建触发器(1)修改DEPARTMENTS表中的DEPARTMENTID字段值(2)删除DEPARTMENTS表中一条记录的同时删除该记录DEPARTMENTID字段在EMPLOYEES表中对应的记录2.创建存储过程(1)添加职员记录的存储过程:(2)修改职员记录的存储过程;(3)删除职员记录的存储过程:3.调用存储过程4.1.8实践操作8 1.创建用户2.创建角色3.创建概要文件5.实践小结:在实训之前,我对Oracle一无所知,后来经过老师课上耐心细致的讲解,我对Oracle 渐渐有了较为清晰的认识。

实验1 认识Oracle管理工具和DDL实践

实验1 认识Oracle管理工具和DDL实践

《数据库开发技术》课程之实验一认识Oracle常用管理工具和DDL、DML实践一、实验目的1.认识并熟悉Oracle常用的管理工具:SQL Plus、i SQL Plus、SQL Developter和EM。

2.掌握Oracle表的数据定义(DDL)语言,实现表的定义、删除与修改。

3.掌握创建Oracle表各种约束的方式和方法。

4.掌握利用数据字典视图查看各种有用信息的方法。

5.掌握插入、删除和更新表中数据的方法。

6.掌握控制事务的方法。

7.掌握WHERE子句中条件表达式的使用方法。

8.掌握访问替换变量的方法。

9.学会创建并执行一个脚本文件。

10.掌握CASE 结构的使用方法。

二、实验内容和要求1. 登录到SQL Plus、i SQL Plus、SQL Developter和EM,认识并运用这些常用的Oracle管理工具。

2. DDL实践(1)O racle表的DDL实践。

设有如下关系表S_班名座号(如:s_wg100103):s_wg100103 (SNO, SNAME, SSEX, SAGE, SDEPT),主关键字是SNO。

其中SNO为学号,NUMBER(5),学号不能为空,值是惟一的;SNAME为姓名,V ARCHAR2(20);SSEX为性别,char(2);SAGE为年龄,NUMBER(2);SDEPT为所在系名,V ARCHAR2(10)。

写出实现下列功能的SQL语句。

1)创建此表并插入数据;INSERT INTO S V ALUES(95001,'李明勇','男',20,'CS');INSERT INTO S V ALUES(95002,'刘晨','女',19,'IS');INSERT INTO S V ALUES(95003,'王名','女',18,'MA');INSERT INTO S V ALUES(95004,'张立','男',19,'CS');INSERT INTO S V ALUES(95005,'张军','男',21,'MA');INSERT INTO S V ALUES(95006,'王张凤','女',19,'FL');INSERT INTO S V ALUES(95011,'王敬','女',18,'IS');INSERT INTO S V ALUES(95021,'张名惠','男',19,'FL');2)查看此表的数据结构和数据;3)根据此表再复制创建一个只有’IS’系学生组成的新表S_IS_班名座号;4)向S表添加“入学时间(comedate)”列,其数据类型为日期型(date);5)将年龄的数据类型改为NUMBER(3)且默认值为’19’,并查看这些修改后的表结构;6)删除新添加的列,查看更改情况;7)将表s改名为student;8)为表s添加注释'学生信息表'9)截断s表;10)删除生成的新表S_IS_班名座号;(2) 创建约束要求按普遍采用的约定为这些约束命名,约束创建后要进行约束测试。

oracle数据库实训总结

oracle数据库实训总结

oracle数据库实训总结
个人总结
本次实训为期两个星期,时间充裕,也给予了我足够的学习和实践的时间。

在这次实训里,我了解到了数据库设计的过程和任务,对之前所学的oracle知识也起了很好的复习和巩固作用。

我们小组的选择的实训项目是《电子商城系统》,在做产品需求的时候,因为对商城系统的了解不够充分,我们在产品的功能性需求分类处的一些细节做了多次改进,通过参考网上的需求分析文档以及老师的指导,总算是顺利完成。

我负责的是购物板块,幸亏我多年的网购经验,对购物流程有着深刻的理解,并积极参考小米和华为等网上商城的网站,最后也是顺利完成。

接下来是第二个重头戏——数据库设计。

首先,我们的数据库原型设计使用的软件是PowerDesigner,使用也还算简单吧。

数据库的实体我们进行了深入的讨论,最后也做了多次修改,主要原因还是因为我们对电子商城的了解以及对于数据库实体之间的掌握还不够。

在老师的指导下也算是顺利完成了。

接下来也很顺利的完成了《数据库设计说明书》等的文档编写。

实训进入尾声,学习了半个学期的oracle知识总算的到了应用,并且通过实训,我也了解到了数据库开发的过程,感觉还是不错滴。

ORACLE实验报告完结版

ORACLE实验报告完结版

实验报告(三)院系:信息学院课程名称:日期:班级姓名专业信息管理与信息系统学号实验室实验名称Oracle的存储管理与分析(1)成绩评定教师签名实验目的索引实验内容一、请写三个表明oracle读取数据所用的三种方式的SQL语句,并列出它们的执行计划二、以emp为原型,创建一个test表,在test的empno列上创建索引三、分析索引,通过index_stats查看的索引高度,结构等信息四、往test表中删除,插入,更新3-5条记录,再分析索引,查看三所列的索引结构的信息五、往test表中插入600条记录,查看索引结构六、删除500条记录,查看索引结构七、对索引进行合并,查看索引变化八、重构索引,查看索引变化一、请写三个表明oracle读取数据所用的三种方式的SQL语句,并列出它们的执行计划1.全表扫描(full table scan--fts)并行查询可能会使得我们的路径选择采用全表扫描2.通过行ID(ROWID)向表中插入对象时隐含会创建改行ROWID,它是数据行所存储的数据块地址,这样可以以最快的速度找到该行数据,是oracle中读取单行数据最快的方法。

3.使用索引(1)使用索引找到相应ROWID(2)通过找到的ROWID从表中读取相应的数据二、以emp为原型,创建一个test表,在test的empno列上创建索引三、分析索引,通过index_stats查看的索引高度,结构等信息四、往test表中删除,插入,更新3-5条记录,再分析索引,查看三所列的索引结构的信息五、往test表中插入600条记录,查看索引结构这样依次插入到表test中600条记录,再查看索引结构有如下变化:六、删除500条记录,查看索引结构;按照这样删除的方法把插入的600记录删除500条后在查看索引结构:七、对索引进行合并,查看索引变化;八、重构索引,查看索引变化;实验报告(三)院系:信息学院课程名称:日期:班级姓名专业信息管理与信息系统学号实验室实验名称oracle存储管理与优化(2)成绩评定教师签名实验目的日志管理实验内容1查看日志组和日志文件的相关信息(v$log,v$logfile)了解日志组状态真正涵义;2切换日志组,跟踪日志切换的时间频率;3往数据里增加两个日志组,再删除其中的一个,结合日志组的状态,分析哪些类型的日志组不能删除4.往日志组里增加日志成员,再删除添加的日志成员,分析哪些类型的日志文件不能删除;5日志文件的恢复:1.nactive日志损坏清洗日志2.active日志损坏,只要数据库是一致性关闭,与1的恢复一样3.current日志损坏不完全恢复1查看日志组和日志文件的相关信息(v$log,v$logfile)了解日志组状态真正涵义;v$log记录了当前数据库的日志组号、日志序列号、每个日志文件的大小、以字节为单位、每个日志组的成员数量,以及日志组的当前状态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
INSERT INTO STUDENT VALUES(95004,'张立','男',19,'CS');
INSERT INTO STUDENT VALUES(95005,'张军','男',21,'MA');
INSERT INTO STUDENT VALUES(95006,'王张凤','女',19,'FL');
3.掌握Oracle表的数据定义(DDL)语言,实现表的定义、删除与修改。
4.掌握创建Oracle表各种约束的方式和方法。
5.掌握利用数据字典视图查看各种有用信息的方法。
1、用Oracle的默认用户登录到SQL Plus,并运用该工具。
2、常用的SQL*Plus命令。
实验设计内容
(1)Oracle表的DDL实践。
INSERT INTO STUDENT VALUES(95011,'王敬','女',18,'IS');
INSERT INTO STUDENT VALUES(95021,'张名惠','男',19,'FL');
创建表:
然后插入上面的数据,结果:(截图部分)
2)查看此表的数据结构和数据;
3)向S表添加“入学时间(comedate)”列,其数据类型为日期型(date);
添加入学时间后查询表结构:
4)将年龄的数据类型改为NUMBER(3)且默认值为’19’,并查看这些修改后的表结构;
5)截断student表;
6)删除生成的表S;
(2)创建约束,要求按普遍采用的约定为这些约束命名,约束创建后要进行约束测试。(参见所附的表结构和数据)
1)为COURSE表添加一个主键约束;
1)创建此表、插入以下数据并提交数据;
INSERT INTO STUDENT VALUES(95001,'李明勇','男',20,'CS');
INSERT INTO STUDENT VALUES(95002,'刘晨','女',19,'IS');
INSERT INTO STUDENT VALUES(95003,'王名','女',18,'MA');
计算机与信息科学系
实验报告
2012–2013学年第1学期任课老师:
课程名称
数据库开发技术
班级
计算机
座号
姓名
实验题目
Oracle常用管理工具和DDL实践
实验时间
实验日期:2012-4-6
提交日期:2012-4-6
实验目的、要求
1.认识并熟悉Oracle常用的管理工具:SQL Plus。
2.熟悉常用的SQL*Plus命令。
(3)使用数据字典视图
利用数据字典视图查看数据库对象的信息,如查看表、表空间信息和约束信息等。
SELECT * FROM S;
DESCRIBE S;
实验结果记录以及与预期结果比较以及分析
1、设置年龄字段的缺省值,由于sql语句格式不熟,出现如下错误:
结合字段类型修改的正确语句:
2、设置外键时,如有多个外键要设置,外键名需不同,否则出现如下错误:
正确:3、性别的约束条件设置出错源自出现中文符号和格式错误:正确:
总结以及心得体会
以前学过SQL Server数据库,对一些基本的数据定义语言、数据查询语言、数据操纵语言有所了解。这些结构化查询语言的书写格式有些是一样的,所以,通过这次实验回忆起了以前学的知识。
教师评阅意见
教师:年月日
填写内容时,可把表格扩大。实验的源程序代码(要有注释)附在表后。
设有如下关系表S:
S(SNO, SNAME, SSEX, SAGE, SDEPT),主关键字是SNO。
其中SNO为学号,NUMBER(5),学号不能为空,值是惟一的;SNAME为姓名,VARCHAR2(20);SSEX为性别,char(2);SAGE为年龄,NUMBER(2);SDEPT为所在系名,VARCHAR2(10)。写出实现下列功能的SQL语句。
2)创建SC表的主键约束和外键约束(一个列级和一个表级);
3)为S表的SSEX创建CHECK约束;
4)为S表创建一个合适的Not null和unique惟一性约束;
ALTER TABLE S ADD CONSTRAINT UNI_NAME UNIQUE(SNAME);
ALTER TABLE S MODIFY SNAME NOT NULL;
相关文档
最新文档