如何定义数据库表之间的关系(2)

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 01:06:37

如何定义数据库表之间的关系(2)
如何定义数据库表之间的关系(2)

如何定义数据库表之间的关系(2)
建立关系在开始着手考虑建立关系表之间的关系之前,你可能需要对数据非常熟悉.只有在熟悉数据之后,关联会比你刚开始的时候更明显.你的数据库系统依赖于在两个数据表中找到的匹配值来建立关系.如果在数据库系统中发现了一个匹配值,系统将从两个数据表中提取数据并创建一个虚拟的记录.例如,你可能想要查看某个特定的作者所写的全部书籍,在本文中,系统将从“books”和“authors”这两个数据表中查找相关的匹配值.需要注意的是,在大多数情况下,查询的结果是动态的,这意味着对这条虚拟记录所做的任何改动都将可能作用到底层的数据表上,这一点是非常重要的.
进行匹配的值都是主键和外键的值.(关系模型不要求一个关系必须对应的使用一个主键来确定.你可以使用数据表中的任何备选关键字来建立关系,但是使用主键是大家都已经接受的标准.)主键(primary key)唯一的识别表中的每个记录.而外键(foreign key)只是简单的将一个数据表中的主键存放在另外一个数据表中.同样地,对于你来说也不需要做太多的工作——只是简单地将主键加到关系表中,并将其定义为外键.
唯一需要注意的是,外键字段的数据类型必须和主键的数据类型相同.但是有些系统可以允许这条规则有一个例外,它允许在数字和自动编号(autonumbering)字段(例如在sql服务器系统中访问identity和autonumber)之间建立关系.此外,外键的值可以是空(null),尽管强烈建议在没有特别原因的情况下,不要让外键为空.你有可能永远都不会有机会来使用需要这项功能的数据库.
现在回到我们的示例关系表,并开始输入合适的外键.(请继续在纸上打草稿——在你的数据库系统中创建真正的数据表还为时过早.要知道在纸上纠正错误要容易得多.)要记住,你正在把主键的值添加到关系表里.只要调用实体之间的关系就行了,而其他的就简单了:
书籍和分类是有关系的.
书籍和出版社是有关系的.
书籍和作者是有关系的.
作者和邮政编码(zip)是有关系的.
邮政编码和城市是有关系的.
城市和州是有关系的.
这一步并不是一成不变的,你可能会发现在规范化的过程中加入外键会更容易一些.在把字段移动到一个新的数据表时,你可能要把这个新数据表的主键添加到原来的数据表里,将其作为外键.但是,在你继续规范化剩余数据的时候,外键常常会发生改变.你会发现在所有这些数据表被全部规范化之后,一次添加所有的外键,这样效率会更高.
操作数据表现在让我们一次操作一个数据表,就从books数据表开始,它在这个时候只有三个字段.

如何定义数据库表之间的关系(2) 如何定义数据库表之间的关系[图]求解 5.2.4如何定义表与表之间的关系 如何定义数据表之间的关系 在access数据库中,表之间的关系一般定义为________. A.一对一 B一对多 C多对多 D 多对一谢谢! 数据库中,三种范式之间的区别,如何判断某个关系属于第几范式? 数据库中两个表之间如何建立关系?如表Students,Reports建立关系History_Student,用SQL语句 数据库的定义是什么? 在ACCESS数据库中,数据表之间的关系是如何建立的,需要建立关系的数据表之间的需要满足什么样的条件? 什么是非关系数据库?非关系数据库如何关联呀? GIS数据库的定义gis数据库就是空间数据库么?最近在复习考研,对一些概念很头疼.比如说:数据,数据库,空间数据,空间数据库,GIS数据库,关系数据库管理系统.大侠们一并给个答案吧.GIS数据库 数据库定义 关系数据库中,表的关系有一对一,一对多和多对多三种关系.下面表之间的关系叙述正确的是( ).(选择二1、 关系数据库中,表的关系有一对一,一对多和多对多三种关系.下面表之间的关系叙 关系数据库与基于层次模型的数据库、基于网状模型的数据库之间有什么差别,这三者各自都有哪些优势,又存在哪些不足.分析为什么现有的大多数数据库都是基于关系模型的. 生成ER图的工具,是根据数据库的什么来确定表之间的对应关系的?但我不是问什么工具,我是想知道他是根据我数据库里面的什么东西来确定表的关系? 关系数据库系统中使用的数据库结构是二维表吗? 简述数据库关系的性质? 请问数据库在创建表的时候如何设计表关系,一对一,一对多,多对多 请高手举例说明.