一、数据库概述
1、数据存储方式
最初在计算机发展早期,数据通过纸带、磁带等介质或者直接通过手工记录,称为人工管理阶段;
随着计算机操作系统的出现和硬件的发展,数据发展为以文件的形式出现,通过文件系统来关系,但此时数据还没进行结构化处理,称为文件系统阶段;
随着数据量的增加和处理速度的要求增长,进入数据库系统阶段。
2、DB简述
DB是指长期存储在计算机内部、有组织的和可共享的数据集合。
表是DB存储数据的基本单位。
一个表由若干字段组成。可认为字段即表中数据集的特征。
现在使用最多的DB都是关系数据库,如前面介绍的三个。关系DB中的表都是二维表。
3、DB泛型
DB泛型就是DB应该遵循的规则,也称为范式。
目前,关系DB最常用的四种范式为1NF,2NF,3NF和BCNF。
在设计DB时,DB需要满足的最低要求的NF是1NF,即表中不能有重复的字段,且每个字段不能再拆分。
一般来说,如果一个DB能够满足3NF就是一个很好的DB,此时DB中基本没有冗余的内容了。但为了满足查询速度等要求,有时会有意识的让某些表存在冗余,故不必拘泥于达到3NF或BCNF而放弃整个DB的性能。
二、DB技术构成
DB技术主要包括DB系统、SQL语言和DB访问技术等。
1、DB系统
DBS的范围实际比DB大很多,DBS不是一个单纯的DB,而是由DB、DB管理系统、应用开发工具、数据库管理员和用户等构成。
DBMS是用来定义数据、管理和维护数据的软件。
2、SQL语言
即结构化查询语言,是一种DB查询和程序设计语言,最初由IBM公司提出。可嵌入到Java、C#等编程语言中。
SQL语言可以为数据定义语言、数据操作语言和数据控制语言三部分。
DDL主要用于对DB、表、视图、索引和触发器等的创建、修改和删除。
DML主要用于插入、查询、更新和删除数据。
DCL主要用于控制用户的访问权限。
3、DB访问技术
前面提到其他编程语言可以嵌入SQL语言,只有使用DB访问技术,程序中嵌入的SQL语言才会起作用,但不同的程序语言使用不同的DB访问技术。
Java使用JDBC(Java Data Base Connectivity)来访问DB。JDBC是一组用Java语言编写的类和接口组成。使用时需要安装相应的驱动程序Connector/J。
三、小知识
根据MySQL开发情况,可以分为Alpha、Beta、Gamma、和Generally Available等版本
Alpha指处于开发阶段,即可能会增加新的功能或进行重大修改
Beta指处于测试阶段,即开发已经基本完成但尚未进行全面的测试
Gamma指发行过一段时间的Beta版,比Beta版更稳定
GA指已经足够稳定可以用于软件开发的版本了,也称为Production版。