《自己动手设计数据库》第9章 字段说明
来源:互联网 发布:淘宝客服销售案例 编辑:程序博客网 时间:2024/06/05 08:55
第9章 字段说明
字段说明为何重要
- 字段说明有助于建立和执行字段级完整性
- 为每个字段定义字段说明能提升整体数据完整性
- 定义字段说明能获得对数据的性质和用途的完整认识
- 字段说明构成数据库的“数据字典”
字段级完整性
整套字段说明定义完成后,字段就能达到字段级完整性,它能保证以下方面:
- 字段特性和用途说明,它所出现的表都得到正确识别
- 整个数据库中字段定义一致
- 字段的值一致且有效
- 修改、比较和操作字段值所运用的方法有了明确界定
书上说反正都要再去看一遍字段,那就再来对照一下理想字段,出问题的话再改。
字段说明之剖析
字段说明包含定义每种字段属性的各个元素。字段说明中所有元素一般分为一般元素,物理元素和逻辑元素。这些元素分类在定义说明时,有助于集合于字段的某个具体方面,也能提供一种轻易就能找到特定要素的方式。
一般元素 (general elements)
此类元素类别下的项表示字段的最基本属性。
- 字段名称(field name)
- 父表(parent table)
注意,包含该字段的表即为父表,但是不包含关系表。
- 标签(label)
只是起一个说明作用的,所以看你是记录该字段的简写还是全称了
- 说明类型(specification type)
有3中说明类型:独特、通用、可复制,具体内容下面会有详细解释。
- 源说明(sorce specification)
仅用于上面的可复制说明类型使用,它显示了该可复制说明类型所基于源字段的名称。
- 共享(shared by)
这一元素显示了其他共享这一段的表名称。注意,同样关系表不包含在内。
- 别名(alias)
学过sql的人应该都使用过别名,as。
- 描述(description)
描述是对该字段的完整解读。编辑字段描述能让人收益匪浅,因为它让你认真思考将存储在该字段中数据的性质。如果无法编写出合适的描述,就能相对准确的认定该字段需要进一步改善。
编写字段说明的指南:
- 准确描述该字段,阐明其用途
- 陈述简明扼要
- 避免重申或改述使用字段名称
- 避免使用专业术语、缩略词或缩写
- 切勿包含具体实施信息
- 此描述不依赖于另一字段描述
- 切勿使用示例
物理元素(physical elements)
此类元素与字段结构有关。
- 数据类型(data type)
指定sql中的一种数据类型。
- 长度(length)
在设置完数据类型之后就要设置该类型下数据的长度。
- 小数位(decimal places)
对于数据类型为demical的字段,需要设置小数点后多少位
- 字符支持(character support)
字符类型有很多,一般情况下使用UTF-8。
- 输入掩码(input mask)
没用过。
- 显示格式(display format)
控制字符的显示格式, 如时间可以是2016.10.26,也可以是2016-10-26,具体怎么设置只在应用程序层实现,没试过在数据库中指定过。
逻辑元素(logical elements)
这一类元素主要与字段中的值有关。
- 键类型(key type)
主键、替换键、非键中的一种。
- 键结构(key structure)
对主键使用,指明该主键是单字段还是复合主键中的一部分。
- 单值性(uniquenss)
表明该条记录的值是否是唯一的,如果是唯一的标为”unique”,否则为”non-unique”,主键一定是”unique”。
- null支持(null support)
这一元素指明一个字段是否接受null值。
- 值的输入者(values entered by)
是“用户手动输入”,还是“数据库自增”,甚至是“数据库设置了默认值”等。
- 要求值(required value)
这一元素指明是否要求用户为该字段输入值。
- 默认值(default value)
字面意思,就是为一个字段设置一个默认值。
- 值的范围(range of values)
值得范围有以下3种类别:
- 编辑规则(edit rule)
这一元素指明用户何时可以向字段输入值以及是否可以修改值,它可以设置为以下4种选项。
这里的立即输入表示在插入记录时,一定要输入该字段的内容
- 允许的比较(comparisons allowed)
这一元素指明用户检索某字段信息时,可以对该字段值运用的比较类型。比较类型有以下6种:大于,大于等于,小于,小于等于,恒等于,不等于。
- 允许的运算(operation allowed)
这一元素指定用户可对该字段值进行的运算类型。运算类型分5种:加、减、乘、除、字段的组合。
使用独特、通用和可复制的字段说明
本来书上的内容很多,我这里精简成下面这些。
这里先给出这3种字段说明的定义:
独特
在整个数据库中仅出现一次的字段或主键可使用独特字段说明。
说句人话就是除了验证表、关联表中的字段外,其余字段基本上都是独特的,如员工表(EMPLOYEES)中的员工姓名字段(EmpName),在别的表中即使需要记录员工的信息,也是会记录员工编号(EmpID)而非员工名字的,所以员工姓名字段一般只出现在员工表中。
通用
在整个数据库中作为其他字段模板的字段可使用通用字段说明。
考虑一下验证表中的字段,就可以理解该定义了。
可复制
首先,可复制的字段说明是包含在通用字段说明中的,因为可复制表示该字段是作为别的字段的模板的,但是一般情况下,特指关联表中的字段。
- 《自己动手设计数据库》第9章 字段说明
- 《自己动手设计数据库》第8章 键
- 《自己动手设计数据库》第12章 视图
- 《自己动手设计数据库》第7章 设计表结构
- 《自己动手设计数据库》第6章 分析现有数据库
- 《自己动手设计数据库》第4章 概念性概述
- 《自己动手设计数据库》第5章 大幕开启
- 《自己动手设计数据库》第10章 建立关系特性
- 《自己动手设计数据库》第13章 评审数据完整性
- 《自己动手设计数据库》第11章 定义和建立业务规则
- MMS数据库字段说明
- dede数据库字段说明
- SQL数据库字段类型说明
- SQL数据库字段类型说明
- SQL数据库字段数据类型说明
- 《自己动手设计数据库》第一部分摘录
- 数据库字段设计经验谈
- 数据库字段长度设计
- runtime最清晰最简单的理解
- Android 自定义View-怎么绘制居中文本?
- 【C++】【啊哈!算法】Dijkstra算法
- linux下安装redis服务和php扩展redis
- Centos7 常用操作
- 《自己动手设计数据库》第9章 字段说明
- Qt model/View
- Android onInterceptTouchEvent与onTouchEvent调用关系
- xcode 真机调试报错(一)
- 单例模式-Singleton Pattern 确保对象的唯一性——单例模式 (二):负载均衡器的设计与实现
- 数据结构--基本排序算法(js版)
- Mantle--国外程序员最常用的iOS模型&字典转换框架
- RKSwipeBetweenViewControllers
- android 使用到的各种工具类