关系型数据库设计与MySQL服务器安装配置
1. 数据原子性
数据原子性指的是字段中的每条信息应尽可能小,即只包含关于一个项目的数据。以电话号码为例,它看似是一个数据项,但可能包含国家代码、地区代码和号码本身等多个不同的信息。这种多信息的表示方式通常需要输入数字以外的字符,容易在数据库中引入不一致性和错误。
为避免这种情况,可将数据拆分为更小的部分。例如,将电话号码拆分为国家代码、地区代码和号码三个字段,这些字段都只包含整数值,因此可以使用INT类型。虽然这看起来使数据库更复杂了,但从长远来看,能让数据库更健壮,且在很多情况下更有用。比如,可以使用国家代码在数据库中搜索特定国家办公室的科学家。
类似地,Kit表中的supplier_address字段也不是原子的,因为地址通常由建筑物编号/名称、街道名称、城镇/城市、县/州、邮政编码/邮编和国家等多个部分组成。为修正这一点,需要创建六个其他字段并移除supplier_address字段。Scientist表中的name字段也应做类似处理。
确保数据库中每个字段都不能再拆分为更小的部分,就实现了数据的原子性。这是一种让系统中的每条数据尽可能简单的有用方法,简单的事物总是更容易处理。
2. 索引和表链接
2.1 索引的重要性
在设计好原子数据库后,还需要让数据库具有关系性,即建立表之间的链接。在此之前,需要确保每个表都能被高效地单独搜索,这就需要对表进行索引。
索引的作用类似于印刷字典,它为数据提供一种结构和顺序,以便能够搜索并检索正确的信息。在字典中,通过对每个单词的前几个字母按字母顺序排序来检索信息,因为每个单词通常是唯一的
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



