目录
本人会用几天时间把在学校学到的整个数据库知识全盘托出,如果能看懂并且明白我接下来所写的博文,相信对你数据库提升、对行业软件理解、以后工作有很大帮助。
第一讲:数据库概述
目录
(Database Management System,简称DBMS)
第一讲:数据库概述
为什么要使用数据库?
¢ 数据库能够 存储大容量的数据 ,并能够从中 快速 得到用户希望得到的信息。 ¢ 数据库系统为数据提供了 共享、稳定、安全 的保障体系。常见的数据库应用系统
l 银行系统 l 医学诊断系统 l 网站系统(购物、影视、小说、新闻 … ) l 超市管理系统 l 图书馆管理系统 l 天气预报 l 交通、旅馆预订接下来我们看一张数据
××班期末考试成绩单
名次 |
姓名 |
语文 |
数学 |
外语 |
物理 |
化学 |
总分 |
平均 |
1 |
宋玮 |
98 |
98 |
100 |
95 |
97 |
488 |
97.6 |
2 |
胡晓丽 |
97 |
100 |
100 |
93 |
95 |
485 |
97 |
3 |
任厚英 |
93 |
100 |
95 |
97 |
97 |
482 |
96.4 |
4 |
于海颖 |
94 |
95 |
99 |
93 |
100 |
481 |
96.2 |
5 |
牟晓光 |
95 |
96 |
98 |
95 |
96 |
480 |
96 |
6 |
张巍 |
95 |
95 |
95 |
95 |
95 |
475 |
95 |
7 |
施秋乐 |
97 |
90 |
96 |
94 |
96 |
473 |
94.6 |
8 |
王涛 |
92 |
90 |
100 |
95 |
95 |
472 |
94.4 |
9 |
王金娟 |
95 |
91 |
95 |
94 |
96 |
471 |
94.2 |
10 |
谷雨 |
92 |
100 |
93 |
92 |
93 |
470 |
94 |
讲到这里,可能大家还没明确数据库到底是个什么样子?让我们来看几个实际的例子。从我们上小学开始,每学期期末都会看到类似这样的成绩单。
如果把这张成绩单保存在计算机中,就可以看做一个数据库。
我们再往下看一个由多张表组成的数据库,一个简单的图书管理系统的后台数据库,有三张表:图书表、读者表、借阅情况表。
数据库中的二维表特点
(1)每一张表都有一个名字;
(2)表中每一列也都有一个名字,放在最上方一行当中;
(3)表中每一列的数据类型都是相同的;
(4)表格当中的每一列都不可以继续分解,是最小的数据单元。
•1.1 数据库基本概念
数据库(Database,简称DB)
• 简单而言,目前常用的关系数据库是由一系列有 内部联系 的特定 二维表格 构成的。 • 严格的 定义 :数据库是保存在计算机内的、有组织的、可共享的数据集合。数据库的3个性质:
(1)保存在计算机内:对于上面的成绩单,如果没有保存在计算机中,而是以书面的形式印刷出来,锁在保险柜中,那么它不能称作数据库,充其量只能称为一个小型资料库。
(2)数据有组织:仅仅有大量的数据还不能构成数据库,要知道保存大量数据的目的在于对数据进行处理,从中得到我们想要的内容。如果数据库中的数据组织无序,那么就很难对其进行快速的操作处理。
(3)数据可共享:随着互联网的普及,我们能够接收到的信息越来越多,可以说是“足不出户,便可知晓天下事”,这得益于互联网的数据共享性,数据库也是如此。比如说上面的成绩单,通过这个成绩单,教务部可以知道学生的成绩的分布情况,以便制定下一步的教学计划;任课教师可以知道哪些学生成绩最好,哪些学生还有潜力可挖,并制定下一步的培养计划,针对哪些学生采取什么措施,以便使学生进步;而同样是通过这一份成绩单,毕业办也可以对毕业生的毕业率和升学率进行预测分析。所有这些部门可以共享同一份数据,既减少了数据的录入工作量,又减少了数据的冗余度,确保了数据的一致性。否则三个部门对三份相同的数据做出不同的修改,最终就不知道应该以哪一份为准了。
数据库管理系统
(Database Management System,简称DBMS)
•数据库管理系统是能够对数据库进行各种控制并保持数据库中数据的完整性和一致性的系统软件。
数据库就好像一个大的容器、仓库,里面包含了很多的有组织的、可共享的数据。那么要想操纵这些数据,就需要一套语言和软件,这个软件就称为数据库管理系统。通过数据库管理系统这个软件,可以很方便地对数据库进行各种管理操作:比如对数据进行增、删、改、查,对权限进行划分和控制,对数据库进行备份、恢复等。
DBMS在计算机中所处位置
数据库管理系统(DBMS)是介于操作系统和用户的应用软件之间的一层数据管理软件。
数据库系统
(Database System,简称DBS)
•数据库系统是与数据库相关的一整套系统,包括数据库、软件、硬件和人员四个部分。
数据库系统的组成部分
• 数据库: 就是存放在存储设备(如磁盘)上的数据库; • 软件: 是指数据库管理系统以及程序员开发出来的针对特定项目的软件(例如图书馆管理系统),有些文献中还把操作系统和高级语言的编译系统也包含进去。 • 硬件: 指的是运行数据库相关软件需要的硬件设备,如要有足够大的硬盘、内存,有足够快的 CPU ,另外还要有足够大的网络带宽。 • 人员: 包括数据库项目的设计开发人员、终端用户以及 数据库管理员( Database Administrator ,简称 DBA )数据库系统简图
•1.2 数据库发展简史
• 手工管理阶段 • 文件管理阶段 • 数据库管理阶段 – 网状数据库 – 层次数据库 – 关系数据库 – 面向对象的数据库Codd是关系数据库之父,他提出了关系模型的概念,奠定了关系数据库的基础。也因此获得了计算机类的最高荣誉——图灵奖。
人工管理阶段(20世纪40年代中--50年代中)
§ 文件系统阶段(20世纪50年代末--60年代中)
§ 数据库系统阶段(20世纪60年代末--现在)
手工管理阶段
• v 时期 – § 自 20 世纪 40 年代中 ——50 年代中 • v 手工处理的特点 – § 主要应用于科学计算,人工管理 – § 缺少直接存取存储设备,数据不存储 – § 没有操作系统 – § 批处理,无共享、数据完全依赖于程序,应用程序人工控制
文件管理阶段
• v 时期 – § 20 世纪 50 年代末 --60 年代中期 • v 文件管理的特点 – § 可以应用于数据管理 – § 出现磁盘、磁鼓,数据可长期存储 – § 数据由文件系统管理,文件由记录组成, – 可联机实时处理、批处理 – 共享性差、冗余度大 – 独立性差,数据的逻辑结构改变必须修改应用程序
可以使用excel表 或者文件管理
数据库管理阶段
• 时期 – § 20 世纪 60 年代末以来 • 特点 – § 出现大容量磁盘,应用于大规模数据管理 – § 数据由 DBMS 统一管理和控制 – § 处理方式可以联机实时处理,分布处理和批处理 – 数据结构化 – 数据独立性高 – 数据的共享性高,冗余度低,易扩充•1.3 常见的数据库管理系统
§ Oracle § DB2 § SQL Server § MySQL § Informix § Sybase § Teradata § Visual Foxpro § PostgreSQL § OpenBASEMySQL(发音为“my ess cue el”,不是“my sequel”)是一种开放源代码的关系型数据库管理系统。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。在2008年1月16号 MySQL被Sun公司收购。在2010年1月Oracle又将sun公司收购。
Informix在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。公司的名称Informix便是取自Information和Unix的结合。2001年7月2日,IBM公司斥资10亿美元收购全球第四大数据库厂商Informix公司的数据库。作为一个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰级数据服务系统。在2005年早些时候,IBM推出了Informix Dynamic Server(IDS)第10版。目前最新版本的是IDS11。
1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。SYBASE主要有三种版本,一是UNIX操作系统下运行的版本,二是Novell Netware环境下运行的版本,三是Windows NT环境下运行的版本。2010年5月18日,SAP宣布以58亿美元收购Sybase移动平台和数据库业务。
Teradata是一款分布式数据库的名字,曾经隶属于NCR公司。基于Teradata的数据仓库在银行电信等行业应用很广泛,因为运用了分布式的多节点处理,海量数据处理速度很快。
Visual FoxPro简称VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。在桌面型数据库应用中,处理速度极快,是日常工作中的得力助手。目前最新版为 Visual FoxPro 9.0,
PostgreSQL是一种非常复杂的对象-关系数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的*软件数据库系统。
OpenBASE是东软集团有限公司软件产品事业部推出的我国第一个自主知识产权的商品化数据库管理系统,该产品由东软集团有限公司软件产品事业部研发并持有版权。10多年来,OpenBASE已逐渐形成了以大型通用关系型数据库管理系统为基础的产品系列,包括: OpenBASE多媒体数据库管理系统,OpenBASE Web应用服务器、OpenBASE Mini嵌入式数据库系统、 OpenBASE Secure安全数据库系统等。