最新文档数据库实验报告安工大周兵老师范文word版 27页Word格式.docx
《最新文档数据库实验报告安工大周兵老师范文word版 27页Word格式.docx》由会员分享,可在线阅读,更多相关《最新文档数据库实验报告安工大周兵老师范文word版 27页Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
![最新文档数据库实验报告安工大周兵老师范文word版 27页Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/11/8406fd58-bf43-4ee8-a614-701bdebf61db/8406fd58-bf43-4ee8-a614-701bdebf61db1.gif)
熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引。
[实验内容]
Oracle上机环境以及Oracle客户端的配置参见附录。
1.SQL数据定义语句:
例1-1:
(建立数据库表)建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2)字段,Sname字段为Sname(C,8)且可为空。
一、建表
1:
创建表StudentCREATETABLEStudent(SNOCHAR(5),
SNAMECHAR(10)NOTNULL,SDEPTCHAR
(2)NOTNULL,SCLASSCHAR
(2)NOTNULL,SSEXCHAR
(2),SAGENUMBER
(2),
CONSTRAINTSNO_PKPRIMARYKEY(SNO));
2:
创建表CourseCREATETABLECourse(CNOCHAR(3),
CNAMECHAR(16)UNIQUE,CTIMENUMBER(3),
CONSTRAINTCno_pkPRIMARYKEY(CNO));
3:
创建表TeachCREATETABLETeach(TNAMECHAR(8),TSEXCHAR
(2),CNOCHAR(3),TDATEDATE,TDEPTCHAR
(2),
CONSTRAINTTname_pkPRIMARYKEY(TNAME,CNO,TDEPT),
CONSTRAINTCno_fkFOREIGNKEY(CNO)REFERENCESCourse(CNO));
4:
创建表ScoreCREATETABLEScore(SNOCHAR(5),CNOCHAR(3),SCORENUMBER(5,2),
CONSTRAINTSCno_fkFOREIGNKEY(CNO)REFERENCESCourse(CNO),CONSTRAINTSSno_fkFOREIGNKEY(SNO)REFERENCESStudent(SNO));
二、插入数据1:
Student
INSERTINTOStudent(SNO,SNAME,SDEPT,SCLASS,SSEX,SAGE)VALUES('
96001'
'
马小燕'
CS'
01'
女'
21);
96002'
黎明'
男'
18);
96003'
刘东明'
MA'
96004'
赵志勇'
IS'
02'
20);
97001'
马蓉'
19);
97002'
李成功'
97003'
03'
97004'
李丽'
96005'
司马志明'
Course
INSERTINTOCourseVALUES('
001'
数学分析'
144);
INSERTINTOCourseVALUES('
002'
普通物理'
003'
微机原理'
72);
004'
数据结构'
005'
操作系统'
64);
006'
数据库原理'
007'
DB_Design'
48);
008'
程序设计'
56);
Teach
INSERTINTOTeachVALUES('
王成刚'
05-9月-1999'
);
INSERTINTOTeachVALUES('
李正科'
严敏'
赵高'
23-2月-00'
刘玉兰'
马悦'
06-9月-00'
Score
INSERTINTOScoreVALUES('
77.5);
INSERTINTOScoreVALUES('
89);
86);
82);
88);
92.5);
90);
92);
76);
69);
96);
95);
87);
91);
INSERTINTOScore(SNO,CNO)VALUES('
85);
75);
59);
58);
例1-2:
(修改数据库表)在Student表中增加SEX(C,2)字段。
ALTERTABLEStudentADDSEXCHAR
(2);
例1-3:
(修改列名)将Student表中列名SEX修改为SSEX。
ALTERTABLEStudentRENAMECOLUMNSEXTOSSEX;
例1-4:
(修改数据库表)将Student表中把Sname字段修改为Sname(C,10)且为非空。
ALTERTABLEStudentMODIFY(SnameCHAR(10)NOTNULL);
例1-5:
(建立索引)为Score表按课程号升序、分数降序建立索引,索引名为SC_GRADE。
CREATEINDEXSC_GRADEONScore(SNOASC,SCOREDESC);
例1-6:
(删除索引)删除索引SC_GRADE。
DROPINDEXSC_GRADE;
例1-7:
(建立数据库表)建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。
CREATETABLES1(SNOCHAR(5),
SNAMECHAR(10)NOTNULL,SDCHAR
(2)NOTNULL,SANUMBER
(2),
CONSTRAINTS1Sno_pkPRIMARYKEY(SNO));
例1-8:
(修改数据库表)删除成绩表Score的参照完整性约束关系。
ALTERTABLEScoreDROPCONSTRAINTSCno_fk;
ALTERTABLEScoreDROPCONSTRAINTSSno_fk;
例1-9:
(修改数据库表)添加成绩表Score的参照完整性约束关系。
ALTERTABLEScoreADDCONSTRAINTSCno_fkFOREIGNKEY(CNO)REFERENCESCourse(CNO);
ALTERTABLEScoreADDCONSTRAINTSSno_fkFOREIGNKEY(SNO)R