《自己动手设计数据库》第6章 分析现有数据库

来源:互联网 发布:卫生棉有哪些牌子知乎 编辑:程序博客网 时间:2024/06/05 02:53

第6章 分析现有数据库

可能你跟我一样是从0开始建设数据库,可是你一般都是模拟某某网站,那么你可以把你的目标网站作为自己的参考来实践这一章的知识点。

了解现有数据库

这一章主要讲解分析现有的数据库

  • 是否满足当前机构信息要求
  • 发现现有结构缺陷
  • 决定数据库该如何进化,从而满足将来机构信息要求

至于如何得出上述判断结果,可以尝试就下面几个方面做出判断:

  • 机构使用的是哪些类型的数据?
  • 机构如何使用这些数据?
  • 机构如何管理和维护这些数据?

一般机构都是使用以下几类来存储数据的:

  • 纸质数据库(paper-based database,也称为档案系统,file system)
  • 遗留数据库(legacy database)
  • 人类知识库(huamn-knowledge database)

分析当前数据库时首先应谨记以下内容:

切勿将当前数据库结构用作新数据库结构

原始数据库肯定是存在问题的,所以需要重新设计,而设计一个数据库的过程就要严格按照第4章的顺序来,否则新数据库还是存在问题的。


开展分析

具体步骤:

  1. 审核数据收集方式
  2. 复查信息呈现方式
  3. 开展用户和管理人员访谈

其中的每一步都是相关联的,所以请严格执行,否则会造成不必要的错误。


了解(该机构)如何收集数据–(审核数据收集方式)

注意,书上的原标题是“了解如何收集数据”,可是我感觉改成上述形式比较贴切一点,因为你只有知道了你服务的机构是如何收集数据的,才能了解该存储哪些数据。

  1. 审核所有纸质文档,找出其中各个报告的样本。
  2. 评审机构收集数据使用的所有计算机程序,截屏来收集样本。
  3. 检查该机构通过互联网收集数据所用的网页,同样截屏来收集样本。

了解如何呈现信息–(复查信息呈现方式)

这个过程是让你了解该机构是如何利用数据库的信息的,便于我们后面创建视图的,例如,淘宝的购物车,你只有见过购物车的显示页才能知道需要在购物车中显示哪些数据库信息。

最常见的3种呈现方法:

  • 报表(report)
  • 幻灯片(slide show,又名界面演示,screen presentation)
  • 网页(web page)

同样将上述内容转化成样本保存!


展开访谈–(开展用户和管理人员访谈)

展开访谈的原因:

  • 为之前“了解如何收集数据”阶段收集的样本提供详细信息。
  • 提供关于机构使用数据方式的信息。
  • 有助于定义初始字段和表结构。
  • 有助于定义未来信息要求。

基本访谈技巧

  • 问题很重要
  • 采用开放性问题来问主题类问题,采用封闭式问题来问具体细节。

开放性问题:你能说说你的日常工作是什么吗?

然后就其回答的点中你关注的那个问题问封闭式问题:

你希望公司给你安排多久的年假?

  • 确定主题
    确定主题技巧(Subject-Identification Technique):注意回答者的回答中的名词,可能表示一个人,一件事,一个地方或者一个物品,并用你自己的方式把其标注出来,我这里为了便于展示,就拿加粗来显示了。

”作为一名客户代表,我负责10位客户。我的客户都是通过预约来到展厅,了解我们当季提供的产品。我的部分工作是为他们解答产品方面的问题,并根据受欢迎的选项进行推荐。一旦他们决定还将购买的产品,我就为该客户写下销售订单。然后,我将销售订单交给我的助理,由他迅速完成订单并发送给相应客户。

将上面的这些主题找出来之后将他们列在纸上,这就成了你的主题列表(list of subjects)。

  • 确定特征
    确定特征技巧(Character-Identification Technique)如果说上面的一个主题就是一张表的话,那么特征就是该表中的字段了,如上面的“客户”这个主题,那么你就要问需要关注“客户”的哪些信息,电话号码?公司地址?所属部门?这些都是你要去问的!这个时候同样使用你自己能认识的符号标出来,形成特征列表(list of characteristics),注意区分主题列表特征列表
    如果发现回答中出现了新的主题,那么恭喜你,再来探究这个主题特征是什么。
    下面就在与用户管理者的访谈中采用上述技巧!

用户访谈

主要围绕以下四个问题展开:

  1. 用户当前使用的数据类型。
  2. 用户当前如何使用数据。
  3. 前面两个分析环节收集到的样本。
  4. 用户日常工作中要求的信息类型。

这里插一句,注意数据信息的差别!还有,这里我们说的样本,就是指前面收集的报表和截屏。

本部分的重点是完成主题列表与特征列表,并在接下来的步骤中逐步完善这两张表!

评审数据类型和用途

在此开始创建主题列表与特征列表!

这个标题我感觉是英译中时造成的一点失误,因为就书上的例子来看,应该是改为:
根据用户使用数据的方式确定主题与特征比较贴切,具体的原因请看下面的例子:

问:你日常的工作是什么?
答:审核顾客提交的申请表。(主题)
问:你能像绍一下“申请表”这一部分吗?
答:申请表中包含了申请人姓名社保号身份证信息等。(特征)

评审样本

在此完善主题列表和特征列表!就是将新遇到的主题和特征添加进列表

前面我们了解了用户的工作职责与具体工作内容,现在就可以把与之对应的,我们前面收集的样本拿出来与用户讨论,询问用户是如何使用该样品的,也就是弄懂该样品在整体数据库逻辑结构中的作用,并将该样品中的主题进行记录!
如果一个样品中只包含一个主题那么该样品的含义就很简单了,但是如果存在多个主题时,那么就各个主题进行分开询问!

评审信息要求

继续完善主题列表和特征列表!

这部分的作用就是询问用户上面的问题4.

这一讨论的目标是了解个人用户是否会收到不直接受其控制或维护的数据信息、他们需要的附加信息类型,以及他们预测未来需要的信息类型。在之后的设计过程中,将使用这次讨论中收集到的信息,帮助定义及验证字段和表结构。

当前信息要求
前面在评审样本中我们弄懂了样本的逻辑结构作用,这里我们就要对该样品中的字段以及所填写的信息类型进行询问。如一个字段名为“SRP”,就要请用户解释该字段的含义以及其中填写数据的类型,切勿自己猜测。
如果其中部分字段不是用户填写的,那就需要寻找别的用户来解释,直到对整张报表的作用(评审样本中获得)以及其中字段的含义与数据(评审信息要求中获得)十分清楚为止。

附加信息要求
截至到此,我们对原始报表的解答就完成了,但是可能用户希望能改进该报表,添加新的内容或者删除其中觉得多余的内容。
如果用户希望添加新的内容,那么我们就需要找出用户需求中的主题以及特征,判断该主题是否已经存在我们的主题列表中了,接着就是判断该特征,是否已经存在在特征列表中了。

未来信息要求
具体的执行方式与上面的附加信息要求差不多,只是此时的需求是针对未来的,即可有可无的,你可以根据实际情况决定是否要将此主题记录下来。


与管理员访谈

访谈主要围绕下面的问题展开:

  • 管理人员当前接收到的信息类型。
  • 管理人员需要的附加信息类型。
  • 管理人员预计未来所需的信息类型。
  • 管理人员对机构总体信息要求的认知。

其实是换汤不换药,也是为了:
完善主题列表和特征列表
只是与用户身份有所不同,所使用的样品有所不同,具体步骤跟用户访谈差不多。


编辑完整字段列表

初始字段列表

根据与用户访谈以及与管理员访谈这两部分内容,我们已经整理出了主题列表以及特征列表,接下来就是根据这两个列表来创建初始字段列表了。过程如下:

第一步:评审和精简特征列表
  • 精简名称相同的项

有的项的名称相同却代表不同的含义,如“电话号码”,在客户主题中,此项代表的是“客户电话号码”,在用户主题中代表的“用户电话号码”。这时就要将这些名称相同含义却不同的项进行重命名,来为后面的创建字段服务。

  • 精简表示相同特征的项

前面筛选了名称相同的项,接下来就要筛选名称不同,但是代表含义相同的项了,如“产品ID”,“产品编号”,“产品No”,这些项代表的都是同一特征,所以要进行删除到剩下一个。

  • 确保项与特征正确对应

这个标题的意思是,筛选我们列出的所有特征都能作为一个字段被创建到表中去,像有的特征“供货商”,这就不是一个特征,因为“供货商”可以被分为“供货商电话”,“供货商地址”,“供货商供应货物”等,与其说是特征,倒更像一个“主题”,所以为了区分,可以尝试问自己以下问题:

  1. 这个词能用来描述事物吗?
  2. 这个是否表示事物的成分、细节或组成部分?
  3. 这个词是否表示一个集合?
  4. 这个词所指的事物是否可以进行细分?

结合上面的问题你就可以区分这个词表示的是特征还是主题了。

第二步:确认样本中是否含有新特性

这一步是检查分析过程中收集到的所有样本。目标是确认样本中是否有新特征应该添加到初始字段列表中。

具体步骤:
1. 聚焦样本中发现的每一个特征。
2. 检查每一个特征,确认是否已包含在初始字段列表中了,如果有就划去该特征。
3. 研究2中剩下的特征,查看初始字段列表中是否含有含义相同的项,如果有,就删去。
4. 将3中剩下的特征添加到初始字段列表中。

计算字段列表

在完成初始字段列表之后

必须清除所有的计算字段,将他们存入另外的列表中,该列表叫做计算字段列表,在后续设计过程中有特殊用处。

这里列一些敏感的词语,可能是计算字段

  • 数额
  • 总计
  • 合计
  • 平均
  • 最大值
  • 最小值
  • 数量

到此初始字段已经修改过3次了,现在已经含有了3张列表了:

  1. 主题列表
  2. 精简过的特征列表
  3. 计算值列表

接下来在第7章中还会对主题列表进行精简,之后就是创建表了。

0 0
原创粉丝点击