《数据库概论》实验报告Word文档格式.docx
- 文档编号:20758612
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:41
- 大小:33.85KB
《数据库概论》实验报告Word文档格式.docx
《《数据库概论》实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《《数据库概论》实验报告Word文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
CREATETABLETEACH
(TNAMEVARCHAR2(8),
TSEXCHAR
(2)CHECK(TSEXIN('
男'
'
女'
)),
CNOCHAR(3)NOTNULL,
TDATEDATENOTNULL,
TDEPTCHAR
(2)NOTNULL,
CONSTRAINTPK_TPRIMARYKEY(TNAME,CNO,TDEPT),
CONSTRAINTFK_T_CFOREIGNKEY(CNO)REFERENCESCOURSE(CNO)
);
成绩表:
CREATETABLESCORE
(SNOCHAR(5),
CNOCHAR(3),
SCORENUMBER(5,2),
CONSTRAINTPK_SCPRIMARYKEY(SNO,CNO),
CONSTRAINTFK_SC_SFOREIGNKEY(SNO)
REFERENCESSTUDENT(SNO)ONDELETECASCADE,
CONSTRAINTFK_SC_CFOREIGNKEY(CNO)REFERENCESCOURSE(CNO));
例1-2:
(修改数据库表)在Student表中增加SEX(C,2)字段。
ALTERTABLESTUDENTADDSEXCHAR
(2);
例1-3:
(修改列名)将Student表中列名SEX修改为SSEX。
ALTERTABLESTUDENTRENAMECOLUMNSEXTOSSEX;
例1-4:
(修改数据库表)将Student表中把Sname字段修改为Sname(C,10)且为非空。
ALTERTABLESTUDENTMODIFY(SNAMEVARCHAR2(10));
ALTERTABLESTUDENTMODIFYSNAMENOTNULL;
例1-5:
(建立索引)为Score表按课程号升序、分数降序建立索引,索引名为SC_GRADE。
CREATEINDEXSC_GRADEONSCORE(CNOASC,SCOREDESC);
例1-6:
(删除索引)删除索引SC_GRADE。
DROPINDEXSC_GRADE;
例1-7:
(建立数据库表)建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。
CREATETABLES1
(SNOCHAR(5)CONSTRAINTPK_S1PRIMARYKEY,
SDCHAR
(2)NOTNULL,
SANUMBER
(2)CHECK(SABETWEEN5AND50));
例1-8:
(修改数据库表)删除成绩表Score的参照完整性约束关系。
ALTERTABLESCOREDROPCONSTRAINTFK_SC_C;
ALTERTABLESCOREDROPCONSTRAINTFK_SC_S;
例1-9:
(修改数据库表)添加成绩表Score的参照完整性约束关系。
ALTERTABLESCOREADDCONSTRAINTFK_SC_CFOREIGNKEY(CNO)
REFERENCESCOURSE(CNO);
ALTERTABLESCOREADDCONSTRAINTFK_SC_SFOREIGNKEY(SNO)
REFERENCESSTUDENT(SNO)ONDELETECASCADE;
例1-10:
(修改数据库表名)将数据库表S1改名为Student_Temp。
RENAMES1TOSTUDENT_TEMP;
[实验要求]
①熟悉Oracle上机环境,掌握Oracle客户端的配置;
②建立数据库表,修改数据库表结构,建立、删除索引;
[实验方法]
①按照附录中的操作步骤进行客户端的配置;
②将实验需求用SQL语句表示;
③执行SQL语句;
④查看执行结果,如果结果不正确,进行修改,直到正确为止。
[实验总结]
①SQL语句以及执行结果;
②对重点实验结果进行分析;
③实验中的问题和提高;
④收获与体会。
实验通过使用sqlplus,学习对oracle的客户端创建,在服务器上建立用户,基本表是数据库的核
心,所以创建正确的基本表是数据库的使用的前提,本次实验学习正确建立基本表并根据基本表中
的属性建立索引和参照完整性约束关系,学习插入,修改,删除基本表。
创建基本表时,首先要确定具体要创建几张基本表,再根据具体某张基本表确定该表的具体属性,
为每个属性确定数据类型,再跟数据间的关系确定表的主键和外键。
基本表建立完成后,根据基本
表的数据类型插入具体的数据再插入数据时,对于日期的插入总是不会,后来在通过同学帮助,并且我也通过查资料,最终解
决了这个问题。
实验二:
数据操纵语言
在实验一的基础上,熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。
2.SQL数据操纵语句:
例2-1:
(插入数据)按前面各表中的数据分别插入到教学数据库的四个数据库表中。
INSERTINTOSTUDENTVALUES('
96001'
马小燕'
CS'
01'
21,'
96002'
黎明'
18,'
96003'
刘东明'
MA'
96004'
赵志勇'
IS'
02'
20,'
97001'
马蓉'
19,'
97002'
李成功'
97003'
03'
97004'
李丽'
96005'
司马志明'
结果
已创建1行
INSERTINTOCOURSEVALUES('
001'
数序分析'
144'
002'
普通物理'
144);
INSERTINTOCourseVALUES('
003'
微机原理'
72);
004'
数据结构'
005'
操作系统'
64);
006'
数据库原理'
007'
DB_Design'
48);
008'
程序设计'
56);
INSERTINTOTEACHVALUES('
王成刚'
TO_DATE('
1999-09-05'
'
YYYY-MM-DD'
),'
李正科'
严敏'
赵高'
2000-02-23'
刘玉兰'
马悦'
2000-09-06'
INSERTINTOSCOREVALUES('
77.5);
89);
86);
82);
88);
92.5);
90);
92);
76);
69);
96);
95);
87);
91);
'
85);
75);
59);
58);
例2-2:
(多行插入)将表Student表中计算机系(‘CS’)的学生数据插入到表S1中。
(以上操作中,注意用COMMIT提交数据,将数据保存到数据库服务器)
INSERTINTOSTUDENT_TEMP(SNO,SNAME,SD,SA)
SELECTSNO,SNAME,SDEPT,SAGEFROMSTUDENT
WHERESDEPT='
;
已创建4行
例2-3:
(利用查询来实现表的定义与数据插入)求每一个学生的平均成绩,把结果存入数据库表Student_Gr中
CREATETABLESTUDENT_GR
(SNOCHAR(8)NOTNULL,
SAVGNUMBER(5,2)
表已创建
INSERTINTOSTUDENT_GR(SNO,SAVG)
SELECTSNO,AVG(SCORE)
FROMSCOREGROUPBYSNO;
结果:
已创建8行
例2-4:
(修改数据)将Student_Temp表中所有学生的年龄加2。
UPDATESTUDENT_TEMPSETSA=SA+2;
例2-5:
(修改数据)将Course表中‘程序设计’课时数修改成与‘数据结构’的课时数相同。
UPDATECOURSESETCTIME=(SELECTCTIMEFROMCOURSE
WHERECNAME='
已更新8行。
例2-6:
(插入数据)向Score表中插入数据(‘98001’,‘001’,95),根据返回信息解释其原因。
INSERTINTOSCOREVALUES('
98001'
95);
ORA-00001
原因分析:
违反完整约束条件(U129074069.FK_SC_S)-未找到父项关键字,因为SCORE表中的SNO这个字段是根据STUDENT中的SNO创建的,但STUDENT表中还没有’98001’这个学号。
例2-7:
(插入数据)向Score表中插入数据(‘97001’,‘010’,80),根据返回信息解释其原因。
010'
80);
违反完整约束条件(U129074069.FK_SC_C)-未找到父项关键字;
因为SCORE表中的CNO这个字段是根据COURSE中的CNO字段创建的,但COURSE表中还没有’010’这个课程号;
例2-8:
(删除数据)删除Student表中学号为‘96001’的学生信息,根据返回信息解释其原因。
DELETEFROMSTUDENTWHERESNO='
我删除成功了,因为在建表时没有说明具体的约束关系,我在建SCORE时加了ONDELETECASCADE的约束,所以能正常删除。
例2-9:
(删除数据)删除Course表中课程号为‘003’的课程信息,根据返回信息解释其原因。
DELETEFROMCOURSEWHERECNO='
违反完整约束条件(U129074069.FK_T_C)-已找到子记录,COURSE中的CNO和SCORE表中的CNO有约束关系,不能直接删除。
例2-10:
(删除数据)删除学生表Student_Temp中学号以96打头的学生信息。
(此操作后,注意用ROLLBACK回退可能更新的数据)
DELETEFROMSTUDENT_TEMPWHERESNOLIKE'
96%'
已删除2行
例2-11:
(删除数据)删除数据库表Student_Temp中所有学生的数据。
DELETEFROMSTUDENT_TEMP;
例2-12:
(删除表)删除数据库表Student_Temp和Student_Gr。
DROPTABLESTUDENT_TEMP;
表已丢弃
DROPTABLESTUDENT_GR;
对数据库表进行插入、修改和删除数据的操作。
实验三:
数据查询语言
体会SQL语言数据查询功能的丰富和复杂。
3.SQL数据查询语句:
例3-1:
(选择表中的若干列)求全体学生的学号、姓名、性别和年龄。
SELECTSNO,SNAME,SSEX,SAGEFROMSTUDENT;
SNOSNAMESSSAGE
---------------------------
96002黎明男18
96003刘东明男18
96004赵志勇男20
97001马蓉女19
97002李成功男20
97003黎明女19
97004李丽女19
96005司马志明男18
已选择8行。
例3-2:
(不选择重复行)求选修了课程的学生学号。
SELECTDISTINCTSNOFROMSCOREWHERECNOISNOTNULL;
96002
96003
96004
96005
97001
97002
97003
97004
例3-3:
(选择表中的所有列)求全体学生的详细信息。
SELECT*FROMSTUDENT;
SNOSNAMESDSCSAGESS
-------------------------------
96002黎明CS0118男
96003刘东明MA0118男
96004赵志勇IS0220男
97001马蓉MA0219女
97002李成功CS0120男
97003黎明IS0319女
97004李丽CS0219女
96005司马志明CS0218男
例3-4:
(使用表达式)求全体学生的学号、姓名和出生年份。
SELECTSNO,SNAME,2014-SAGEAS"
BIRTH"
FROMSTUDENT;
SNOSNAMEBIRTH
-------------------------
96002黎明1994
96003刘东明1996
96004赵志勇1994
97001马蓉1994
97002李成功1994
97003黎明1995
97004李丽1995
96005司马志明1996
例3-5:
(使用列的别名)求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。
SELECTSNOAS"
学号"
2014-SAGEAS"
出生年份"
学号出生年份
---------------
960021994
960031994
960041992
970011993
970021992
970031993
970041993
960051994
例3-6:
(比较大小条件)求年龄大于19岁的学生的姓名和年龄。
SELECTSNAME,SAGEFROMSTUDENT
WHERESAGE>
19;
SNAMESAGE
--------------------
赵志勇20
李成功20
例3-7:
(比较大小条件)求计算机系或信息系年龄大于18岁的学生的姓名、系和年龄。
SELECTSNAME,SDEPT,SAGEFROMSTUDENT
WHERESDEPTIN('
)
ANDSAGE>
18;
SNAMESDSAGE
----------------------
赵志勇IS20
李成功CS20
黎明IS19
李丽CS19
例3-8:
(确定范围条件)求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。
SELECTSNO,SAGEFROMSTUDENT
WHERESAGEBETWEEN19AND22;
SNOSAGE
9600420
9700119
9700220
9700319
9700419
例3-9:
(确定范围条件)求年龄不在19岁与22岁之间的学生的学号和年龄。
WHERESAGENOTBETWEEN19AND22
9600218
9600318
9600518
例3-10:
(确定集合条件)求在下列各系的学生信息:
数学系、计算机系。
SELECT*FROMSTUDENT
WHERESDEPTIN('
SNOSNAMESDSCSA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库概论 数据库 概论 实验 报告