日期:2014-05-19  浏览次数:20454 次

由于初始数据库设计的问题,导致现在很郁闷啊,以前数据库设计就没学好呀,痛苦~~求救
给一个培训机构做个课程查询系统.
老师信息表:
老师号(自动编号,主键)
老师名
性别
出生年月
学历
......

课程信息表:
课程号(自动编号,主键)
课程名
学时
会员价
非会员价

讲授信息表:
ID(自动编号)
课程号
老师号
上课地点
上课时间


因为讲授信息表中的课程号和老师号分别依赖于课程信息表和老师表中的对应字段..
但是,设置为自动编号作为主键,就无法建立数据关系,无法设置外键.

所以,我将数据库中课程信息表和老师表更改设置如下:
老师信息表:
老师号(数字,主键)
老师名
性别
出生年月
学历
......

课程信息表:
课程号(数字,主键)
课程名
学时
会员价
非会员价

然后讲授表中的课程号和老师号也设置为数字,这样,才能设置两个字段的外键属性并和另外的两给表建立关系..

但是设置为数字后,插入修改\操作就比较麻烦.....,特别是插入时候,还要确定编号不一样,否则不能插入......


怎么办呀???????????

------解决方案--------------------
讲授信息表:
ID(自动编号)
课程号
老师号
上课地点
上课时间


加约束
ALTER TABLE [dbo].[讲授表] ADD
CONSTRAINT [FK_讲授表_课程表] FOREIGN KEY
(
[课程号]
) REFERENCES [dbo].[课程表] (
[课程号]
)

ALTER TABLE [dbo].[讲授表] ADD
CONSTRAINT [FK_讲授表_教师表] FOREIGN KEY
(
[老师号]
) REFERENCES [dbo].[老师表] (
[老师号]
)