各位数据库的前辈~~帮我看看我划分的表,是否符合范式的标准!完成后在给分感谢!!!

christopher_hp 2003-04-07 09:28:53
这是我的毕业设计!
我做的是在线考试系统,随即出题然后在线,马上完成,然后马上给分。
以前是我对表的划分,请指教!!!!!
1。题库一个表(放试题和答案),
2。学生信息一个表(考试的人的信息,包括照片,就不能作弊了,输入考号就显示 所有信息),
3。选出的考题表
4。登陆权限(任课可以出题和修改试题)
5。难度设置表(有个难度标准,底,一般,难,然后都有自己的标准,,每种难度中每一章节的题的数目和分值)

学生信息表:
字段名 类型 长度 其他
--------------------------------------------------------------
准考证号 字符 12 主键,唯一,NOT NULL
姓名 字符 10 主键,NOT NULL
班级 字符 20
学号 字符 12 主键,唯一
考试科目 字符 20
考试时间 数字
照片 图片



题库
字段名 类型 长度 其他
--------------------------------------------------------------
题号 字符 12 主键,唯一,NOT NULL
科目 字符 10
出题老师 字符 12
章节 数字
类型 字符 10
难度系数 数字
题目 字符 50
答案 字符 20


考试结果
字段名 类型 长度 其他
--------------------------------------------------------------
准考证号 字符 12 主键,唯一,NOT NULL
成绩 浮点数
等级 字符 10


密码
字段名 类型 长度 其他
--------------------------------------------------------------
用户名 字符 20 主键,唯一,NOT NULL
密码 密码 15
权限 字符 10


难度设置(未完成)
字段名 类型 长度 其他
--------------------------------------------------------------
科目 字符 10 主键


以上是我自己划分的,希望各位帮忙看看有什么不队和缺少的东西!!!
感谢~~~~




...全文
47 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiuafa 2003-04-17
  • 打赏
  • 举报
回复
戒分&灌水
myy 2003-04-17
  • 打赏
  • 举报
回复
说实话,对于表设计,在一般商业软件中,我觉得并没有“最好、最符合标准”的设计,
一般来说,满足应用需求,效率较高,冗余较低,就可以了,不必盲目追求“符合范式”。

你上面的设计中,我觉得“权限”的设计可能略嫌简单(当然如果够用也可以了),
如果这方面有比较高的要求,权限设计一般是比较麻烦的,权限的管理对象、划分粒度、
授权方式...等都需要好好考虑的。
gdyt007 2003-04-17
  • 打赏
  • 举报
回复
小e,有進步!
christopher_hp 2003-04-17
  • 打赏
  • 举报
回复
18。政治面貌表
字段名 类型 长度 其他
-------------------------------------------------------------------
等级号 字符 3 主键,唯一
等级名 字符 30


19。教工简历表
字段名 类型 长度 其他
-------------------------------------------------------------------
教师编号 字符 15 主键,唯一索引
毕业学校代码 字符 4 外键 7
最高学历 字符 2 外键 9
参加工作时间 日期
婚姻状况 BOOL
职称 字符 3 外键 15
家庭住址 字符 60
籍贯 字符 3 外键 8
政治面貌 字符 3 外键 18
电话 字符 12
照片 图片


20。试题表
字段名 类型 长度 其他
-------------------------------------------------------------------
题号 字符 20 主键,唯一
出题老师 字符 20 外键 14
科目 字符 3 外键 11
章节 字符 10
难度系统 字符 3 外键 21
题干 字符 100
备选答案 字符 50
分值 数字



21。难度设置表
字段名 类型 长度 其他
-------------------------------------------------------------------
难度系数 字符 3 外键
科目 字符 3 外键
专业号 字符 5 外键
是否必修 BOOL




22。考试表
字段名 类型 长度 其他
-------------------------------------------------------------------
记录号 数字 自增
题号 字符 12 唯一索引
出题老师 字符 12 索引
题目 字符 100
备选答案 字符 50
分值 数字 索引


23。考试人员表
字段名 类型 长度 其他
-------------------------------------------------------------------
记录号 数字 自赠
准考证号 字符 15 主键
科目 字符 3 外键 11
学号 字符 15 外键 1
考试类型 字符 3 外键 13



24。学生答案
字段名 类型 长度 其他
-------------------------------------------------------------------
准考证号 字符 15 外键 24
题号 字符 12 主键,唯一索引
答案 字符 20
得分 数字



26。修改人员信息表
字段名 类型 长度 其他
-------------------------------------------------------------------
用户名 字符 12
密码 字符 12
权限代码 字符 2



28。权限代码
字段名 类型 长度 其他
-------------------------------------------------------------------
权限号 字符 2 主键,唯一
权限名 字符 12
说明 字符 40




29。试题修改
字段名 类型 长度 其他
-------------------------------------------------------------------
记录数 数字 自增
题号 字符 12 索引
修改时间 日期 索引
修改人 字符 12 索引
操作类型 字符 3


8。错误信息表
字段名 类型 长度 其他
-------------------------------------------------------------------
题号 字符 12 外键
总选出次数 数字
错误次数 数字


30。籍贯表
字段名 类型 长度 其他
-------------------------------------------------------------------
籍贯代码 字符 3 主键,唯一
籍贯名 字符 20
描述 字符 40


31。程度表
字段名 类型 长度 其他
-------------------------------------------------------------------
程度代码 字符 2 主键
程度名 字符 20
程度描述 字符 50



32。操作表
字段名 类型 长度 其他
-------------------------------------------------------------------
操作码 字符 2 主键
操作名 字符 20


33。学制表
字段名 类型 长度 其他
-------------------------------------------------------------------
学制代码 字符 2 主键
学制名称 字符 20
学制描述 字符 50



34。学期表
字段名 类型 长度 其他
-------------------------------------------------------------------
学期代码 字符 3 主键
学期 数字 自增
学年 字符 20 CCYY-CCYY


各位看看还凑合吗
christopher_hp 2003-04-17
  • 打赏
  • 举报
回复
这是我最后完成的表
请各位看看!

1。学生信息表
字段名 类型 长度 其他
-------------------------------------------------------------------
学号 字符 15 主键,唯一索引
姓名 字符 12 索引
性别 字符 2 索引
身份证 字符 18
出生日期 日期
入学日期 日期
系号 字符 3 外键 4
学制 字符 2 外键
专业号 字符 5 外键 5
民族代码 字符 3 外键 6
是否住读 BOOL
宿舍号 数字 索引



2。简历表
字段名 类型 长度 其他
-------------------------------------------------------------------
学号 字符 15 主键,唯一索引
毕业学校代码 字符 4 外键 7
最高学历 字符 2 外键 9
取得时间 时间
外语种类 字符 2 外键 10
程度 字符 10 外键
外语种类2 字符 2 外键 10
程度 字符 10 外键
爱好 字符 50
特长 字符 50
家庭住址 字符 60
籍贯 字符 3 外键 8
政治面貌 字符 3 外键 18
照片 图片


3。健康状况表
字段名 类型 长度 其他
-------------------------------------------------------------------
学号 字符 15 外键,唯一索引
视力 数字
体重 数字
身高 数字
血型 字符 2
心理素质 字符 50
备注 字符 50


4。系表
字段名 类型 长度 其他
-------------------------------------------------------------------
系号 字符 3 主键,唯一索引
系名 字符 20 索引
成立时间 日期
系主任 字符 12
系办电话 字符 12
地址 字符 40



5专业表
字段名 类型 长度 其他
-------------------------------------------------------------------
专业号 字符 5 主键,唯一索引
专业名 字符 20
所属系名 字符 3 外键 4
备注 字符 30


6民族代码
字段名 类型 长度 其他
-------------------------------------------------------------------
民族号 字符 3 主键,唯一索引
民族名 字符 20


7学校代码
字段名 类型 长度 其他
-------------------------------------------------------------------
学校代码 字符 4 主键,唯一索引
学校名称 字符 40
学校地址 字符 40
占地面积 数字
级别 字符 10
电话 字符 12
备注 字符 40



9。学历表
字段名 类型 长度 其他
-------------------------------------------------------------------
学历号 字符 2 主键,唯一索引
学历名称 字符 12


10。外语表
字段名 类型 长度 其他
-------------------------------------------------------------------
外语号 字符 2 主键,唯一索引
外语名 字符 20


11。课程表
字段名 类型 长度 其他
-------------------------------------------------------------------
课程号 字符 2 主键,唯一索引
课程名 字符 20


12。成绩表
字段名 类型 长度 其他
-------------------------------------------------------------------
学号 字符 15
课程代码 字符 3 外键 11
类型码 字符 3 外键 13
是否必修 BOOL
学期 数字
成绩 数字
等级 字符 10
学期

13。类型表
字段名 类型 长度 其他
-------------------------------------------------------------------
类型号 字符 2 主键,唯一索引
类型 字符 10


14。教工信息表
字段名 类型 长度 其他
-------------------------------------------------------------------
教工代码 字符 20 主键,唯一索引
姓名 字符 12 索引
性别 字符 2 索引
身份证 字符 18
出生日期 日期
入学日期 日期
所属系 字符 3 外键 4
教研室 字符 3 外键 16
取得时间 日期
民族代码 字符 3 外键 6


15。职称表
字段名 类型 长度 其他
-------------------------------------------------------------------
职称号 字符 3 外键,唯一索引
名称 字符 20
备注 字符 40



16。教研室
字段名 类型 长度 其他
-------------------------------------------------------------------
教研室 字符 3 唯一索引,主键
教研室名 字符 20
教研室组长 字符 12
电话 字符 12



17。教学进度表
字段名 类型 长度 其他
-------------------------------------------------------------------
老师ID 字符 20 外键 14
课程号 字符 3 外键 11
专业号 字符 3 外键 5
课时 数字
学分 数字
学期
suerain 2003-04-12
  • 打赏
  • 举报
回复
真不知道你们是做考试系统还是学生管理系统了,hoho,如果是考试系统,只要知道学生的一些基本信息就可以了啊,连学院,系是哪个年代的都要有,hoho,少见
christopher_hp 2003-04-12
  • 打赏
  • 举报
回复
权限的意思是,只能浏览,或者可以修改本科目的(数学的老师只能修改他出的题,或者只能修改所有数学的题)还有所有权利,(可以修改所有的题)
christopher_hp 2003-04-12
  • 打赏
  • 举报
回复
要说名的是试题都是计算机随即产生的,应该每的学生的都不相同!
好象现在的系统实际上是在学生信息管理系统上的扩充一个网上考试系统,并不是我以前想的哪个对所有人的考试系统

对与试题的出和修改,只能用老师输入,所以有密码限制的!
christopher_hp 2003-04-12
  • 打赏
  • 举报
回复
我都不知道老师怎么想的,,他说一共的表应该有40个左右,其中学生的信息还有老师的系统都占了差不到30个,学生的信心又涉及到系名,系号,成立的时间,学修棵的选择,还有学校的职员信息等等

我感觉好象不只是一个考试系统,而且什么的了!!

我都糊涂了!!
suerain 2003-04-12
  • 打赏
  • 举报
回复
考试结果表的问题在于一个准考证号有多个考试,是一对多的关系,应该为:
准考证号,考试科目,成绩,等级为一个表,其中主码是准考证号+考试科目
suerain 2003-04-12
  • 打赏
  • 举报
回复
常见的标准有第一,第二,第三,bc,第四,第五范式,第四和第五范式有点变态,一般要求是bc范式,你的第一个表就没有达到要求。
学生信息表:
字段名 类型 长度 其他
--------------------------------------------------------------
准考证号 字符 12 主键,唯一,NOT NULL
姓名 字符 10 主键,NOT NULL
班级 字符 20
学号 字符 12 主键,唯一
考试科目 字符 20
考试时间 数字
照片 图片
======这个表中,准考证号和学号是唯一的,而姓名等应该唯一确定于学号,所以建议分成:
准考证号,考试科目,考试时间,学号为一个表,主码是准考证号+考试科目
学号,姓名,班级,照片为一个表,学号是主码.
因为这个表中考试科目和考试时间对应于一个准考证号有多个。

下面的表也有很多问题,你还需要慢慢的改才行!
liqn 2003-04-12
  • 打赏
  • 举报
回复
可以呀,这样没有什么问题啊。
可以,好得很啦!

谢谢观看!
suerain 2003-04-12
  • 打赏
  • 举报
回复
中国国情:
1.一个学生只有一个准考证号,和学号一样是唯一的.可以用来唯一区分学生,所以建议分开两 个表,和考试相关的进准考证那个表,与学生信息相关的进学号那个表.
2.不同考试考同一科目可能试题不同,因为有ab卷,有不同的任课老师,还有就是缓考的可能.
3.考试当然用准考证号登陆,当然,准考证号和学号唯一对应的话,可以替换啊
4.题库应该需要考虑输入,还有一个棘手问题:数学公式怎么进数据库?
5.难度应该是给老师出题时的辅助参考吧?
6.一个表当然可以几个字段联合组成一个主键.
7.我也不知道他是什么意思
8.程序未动,需求先行,hoho
昵称被占用了 2003-04-12
  • 打赏
  • 举报
回复
首先要搞清楚以下问题:
1、一个学生考两个科目,用一个准考证还是两个
2、不同学生考同一科目,试题是否全部一样
3、学生用什么登录,学号还是准考证,还是其他?为什么密码表的用户名的数据类型和这两个得都不一样。
4、题库的输入问题需不需要考虑
5、关于难度设置,应该联系科目、章节、难度、百分比,由老师输入,但必须先搞清楚问题2。
6、一个表三个主键的表示方法是不对的,应该是一个主键和两个唯一索引。
7、权限 字符 10 能不能表示清楚?
8、一点建议:先搞清楚需求(或者命题定义,确定范围),再考虑设计,最后才考虑范式。

勉励前行 2003-04-12
  • 打赏
  • 举报
回复
表1:學生信息表
主鍵:學號,表示一個學號就代表一名學生,在該系統中泛指一名考生。
姓名,照片,身份證號...等是附屬於個人的信息,放在一起很自然。
  准考证号,如果你的系統不對准考证進行查對,那麼就不需要另外的一張准考证表。所以說是否第三范式,不能單看字段,只看一個表,是要看需求的,要看你填入各個表中的內容的。所謂關系式數據庫,就是要把各個表關聯起來看。
  考试科目,考试时间這兩個項目放在學生信息表中,就表達了這第一種信息一個學號對應一名考生,也對應一個考試科目,這明顯不符合要求。實現起來也滿足不了第二范式。所以考試科目與考試時間這應該另做一個表,該表記錄考生的每次考試,稱為考試記錄表。
  做表,要做分析,要清楚自己要實現的是什麼目標,各個表反映的是什麼內容。
  我說說:
1、如果要管理學生(考生),那麼應該有張學生表。
2、如果要管理准考证,也要專用一張准考证表。

  作為一個作業,考試系統其面向的幾個基本對象,也是應該具備的功能:
1、學生,其實我認為定義為考生更好一點,因為這不是做學生的班級管理,一次作業,不應該把范圍做得太大大廣,要不然,累死你們也做不好,做不完。
2、題庫。包括題目與答案,或其評分標准。這應該是按科目分類的,也可以有難度分類在裡面。
3、具體的每張考卷。把不同的題目,依照一定的規則(科目,難度規則?),抓在一起,就形成一張考卷,考卷可以是考試前由老師生成,也可以是考試時與考生互動生成,最後記錄下來。
4、考試記錄:哪考學生,在什麼時候,考了什麼科目,用的是哪份考卷,最後得分如何..等。
5、考生答案,記錄考生對每一道題的答案。

當然,一個好的系統不會那麼點東西,可就這點東西,對於一次作業來講,已經是很多了,記住,規劃你的系統,排好你的時間,在規定時間內把系統完成,不要要求完美。只求一次比一次好。如果你不清楚你要做的是什麼,那麼你就做不好。那你就等待別人做好了規劃,做好了表然後叫你做苦力寫程序吧。不過做需求做規劃更勞心勞力。

關於各表中的關聯關系,要想清楚,只要你思路清楚,一般是符合范式要求的。
勉励前行 2003-04-12
  • 打赏
  • 举报
回复
這是毕业设计,不是商品化軟件。你們老師要求太高了,小心累壞了你們。我記得做畢業設計時,是1月底訂下的題目CAPP,爭爭吵吵地做分析做到4月,最後6個人花了1個半月左右的時間寫代碼,答辯前一個晚上才最終把程序打包,通宵寫畢業論文,苦。

現在,你要做毕业设计了,還有2個月時間吧,表還沒定下來,後面的日子怎麼走啊。
建議小組花3天時間討論,定下需求與各人任務,如果你選擇單干,那麼就選擇把系統做小,或只做系統的某一部分:考試部分。

我只當做是聊天來說說。把這裡當成聊天室了。
人才輩出,長江後浪推前浪。
論壇劃劍,各逞機鋒試比高。
橫批:百家爭鳴
昵称被占用了 2003-04-12
  • 打赏
  • 举报
回复
提醒你一点,这里步可能给你确切的意见,你还是听老师的
昵称被占用了 2003-04-12
  • 打赏
  • 举报
回复
既然是作业,那老师说的就是需求了

既然老师说要有很多信息,那估计不是考试系统了,而是学生考试管理系统,那你就照学生考试管理系统设计吧

具体来说,不要准考证了
系、班级、学生、老师、科目、章节都需要一个表
老师和科目、学生和科目、科目和章节都需要一个对应表
考试纪录是必需的,应该记录题号和学生的答题
权限的控制比较复杂,估计你的字段不能表示

christopher_hp 2003-04-12
  • 打赏
  • 举报
回复
我也都迷茫了
说的是网上考试系统
可是现在。。。。。。。。。。。。
christopher_hp 2003-04-11
  • 打赏
  • 举报
回复
今天老师集合大家开会,他看了我的表说我写得很难,都没有了解到课题的意思,我真是失败,他说要把学生的信息作成很多的表,就想学生管理系统一样,可是我不是很明白,如果考试的是社会上的人或者不是我们学校的,那有什么用呢
我感觉重点到了学生信息管理上了,好象不是考试上了
加载更多回复(13)

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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