Chapter 1. 数据库(介绍、主键、外键)

数据库 database:

存储数据的仓库,用表来分类数据

特点:海量存储;查找速度快;并发性问题的控制;安全性;数据完整性(保存在数据库中的数据是正确的真实的)

数据库软件:DBSM   database management system

常见数据库软件:MySQL  MSSQL server  Oracle  Access  

SQL:Structured Query Language 结构化查询语言   特点:语言简洁、易学易用。

SQL Server:是一种基于网络的大型数据库软件。主要用SQL语言来管理、修改数据库

数据库的文件组成:

.mdf 主要文件

.ndf 次要文件

.ldf 日志文件

 

主键 primary key

作用:唯一标识表中的一条记录

特点:不能重复;不能为空(null)

分类:

(根据储存的信息不同)业务主键;逻辑主键

(列数不同)单列主键;多列主键(组合主键、联合主键、复合主键)

选择:

不为空的列;

与实际业务没有关系的列(逻辑主键);

稳定的列(列中保存的数据不经常变化);

最好是单列;

尽量选择数字类型作为主键

注意:

1、        一个表中只能有一个主键,当建立主键后,默认会建立索引,而实际数据在磁盘上存储的顺序和主键列的顺序是一致的,因为实际的物理顺序只能有一种,所以一个表中只能有一个主键。

2、        创建完一个表后,可以不设主键,但是建议每张表都有一个主键。

 

外键 foreign key

数据冗余的问题:

1、        造成存储空间的浪费

2、        更新异常,删除异常

解决数据冗余的问题:

把原来表中的数据拆分成多个表来存储。使用主键和外键把多个表的数据关联起来。

外键:

当把数据拆分成两张表来存储的时候,每个表都有自己的主键。其中一张表中,除了主键外,又多了一列,这列用来引用另外一张表中的主键,那么这列就是第一张表的“外键列”,有外键列的表就叫做“外键表”,相对来说,主键被引用的那张表就叫做“主键表”。

因为外键列中引用的是另外一张表中的主键列的数据,所以外键列中的数据是不能随便写的,必须是在另外一张表中的主键列中已经存在的数据。 

 

 

posted @ 2016-06-06 22:02  庚xiao午  阅读(311)  评论(0编辑  收藏  举报