欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

《MySQL必知必会》学习心得7/18

程序员文章站 2022-10-19 23:22:36
《MySQL必知必会》学习心得7/18。 1 数据库基础 1.1 数据库(database) 是一个以某种有组织的方式存储的数据集合。相当于一个文件柜,是一个存放数据的物理位...

《MySQL必知必会》学习心得7/18。

1 数据库基础

1.1 数据库(database)

是一个以某种有组织的方式存储的数据集合。相当于一个文件柜,是一个存放数据的物理位置,而不用管数据是什么以及如何组成的。

1.2 区分数据库和数据库软件。

不能用数据库这一术语代替数据库软件,通常使用的数据库软件成为DBMS(数据库管理系统,数据库是通过DBMS创建和操纵的容器。数据库可以是保存在硬设备上的文件,但也可以不是。在很大程度上说,数据库究竟是文件还是别的什么东西并不重要,因为我们并不直接访问数据库;如果使用的是DBMS,它替我们访问数据库。

1.3 表(table)

是某种特定类型数据的结构化清单。当我们向文件柜存放资料时需要在文件柜中创建文件,然后将对应资料放进去。而这种文件就是表。表可以保存顾客清单、产品目录或者其他信息清单。

关键的一点在于一个表中的数据类型是同一的,比如不能将顾客的清单和订单的清单放在同一个表中,应分两个表存放。

每一个表都有唯一的名字用来标识自己。

1.4 模式(schema)

关于数据库和表的布局及特性的信息。用来描述表的信息就是模式,模式用来描述数据库中特定的表以及整个数据库。

1.5 列(column)

是表中的一个字段。所有的表都是由一个或多个列组成。

数据库中每个列都有相应的数据类型,数据类型定义列可以存储的数据种类。数据类型限制可存储在列中的数据种类,还帮助正确地排序数据,并在优化磁盘使用方面起重要的作用。

我们将数据库理解为一个网格,网格中的每一列存有特定的信息。比如在顾客表中,一列存顾客编号,另一列存顾客名,而地址、城市、州及邮政编码都存在各自的列中。

分解数据 :正确地将数据分解为多个列极为重要。例如,城市、州、邮政编码应该总是独立的列。通过把它分解开,才有可能利用特定的列对数据进行排序和过滤(如,找出特定州或特定城市的所有顾客)。如果城市和州组合在一个列中,则按州进行排序或过滤会很困难。

1.6 行(row)≈ 数据库记录(record)

是表中的一个记录,表中的数据是按行存储的,所保存的每个记录存储在自己的行内。例如,顾客表可以每行存储一个顾客。表中的行数为记录的总数。

1.7 主键(primary key)

是唯一标识表中每行的这个列(或组列),用来表示一个特定的行。没有主键,更新或删除表中特定行很困难,因为没有安
全的方法保证只涉及相关的行。

表中任何列都能成为主键,需要满足两点条件:

(1)任意两列不具有相同的主键值

(2)每个行必须具备一个主键值(不能为NULL)

几个好习惯:

(1)不更新主键列中的值

(2)不重用主键列的值

(3)不在主键列中使用可能会更改的值

2 关于SQL

SQL(Structured Query Language)是结构化查询语句的缩写,是一种专门用来与数据库通信的语言。

SQL不同于其他语言,其由很少的词构成。设计SQL的目的是很好地完成一项任务,即提供一种从数据库中读写数据的简单有效的方法。