在学习了MySQL之后认为自己应该做一个简单的知识总结,避免忘记,也是方便以后查找。
数据库基础专业名词
数据库(DB) ,是一种专门存储信息和维护信息的容器,严格地说数据库是“按照数据结构来组织、存储和管理信息的仓库”;
数据库管理系统(DBMS),管理数据库的软件。具有对数据存储、安全、一致性、并发操作。回复和访问等功能;
数据词典(系统目录),也是一种数据,只不过这些数据记录的是数据库中存放的各种对象的定义和其他一些辅助管理信息,包括名字、结构、位置、类型等。这些数据称为元数据(metadata)。
数据管理主要经历三大过程
第一阶段——人工管理
应用程序管理数据、数据不保存、不共享、不具有独立性。
早期数据处理都通过手工进行,每个应用程序根据需求组织数据,数据和程序是一一对应的关系,一个程序的数据不能被其他程序使用。
此时没有专门的数据管理软件,程序员既要考虑数据的结构逻辑,还要设计存储数据的物理结构及存取方法等。
第二阶段——文件管理
文件系统管理数据、数据可长期保存、但共享性差、冗余度大、独立性差。
随着操作系统的诞生,文件系统也作为操作系统的一个子系统应运而生了。应用程序可以通过文件系统将的数据组织成一个文件。文件系统提供对文件的访问和管理接口。文件系统阶段程和数据的关系如图所示。这种方式多用于早期的单机信息管理系统。
第三阶段——数据管理
数据库系统管理数据,数据结构复杂、冗余度小、易扩充、较高的独立性、统一数据控制。
数据库的特征
数据结构化、实现数据共享、减少数据冗余、数据独立性
数据库类型
早期按数据库模型特点可分为:网状型数据库、层次性数据库、关系型数据库;现在主要分为关系型数据库和非关系型数据库。在这里,我们主要分析早期按模型特点分类的三种数据库。
网状型数据库——采用记录型为节点的网状数据模型。
特点:
网状模型中子女结点与双亲结点的联系可以不唯一;
优点:
能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点直接可以有多种联系;具有良好的性能,存取效率较高;
缺点:
结构比较复杂,随应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(C、COBOL)中,用户不容易掌握和使用;由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。
层次数据库——采用层次模型模拟现实世界中按层次组织起来的事物。
特点:
任何一个给定的记录值只能按其层次路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在;
优点:
数据结构比较简单清晰,数据库的查询效率高,提供了良好的完整性支持;
缺点:
现实世界中很多联系是非层次性的,它不适用于结点之间具有多对多联系;查询子女结点必须通过双亲结点;由于结构严密,层次命令趋于程序化。
举个例子: <父亲 name=”张三”>
<儿子>
</父亲>
关系型数据库——采用二维表结构组织和管理数据,并规定了表内和表间数据的依赖关系
代表数据库:Oracle、MySQL、Microsoft SQL Service、DB2、Sybase
优点:
建立在严格的数学概念的基础上;概念单一,无论实体还是实体之间的联系都是用关系来表示。对数据的检索和更新结构也是关系(也就是我们常说的表);它的存取路径对用户透明,从而具有更高的独立性、更好的安全保密性,简化了程序员的工作个数据库开发建立的工作;
缺点:
存取路径的隐蔽导致查询效率不如格式化数据模型。
网络数据库和层次数据