一.为什么要设计数据库?
任何软件都是接受到客户的请求后对数据进行一系列操作,完后将结果返给客户。由于后台需要对大量的数据进行存储,修改,查询和完善等操作,因此事先的数据库设计是整个项目过程的关键步骤。一份优秀的数据库设计,有以下几个方面的好处:
1. 节省数据的存储空间;
2. 保证数据的完整性;
3. 方便进行数据库应用系统的开发。
二.如何设计数据库?
1.在设计数据库之前,应该收集信息,标识对象,标识每个对象的属性,标识对象之间的关系。
2.设置关系模式。应该满足以下规范
①第一范式(1NF),即关系R的每个属性值都是不可分的原子值,排斥了属性为元祖,数组或是某种复合数据的可能性;
②第二范式(2NF),即关系R(U),且其每个非主属性完全依赖于关键字;
③第三范式(3NF),即关系模式R(U)的每个非主属性都不部分依赖也不传递依赖于关键字。
关系模式建立时除了要满足以上几个范式,还应该考虑操作的简便性与操作性。
比如在一个表中进行查询的速度远比对两个或多个表进行查询,所以找出重复次数最多的操作,尽量减小其复杂度,从而提高整体的优越性。
4. 画E-R图以及数据字典。
三.以上是我在数据库设计中所学到的技术知识,其实在过去的几天中,学习技术方面的东西发费的时间远不及学习技术之外的东西。
1.不再是独自工作。我们有一个团队(有leader,商业成员和技术牛人),详细的分工以及及时的交流沟通,分布式实现软件的各个模块功能,最终会在最短的时间,发费最小的精力完成整个项目。
2.将知识运用于实践,并从实践中升华知识。很早以前就已经学习过数据库设计,但是纯粹的理论知识与现实在很大程度上是截然不同的,实践的时候不仅仅要考虑知识理论,还应优先该考虑需求。
①数据库的冗余是不是应该不能有,这也是不一定的,有的时候一定的数据冗余还能提高查询的速度;
②属性的可用性有多高,这也是该考虑的问题。比如我在设计实现限量这个属性的时候,我是应该赋给它初始值,还是用户每运行一次就将这个值减小一次。我当时是选择了前一方法,但是当考虑到是否可以运行的条件后,我果断选择后面的方法。因为前面的方法,我在判断的时候,得累计之前运行的次数,并与初始值进行比较,而后面的方法,我只要判断该值有没有减小到0即可。所以不同的思维可能就会有更优的后果。
在实践之后,我觉得我更懂范式,其实范式也就是那么一回事,在以后设计完数据库后,我想我就不用按照范式去检查我的关系模式了,因为我在设计时,无形中就遵循了那些个规则。
3.考虑到数据库的可实现性。在数据库设计中,应该考虑到技术人员能否对其中的数据进行操作,对于不能进行操作的数据,应该进行重新设计或是删除。
4.重要属性不要设置为主关键字。
最后。奋斗吧,少年!!!
分享到:
相关推荐
《 Beginning Database Design》是一本专为数据库初学者设计的书籍,旨在帮助读者深入理解数据库的基础概念和设计原理。这本书以英文编写,被誉为超经典之作,是数据库领域的绝佳入门读物。 在数据库领域,理解基本...
- **书名**:《Database Design For Mere Mortals》(第二版) - **作者**:Michael J. Hernandez - **出版社**:Addison Wesley - **出版日期**:2003年3月5日 - **ISBN**:0-201-75284-0 - **页数**:672页 #### ...
Hernandez’s best-selling Database Design for Mere Mortals® has earned worldwide respect as the clearest, simplest way to learn relational database design. Now, he’s made this hands-on, software-...
本书《Beginning MySQL Database Design and Optimization: From Novice to Professional》由Jon Stephens和Chad Russell合著,旨在为初学者提供一套全面且实用的MySQL学习指南。 #### 二、数据库设计基础 1. **...
本课程“DatabaseDesign中文课件”提供了一个全面了解和学习数据库设计的平台,适合初学者和有一定基础的学习者进行深入研究。 一、数据库系统概述 数据库系统是由数据库、数据库管理系统(DBMS)、数据库管理员...
综上所述,《Beginning Database Design》是一本非常有价值的数据库设计入门书籍,它不仅适合初学者,也适用于想要进一步提升自己职业技能的专业人士。通过学习这本书,不仅可以获得关于数据库设计的基本理论知识,...
Third Edition 英文原版pdf preview ...Database Design For Mere Mortals by Michael J. Hernande is a straightforward, platform-independent tutorial on the basic principles of relational database design.
本文将深入探讨与"database design.pdf"相关的专业知识点,特别是聚焦于Teradata数据库设计,这是一款由NCR公司(National Cash Register Company)旗下的Teradata部门开发的高性能数据库管理系统。 ### 一、...
标题“automated physical database design and tuning”指出了一个核心问题,即如何通过自动化工具来推荐对数据库系统物理设计的改变。为了深入理解这一过程,首先需要掌握相关的技术背景知识,包括SQL语言、SQL...
Usage-Driven Database Design From Logical Data Modeling through Physical Schema Definition 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请...
clearly relating the design to implementation and database theory. In addition, questions are also included at the end of each of the six steps and one of the previous case studies has been replaced,...
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks.
Microsoft SQL Server 2000 Database Design and Implementation
Data modeling and database design have undergone significant evolution in recent years. Today, the relational data model and the relational database system dominate business applications. The ...