《大型數据库系统》课程实验指导书200802修订(new).docVIP

  • 7
  • 0
  • 约2万字
  • 约 25页
  • 2016-12-07 发布于重庆
  • 举报

《大型數据库系统》课程实验指导书200802修订(new).doc

《大型數据库系统》课程实验指导书200802修订(new)

《大型数据库系统》课程实验指导书 修订 刘忠民 刘晓瑢 实验一 DDL语句及DML语句操作 一、实验目的 了解Oracle系统的组织结构和操作环境 熟悉Oracle系统环境 掌握创建、修改、删除表的不同方法 二、实验环境 一台计算机,安装了WINDOWS 2000 SERVER和Oracle 9i。Oracle帐户(system/manager, sys/change_on_install, scott/tiger) 三、预备知识 表是组织数据的基本数据结构,又叫基本表或基表。每张表都有一个名字,称为表名或关系名。一张表可以由若干列组成,列名唯一,又称为属性名。表中的一行称为一个元组或一条记录。同一列的数据必须具有相同的数据类型。表中的每一列值必须是不可分割的基本数据项。 SQL语言是一种综合的、通用的、功能极强的关系数据库语言,SQL语言包括三种类型的语句:DDL(数据定义语言)、DML(数据操纵语言)和DCL(数据控制语言)。其中DDL用来定义数据库中的对象(表、视图等),DML用来对数据库中的数据进行增删改及查询操作。 与表有关的DDL语句有建表、修改表、删除表。 建表语句CREATE TABLE 基本语法如下 CREATE TABLE 表名 (列名1 数据类型 [列完整性约束], 列名1 数据类型 [列完整性约束], ...... [表完整性约束]) [存储子句] ; 如: CREATE TABLE student (sno NUMBER(6), sname CHAR(6) DEFAULT ‘无名氏’, sex CHAR(2), birthday DATE DEFAULT SYSDATE, dno CHAR(3)); 可以用DEFAULT方式给出列的默认值。 定义表的完整性约束是一项非常重要的工作,在定义表时一般都需要为表定义适当的约束,在Oracle中包括主码完整性约束(PRIMARY KEY)、唯一完整性约束(UNIQUE)、非空完整性约束(NOT NULL)、基于属性值的完整性约束(CHECK)、引用完整性约束或外键约束(REFERENCES)五种约束。 主码完整性约束(PRIMARY KEY) 一个表有且只能有一个主码 约束可以保证主码的值在表中唯一且非空 有些关系的主码由一个以上的属性组成 如:表sc(sno,cno,grade) 定义这种主码必须采用表约束定义形式 CREATE TABLE sc (sno NUMBER(6), cno CHAR(3), grade NUMBER(3), CONSTRAINT sc1 PRIMARY KEY(sno,cno) ); 唯一完整性约束(UNIQUE) CREATE TABLE dep (dno CHAR(3) CONSTRAINT d1 PRIMARY KEY, dname CHAR(10) CONSTRAINT d2 UNIQUE, tel CHAR(4) CONSTRAINT d3 UNIQUE ); 在某些时候,需要定义属性组唯一性约束 UNIQUE(属性1,属性2) 非空完整性约束(NOT NULL) 基于属性值的完整性约束(CHECK) Age NUMBER(2) CONSTRAINT e1 CHECK(age BETWEEN 18 AND 60), 利用表约束定义形式,可以定义涉及几个属性值的CHECK约束 CONSTRAINT E1 CHECK( sex=‘男’ AND age BETWEEN 18 AND 60 OR sex=‘女’ AND age BETWEEN 18 AND 55) 引用完整性约束(REFERENCES) 完整性约束并非都针对一个表,考察这两个表 Student(sno,sname,sex,birthday,dno) Dep(dno,dname,tel) 两个表中的dno属性存在联系,学生表中的dno字段的取值应该是系表中dno字段已经有的值,这中约束关系就是引用完整性约束或外键约束,约束定义中所引用的另一关系表的属性必须是主键或定义了唯一性约束的次键。 CREATE TABLE student (sno NUMBER(6) CONSTRAINT s1 PRIMARY KEY, sname CHAR(6) CONSTRAINT s2 NOT NU

文档评论(0)

1亿VIP精品文档

相关文档