《数据库概论》实验报告书.doc
文本预览下载声明
《数据库系统概论》
实验报告书
班级:网141
姓名郭杰
学号指导老师周兵
安徽工业大学计算机科学与技术学院实验一:数据定义语言
[ 实验日期 ] 2016年 12 月 9 日
[ 实验目的 ]
熟悉Oracle上机环境及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引。
[ 实验内容 ]
Oracle上机环境以及Oracle客户端的配置参见附录。
1. SQL数据定义语句:
例1-1: (建立数据库表) 建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2) 字段,Sname 字段为Sname(C,8)且可为空。
(1)、CREATE TABLE S
(
SNO CHAR(5),
SNAME VARCHAR2(8) ,
SDEPT CHAR(2) NOT NULL ,
SCLASS CHAR(2) NOT NULL ,
SAGE NUMBER(2) CHECK(SAGE BETWEEN 12 AND 60),
CONSTRAINT SNO_pk PRIMARY KEY(SNO)
);
(2)、CREATE TABLE C
(
CNO CHAR(3),
CNAME VARCHAR2(16) NOT NULL,
CTIME NUMBER(3),
CONSTRAINT CNO_pk PRIMARY KEY(CNO)
);
(3)、CREATE TABLE T
(
TNAME VARCHAR(8) NOT NULL,
TSEX CHAR(2) CHECK(TSex IN (男,女)),
CNO CHAR(3),
TDATE DATE,
TDEPT CHAR(2),
CONSTRAINT T_pk PRIMARY KEY(TNAME,CNO,TDEPT),
CONSTRAINT CNO_fk FOREIGN KEY(CNO) REFERENCES C(CNO)
);
(4)、CREATE TABLE SC
(
SNO CHAR(5),
CNO CHAR(3),
SCORE NUMBER(5,2),
CONSTRAINT SC_pk PRIMARY KEY(SNO,CNO),
CONSTRAINT SNO_fk FOREIGN KEY(SNO) REFERENCES S(SNO),
CONSTRAINT CNO2_fk FOREIGN KEY(CNO) REFERENCES C(CNO),
CONSTRAINT Ck1 CHECK(SCORE=0 and SCORE=100)
);
结果截图:
例1-2: (修改数据库表) 在Student表中增加SEX(C,2) 字段。
ALTER TABLE S ADD SEX CHAR(2) CHECK(SEX IN(‘男’,’女’));
例1-3: (修改列名) 将Student表中列名SEX修改为SSEX。
ALTER TABLE S RENAME COLUMN SEX TO SSEX;
例1-4: (修改数据库表) 将Student表中把Sname 字段修改为Sname(C,10)且为非空。
ALTER TABLE S MODIFY(SNAME CHAR(10) NOT NULL);
例1-5: (建立索引) 为Score表按课程号升序、分数降序建立索引,索引名为SC_GRADE。
CREATE UNIQUE INDEX SC_GRADE ON SC (CNO ASC,SCORE DESC);
例1-6: (删除索引) 删除索引SC_GRADE。
DROP INDEX SC_GRADE;
例1-7: (建立数据库表) 建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。
CREATE TABLE S1
(
SNO CHAR(5),
SNAME CHAR(10) ,
SD CHAR(2) NOT NULL ,
SA NUMBER(2) CHECK(SA BETWEEN 12 AND 60),
CONSTRAINT SNO1_pk PRIMARY KEY(SNO)
);
例1-8: (修改数据库表) 删除成绩表Score的参照完整性约束关系。
ALTER TABLE SC DROP CONSTRAINT SC_pk;
ALTER TABLE SC DROP CONSTRAINT SNO_fk;
ALTER TABLE SC DROP CONSTRAINT CNO2_fk;
显示全部