第 1 章 数据库和 SQL
数据库是什么
数据库的结构
SQL概要
表的创建
表的删除和更新
本章重点
本章介绍了数据库的结构和基本理论,以及数据库的实际应用。大家可以学习到如何对关系数据库中用来存储数据的表进行创建、更新和删除操作,同时还能掌握关系数据库专用的 SQL 语句的书写方法和规则。
1-1 数据库是什么
- 我们身边的数据库
- 为什么 DBMS 那么重要
- DBMS 的种类
1-2 数据库的结构 - RDBMS 的常见系统结构
- 表的结构
1-3 SQL 概要 - 标准 SQL
- SQL 语句及其种类
- SQL 的基本书写规则
1-4 表的创建 - 表的内容的创建
- 数据库的创建(CREATE DATABASE语句)
- 表的创建(CREATE TABLE语句)
- 命名规则
- 数据类型的指定
- 约束的设置
1-5 表的删除和更新 - 表的删除(DROP TABLE语句)
- 表定义的更新(ALTER TABLE语句)
- 向 Product表中插入数据
1-1 数据库是什么
学习重点
- 数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。
- 用来管理数据库的计算机系统称为数据库管理系统(DBMS)。
- 通过使用DBMS,多个用户便可安全、简单地操作大量数据。
- 数据库有很多种类,本书将介绍如何使用专门的SQL语言来操作关系数据库。
- 关系数据库通过关系数据库管理系统(RDBMS)进行管理。
我们身边的数据库
大家都有过下面这样的经历吧?
- 在生日的前一个月,收到曾入住过的旅店或宾馆发来的“生日当月入住优惠”的短信。
- 在网上商城购物之后,商品浏览页面就会出现相似的商品推荐出来。
- 抖音或快手推送的视频跟自己收藏过的视频相似。
这可能是因为旅店、商城或媒体的经营者掌握了顾客的生日、购买历史或者个人爱好等信息,并且拥有能够从大量汇总信息中快速获取所需信息(比如你的住址或爱好)的设备(计算机系统)。如果利用人工完成同样的工作,真不知道要多长时间呢。
另外,现在所有地区的图书馆都配备了计算机,实现了图书的自动查询。使用该系统,可以通过检索书名或出版年份快速查找出希望借阅的图书的所在位置,以及是否已经借出等信息。正是因为拥有了可以保存图书名称、出版年份以及保管位置和外借情况等信息,并且可以按需查询的设备,才使这一切成为可能。
像这样将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合称为数据库(Database,DB)。将姓名、住址、电话号码、邮箱地址、爱好和家庭构成等数据保存到数据库中,就可以随时迅速获取想要的信息了。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)1。
1数据库(DB)和 DBMS 经常被混淆。为了加以区别,本书将数据库管理系统统称为 DBMS。
Keyword
- 数据
- 数据库(DB)
- 数据库管理系统(DBMS)
系统的使用者通常无法直接接触到数据库。因此,在使用系统的时候往往意识不到数据库的存在。其实大到银行账户的管理,小到手机的电话簿,可以说社会的所有系统中都有数据库的身影(图 1-1)。
图1-1 数据库无处不在为什么 DBMS 那么重要
那么,为什么要使用专用系统(DBMS)来管理数据呢?我们通过计算机管理数据的时候,通常使用文本文件 2 或者 Excel 那样的电子制表软件就可以完成了,非常简单。
2保存只通过文字记录的数据的文件。
确实,通过文本文件或者电子制表软件来管理数据的方法非常简便,但也有不足。下面就举几个有代表性的例子。
-
无法多人共享数据
保存在已连接网络的计算机中的文件,可以通过共享设定实现多个用户在线阅读或编辑。但是,当某个用户打开该文件的时候,其他用户就无法进行编辑了。如果是网上商城的话,当某个用户购买商品的时候,其他用户就无法购买了。 -
无法提供操作大量数据所需的格式
要想瞬间从几十万或者上百万的数据中获取想要的数据,必须把数据保存为适当的格式,但是文本文件和 Excel 工作表等无法提供相应的格式。 -
实现读写自动化需要编程能力
通过编写计算机程序(以下简称程序)可以实现数据读取和编辑自动化,但这必须以了解数据结构为前提,还需具备一定的计算机编程技术。 -
无法应对突发事故
当文件被误删、硬盘出现故障等导致无法读取的时候,可能会造成重要数据丢失,同时数据还可能被他人轻易读取或窃用。
DBMS 可以克服这些不足,实现多个用户同时安全简单地操作大量数据(图 1-2)。这也是我们一定要使用 DBMS 的原因。
DBMS 的种类
DBMS 主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下 5 种类型。
-
层次数据库(Hierarchical Database,HDB)
最古老的数据库之一,它把数据通过层次结构(树形结构)的方式表现出来。层次数据库曾经是数据库的主流,但随着关系数据库的出现和普及,现在已经很少使用了。 -
关系数据库 (Relational Database,RDB)
关系数据库是现在应用最广泛的数据库。关系数据库在 1969 年诞生,可谓历史悠久。和 Excel 工作表一样,它也采用由行和列组成的二维表来管理数据,所以简单易懂(表 1-1)。同时,它还使用专门的 SQL(Structured Query Language,结构化查询语言)对数据进行操作。
KEYWORD
- 层次数据库
- 关系数据库
- SQL
表1-1 关系数据库中的数据
商品编号 商品名称 商品种类 销售单价 进货单价 登记日期
0001 T 恤衫 衣服 1000 500 2009-09-20
0002 打孔器 办公用品 500 320 2009-09-11
0003 运动 T 恤 衣服 4000 2800
0004 菜刀 厨房用具 3000 2800 2009-09-20
0005 高压锅 厨房用具 6800 5000 2009-01-15
0006 叉子 厨房用具 500 2009-09-20
0007 擦菜板 厨房用具 880 790 2008-04-28
0008 圆珠笔 办公用品 100 2009-11-11