编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

一个表的问题

一个表的问题

//一个学生表
//一个课程表
//一个选课表
//就这么简单,谁帮我改改,谢谢了,才学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');

TOP

不好意思,我也是新学的,你在设计表格的时候是否参考的三范示?
可能设置外键有问题,所以第三个表格不能建立,外键应该加在哪里表格上,表格建立的顺序是什么,你再考虑一下。或者你给出每个字段的意思,我来看看。

TOP

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)
);


建外键是=时要先把它建为主键!!

TOP

谢谢!
骑白马的未必是王子,也可能是唐僧;有翅膀的未必是天使,也可能是鸟人。

TOP

发新话题