数据库设计(有实例) - Go语言中文社区

数据库设计(有实例)


1.概念

数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS(数据库管理系统),为这个业务系统构造出最优的数据存储模型。并建立数据库中的表结构以及表与表之间的关联关系的过程。使之能有效的对应用系统中的数据进行存储,并可以高效的对已存储的数据进行访问。

关系型数据库系统:MySQL;Oracle;SQLServer;PgSql

NoSQL系统:Mongo;Memcache;Redis

好的数据库:减少数据冗余;避免数据维护异常;节约存储结构;高效的访问


2.数据库设计的步骤:

  • 需求分析(数据是什么;数据具有哪些属性;数据与属性的特点是什么)
  • 逻辑分析(使用ER图对数据库进行逻辑建模,不需要考虑我们所选用的数据库管理系统)
  • 物理设计(根据数据库自身的特点把逻辑设计转换为物理设计)
  • 维护设计(1.对新的需求进行建表;2.索引优化;3.大表拆分)
2.1需求分析

了解系统中需要存储的数据;了解数据的存储特点;了解数据的生命周期

需要清楚的问题:

A.实体对实体之间的关系(1对1;1对多;多对多)

B.实体所包含的属性有什么

C.那些属性或属性的组合可以唯一标识一个实体



实例演示:

以一个小型的电子商务网站为例,在这个电子商务网站的系统中包括了几个核心模块:用户模块,商品模块,订单模块,购物车模块,供应商模块。

  • 用户模块:用于记录注册用户信息

包括属性:用户名,密码,电话,邮箱,身份证号,地址,姓名,昵称.....

可唯一标识属性:用户名,身份证号,电话

存储特点:随系统上线时间的增长,需要永久存储

  • 商品模块:用于记录网站中说销售的商品信息

包括属性:商品编码,商品名称,商品描述,商品品类,供货商名称,重量,有效期,价格......

可唯一标识属性:商品编码,(商品名称,供货商名称)

存储特点:对于下线商品可以归档存储(不能直接删除,可能跟订单有关)

  • 订单模块:用于用户订购商品的信息

包括属性:订单号,用户姓名,用户电话,收货地址,商品编号,商品名称,数量,价格,订单状态,支付状态.....

可唯一标识属性:订单号

存储特点:永久存储(分表,分库存储)

  • 购物车模块:用于保存用户购物时选的商品
包括属性:用户名,商品编号,商品名称,商品价格,加入时间,商品数量......

可唯一标识属性:(用户名,商品编号,加入时间),购物车编号

存储特点:不用永久存储(设置归档,清理规则)

  • 供应商模块:用于保存供应商信息

包括属性:供应商编号,供应商名称,联系人,电话,营业执照,供应商品.....

可唯一标识属性:供应商编号,营业执照

存储特点:永久存储




ER图

逻辑设计:

1.将需求转化为数据库的逻辑模型

2.通过ER图的形式对逻辑模型进行展示

3.同所选用的具体的DBMS系统无关


常用的DBMS系统:

商业数据库:Oracle;SQLServer------->两种数据库适用于企业级项目

开源数据库:MySQL;PgSQL---------->两种数据库适用于互联网项目






版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/moll_77/article/details/78697672
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-19 01:14:26
  • 阅读 ( 1070 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢