数据库设计 Step by Step (1)读书笔记

1.数据库设计为什么很重要?

 

   数据库设计就像是建房子画的图纸之一,如果不在最初就设计好,而是等到间房子的时候再  发现数据库设计不合理,这个时候的代价要远大于在设计时就设计合理;

举例几个数据库不良设计造成的场景:

a. 数据一致性的丧失

  一个订单管理系统,维护着客户和客户下的订单信息。使用该系统的用户在接到客户修改收货地址的电话后,在系统的客户信息页面把该客户的收货地址进行了修改,但原先该客户的订单还是送错了地址。

b. 数据完整性的丧失

  公司战略转移,准备撤出某地区。系统操作人员顺手把该地区的配置信息在系统中进行删除,系统提示删除成功。随后问题就来了,客服人员发现该地区的历史订单页面一打开就出错。

c. 性能的丧失

  一个库存管理系统,仓库管理员使用该系统记录每一笔进出货情况,并能查看当前各货物的库存情况。在系统运行几个月后,仓库管理员发现打开当前库存页面变得非常慢,而且整个趋势是越来越慢。

上面这些场景都是由于数据库设计不当造成的,根源包括:设计时引入了冗余字段,没有设计合理的约束,对性能没有进行充足设计等,上面的例子也只是沧海一粟。

2.平台无关,设计是核心

 

  内容略。

原文是“

在我们一头扎进数据库设计之前,我们先了解一下除了关系型数据库之外的数据存储方式。”

看到这里我觉得有点失笑,自己从学校学的存储就是数据库和XML,XML用的非常少,几乎每次都是用的sqlserver,所以自己平常建项目用的存储方式都是sqlserver。感觉就是脑子里只剩下“sqlserver”这种方式了,不管它是几百条数据还是一万条数据,这就是思维僵化的一种表现形式吧,

关系型数据库之外的数据存储方式:

一:*.txt和*.ini

适用场景:存放小量,修改不频繁,如:配置信息。

Windows注册表

Excel表格

适用场景:适合存放数据量不大,具有层次性结构的数据,如属性配置信息。

XML

自描述的(所用的标记描述了数据的结构和类型,尽管缺乏语义

同样它也有缺点,例如,它是冗余的,由于要对它进行解析和文本转换,所以数据访问速度较慢。

NO-SQL数据库

 

 

一:数据库设计对于软件成败的关键作用;

二:本课程与数据库无关,核心是设计理念;

三:各种数据存储所应用的场景。

..
原文地址:https://www.cnblogs.com/lanyueer/p/1997933.html