(2) 数据库概论和 MySQL 安装
最后更新于:2022-04-01 23:39:43
**目录**
[TOC]
# 1、存储与管理资料
储存与管理资料一直是资讯应用上最基本、也是最常见的技术。在还没有使用电脑来管理你的资料时,你可能会使用这样的方式来保存世界上所有的国家资料:

这样的作法在生活中是很常见的,例如亲友的通讯录,你可能也会使用一张卡片来记录一个亲友的通讯资料,上面有名字、电话、住址,与所有你想要保存的资料。这种保存资料的方式很直接,也很省钱。不过你应该会遇到这样的问题:

如果你买了一台电脑,电脑中也安装了一种工作表的软体,像这类国家或是亲友通讯录的资料,可能就会用这样的方式把它们储存在电脑里面:

使用这种工作表来储存国家资料,当然比用卡片好多了,尤其是想要寻找某个国家的资料,然后修改它的人口数量。虽然方便多了,不过在你查询国家资料时,可能会有这样的问题:

你不太可能把一个洲的国家资料,储存为一个工作表档案;就算你这么作了,如果你想要查询人口数小于十万的国家时,你会发现这会是一件很困难的工作。
## 1.1 资料库管理系统与资料库伺服器
在资讯的应用软体中,「资料库管理系统」是一种用来储存与管理资料的软体,它使用安全、稳定与有效率的方式把资料储存起来,也可以方便与快速的维护资料。尤其是资料的数量很庞大的时候,使用资料库管理系统来储存与管理资料,会是一种令人安心而且比较有效率的方式。
资料库管理系统是一种软体程式,它主要的工作就是储存与管理资料,如果你把这个软体程式安装在一台电脑中,这台电脑就会称为「资料库伺服器」:

在你有了一台资料库伺服器以后,你就可以依照自己的需求,使用资料库管理系统建立一些资料库:

## 1.2 资料库
在使用资料库前,要先在资料库伺服器中建立需要的「资料库、database」,你会依照自己的需求,建立一个或多个资料库:

各种资料库伺服器软体通常会提供一些用户端软体程式,让使用者可以输入与执行SQL叙述,或是执行管理与设定资料库的工作:

以储存世界资料的资料库来说,你想要把世界上所有的国家、城市和语言资料,在这个资料库中储存与管理。所以你会针对国家资料的部份,在世界资料库中建立一个储存国家资料的「表格、table」:

储存在世界资料库中的国家资料,随时可以依照不同的需求,查询需要的国家资料:

除了国家表格外,你还会在世界资料库中建立储存城市和语言资料的表格:

# 2\. SQL介绍
有许多厂商开发各种不同的资料库管理系统产品,它们都可以执行储存与管理资料的工作,而且使用的方式都是差不多的。执行资料储存与管理的工作,主要有建立资料库与表格,和执行资料的新增、修改、删除与查询。想要请资料库管理系统执行这些工作,你会使用一种叫作「Structured Query Language、SQL」的叙述,一般会把「SQL」念为「sequel」。
SQL在很久以前就已经是一种标准的技术,不同的资料库管理系统产品,在执行资料库的工作时,使用的SQL的叙述几乎是一样的:

SQL有一套国际通用的标准,里面规定了所有执行资料库工作的SQL叙述要怎么写,不同的资料库管理系统产品都会以这套标准为基础。不过不同的产品通常会增加或修改一些SQL叙述,其它的资料库管理系统就不认识这些SQL叙述了。
与资料库伺服器相对的是「用户端、client」,跟资料库伺服器比起来,用户端就会比较复杂一些:

使用像是Java程式设计技术开发的各种应用程式,例如进销存系统或会计系统,对资料库伺服器来说,也算是一种用户端软体:

不论是哪一种用户端软体,它们都是使用SQL叙述跟资料库沟通:

# 3\. MySQL Workbench
MySQL提供的工具软体,在这几年有很大的进步,目前已经把所有常用的软体整合在一起,称为MySQL Workbench,里面包含:
* SQL Development:SQL开发工具,让使用者输入并执行SQL叙述
* Database Design Modeling:资料库设计与模型工具
* Database Administration:资料库管理工具
* Database Migration:资料库转换工具
SQL Development是这个系列文章使用的工具软体,使用这个内建的工具,可以很方便输入需要执行的SQL叙述,并检视执行后的结果:

Database Design Modeling是一个图形化的资料库设计工具,可以帮助开发人员设计需要的资料库,或是产生资料库模型的文件:

Database Administration可以提供开发人员执行管理MySQL资料库的基本功能,也可以监控资料库的状态:

# 4\. 下载与安装MySQL资料库
如果你已经安装过MySQL资料库和可以输入和执行SQL叙述的软体,接下来的内容就可以忽略,直接到第五节安装范例资料库就可以了。
MySQL的官方网站目前提供一个完整的安装程式,在Windows平台只要下载与安装一个档案,就包含资料库伺服器和所有需要的工具软体,包含这里需要使用的MySQL Workbench。你可以到这个连结准备开始下载:
[http://dev.mysql.com/downloads/windows/installer/](http://dev.mysql.com/downloads/windows/installer/)
进入这个网站以后,参考下面的说明,下载与储存完整的安装档案:

下载完成后,执行安装程式,选择开始安装并同意版权声明后,在选择安装种类的画面选择Developer Default:

后面的步骤依照画面的指示,选择Execute或Next,就会进入开始安装的步骤。安装完成后,就可以准备进入设定MySQL资料库的步骤:

依照画面的指示,选择Next进入设定资料库管理员(root)密码的步骤,输入一个你自己决定的密码:

依照画面的指示,选择Next完成设定资料库的工作。在最后完成安装与设定的步骤,勾选Start MySQL Workbench after Setup选项后,选择Finish结束安装与设定MySQL资料库的工作。

安装程式会启动MySQL Workbench,依照下面的说明,准备设定资料库连线的基本资讯:

选择下面画面说明的按钮:

在出现的对话框中输入在安装过程中决定的密码:

选择Test Connection按钮:

如果出现这样的画面,表示可以正确的连线到MySQL资料库:

在MySQL Workbench主画面选择Connect:

连线到资料库后,在左侧的World资料库名称上点两下(Double click),会发现World会变成粗体字,表示目前开启(作用中)的资料库。在画面中输入一个测试的SQL叙述,SELECT * FROM country。输入完后,按下执行叙述的快速键Ctrl + Enter,就可以看到所有的国家资料:

# 5\. 安装范例资料库
完成前面的安装与设定工作后,MySQL资料库伺服器中已经有一个内建的范例资料库world,后面的文章会使用这个资料库讨论与说明一些主题。不过因为这个资料库比较简单一些,所以要请你安装另外一个范例资料库,后面的文章讨论到一些不同的主题时,就会用到这个额外的范例资料库。
在下面的连结按滑鼠右键后,选择另存连结,下载与储存一个建立资料库的SQL Script档案:
[https://dl.dropboxusercontent.com/u/61562257/cmdev.sql](https://dl.dropboxusercontent.com/u/61562257/cmdev.sql)
在MySQL Workbench中选择File->Open SQL Script,选择刚才下载与储存的档案,就可以看到像这样的画面:

在MySQL Workbench中选择Query->Execute(All or Selection),Workbench会花一点时间执行所有的叙述。执行完成后,在资料库列表区块的任何空白位置,按滑鼠右键后选择Refresh All,就可以看到安装好的新资料库cmdev:

完成所有准备工作,下一篇文章就可以开始进入SQL的世界了。
';