实验一 数据定义和数据更新
实验目的:
1. 熟悉数据库的交互式SQL工具
2. 通过本实验能够熟练应用sql语言进行基本表和索引的定义,能够对表的结构进行修改和删除,并通过数据更新命令输入相应的数据.
所以下载sqldeveloper文件夹下的sqldeveloper,右键单击文件夹,点击“复制”命令;
实验内容:
(一) 数据定义
一、基本表操作
Tabs:用户创建的表
user_constraints 自定义约束
1.建立基本表
创建教材中的学生表(student)、学生选课表(SC)、课程表(course)
1)·学生表:Student (Sno, Sname,Sage,Ssex,Sdept)其中学号Sno主码
2)·课程表:Course (Cno, Cname, Cpno, Ccredit)其中课程号Cno主码;先行课为外码参照Course表中Cno字段。
3)·学生选课表:SC(Sno, Cno, Grade)其中学号Sno、课程号Cno为主码;Sno为外码参照Student表中sno字段;Cno为外码参照Course表中cno字段。
2.修改基本表
1)在Student表中加入属性BloodType(char(2)型)。
alter table s
add BloodType char(2)
2)修改表student中的Sdept属性的数据类型为varchar2(40),注意和定义表的时候类型不同
alter table s
modify ssdept varchar2(40)
3)给表student的sage列添加一个自定义约束sage必须大于15且小于30。
alter table s
add check(ssage>15 and ssage<30)
4)删除3)中新添加的约束。
select * from user_constraints where table_name='S';
alter table s
drop CONSTRAINT sys_c0010658
5)删除表student中的字段BloodType。
alter table s
drop (BloodType);
3.删除基本表
1) 删除基本表Student
drop table s cascade CONSTRAINTS
2)删除基本表SC
drop table sc
二、索引操作
1.建立索引
1)在Student表上建立关于Sname的唯一索引stusnam+学号后四位
CREATE UNIQUE INDEX stusnam ON student(sname);
2)在SC表上建立关于Sno升序、Cno降序的唯一索引i_sc+学号后四位
CREATE UNIQUE INDEX i_sc ON sc(sno asc, cno desc);
2.删除索引
1)删除Student表上的索引stusnam+学号后四位
drop index stusnam
2)删除Course表上的索引i_sc+学号后四位
drop index i_sc
(二)数据操作
一、数据更新
1.插入数据
1)向Student表中插入数据
2)向Course表中插入数据
3)向SC表中插入数据
可参考如下数据,也可不参考。
Student
Course
SC
2.修改数据
1)将王敏的同学的年龄改为20。
update student set sage='20' where sname='王敏';
2)将全部同学的年龄加1。
update student set sage=sage+1;
3)将’CS’系同学的选课信息中的成绩置0。
update sc set grade='0';
3.删除数据
1)删除和’ 刘晨’在同一个系的学生的信息。
2)删除’CS’系同学的选课信息。
delete from sc where cno=(select cno FROM course where cname='CS');
(三)思考题:
1)一个列上有外码约束如何实现。
2)删除表时,表中某一列是另外一个表的外键,此表如何删除。
3)对表中某一列的数据类型进行修改时,要修改的列是否必须为空列。
到此这篇数据库课程(数据库课程表怎么建)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/53474.html