数据库设计

原创 2013年12月05日 03:54:51

约束

-) 主键 : 数据唯一且不为空

-) 唯一 : 数据唯一

-) 检查 : 取值范围、格式限制

-) 默认 : 默认值

-) 外键 : 引用主表的主键



数据完整性

-) 实体 : 不能存在完全相同的两条记录

实现方法:设置主键(primary key)、唯一索引、唯一约束

-) 域     :  字段不能违反类型、格式、长度的约定

实现方法:check约束、外键约束(foreign key)、默认约束、非空定义、类型

-) 引用 : 相互联系的表之间,有直接联系的字段必须一致
实现方法:外键约束
-) 自定义 : 自定义的规则
实现方法:存储过程、触发器、规则


三大范式

-) 1st NF : 列的原子性
解读:原子性即不可再分性
检查办法:列值是否还包含多个含义
-) 2nd NF: 表的专一性
解读:一个表只描述一件事情
检查办法:其他列是否依赖主键
-) 3rd NF : 表的原子性
解读:表的原子性即表的不可在分性
检查办法:一个表是否包含了另一个表


数据库设计的六个阶段


1.需求分析 : 根据需求业务分析出数据

-) 目标 : 所有数据全部提取

2.结构设计 : 根据数据绘图、建模,并检查数据完整性

-) 目标: 数据完全符合数据完整性要求

-) 具体步骤

1.标识实体(一般是名词),一条记录就是一个对象
2.标识实体的属性
3.标识实体之间的关系,关系可分为四种:1-1、1-N、N-1、N-N
4.绘制E-R图,可使用visio工具
5.建立关系模式;一个关系的属性名的集合称为关系模式;例如:客人(客人姓名、身份证号、房间号、入住日期、结账日期)
6.转化E-R图为数据库模型图;
-) 将各实体转换为对应的表,将各属性转换为各表对应的列
-) 表示每个表的主键列,没有合适的主键可添加一个ID编号列,例如:入住流水ID
-) 在表之间建立主外键,体现实体之间的映射关系

3.规范化     : 将数据用三大范式审核

目标: 符合完整性并符合三大范式

4.物理设计 : 代码实现

目标:数据库实现

5.数据库实施 :

目标:编写好应用程序访问数据库的接口

6.安装部署

数据库设计-横表纵表的理解

横表就是普通的建表方式,如一个表结构为:主键、字段1、字段2、字段3。。。 如果变成纵表后,则表结构为: 主键、字段代码、字段值。而字段代码则为字段1、字段2、字段3。  具体为电信行业的例子。以...

如何使用Entity Relationship Diagram (ERD) 建模 - 关系数据库设计

如何使用Entity Relationship Diagram (ERD) 建模关系数据库设计 (Relational Database Design)?实体关系(ER)模型最初是由Peter Che...

使用Power Designer工具进行数据库设计

设计之路:使用Power Designer工具进行数据库设计 文/阿蜜果 日期:/2013-10-13          转自:http://www.blogjava.net/amigoxie/...

数据库设计--实体关系图(ERD)

1、E-R图的定义  实体关系图:简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。 –百度百科 2、E-R的使用方法  E-R图为实体-联系图,...

mysql数据库设计原则(三范式)

一、第一范式(分字段) 那么符合第一模式的特点就有 1)有主关键字 2)主键不能为空 3)主键不能重复 4)字段不可以再分 二、第二范式(把不是主键的属性而是非主键的属性分离) ...

新手必须知道的数据库设计经验

数据库是一个项目的骨架,一个好的数据库

数据库设计:范式与反范式

我们在设计数据库的过程中,往往要用到范式或反范式的设计模式。熟悉地掌握范式与反范式的要领,学会在实际开发中恰当地混合使用范式与反范式,才能设计出结构合理,执行高效的数据库。下面就以一个经典的例子进行讲...

用 Visio 和 PowerDesigner 辅助进行数据库设计

第一步:在 Visio 中画好数据库设计的 E-R 图 首先要面临的问题便是,采用何种作图类型? 答案是框图,要注意,是“框图”而不是“基本框图”!   基本原则如下: ①表的表示图形:框图...

中小型超市系统中的分类/产品属性/扩展属性的数据库设计

中小型商城系统中的分类/产品属性/扩展属性的数据库设计       正文:       之前发表过一篇"商城系统中【商品扩展属性】的表单生成及客户端验证",部分童鞋对于后台数据库的设计...

手游服务端框架之配置与玩家数据库设计

一款网络游戏的设计,至少需要策划数据库和用户数据库两种数据库。本文主要介绍这两种数据库的设计及使用,同时,介绍如何通过ORM框架来完成玩家数据的持久化。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库设计
举报原因:
原因补充:

(最多只允许输入30个字)