数据库规范化,数据库设计规范化的五个要求

通常情况下,可以从两个方面来判断数据库是否设计的比较规范。一是看看是否拥有大量的窄表,二是宽表的数量是否足够的少。若符合这两个条件,则可以说明这个数据库的规范化水平还是比较高的。当然这是两个泛泛而谈的指标。为了达到数据库设计规范化的要求,一般来说,需要符合以下五个要求。  要求一:表中应该避免可为空的列。 虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。数据库在处理的时候,需要进行特殊的处... [阅读全文]

数据库设计,数据库设计 Step by Step (4)

引言:数据库设计 Step by Step (3)中我们讨论了基本实体关系模型构件及其语义。这些概念非常重要,是今天这一讲的基础,在开始本文内容之前建议大家可以再回顾一下上一篇的内容。今天我们将讨论高级实体关系模型构件,与上一篇一起涵盖了ER模型构图的大部分内容。三元关系是今天这一讲的难点,大家可以重点关注。 泛化(Generalization):超类型与子类型 原始的ER模型已经能描述基本... [阅读全文]

数据库设计,数据库设计 Step by Step (3)

引言:数据库设计 Step by Step (2)在园子里发表之后,收到了一些邮件,还有朋友直接电话我询问为什么不包含数据库物理设计方面的内容。我在这里解释一下,数据库物理设计与数据库产品是密切相关的,本系列的专注点是较为通用的数据库设计理念与方法,这也是国内软件项目中容易被忽视的一块。今天我们将学习实体关系(ER)模型构件及其语义,这是数据库逻辑设计的基础。内容可能有些枯燥,但却非常重要和有用。... [阅读全文]

数据库设计,数据库设计 Step by Step (2)

引言:数据库设计 Step by Step (1)得到这么多朋友的关注着实出乎了我的意外。这也坚定了我把这一系列的博文写好的决心。近来工作上的事务比较繁重,加之我期望这个系列的文章能尽可能的系统、完整,需要花很多时间整理、思考数据库设计的各种资料,所以文章的更新速度可能会慢一些,也希望大家能够谅解。 系列的第二讲我们将站在高处俯瞰一下数据库的生命周期,了解数据库设计的整体流程。 数据库生命周期 ... [阅读全文]

数据库设计,数据库设计 Step by Step (2)

引言:数据库设计 Step by Step (1)得到这么多朋友的关注着实出乎了我的意外。这也坚定了我把这一系列的博文写好的决心。近来工作上的事务比较繁重,加之我期望这个系列的文章能尽可能的系统、完整,需要花很多时间整理、思考数据库设计的各种资料,所以文章的更新速度可能会慢一些,也希望大家能够谅解。 系列的第二讲我们将站在高处俯瞰一下数据库的生命周期,了解数据库设计的整体流程 数据库生命周期 大... [阅读全文]

数据库设计阶段,机房收费系统阶段总结(1)数据库设计

现在自己正在经历着第二次做机房收费系统,总体上的进度相对其他人算是比较慢,但是收获颇丰. 经历过第一次做机房收费系统,那时候对数据库的知识几乎就没有什么感觉,也就是在之前大概的学习了一个关于SQL 的视频然后就上手用vb实现机房收费系统.当时的数据库几乎称不上什么设计,就是自己想到什么就往表里添加什么.可是后来麻烦的事情来了,不是数据类型需要修改,就是需要增加一个字段,或者删除一个字段,... [阅读全文]

数据库设计,数据库设计 Step by Step (1)

系列的第一讲我们先来回答下面几个问题 数据库是大楼的根基 大多数程序员都很急切,在了解基本需求之后希望很快的进入到编码阶段(可能只有产出代码才能反映工作量),对于数据库设计思考得比较少。 这给系统留下了许多隐患。许多软件系统的问题,如:输出错误的数据,性能差或后期维护繁杂等,都与前期数据库设计有着密切的关系。到了这个时候再想修改数据库设计或进行优化等同于推翻重来。 我经常把软件开发比作汽车制造。汽... [阅读全文]

数据库设计,数据库设计 Step by Step (1)

引言:一直在从事数据库开发和设计工作,也看了一些书籍,算是略有心得。很久之前就想针对关系数据库设计进行整理、总结,但因为种种原因迟迟没有动手,主要还是惰性使然。今天也算是痛下决心开始这项卓绝又令我兴奋的工作。这将是一个系列的文章,我将以讲座式的口吻展开讨论(个人偷懒,这里的总结直接拿去公司培训新人用)。 系列的第一讲我们先来回答下面几个问题 数据库是大楼的根基 大多数程序员都很急切,在了解基... [阅读全文]

数据库设计方法,数据库的另一种设计方法

如果您有疑问或建议,请进入技术讨论区交流 最近参与了一个项目的开发,在开发的过程中发现数据库的设计有点意思,顺便拿来给大家分享一下。 对于一个项目来说,数据库无疑是很重要,如果数据库设计不好,项目就很难开发的优秀,所以一个数据库的设计就显得尤其重要。 在我这个项目中,有一个订单表(orderform),一个商品信息表(googsinfo),一个系统参数表... [阅读全文]

信息系统与数据库,租车信息系统数据库设计(4)

前篇回顾 在租车信息系统数据库设计(3)中我们实现了更为细致的车辆出入库管理。 本篇将试图解决剩下的2个问题: 1. 顾客对于租车费用的支付信息如何记录,顾客可以通过预先充值后消费的方式来支付(这也是区分会员级别的关键),该如何支持? 2. 我们在第一篇中暂时没考虑“送车上门和上门取车”服务,要支持这一功能,我们对数据库结构要做些什么改动? 1. 支付管理 对于租车费用的支付,我想到了... [阅读全文]

数据库设计方法,数据库设计的折衷方法

作项目分析,数据库设计是一个很重要也很难的问题, 完全按照范式有可能不符合用户需求,不利于编程, 看来是具体问题具体分析,数据库设计是范式和需求的折中。 在上学时,没觉得数据类型有多重要,现在发觉了解数据类型 的具体内容也是很重要的,可以知道不同数据库之间的兼容问题 该怎么处理。 数据库设计技巧: 第2 部分— 设计表和字段 1. 检查各种变化 我在设计数据库的时候会考虑到哪些数据字段将来可能会发... [阅读全文]

数据库正规化,数据库正规化和设计技巧

在动态网站的设计中,数据库设计的重要性不言而喻。如果设计不当,查询起来就非常吃力,程序的性能也会受到影响。无论你使用的是mySQL或者Oracle数据库,通过进行正规化的表格设计,可以令你的PHP代码更具可读性,更容易扩展,从而也会提升应用的性能。   简单说来,正规化就是在表格设计时,消除冗余性和不协调的从属关系。在本文中,我将通过五个渐进的过程来告诉你在设计中应该了解的正规化技巧。从而建立一... [阅读全文]

数据库与信息系统,租车信息系统数据库设计(3)

前篇回顾 在租车信息系统数据库设计(1)与租车信息系统数据库设计(2)中我们列出了租车信息系统的12条需求,并相应做了数据库设计,最后得到的表关系图如下: 在租车信息系统数据库设计(2)的最后提出了3个新问题: 1. 出入库管理还能丰富,车辆买入,车辆报废,送修,还有不同门店之间的车辆拆借(如门店A向门店B临时借用某辆车),如何更好的记录这些StoreTransaction信息? 2.... [阅读全文]

数据库设计技巧,数据库设计技巧系列(一)——设计数据库之前

设计数据库之前1. 考察现有环境在设计一个新数据库时,你不但应该仔细研究业务需求而且还要考察现有的系统。大多数数据库项目都不是从头开始建立的;通常,机构内总会存在用来满足特定需求的现有系统(可能没有实现自动计算)。显然,现有系统并不完美,否则你就不必再建立新系统了。但是对旧系统的研究可以让你发现一些可能会忽略的细微问题。一般来说,考察现有系统对你绝对有好处。— Lamont Adams... [阅读全文]

服装设计项目小结,项目小结之数据库设计

最近做了一个小项目完整的数据库设计,想总结一些设计上的所得,希望大家多多指教。  有时一个项目,普通程序员一般不会去接触数据库设计,一般都有专业的DBA或是老程序员去设计,下面是我推测的几点可能原因:    1:新手对项目了解不深,正好这是老鸟的长处。     2:新手对局部的关注往往大于整体,很难考虑的特别周全。     3:数据库设计的好坏在某种程度上直接影响项目的复杂度以及性能。  第一:我... [阅读全文]

mysql数据库设计:MySQL 数据库设计复习笔记及项目实战

作者:杨鑫奇最近手头上有3个项目开动其他2个都是从底层开始个已经开始了段时间了在小城市小团队(Team)开发条件下都没有专门DBA来做数据库设计和维护往往都是开发人员顶上可是看了很多数据库设计感觉很多设计都不是很完美包括DZUcenter和UcenterHome数据库所以这段时间话了近5个小时时间好好整理了下数据库方面基本内容配合现有框架来实现快捷数据库设计来满足目前项目需求参考数据库文档主要有:... [阅读全文]

数据库设计模式:关系数据库的 3种设计模式

模式基本要求不满足第范式(1NF)数据库就不是关系数据库所谓第范式(1NF)是指数据库表每列都是不可分割基本数据项同列中不能有多个值即实体中某个属性不能有多个值或者不能有重复属性如果出现重复属性就可能需要定义个新实体新实体由重复属性构成新实体和原实体的间为对多关系在第范式(1NF)中表每行只包含个例子信息例如对于图3-2 中员工信息表不能将员工信息都放在列中显示也不能将其中两列或多列在列中显示;员... [阅读全文]

数据库设计:设计数据库的经验谈

="t18"数据库设计经验谈 数据库模型设计是否合理会极大影响系统使用性能笔者依据多年来设计和使用数据库经验提出以下些设计原则供同仁们参考 慎用游标(Cursor) 游标提供了对特定集合中逐行扫描手段般使用游标来逐行遍历数据根据取出数据条件区别进行区别操作而对于多表和大表中定义游标(大数据集合)循环很容易使进入个漫长等待甚至死机笔者在某市“住房公积金管理系统”进行日终账户滚积数计息处理... [阅读全文]

疯狂代码,大型网站架构系列之四,多对多关系的以及并发缓存的设计

接上篇,并对上篇文章进行了补充,以下是相关的链接,这是第四篇疯狂代码,大型网站架构系列之一,前言,不得不考虑的问题疯狂代码,大型网站架构系列之二,底层架构概论疯狂代码,大型网站架构系列之三,多对多关系的优化设计疯狂代码,大型网站架构系列之四,多对多关系的以及并发缓存的设计疯狂代码,大型网站架构系列之五,缓存策略设计概要 多对多关系以及多表查询优化处理 上篇以用户数据表为例介绍了基本的数据分割... [阅读全文]

数据库课程设计:数据库设计介绍说明书

1 引言  1.1编写目  介绍说明编写这份数据库设计介绍说明书目指出预期读者  1.2背景  介绍说明:  a.介绍说明待开发数据库名称和使用此数据库软件Software系统名称;  b.列出该软件Software系统开发项目任务提出者、用户以及将安装该软件Software和这个数据库计算站(中心)  1.3定义  列出本文件中用到专门术语定义、外文首字母组词原词组  1.4参考资料  列出有关... [阅读全文]

数据库技巧:数据库设计窍门技巧[转]

1. 原始单据和实体的间关系  可以是对、对多、多对多关系在般情况下它们是对关系:即张原始单据对应且只对应个实体在特殊情况下它们可能是对多或多对关系即张原始单证对应多个实体或多张原始单证对应个实体这里实体可以理解为基本表明确这种对应关系后对我们设计录入界面大有好处   〖例1〗:份员工履历资料在人力资源信息系统中就对应 3个基本表:员工基本情况表、社会关系表、工作简历表这就是“张原始单证对应多个实... [阅读全文]

数据库设计方法:数据库的设计思路方法、规范标准和窍门技巧

、数据库设计过程   数据库技术是信息资源管理最有效手段数据库设计是指对于个给定应用环境构造最优数据库模式建立数据库及其应用系统有效存储数据满足用户信息要求和处理要求   数据库设计中需求分析阶段综合各个用户应用需求(现实世界需求)在概念设计阶段形成独立于机器特点、独立于各个DBMS产品概念模式(信息世界模型)用E-R图来描述在逻辑设计阶段将E-R图转换成具体数据库产品支持数据模型如关系模型形成数... [阅读全文]

数据库技巧:数据库设计窍门技巧奉送了

1. 设计数据库的前(需求分析阶段) 1) 理解客户需求询问用户如何看待未来需求变化让客户解释其需求而且随着开发继续还要经常询问客户保证其需求仍然在开发目的中 2) 了解企业业务可以在以后开发阶段节约大量时间 3) 重视输入输出 在定义数据库表和字段需求(输入)时首先应检查现有或者已经设计出报表、查询和视图(输出)以决定为了支持这些输出哪些是必要表和字段 举... [阅读全文]

数据库课程设计:数据库设计经验谈

个成功管理系统是由:[50% 业务 + 50% 软件Software] 所组成而 50% 成功软件Software又有 [25% 数据库 + 25% ] 所组成数据库设计好坏是个关键如果把企业数据比做生命所必需血液那么数据库设计就是应用中最重要部分有关数据库设计材料汗牛充栋大学学位课程里也有专门讲述不过就如我们反复强调那样再好老师也比不过经验教诲所以我归纳历年来所走弯路及体会并在网上找了些对数据库... [阅读全文]

数据库设计方法:数据库设计的折衷思路方法

作项目分析数据库设计是个很重要也很难问题 完全按照范式有可能不符合用户需求不利于编程 看来是具体问题具体分析数据库设计是范式和需求折中 在上学时没觉得数据类型有多重要现在发觉了解数据类型 具体内容也是很重要可以知道区别数据库的间兼容问题 该如何处理 数据库设计窍门技巧: 第2 部分— 设计表和字段 1. 检查各种变化 我在设计数据库时候会考虑到哪些数据字段将来可能会发生变更比方说姓氏就是如此(注 ... [阅读全文]

数据库技巧:数据库正规化和设计窍门技巧

在动态网站WebSite设计中数据库设计重要性不言而喻如果设计不当,查询起来就非常吃力性能也会受到影响无论你使用是mySQL或者Oracle数据库通过进行正规化表格设计可以令你PHP代码更具可读性更容易扩展从而也会提升应用性能   简单说来正规化就是在表格设计时消除冗余性和不协调从属关系在本文中我将通过 5个渐进过程来告诉你在设计中应该了解正规化窍门技巧从而建立个可行而且效率高数据库本文也会详细... [阅读全文]

数据库设计技巧:数据库设计中的14个技巧

1. 原始单据与实体之间关系   可以是对、对多、多对多关系在般情况下它们是对关系:即张原始单据对应且只对应个实体在特殊情况下它们可能是对多或多对关系即张原始单据对应多个实体或多张原始单据对应个实体这里实体可以理解为基本表明确这种对应关系后对我们设计录入界面大有好处   〖例1〗:份员工履历资料在人力资源信息系统中就对应三个基本表:员工基本情况表、社会关系表、工作简历表这就是“张原始单据对... [阅读全文]

数据库设计技巧:浅谈数据库设计技巧(上)

  说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法。尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法。面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其... [阅读全文]

数据库设计技巧:数据库设计技巧(一)

浅谈数据库设计技巧(上)来源:不详 (2006-06-01 16:38:51) 说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法。尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法。面向对象的程序开发,要做的第一件事就是,先分析整个程序中需... [阅读全文]

数据库设计技巧:数据库设计中的14个技巧

. 原始单据与实体之间的关系   可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。   〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基... [阅读全文]
1 共1条 分1页