下载此文档

MySQL创建关联表.doc


文档分类:IT计算机 | 页数:约2页 举报非法文档有奖
1/2
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/2 下载此文档
文档列表 文档介绍
: .
深度解析MySQL创建关联表
•摘要:MySQL数据库中通过使用外键(foreign key)保障了参照完整 性 (Referentialintegrity),使任何与不存在记录的关联将变得无效化,从而提供更为准确和 实用的数据库。
MySQL创建关联表让我们的数据库更为准确和实用,提到 MySQL创建关联表,就不能不
提到参照完整性的概念。
参照完整性(Referentialintegrity)是数据库设计中一个重要的概念。在系统不同的列表中,当 数据库所有参照合法或非合法关联时 都会涉及到参照完整性。当参照完整性存在时,任何
与不存在记录的关联将变得无效化, 由此可防止用户出现各种错误, 从而提供更为准确和实
用的数据库。
参照完整性通常通过外键 (foreign key)的使用而被广泛应用。长久以来,流行工具开源
RDBMSMySQL并没有支持外键,原因是这种支持将会降低 RDBMS的速度和性能。然而,
由于很多用户对参照完整性的优点倍感兴趣, 最近MySQL的不同版本都通过新InnoDB列
表引擎支持外键。由此,在数据库组成的列表中保持参照完整性将变得非 常简单。
为了建立两个 MySQL表之间的一个外键关系, MySQL创建关联表必须满足以下三种情况:
*两个表必须是InnoDB表类型。
*使用在外键关系的域必须为索引型 (Index)。
*使用在外键关系的域必须与数据类型相似。
例子是理解以上要点的最好方法,新建一个 parts的表,cpu字段用来存放所有的 cpu配件
型号,再新建一个pc的表,其中的cpumodel字段用来存放pc机中的cpu型号,显然,cpumodel 字段中的所有记录应该存在于 parts表中。
1 mysql> create table parts(
2 -> cpu char(20) n ot null,
? -> in dex(cpu)
4 -> )engine=inno db;
、 Query OK, 0 rows affected ( sec)
6
mysql> create table pc(
-> cpumodel char(20) not nu II,
? -> in dex(cpumodel),
工 -> foreig n key(cpumodel) references parts(cpu)
二-> )engine=innodb;
二 Query OK, 0 rows affected ( sec)
13
注意:对于非InnoDB表,FOREIGN KEY 语句将被忽略。对 parts表添加数据1,2,3,接 着对pc表进行测试,满足条件的 1可以顺利insert进去,而不符合条件的字符 5在insert 表的时候,出现外键约束性错误,这正是我们想要的结果
mysql> in sert into parts values

MySQL创建关联表 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息