注册 登录
编程论坛 Oracle论坛

一个表的问题

大嘴先生2 发布于 2007-07-04 18:00, 1657 次点击

//一个学生表
//一个课程表
//一个选课表
//就这么简单,谁帮我改改,谢谢了,才学Oracle!

create table Student(
sname varchar(10),
sid char(4),
ssex varchar(4),
sdept varchar(10),
primary key(sid),
check (ssex in ('男','女'))
);
create table Class(
cname varchar(10),
cid varchar(4),
xuefen varchar(2)
);
create table Sel(
sid char(4),
sname varchar(10),
cid varchar(4),
cname varchar(10),
chengji varchar(3),
foreign key(sid,cid) reference Student(sid),Class(cid)
);

insert into Student values('张三','0001','男','计算机系');
insert into Class values('数学','0012','5');

3 回复
#2
王翦2007-07-10 14:40
不好意思,我也是新学的,你在设计表格的时候是否参考的三范示?
可能设置外键有问题,所以第三个表格不能建立,外键应该加在哪里表格上,表格建立的顺序是什么,你再考虑一下。或者你给出每个字段的意思,我来看看。
#3
luyihuaa52012007-07-26 19:32
create table Student(
sname varchar(10),
sid char(4) primary key ,
ssex varchar(4),
sdept varchar(10),
check (ssex in ('男','女'))
);
create table classes(
cname varchar(10),
cid varchar(4) primary key,
xuefen varchar(2)
);
create table Sel(
sid char(4),
sname varchar(10),
cid varchar(4),
cname varchar(10),
chengji varchar(3),
constraint f_stu foreign key(sid) references Student(sid),
constraint f_cla foreign key(cid) references classes(cid)
);


建外键是=时要先把它建为主键!!
#4
大嘴先生22007-07-28 19:08
谢谢!
1