一个简单的选课表的定义问题,在线等!

qq675927952 2008-12-23 09:10:31

create database "选课系统" ;
--系(系号)

create table Department
(
Dept char(20) primary key
);

--学生(学号,姓名,性别,年龄,系别)
create table Student
(
Sno char(9) primary key,
Sname char(20) not null,
Ssex char(2) check(Ssex in ('男','女')),
Sage smallint check(Sage>=0 and Sage <= 150 ),
Dept char(20),
--constraint c1 check(Sage>=0 and Sage <= 150 ),
foreign key Dept references Department(Dept)

) ;

--课程(课程号,课程名,开课系,任课教师)
create table Course
(
Cno smallint primary key,
Cname char(20) not null,
Dept char(20) ,
Cteacher char(20) ,
foreign key Dept references Department(Dept)

);

--学习(学号,课程号,成绩)
create table SC
(
Sno char(9) not null,
Cno smallint not null,
Grade smallint check(Grade <=100 and Grade >=0),
primary key (Sno,Cno),
foreign key Sno references Student(Sno),
foreign key Cno references Course(Cno)
);



不知道怎么就是定义不了这三个表,
消息 102,级别 15,状态 1,第 18 行
'Dept' 附近有语法错误。
消息 102,级别 15,状态 1,第 29 行
'Dept' 附近有语法错误。
消息 102,级别 15,状态 1,第 40 行
'Sno' 附近有语法错误。
我是DBA,应该不是权限问题!感觉是外码的问题,
...全文
100 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bennyyyyy 2008-12-23
  • 打赏
  • 举报
回复
create database "选课系统" ;
--系(系号)

create table Department
(
Dept char(20) primary key
);

--学生(学号,姓名,性别,年龄,系别)
create table Student
(
Sno char(9) primary key,
Sname char(20) not null,
Ssex char(2) check(Ssex in ('男','女')),
Sage smallint check(Sage>=0 and Sage <= 150 ),
Dept char(20) foreign key references Department(Dept)
--constraint c1 check(Sage>=0 and Sage <= 150 ),
) ;

--课程(课程号,课程名,开课系,任课教师)
create table Course
(
Cno smallint primary key,
Cname char(20) not null,
Dept char(20) ,
Cteacher char(20) foreign key references Department(Dept)

);

--学习(学号,课程号,成绩)
create table SC
(
Sno char(9) not null foreign key references Student(Sno),
Cno smallint not null foreign key references Course(Cno),
Grade smallint check(Grade <=100 and Grade >=0),
primary key (Sno,Cno)
);

qq675927952 2008-12-23
  • 打赏
  • 举报
回复
太感谢了!
dawugui 2008-12-23
  • 打赏
  • 举报
回复
你少了扩号.

create table Department
(
Dept char(20) primary key
);
go
--学生(学号,姓名,性别,年龄,系别)
create table Student
(
Sno char(9) primary key,
Sname char(20) not null,
Ssex char(2) check(Ssex in ('男','女')),
Sage smallint check(Sage>=0 and Sage <= 150 ),
Dept char(20),
--constraint c1 check(Sage>=0 and Sage <= 150 ),
foreign key (Dept) references Department(Dept)

) ;
go
--课程(课程号,课程名,开课系,任课教师)
create table Course
(
Cno smallint primary key,
Cname char(20) not null,
Dept char(20) ,
Cteacher char(20) ,
foreign key (Dept) references Department(Dept)

);
go
--学习(学号,课程号,成绩)
create table SC
(
Sno char(9) not null,
Cno smallint not null,
Grade smallint check(Grade <=100 and Grade >=0),
primary key (Sno,Cno),
foreign key (Sno) references Student(Sno),
foreign key (Cno) references Course(Cno)
);
go
水族杰纶 2008-12-23
  • 打赏
  • 举报
回复
create database 选课系统
--系(系号)
create table Department
(
Dept char(20) primary key
);
go
--学生(学号,姓名,性别,年龄,系别)
create table Student
(
Sno char(9) primary key,
Sname char(20) not null,
Ssex char(2) check(Ssex in ('男','女')),
Sage smallint check(Sage>=0 and Sage <= 150 ),
Dept char(20),
--constraint c1 check(Sage>=0 and Sage <= 150 ),
foreign key references Department(Dept)

)
;

--课程(课程号,课程名,开课系,任课教师)
create table Course
(
Cno smallint primary key,
Cname char(20) not null,
Dept char(20) ,
Cteacher char(20) ,
foreign key references Department(Dept)

);

--学习(学号,课程号,成绩)
create table SC
(
Sno char(9) not null,
Cno smallint not null,
Grade smallint check(Grade <=100 and Grade >=0),
primary key (Sno,Cno),
foreign key references Student(Sno),
foreign key references Course(Cno)
);
dawugui 2008-12-23
  • 打赏
  • 举报
回复
你就是外键创立不了?
worlddba 2008-12-23
  • 打赏
  • 举报
回复
UP楼上的

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧