当前,计算机已经成为人们日常工作中的主要工具之一,网站也已经成为各政府机构、企事业单位、学校、医院等团体或者个人的重要组成部分,成为各个单位的对外宣传窗口,同时各单位内部涌现出各种各样的信息处理系统,基本实现无纸化运作。而数据库则成为网站开发中的核心,所有数据均保存在数据库当中,数据库设计的优劣与否将直接影响网站的运行速度和质量,合理优秀的数据库设计在网站开发中起着决定性的作用。
一、数据库简介
当前,数据库技术已经成熟,完全能够对当前的大量数据进行管理,但是随着社会的发展,信息资源的数据成几何量级的增长,目前的数据库甚至保存不了这么庞大的数据,下一代的网络数据库技术将应运而生。这种数据库应用范围更广,比如 12306 网站、QQ 用户管理、淘宝网和银行系统等,都应用这种强大的数据库技术,合理利用数据库资源,使得用户在浏览器上快速浏览到想要的数据。
数据库(Database)是数据的仓库,是根据数据结构来存储和管理数据的,随着数据库技术快速的发展,数据库已经不仅仅用来存储和管理数据,转变成用户所需要的各种数据管理的方式。数据库既能保存我们想要的数据,还能关联到与之相关的数据。程序开发人员根据用户需求,设计数据库并负责整个数据库系统的运行、维护及安全保护,保证数据库系统的正常运行。
关系数据库是当前数据库的应用主流,企事业单位网站数据库中的表独立性较强,网站都是由不同模块组成的,各个模块之间的关联相对较弱。数据库设计的关键是对用户需求进行最详细的分析,设计一个既完整又便于维护的数据库系统,虽然需求会发生变化,但是只要保证数据库设计的健壮,再多的需求变化也能保证网站的正常运行。同时,为了便于维护,程序员要将尽量多的数据写入到数据库中,比如网站名称、版权信息、模块名称、菜单名称等,而不要单单把这些信息设计在页面中。
二、数据库设计的需求分析和流程
网络技术的兴起,使得现在的人们渐渐远离平面媒体去了解世界而选择网络,就连购物都选择网络,网上下个订单就会送货上门,何乐而不为。购物网站几年来快速发展,在网络世界占据重要地位,得到越来越多的人的青睐;同时,各企事业单位的工作性质的网站也是铺天盖地兴盛起来,比如公司宣传、政策宣传、产品简介等。需求分析和实际调研是分不开的,只有对实际情况进行不断地调查,才能收集所有相关的资料,并对信息进行汇总,加以分析。
实际调研的方式很多,主要包括:
1、收集与用户单位相关的所有信息。比如用户单位组织机构、运行机制、各个部门的业务流程等。而且相关部门之间的业务交集也要收集。
2、专门访问。主要是要有针对性的对用户单位的特定人员进行访问,以便收集信息。比如企业高管或者企业内部工龄较长的工作人员等,这样可以详细了解网站开发的背景资料及将来的发展规划。
3、进行信息反馈。根据当下所收集到的用户信息与网站的使用者今夕信息调查,让使用者直接提出意见以及改进的建议,并做好信息调查报告。
4、参与整个系统开发过程中。对某一些业务环节或者处理方式不了解时,可以亲自进入企业内部进行亲身体验,从而获得更准确的信息资源。
5、召开程序开发小组讨论。程序开发人员要和用户主要管理人员或者使用者组织开展系统可行性调研讨论会,让程序开发人员及时了解和掌握最新的用户需求变化和市场信息需求。
数据库设计的基本流程,主要包括:
1、数据库的设计要与用户的需求完全统一,数据表之间的关联要做到最优化。并对网站设置等逐一进行详细分析。
2、数据库研发过程。用户需求分析;各个功能模块设计;程序员编写程序;内部测试;实际测试;验收;成品交付;后期维护。
3、数据库开发使用工具有 SQL SERVER、ORACLE 等,操作系统 WINDWOS SERVER、LINUX 等。开发语言 ASP、ASP.NET、JSP、JAVA 等。
4、数据库维护。数据库维护同样在整个网站开发过程中有着举足轻重的一个环节,很多偶然性的事件的发生是防不胜防的,比如停电等,网站的管理人员不能做到每时每刻都在岗位坚守,这就需要我们在网站设计的时候对数据库留有自我备份的功能,也就大大降低了因为一些突发事件而导致的数据丢失,保证网站的正常运行。
三、数据库具体设计
1、数据库设计的原则及表命名原则
程序员在设计数据库时,要考虑到方方面面的因素,要有整体性和全局性的意识,从用户的实际需求出发,避免浪费数据库本身的资源,也能节省大量的人力和财力。数据库的设计要在一个稳定的范围内,设计一个最优的数据存储系统,对用户的需求存储必要的数据,并对数据进行处理。数据库是设计之初我们就要熟悉整个网站已有和未来可能增加的需求,要有好的扩展性。数据表是数据库中各种数据的对象,每个表中可以有多行和多列,行数据代表唯一性,列则代表记录中的一个域。表的命名要一目了然,这样可以方便用户进行信息维护,对数据库用户进行权限分配,只有特定的用户才能对数据表进行数据操作。
2、数据表字段的类型和大小设置
数据表的字段要按照用户需求使用字段最小数据类型为准,比如性别只有男和女,我们当然可以设置成 int 型,数字 0 代表性别男,数字 1 代表性别女,但是这样就会浪费系统资源,所以我们以最优设计为准把字段设置成 bit 型,true代表性别女,false 代表性别男。虽然现在市场上的硬盘价格越来越低,容量越来越大,但是如果数据库设计不合理,随着数据量的增加,占用的硬盘空间也会逐渐增加,从而影响数据库的整体效率,增加用户浏览数据的响应时间。
3.3 数据表的设计
用户的需求不同,数据库的设计完全不同,数据库的设计与网站的规模密不可分。数据库的设计要满足网站的多样性和扩展性,网站会划分为不同的功能模块,在创建数据表时,要尽可能多的将数据存储在数据库的不同表中,并建立数据字典。
下面以一个新闻发布网站为例,说明一下数据表的设计,该网站主要功能包括新闻发布等。
该网站数据库主要包括:(1)系统数据表,用于存储网站的基本信息,比如:网站 LOGO、网站名称、版权信息、联系方式等。(2)菜单表,用于存储网站首页各菜单(一级菜单、二级菜单等)的名称、标识位(ID)等。(3)栏目表,用于存储网站信息发布各栏目的名称和标识位(ID),比如:动态新闻、通知公告等。(4)新闻信息表,用于存储新闻的各项内容,比如:标题、发布时间、信息来源、新闻内容、访问次数、所属栏目、录入人员等。(5)用户表,用于存储网站的各类用户和相应的权限等,比如:管理员、信息录入员等。
以上各数据表是一个简单的新闻发布网站的基本表设计,当然如果网站还需要其他功能,比如用户调查或者评论等,可以再创建新表。
四、以购物车网站为例分析
以下以一个购物网站,进行一个简单的设计分析,需求如下:
1、订单购物。该模块主要用于用户浏览商品时对喜欢的货物进行网上下单的功能。该功能还可以延伸其他相关功能,比如网站商品分类,支持用户在浏览网站时,按商品分类检索商品。还可以根据用户的购物经历向用户推送类似商品,或者在网站首页列出特价商品和畅销产品等。
2、购物车功能。该模块是对用户下单的产品,点击“加入购物车”,商品会自动添加到该用户的购物车里,然后统一进行结算,用户可任意删除和增加购物车里的商品数量,确认无误后,点击“结算”即可,同时提示用户选择快递方式和付款方式。付款方式应该具有多样性,分为在线支付和货到付款等,其中在线支付要尽量多的包含现有付款形式,比如:银行卡、信用卡、支付宝等。付款之后,用户可以随时跟踪商品的货运信息以便查询商品货运的行程等。用户也可以对买到的商品进行评论和打分,网站管理员会对用户的评论信息进行信息筛选,以免出现违反国家法律的言论。
3、后台管理。管理员管理商品的分类、上传与下架、各种单据的处理、资金的流转、用户的信息管理与各类信息统计等。
五、结语
网站的开发是以实用性为出发点,数据库的设计则是以最优化为落脚点。数据库设计在网站开发过程中占据重要位置,其设计形式在不同的网站开发中差异很大,但其设计思想大同小异。数据库设计时要充分对用户需求进行仔细分析,做出各种突发情况发生时的预案,这样既能保证网站的正常运行又能减少网站后期维护的压力。优秀的数据库设计能够大大提升网站的运行效率。当然,影响数据库性能的因素很多,不能找到一个通用的优化方案,在设计数据库时,一定要以实际需求为准,结合需求不断对其进行调整,才能取得最满意的结果。
参考文献:
[1]冯玉才。数据库基础(第二版)[M].华中理工大学出版社。1993.
[2]易向东,陈蓓,万英。程序员开发指南[M] .北京希望电子出版社,2006.
[3]萨师煊,王珊。数据库系统概论[M].高等教育出版社。2001.
[4]邱睿韫,付晓玲。电子商务营销网站的设计[J].数字技术与应用,2010,(8)。