sql语言问题,求高手解惑

来源:百度知道 编辑:UC知道 时间:2024/07/08 17:31:01
create table 教室
(
教室编号 char(8),
教学楼编号 char(8) not null,
楼层号 char(8),
primary key (教室编号,教学楼编号),
)
create table 教师
(
教师编号 char(4),
教师名 char(8),
职称 char(8),
所属院系 char(15),
身份证号 char(15),
primary key(教师编号)
)
Create table 学生
(
学号 char(6),
姓名 char(8)not null,
所属院系 char(15),
身份证号 char(15),
primary key(学号)
)
Create table 课程
(
课程号 char(2),
课程名 char(8),
primary key(课程号)
)
create table 授课
(
教师编号 char(4),
教室编号 char(8),
课程号 char(2),
教学楼编号 char(8),
上课时间段 char(8),
foreign key(教学楼编号)references 教室(教学楼编号),
foreign key(课程号) references 课程 (课程号),
foreign key(教室编号)references 教室 (教室编号),
for

你这样写不错才怪呢!教室表中用了两个复合主键,授课表中却分别引用该复合主键的一部分,这样做是不合理的。象你这几张表的关系,直接将教室表的教室编号设置为主键,授课表中的教室编号引用教室表中的教室编号就可以了。