Oracle实验 - 数据库表的管理

1.在oracle数据库中创建一个名为student的表,要求:(sno char(6) not null, sname char(10) not null, ssex char(2) not null, birthday date not null, polity char(20),sdept char(20)),其中表中字段满足:sno设置为主键,sname字段设置惟一性约束;

create table student
(sno char(6) primary key not null,
sname char(10) unique not null, 
ssex char(2) not null, 
birthday date not null, 
polity char(20),
sdept char(20)
);

2.将student表的ssex设置检查性约束,要求ssex只能为‘M’或‘F’,polity字段设置默认约束,值为‘群众’;

alter table student add constraint
ssex_check check(ssex='M' or ssex='F');
alter table student modify polity default '群众';

3.在oracle数据库中创建一个名为course2的表(cno, cname, teacher, class);

create table course2
(cno char(6),
cname varchar(10),
teacher varchar (10),
class varchar(10)
);

4.创建一个学生选课表sc (sno char(6) not null,cno char(10) not null,grade real).将sc表创建外键约束,把sc表的sno和student表的sno关联起来,在这两个表之间创建一种制约关系;

create table sc(
sno char(6) not null,
cno char(10) not null,
grade real,
constraint sc_sno_student_sno foreign key (sno) references student(sno)
);

5.利用insert语句向student表中插入一条新的记录:(‘0007’,‘张三’,‘M’,to_date(‘1982-3-21’, ‘yyyy-mm-dd’),‘团员’,’计算机系’);

insert into student values
('0007','张三','M',to_date('1982-3-21','yyyy-mm-dd'), '团员','计算机系');

6.利用update语句将编号为‘0007’的学生polity改为‘党员’;

update student
set polity = '党员'
where sno = '0007';

7.利用delete语句将英语成绩大于90的同学记录删除;

delete from sc where cno in
(select cno from course2
where cname ='英语') and grade>90;

8.创建一个视图,包含数据为软件工程系学生的考试成绩;

conn sys ;

create view se_grade
as
select sname,grade from scott.student,scott.sc
where sdept='软件工程';

9.用创建一个Users表,按照下面表所示,设计表的结构,并且在UserType字段必须大于0且小于3,在UserPwd字段的默认值为111111;

conn scott ;

create table Users
(UserId number,
UserName varchar2(40),
UserType number(1),
UserPwd varchar2(40) default(111111)
);
comment on column Users.UserId is '用户编号';

comment on column Users.UserName is '用户名';

comment on column Users.UserType is '用户类型(1表示管理用户,2表示普通用户)';

comment on column Users.UserPwd is '密码';

10.创建序列USER_S,该序列为1-1000之间整数,自动增加1。使用该序列向表USERS中插入2条新的记录;

create sequence USER_S
increment by 1
start with 1
minvalue 1
maxvalue 1000;
insert into Users values(USER_S.nextval,USER_S.nextval,USER_S.nextval,USER_S.nextval);
insert into Users values(USER_S.nextval,USER_S.nextval,USER_S.nextval,USER_S.nextval);
select * from Users;

#表格不在一行显示,可修改以下两个参数
#set linesize 200;
#set pagesize 200;

11.本实验指导书实例:学生成绩管理项目:
实例要求:在该项目中,不考虑需求分析过程,要求建立以下关系:
部门信息:部门编号、部门名称、部门经理、地址、部门人数;
学生基本信息:部门号、学号、姓名、性别、学生类型、入学日期、籍贯、身份证号、详细地址、出生日期、所学专业、民族、电话(家) 、缴费总计、备注;
课程信息:课程号、课程名称、开设年级、学时数;
成绩单:学号、课程号、学期、成绩、备注。

create table 部门信息
(部门编号 varchar(50),
部门名称 varchar(50),
部门经理 varchar(50),
地址 varchar(50),
部门人数 varchar(50)
);
create table 学生基本信息
(部门号 varchar(50),
学号 varchar(50),
姓名 varchar(50),
性别 varchar (50),
学生类型 varchar(50),
入学日期 date,
籍贯 varchar(50),
身份证号 varchar(50),
详细地址 varchar(50),
出生日期 date,
所学专业 varchar(50),
民族 varchar(50),
电话家 varchar(50),
缴费总计 varchar(50),
备注 varchar(50)
);
create table 课程
(课程号 varchar(50),
课程名称 varchar(50),
开设年级 varchar(50),
学时数 varchar(50)
);
create table 成绩单
(学号 varchar(50),
课程号 varchar(50),
学期成绩 varchar(50),
备注 varchar(50)
);

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃头酱酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值