mysql 入门基础(8)—数据库系统设计

本文介绍了数据库设计的基本步骤,包括系统需求分析、概念结构设计、逻辑结构设计、物理设计、实施和运行维护阶段。同时,阐述了数据库设计中的三大范式(第一范式、第二范式和第三范式),并提供了相应的实例解析。此外,提到了BC范式以及数据库设计工具PowerDesigner的作用和功能。
摘要由CSDN通过智能技术生成

一、概述

数据库设计是指更具用户需求研制数据库结构的过程化

Ø  数据库设计步骤

1.系统需求分析阶段

2.概念结构设计阶段

3.逻辑结构设计阶段

4.物理设计阶段

5.数据库实施阶段

6.数据库运行与维护阶段

二、三大范式

Ø  第一范式:要求表的每个字段必须是不可分割的独立单元

用户表

用户名

地址

详细地址

小花

杭州

江干区

XXXXXX

小明

杭州

西湖区

XXXXXX

这种设计就是不符合第一范式的,地址字段必须拆分开来。如下

用户名

详细地址

小花

杭州

江干区

XXXXXX

小明

杭州

西湖区

XXXXXX

Ø  第二范式:在第一范式基础上,要求每张表只表达一种意思。及表的每个字段都和表的主键有依赖。

用户表

用户名

详细地址

订单编号

小花

杭州

江干区

XXXXXX

20160605008CF7

小明

杭州

西湖区

XXXXXX

20160605008CF8

一个表中的非主键都要和主键有关系,但是订单编号明显和主键用户名没有依赖关系,正确的设计应该拆分成两张表。

用户表

用户名

详细地址

小花

杭州

江干区

XXXXXX

小明

杭州

西湖区

XXXXXX

订单表

订单编号

订单名称

20160605008CF7

ACB

20160605008CF8

DDE

Ø  第三范式:在第二范式基础上,要求每张表的主键之外的其他字段都只能和主键有直接的决定依赖关系。

员工表

员工编号[主键]

员工名称

部门编号

部门名称

0341200255

小花

SC0023

销售部

这个表中员工编号是主键,它能决定部门编号,也能确定部门名称,但是部门名称又依赖于部门编号,所以违反了第三范式。应该拆分表!因为违反第三范式就会有数据冗余。

员工表

员工编号[主键]

员工名称

部门编号

0341200255

小花

SC0023

部门表

部门编号

部门名称

SC0023

销售部

Ø  BC范式:bc范式是在第三范式的基础上的一种特殊情况,既每个表中只有一个候选键。是属于第三范式的增强型。

候选键:惟一标识一行数据,其真子集不能是侯选关键字,一个表可以存在多个侯选关键字

员工表

员工编号

员工名称

Email

0341200255

小花

xiaohua@126.com

因为员工编号和Email都是可以唯一标识这张表的,所以都是候选键,但是BC范式规定一个表只能有一个候选键。所以可以拆分成员工表和Email

三、数据库系统设计工具PowerDesigner

         Power Designer Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。他可以与许多流行的软件开发工具,例如PowerBuilderDelphiVB等相配合使开发时间缩短和使系统设计更优化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值