当前位置:   article > 正文

数据库设计(三大范式,设计工具)_数据库设计工具

数据库设计工具

数据库设计(三大范式,设计工具)

数据库设计:

1 数据库设计PowerDesigner&三大范式
2 命名风格、主键选择、外键、存储过程
3 数据库事务和数据库锁
4 触发器、游标、视图、自定义函数
5 字段类型、字段可空、统计字段、逻辑删除

1. 数据库设计的重要性

要谈数据库性能—直接和数据库设计挂钩;

如果不合理-----后续的开发,升级的时候,完全去开不下去;

关系型数据库:存储信息+描述关系;

2. 开发工具

PowerDigner+Microsoft SQL Server Management Studio 18 2012以上;

PowerDesigner工具下载:

链接:https://pan.baidu.com/s/1h2K4iKk0zDWNQUFuUKPbGA

提取码:zx40

3. 设计

  1. 需求分析,明白需要存储什么

  2. 大概设计阶段-----E-R图,解决多方沟通问题

  3. 详细设计----精确到每一个字段

4. 关系

表和表之间的关系

  1. 一对一:一个—身份证,一夫一妻,数据表垂直切分:相同的主外键

  2. 一对多:订单—多个商品; 省----市,国家—公民; 主外键来体现

  3. 多对多:学员----课程,家长—子女 ,用户–菜单 一般情况下:中间表/关系表

5. 数据库三大范式

范式:建议、不是说绝对的要遵循

a. 第一范式:

一范式:每一个列都保持原子性,不可分割;

从表字段的角度来说讲:用户----多个电话:座机、手机号码1、手机号码2

UserInfo-----Detail(JSON格式的字符串----这个用户的所有信息)------查询快—更新慢

从字段的角度来谈单一职责,一个列只存储一个信息—可以来3个字段

优点:更新的时候快,查询也不影响

缺点:部分场景更新成本比较高

b.第二范式:

二范式:在第一范式的基础上,每一列和主键相关; 要求要有主键

Class–班级 一个列存储班级,一个列存储学生

Student —学生,

【不推荐】 都存储一个表,一个字段表示班级,另一个字段表示学员;

推荐使用多个表来存储,学员一个表,班级一个表;主外键的关系来关联;

从每一条记录(对象)的角度来谈单一职责;

c.第三范式:

三范式:每一列的跟主键直接相关,而不是简介相关

公司—用户

CompanyInfo

UserInfo ----UserId,UserName,CompanyInfoId,CompanyName(冗余字段)

冗余字段:查询很便捷(查询到用户就能知道是哪个公司),更新不方便(定时作业,更新时候去维护冗余字段);

在违反这个三大范式的时候回带来方便;主要根据项目的实际情况;

6. 设计工具

1.PowerDesigner

2.Workbench

3.Datablau Data Modeler

PowerDesigner可以直接生成sql语句,也可以从数据库生成一个E-R

7. 设计习惯

a. 命名

尽量做到首字母大写,(帕斯卡命名规范/驼峰规则) 推荐帕斯卡,下划线

坚决抵制:中文,提倡使用英文单词,抵制汉语品拼音

b. 主键

建议大家只是用来做为一个数据的标识,尽量不要让主键具有具体的业务含义;(int/bigint类型)默认带有聚集索引;主键查询效率很高;建议尽量让计算机生成;按照规则生成

自增主键:数据库自动生成,int/bigint,Sqlserver默认聚集索引(最快的),int主键Id一旦生成不能再次修改;

电商系统—订单–订单主键Id—int/bigInt自增Id,用户在查看订单的时候,就可以看到Id,容易泄露一些商业机密;容易让竞争对手获取订单数量;

问题:

  • 迁移,主键Id不好维护

  • 容易泄露信息

优势:查询性能高,存储占用空间少

c. 联合主键:多个字段组合起来确定数据唯一(不推荐)
d. Guid:全球唯一,插入数据库也可以设置成系统自动升,也可以自己生成;

优势:数据迁移方便;没有聚集索引(查询效率会比较低)

劣势:(查询效率会比较低),存储空间占据也会大一些

e. 外键:描述数据关系+约束

严格约定数据的关系,级联删除,级联更新,导入数据的时候也很麻烦;

建议:如果系统要求严格数据,可以使用外键;

也可以通过程序来约束;虚拟外键;不是通过数据库来完成数据的约束

合理使用,建议大家不要使用;大型系统架构,数据本来就是性能的第一瓶颈,尽量少让数据库做事儿;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/796328
推荐阅读
相关标签
  

闽ICP备14008679号