《大型数据库系统》课程实验指导书修订_第1页
《大型数据库系统》课程实验指导书修订_第2页
《大型数据库系统》课程实验指导书修订_第3页
《大型数据库系统》课程实验指导书修订_第4页
《大型数据库系统》课程实验指导书修订_第5页
全文预览已结束

下载本文档

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

文档简介

《大型数据库系统》课程实验指导书修订《大型数据库系统》课程试验指导书修订刘忠民刘晓瑢

试验一DDL语句及DML语句操作

一、试验目的

●了解Oracle系统的组织结构和操作环境

●熟识Oracle系统环境

●把握创建、修改、删除表的不同方法

二、试验环境

一台计算机,安装了WINDOWS2000SERVER和Oracle9i。Oracle帐户(system/manager,sys/change_on_install,scott/tiger)

三、预备学问

表是组织数据的基本数据结构,又叫基本表或基表。每张表都有一个名字,称为表名或关系名。一张表可以由若干列组成,列名唯一,又称为属性名。表中的一行称为一个元组或一条记录。同一列的数据必需具有相同的数据类型。表中的每一列值必需是不行分割的基本数据项。

SQL语言是一种综合的、通用的、功能极强的关系数据库语言,SQL语言包括三种类型的语句:DDL(数据定义语言)、DML(数据操纵语言)和DCL(数据掌握语言)。其中DDL用来定义数据库中的对象(表、视图等),DML用来对数据库中的数据进行增删改及查询操作。

与表有关的DDL语句有建表、修改表、删除表。

建表语句CREATETABLE

?基本语法如下

CREATETABLE表名

(列名1数据类型,

列名1数据类型,

......

)

如:

CREATETABLEstudent

(snoNUMBER(6),

snameCHAR(6)DEFAULT‘无名氏’,

sexCHAR(2),

birthdayDATEDEFAULTSYSDATE,

dnoCHAR(3));

可以用DEFAULT方式给出列的默认值。

定义表的完整性约束是一项特别重要的工作,在定义表时一般都需要为表定义适当的约束,在Oracle中包括主码完整性约束(PRIMARYKEY)、唯一完整性约束(UNIQUE)、非空完整性约束(NOTNULL)、基于属性值的完整性约束(CHECK)、引用完整性约束或外键约束(REFERENCES)

五种约束。

?主码完整性约束(PRIMARYKEY)

–一个表有且只能有一个主码

–约束可以保证主码的值在表中唯一且非空

–有些关系的主码由一个以上的属性组成

如:表sc(sno,cno,grade)

定义这种主码必需采纳表约束定义形式

CREATETABLEsc

(snoNUMBER(6),

cnoCHAR(3),

gradeNUMBER(3),

CONSTRAINTsc1PRIMARYKEY(sno,cno)

);

?唯一完整性约束(UNIQUE)

CREATETABLEdep

(dnoCHAR(3)CONSTRAINTd1PRIMARYKEY,

dnameCHAR(10)CONSTRAINTd2UNIQUE,

telCHAR(4)CONSTRAINTd3UNIQUE

);

?在某些时候,需要定义属性组唯一性约束

UNIQUE(属性1,属性2)

?非空完整性约束(NOTNULL)

?基于属性值的完整性约束(CHECK)

AgeNUMBER(2)CONSTRAINTe1CHECK(ageBETWEEN18AND60),

利用表约束定义形式,可以定义涉及几个属性值的CHECK约束

CONSTRAINTE1CHECK(

sex=‘男’ANDageBETWEEN18AND60OR

sex=‘女’ANDageBETWEEN18AND55)

引用完整性约束(REFERENCES)

完整性约束并非都针对一个表,考察这两个表

Student(sno,sname,sex,birthday,dno)

Dep(dno,dname,tel)

?两个表中的dno属性存在联系,同学表中的dno字段的取值应当是系表中dno字段已经有的值,

这中约束关系就是引用完整性约束或外键约束,约束定义中所引用的另一关系表的属性必需是主键或定义了唯一性约束的次键。

CREATETABLEstudent

(snoNUMBER(6)CONSTRAINTs1PRIMARYKEY,

snameCHAR(6)CONSTRAINTs2NOTNULL,

sexCHAR(2),

birthdayDATE,

dnoCHAR(3)CONSTRAINTs4REFERENCESdep(dno));

当删除一个被引用值的纪录时,系统会报错。但在引用完整性约束定义子句中,有一个“ONDELETECASCADE”选项,使用的结果会导致连带删除。如可以这样定义:

dnoCHAR(3)CONSTRAINTs4REFERENCESdep(dno)ONDELETECASCADE

四、试验内容

1.查看数据库的系统文件。

2.熟识Oracle系统环境

3.用OEM及SQL语句两种方式创建以下表

◆Student(sno,sname,sex,sage,sdept):同学表

sno是主码,ssex要有CHECK约束

◆Course(cno,cname,cpno,credit):课程表

其中,cno是主码,cpno参照本表的cno

◆Sc(sno,cno,grade):选课表

主码为(sno,cno),sno和cno都要有外键约束,

4.修改表定义

向student表中增加sentrance“入学时间”列

4.插入记录

给每个表中插入正确的两三条记录,另外插入一些错误的记录验证各表的完整性约束

5.修改数据

针对某个表做不带条件的修改、带条件的修改语句各一条

6.删除记录

针对某个表做条件删除和删除全部记录

试验二查询语句运用

一、试验目的

娴熟把握查询语句的用法。

二、试验环境

一台计算机,安装了WINDOWS2000SERVER和Oracle9i。Oracle帐户(system/123,sys/123,scott/tiger)

三、预备学问

查询语句是数据库操作中使用最多的语句,SQL语言的查询语句能完成对数据库的简单查询操作,查询语句的语法结构比较简单,如下图:

1、基本查询

?它由三个基本子句构成:

–SELECT子句指定查询哪些属性

–FROM子句指定查询涉及到的全部表或视图

–WHERE子句列出全部的条件

?查询的结果集可以看作是一个关系(结果关系)

?SELECT*

FROMstudent

WHEREsex=‘男’ANDdno=‘d01’;

2、SELECT子句——实现表的投影操作

?SELECTsno,sname,dnoFROMstudentWHEREsex=‘男’;

snosnamedno

-----------------------

980001张独立d01

980033李春生d02

……

?查询的结果仍旧是一个表的形式

每一列的标题可以在SELECT子句中指定

SELECT列名1标题1,列名2标题2……

SELECTsno学号,sname姓名,dno系

FROMstudent

WHEREsex=‘男’;

输出:

学号姓名系

-----------------------

980001张独立d01

980033李春生d14

……

?在SELECT子句后的查询输出列表项可以是表达式。不但可以消失列名,还可以消失常量、函数

以及四则运算等。

SELECTename员工名,sal*12年薪FROMemp;

SELECTename员工名,sal*12年薪,‘元’RMBFROMemp;

员工名年薪RMB

-----------------------------

许再兴96000元

…………

SELECTsname姓名,CEIL((SYSDATE-birthday)/365)年龄FROMstudent;

3WHERE子句——查询语句中的选择操作

?WHERE子句后跟条件表达式,参加运算的值可以是常量、系统函数及FROM子句中所声明的表中的列名

?SELECTsname,birthdayFROMstudentWHEREsex=‘女’ANDbirthdayBETWEEN’01-1月

-79‘AND’31-12月-80‘;

?SELECT*FROMstudentWHEREbirthday60ando=o

groupbysno;

假如查询学分不到20的同学,如何查询?Selectsno,sum(credit)

fromsc,course

wheregrade>60ando=o

groupbysnohavingsum(credit)<20;

10、子查询

?消失在查询语句或其它语句中的查询称为子查询?子查询引入可以使查询的解决更简单更清楚

例如:查询物理系同学名单

selectsna

温馨提示

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

最新文档

评论

0/150

提交评论