- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
?
?
浅谈数据库设计需要遵循的原则
?
?
毛海霞
摘要:数据库设计是软件系统开发的前提基础。高中信息技术学业水平考试系统的开发的关键也是数据库设计。根据系统需求,设计出合理、高效的数据库、数据表,是系统流畅运行是关键;数据库设计需要遵循什么原则呢?
关键词:数据库设计;原则
一个软件系统的设计,首先要调查研究,然后根据需求去设计完善的数据库。数据库是整个系统开发应用的关键,是软件设计的起点,起到决定性的作用,所以,要对数据库设计重视起来。本文结合高中信息技术学业水平考试系统的开发,谈谈数据库设计需要遵循的原则。
一、调查研究,确定字段
设计一个软件,必须与客户沟通,了解客户需求,根据需求设计数据库。本系统是我们一线教师根据学业水平考试的实际情况,熟悉B/S模式下的系统存在的问题,了解实际需求,即使如此,各位老师的意见也是不同的,需要集中起来,一起讨论、研究、探讨实际需求,形成文档,让大家都清楚数据库的设计。
系统需求:
(1)系统为C/S模式;
(2)题目类型:单选题、多选题、简答题、程序题;
(3)有良好的人机交互界面;
(4)随机出题;
(5)防止利用计算机作弊;
……
根据系统需求,最基本的表有三个:学生信息表、题目表、学生成绩表。
以学生信息表为例,学生信息表必需要有的字段为:序号、考生姓名、学校、班级、登录帐号、登录密码、相片7个基本的字段,考虑到需要记录考生的登录、等待考试、考试、结束考试这四个状态,所以需要增加一个考试状态的字段,另外还要记录考试开始考试时间、结束考试时间等信息,还需要增加几个字段,分别是开考时间、考试用时,考试指令、考试场次4个字段。考生信息表见下表
从学生信息表的设计来看,每个字段都有他必要的意义,设计好的每一个字段,已经清楚其在程序中如何去运用这些字段,各张表的联系在程序中是如何体现的。也就是说数据库设计后,程序中所有的实现思路和实现方式在程序员的脑海中就已经考虑过了。如果达不到这种程度,那么进入编码阶段后,所设计的数据库无法支持,这时再回过头来修改数据库,将是非常麻烦的事,将造成一系列无法预测的问题。
二、字段命名规范
1.字段有意义且易理解,最好是能够表达字段含义的英文单词,但由于我们英语水平还是有所欠缺,也可以用汉语拼音缩写来命名。还可以用汉字。
2.系统中所有属于内码,即仅用于标识唯一性和程序内部用到的标识性字段,字段名称建议取为ID,采用类型为整型或长整型。
3.不要在数据库表字段中包含数据类型,如:datetime
4.不能使用数据库关键字,如:datetime、name等
三、字段设计合理
数据表设计时,字段设计要合理,主要体现在两个方面,一个是字段类型,另一个是字段长度。字段类型过于明确,造成可发挥、可拓展的空间太小。字段长度过长,浪费磁盘空间,过短,不能保存完整信息。如上术的学生信息表中的证件号,类型为nchar,长度18,就是考虑到学生的身份证是唯一的,可以用身份证作为证件号,所以设计的时候就取身份证的长度18位。
四、考虑到效率和优化问题
一开始就要分析哪些表会存储较多的数据量,对于数据量较大的表的设计往往是粗粒度的,也会冗余一些必要的字段,以达到尽量用最少的表、最弱的表关系去存储海量的数据。并且在设计表时,一般都会对主键建立索引,含有大数据量的表更是要建立索引以提高查询性能。对于含有计算、数据交互、统计这类需求时,还要考虑是否有必要采用存储过程。
五、设计合理的表关联
若多张表之间的关系复杂,建议采用第三张映射表来关联维护两张表之间的关系,以降低表之间的直接耦合度。若多张表涉及到大数据量的问题,表结构尽量简单,关联也要尽可能避免。
本系统的表间关系不算复杂,无需使用第三张映射表来建立关联。如学考生信息表与成绩表之间就存在关联,两表通过证件号来关联,证件号在考生信息表中是唯一的,成绩表的证件号可以多次出现,因为考试类型可以不一样,两表通过证件号建立一对多的关联。当在考生信息表中删除某一个学生时,成绩表的关联的学生的成绩全部删除,从而保证数据的正确性。
数据库的设计在系统开发过程中起到举足轻重的作用,系統需求相辅相成,只有认真对系统需求进行认真仔细地分析与研究,才能设计出合理、高效的数据库。而合理、高效的数据库,可以使系统开发少走弯路,提高效率。本系统的设计就是遵循这样的一个规律:首先设计合理高效的数据库,再开始系统的设计开发工作。
参考文献:
[1](英)迪尤逊著,董明等译.SQLServer2005基础教程人民邮电出版社,2006
[2]张宇.Access数据库应用技术.中国铁道出版社,2006
(作者单位:广西南宁市横县横州中学530300)
?
-全文完-
文档评论(0)