SQL题目,求高手帮忙100分。 150

题目:在XK数据库中,当对学生表student或课程表course的记录进行增删时,为保证数据库的正确性和一致性,应该怎么设计,在设计的过程中要注意什么问题,请针对该问题... 题目:
在XK数据库中,当对学生表student或课程表course的记录进行增删时,为保证数据库的正确性和一致性,应该怎么设计,在设计的过程中要注意什么问题,请针对该问题给出相应的设计方案,同时给出相应的代码或操作步骤。
展开
 我来答
ginban
2012-03-01 · TA获得超过131个赞
知道答主
回答量:126
采纳率:0%
帮助的人:128万
展开全部
这个设计很简单,需要三张表,即学生表(S),课程表(C),选课表(SC)。因为学生与课程是相对独立的两个对象,不会因为增删某个学生而影响课程,也不会因为增删某个课程而删除学生。

三张表的关系如下:
1.学生表保存学生信息,课程表保存课程信息,选课表保存学生与课程的对应关系。
2.增删学生表,不会改变课程表,反过来也一样。
3.删除某个学生时,同时删除选课表中相应的学生信息。
4.删除某个课程时,同时删除选课表中相应的课程信息。

三张表的设计如下
学生表(S)
SNO 学号
SNAME 姓名
.....(以下略,可根据需要增加字段)

课程表(C)
CNO 课程编号
CNAME 课程名
.....(以下略,可根据需要增加字段)

选课表(SC)
SNO 学号
CNO 课程编号
SCORE 分数
.....(以下略,可根据需要增加字段)

查学号为123的学生选择了什么课程及成绩:
SELECT S.SNAME AS 姓名,C.CNAME AS 课程名,SC.SCORE AS 分数 FROM S,C,SC WHERE S.SNO=SC.SNO AND C.CNO=SC.CNO AND S.SNO='123'

查课程号为abc的课程的学生及成绩(从高到低排序):
SELECT C.CNAME AS 课程名,S.SNAME AS 姓名,SC.SCORE AS 分数 FROM S,C,SC WHERE S.SNO=SC.SNO AND C.CNO=SC.CNO AND C.CNO='abc' ORDER BY SC.SCORE DESC
yjanb11
2012-03-15 · TA获得超过505个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:231万
展开全部
主键和外键关系。

student字段有stu_id,st_name,cou_id......stu_id是主键,cou_id是外键
course字段有cou_id,cou_name..... cou_id是主键
要保持它们的一致性。意思是删除course时,要确保student不存在cou_id
即删除课程时,要在学生没有该门课才可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lanniao007
2012-02-29 · TA获得超过1012个赞
知道小有建树答主
回答量:1489
采纳率:40%
帮助的人:440万
展开全部
。。。。。。。。。
市场上有卖VB6光碟的。你专找毕业设计的一般里面就有你说的这些。16元我记得。
从DB设计,到设计业务分析,到代码全套。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sgy5621871
2012-03-01 · TA获得超过116个赞
知道小有建树答主
回答量:285
采纳率:0%
帮助的人:164万
展开全部
可以在其中一个表的某字段设立主键,并将该字段做为另外一个表的外键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
末年的琉璃花
2012-02-29 · TA获得超过187个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:161万
展开全部
哈哈,这分和我真没缘分 ,我有个学生管理系统的数据库,需要的话我发给你参考参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沐水迩0J3
2012-02-29
知道答主
回答量:35
采纳率:0%
帮助的人:13.5万
展开全部
我不知道我的想法对不对你参考下:
学生表跟课程表应该是多对多关心,俩表之间必须有个关联字段
新增一个学生时只操作学生表,当然给学生添加课程时要用到课程表(新增课程也一样)
删除学生时必须同时删除该学生拥有的课程(根据学生的id)
删除课程时必须同时删除拥有该课程ID的学生
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(12)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式