当前位置:网站首页 > 数据科学与大数据 > 正文

数据库课程(数据库课程表怎么建)



实验一 数据定义和数据更新

实验目的:

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)对表中某一列的数据类型进行修改时,要修改的列是否必须为空列。

到此这篇数据库课程(数据库课程表怎么建)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 数据中台建设思路(数据中台建设方案)2025-02-24 15:54:06
  • 大数据算法有哪几种(大数据算法有哪些)2025-02-24 15:54:06
  • 自动驾驶数据(自动驾驶数据标注教学)2025-02-24 15:54:06
  • sqlldr导入数据不全(sqlldr导入数据比较慢)2025-02-24 15:54:06
  • vue父子组件传递数据(vue父子组件如何传递数据)2025-02-24 15:54:06
  • 微服务 配置中心 数据库(微服务的配置中心)2025-02-24 15:54:06
  • orecal数据库区分大小写吗(oralcal数据库)2025-02-24 15:54:06
  • iotdb数据库备份(数据库备份dbs)2025-02-24 15:54:06
  • 大数据培训大数据(大数据培训项目)2025-02-24 15:54:06
  • 大数据培训有哪些机构(大数据培训真的有用吗)2025-02-24 15:54:06
  • 全屏图片