Chapter 1. 数据库概述主键外键

Posted 庚xiao午

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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、        更新异常,删除异常

解决数据冗余的问题:

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

外键:

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

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

 

 

以上是关于Chapter 1. 数据库概述主键外键的主要内容,如果未能解决你的问题,请参考以下文章

主键外键和子查询

数据库主键外键

sql新建数据库表,及主键外键

数据库—超键候选键主键外键

主键外键

主键外键和索引的区别?