日期:2014-05-16  浏览次数:20629 次

Scrapy爬虫笔记【6-连接数据库(一)】

数据库基本概念简介

MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:

  • 表头(header): 每一列的名称;
  • 列(row): 具有相同数据类型的数据的集合;
  • 行(col): 每一行用来描述某个人/物的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 表中用来识别某个特定的人\物的方法, 键的值在当前列中具有唯一性。

                就是数据表中的列或者列的组合。
主键          表中可以唯一确定本表中某行记录的列或者列的组合。
                  例如或者身份证号码唯一确定一个人;用户ID+发票号码唯一确认某次交易。
外键          表中的某列或者某些列的组合是其他表的主键。
                  其作用是为了建立和其他表的关联关系。
连接          将几个个有关联的表(其中一个表的主键是其他表的外键)建立连接关系,形成一个临时表以供它用。
                  建立连接的主键/外键是建立连接的依据。
内连接    将进行连接的表以建立连接的依据为中心,将这些表取交集,交集就是内连接的结果。
                  作用就是找出在两张表中都有的记录。
外连接    连接的动作和内连接一样,结果不同。将表进行交集之后,取交集中的记录以及某表中除交集之外的所有记录。包括左连接和右连接。
                  例如A表左连接B表,实际上就是取交集在B表中所有字段的值+A表内容。
自连接    连接动作同上,只不过是在一张表中进行。
                  这样的情况适用于表中的2个字段互相有关联,并且要对这种关联进行处理时。

首先看看各种键的定义:

超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键

候选键(candidate key):不含有多余属性的超键称为候选键

主键(primary key):用户选作元组标识的一个候选键程序主键

外键(foreign key)如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。


结合实例的具体解释:

假设有如下两个表:

学生(学号,姓名,性别,身份证号,教师编号)

教师(教师编号,姓名,工资)

超键: