ORACLE 课程设计文档
1, 设计文档
1) 表格
学生信息
学生学号 学生姓名 学生性别 学生年龄
Sno Sname Ssex sage
课程信息
课程号 课程名 学分
Cno Cname ccredit
专业信息
专业号 专业名称 毕业所需总学分
Mno Mname mcredit
学生-课程
学生号 课程号 分数
Sno Cno Score
课程-专业
课程号 专业号
Cno Mno
学生-专业
学号 专业号 已修学分 是否修满
Sno Mno Credit Bool
2) 课程设计思路
学生信息与课程信息通过(SC)联系起来。
课程信息与专业信息通过(CM)联系起来。
学生信息与专业信息通过(MS)联系起来。
学生信息主键为 sno。课程信息主键为 cno。专业信息主键为 mno。SC 的主键
为 sno , cno , 外 键 为 sno , cno 。 CM 的 主 键 为 cno , mno , 外 键 为
cno,mno。MS 主键为 mno,sno,外键为 mno,sno。
3) ER 图:
2, 建表语句
关于主键以及外键,请查看 1.1,1.2,1.3 这三个设计的部分。
学 生 信 息
( student )
学 号
( sno )
姓 名
( sname )
性 别
( ssex )
年 龄
( sage )
课 程 信 息
( course )
课 号
(cno)
名 称
(cname)
学 分
(ccredit)
专 业 信 息
( major )
专 业 号
(mno)
名 称
(mname)
总学分 (mcredit)
CS
cno
sno
scor
e
CM
cno
mno
MS
sno
mno
cred
it
bool
--创建 student 表
create table student(
sno varchar2(10) primary key,
sname varchar2(10),
sage integer,
ssex varchar2(4)
);
--创建 course 表
create table course(
cno varchar2(10) primary key,
cname varchar2(20),
ccredit integer
);
--创建 major 表
create table major(
mno varchar2(10) primary key,
mname varchar2(20),
mcredit integer
);
--创建 SC 表
create table SC(
sno varchar2(10),
cno varchar2(10),
score number(4,2),
primary key(sno,cno),
foreign key (sno) REFERENCES student(sno),
foreign key (cno) REFERENCES course(cno)
);
--创建 CM 表
create table CM(
cno varchar2(10),
mno varchar2(10),
primary key(cno,mno),
foreign key (mno)REFERENCES major(mno),
foreign key (cno)REFERENCES course(cno)
);
--创建 MS 表
create table MS(
sno varchar2(10),
mno varchar2(10),
credit number(2),
bool number(1),
primary key (sno,mno),
foreign key (sno)REFERENCES student(sno),
foreign key (mno)REFERENCES major(mno)
);
commit;
3.插入数据(部分数据违反了约束条件)
--向表中插入数据
insert into student values('001','林波','24','m');
insert into student values('002','辛林宇','21','f');
insert into student values('003','孙维丽','18','m');
insert into student values('004','符志阶','16','m');
insert into student values('005','汤静','24','f');
insert into student values('006','袁菲相','25','f');
insert into student values('007','严维平','21','f');
insert into student values('008','车显','25','f');
insert into student values('009','虞金华','25','m');
insert into student values('010','谭平','18','f');
insert into student values('011','华黎毕','19','f');
insert into student values('012','赖骐','17','m');
insert into student values('013','孔建福','16','m');
insert into student values('014','薛宝','22','m');
insert into student values('015','华霞华','20','m');
insert into student values('016','童友源','22','f');
insert into student values('017','翁权','20','m');
insert into student values('018','梅官睿','19','m');
insert into student values('019','汤睿黎','25','m');
insert into student values('020','邬军','16','m');
insert into course values('C01','C 语言','2');
insert into course values('C02','数学','5');
insert into course values('C03','英语','4');
insert into course values('C04','计算机','2');
insert into course values('C05','数字电路','3');
insert into course values('C06','数据库','4');
insert into course values('C07','操作系统','4');
insert into course values('C08','信息安全','2');
insert into course values('C09','数据结构','5');
insert into course values('C10','可视化编程','4');
insert into course values('C11','VB 程序设计','4');
insert into course values('C12','软件工程','4');
insert into course values('C13','物联网导论','5');
insert into course values('C14','射频自动识别与 EPC 编码技术','5');
insert into course values('C15','无线传感器网络技术','2');
insert into course values('C16','无线局域网','3');
insert into course values('C17','通信原理','5');
insert into course values('C18','安全交换协议基础','5');
insert into course values('C19','网络数据库技术','2');
insert into course values('C20','XML 技术','3');
insert into course values('C21','分布式计算','3');
insert into course values('C22','数据存储与恢复技术','5');
insert into course values('C23','传感器技术','4');
insert into course values('C24','ARM 体系结构与接口技术','4');
insert into course values('C25','电子支付与网上银行','4');
insert into course values('C26','移动终端编程','2');
insert into course values('C27','人工智能与机器人','5');
insert into course values('C28','模式识别','5');
insert into course values('C29','3G 技术','5');
insert into course values('C30','Wince 嵌入式应用','4');
insert into course values('C31','供应链与物流管理','2');
insert into course values('C32','物联网应用专题见习','4');
insert into course values('C33','传感器技术及应用专题见习','3');
--001 号学生选修了 5 门课程
insert into sc values('001','C24','53');
insert into sc values('001','C02','85');
insert into sc values('001','C01','95');
insert into sc values('001','C05','94');
insert into sc values('001','C26','56');
--002 号学生选修了 5 门课程
insert into sc values('002','C06','52');
insert into sc values('002','C14','97');
insert into sc values('002','C05','74');
insert into sc values('002','C33','68');
insert into sc values('002','C01','89');
--003 号学生选修了 8 门课程
insert into sc values('003','C32','70');
insert into sc values('003','C27','80');
insert into sc values('003','C15','91');
insert into sc values('003','C13','60');
insert into sc values('003','C30','66');
insert into sc values('003','C33','82');
insert into sc values('003','C20','56');
insert into sc values('003','C29','97');
--004 号学生选修了 6 门课程
insert into sc values('004','C20','41');
insert into sc values('004','C15','50');
insert into sc values('004','C19','66');
insert into sc values('004','C30','47');
insert into sc values('004','C26','78');