日期:2014-05-16 浏览次数:20644 次
MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:
键 就是数据表中的列或者列的组合。
主键 表中可以唯一确定本表中某行记录的列或者列的组合。
例如或者身份证号码唯一确定一个人;用户ID+发票号码唯一确认某次交易。
外键 表中的某列或者某些列的组合是其他表的主键。
其作用是为了建立和其他表的关联关系。
连接 将几个个有关联的表(其中一个表的主键是其他表的外键)建立连接关系,形成一个临时表以供它用。
建立连接的主键/外键是建立连接的依据。
内连接 将进行连接的表以建立连接的依据为中心,将这些表取交集,交集就是内连接的结果。
作用就是找出在两张表中都有的记录。
外连接 连接的动作和内连接一样,结果不同。将表进行交集之后,取交集中的记录以及某表中除交集之外的所有记录。包括左连接和右连接。
例如A表左连接B表,实际上就是取交集在B表中所有字段的值+A表内容。
自连接 连接动作同上,只不过是在一张表中进行。
这样的情况适用于表中的2个字段互相有关联,并且要对这种关联进行处理时。
首先看看各种键的定义:
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
外键(foreign key)如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。
结合实例的具体解释:
假设有如下两个表:
学生(学号,姓名,性别,身份证号,教师编号)
教师(教师编号,姓名,工资)
超键: