1.了解SQL
1.1.1什么是数据库
- 数据库(datebase)保存有组织的数据的容器----通常是一个文件或一组文件
- 数据库软件:DBMS (数据库管理系统)
- 数据库是通过DMBS创建和操作的容器
- 数据库是保存在硬件设备上的文件
- 你并不是直接访问数据库,你使用的是DBMS,它替你访问数据库
1.1.2表
-
表是一种结构化文件,用来存储某种特定类型的数据——某种特定类型数据的结构化清单
- 存储在表中的数据是一种类型的数据或者一个清单
-
应该创建多个表,每个表都是一个清单
-
数据库中的每一个表都有一个名字,用来标识自己,即唯一标识
- 数据库中没有相同名的表
-
表具有一些特性,它定义了数据在表中如何存储,如
- 存储的位置
- 存储什么样的数据
- 数据如何分解
- 各部分信息如何命名
- 等等
1.1.3模式
描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特点的表以及整个数据库(和表的关系)
有时,模式用作数据库的同义词
但,模式的含义通常在上下文中并不很清晰
1.1.4列和数据类型
列
-
表由列组成。列中存储表中部分信息。
-
列,表中的一个字段。所有表都是有一个或者多个列组成的。
-
每个列都有相应的数据类型,数据类型定义可以存储的数据种类(数据类型)
- 存储的数字,则相应的数据类型为数值类型
- 存储的日期、文本、注释、金额等,则用相应的数据类型规定出来
数据类型
- 数据类型是可容纳的数据的类型,每个表的列都有相应的数据类型,限制在某列中存储的数据
- 数据类型可存储在列中的数据种类
- 数据类型帮助正确的排序数据,并优化磁盘使用方面起重要作业
- 创建表时,必须对数据类型给与特别的关注
1.1.5行
如果将数据库的表想象成一个网格,网格中垂直的列为表列,水平行为表行
- 表的数据是按行进行存储的,保存的每个记录存储在自己的行内。
- 行和数据库记录的关系,这两个术语是可以相互替代的但是从技术上,行才是正确的术语
1.1.6主键
-
表中的每一行都应该有标识自己的一列(或者一组列)
-
主键 (primary key)一列或者一组列,它的值能区别表中每个行
-
唯一标识中每个行的这个列称为主键。主键用来表示一个特定的行
-
数据库设计人员应该保证每个表都有一个主键,为了以后数据库操作以及管理
-
表中任何列都可以是主键,只要满足
- 任意两行都不具有相同的主键值
- 每行都必须具有一个主键值(且不能为null)
-
主键通常定义在表的一列上,也可以使用多个列作为主键,
- 使用多列作为主键时,上面的条件必须做到构成主键的所有列,所有列值的组合必须唯一(单列值可以不唯一)
-
主键的习惯
- 不更新主键列的值
- 不重用主键列的值
- 不在主键列中使用会更改的值
1.2什么是sql
-
sql:结构化查询语言(Structured Query Language)的缩写
-
sql是专于用于与数据库通信的语言
-
设计sql的目的是很好的完成一项任务,即提供一种从数据库中读写数据的简单有效的方法
-
优点
- 重要的DMBS都支持SQL
- 简单易学
- 强有力的语言,可以进行复杂和高级的数据库操作