数据库表的问题
我遇到了一个比较弱智的问题
但是我一直想不通,为什么
请帮我看下好吗,可能是我钻牛角尖了。
我今天看数据库的书。
学生信息表
学生编号,学生姓名
课程信息表
课程编号,课程名称,学分
学生选课信息表
学生编号,课程编号,成绩
这个是书上的一个例子
但是
我就想如果是我做话,我会怎么做呢?我想为什么他会这么来分析这个数据表的呢
如果是我的话我可能会这么做
学生信息表
学生编号,学生姓名,课程编号
课程信息表
自动编号,课程编号,课程名称,学分,成绩
我将三张表变成了2张表
我本来带着这个疑问是问我加的一些QQ技术群的人
可是他们就说用三张表,我就不明白了
如果我用三张表的话,那么我插入一条完整的(强调)学生选课成绩 信息的话,我不是要插入三个表吗,那不是要写insert吗?不是很麻烦的吗。
那么你们在看看我自己想的那个表格
添加删除修改查询我都可以做的啊
为什么人家说不可以的呢
我真的搞不明白啊。
帮我看下好吗
谢谢了
[解决办法]
前两个表是基础信息表,
最后一个学生选课信息表是动态的,记录哪个学生哪门课的成绩的;
你的第二个表,课程信息表(自动编号,课程编号,课程名称,学分,成绩),
请问,你的“成绩”是指什么,能记录哪个学生哪门课的成绩吗?
[解决办法]
用数据库的目的是为了用最少的数据来表示更丰富的内容.
在数据库表的设计中,最重要的原则是减少数据的重复
按教程中的设计方法,每个学生姓名,每门课程名称在整个数据库中就只会出现一次
编写一条代码来解决一个问题是不会麻烦的,由于数据的冗余造成的错误才更麻烦