目录
1 什么是数据库?
2 数据库作用
3 数据库分类
1 关系型数据库
2 非关系型数据库
2.1 键值存储数据库(key-value)
2.2 列存储数据库
2.3 面向文档数据库
2.4 图形数据库
3 现在都有哪些数据库很流行?
4 数据库的组成
4.1 数据库
4.2 软件
4.3 数据库管理员
5 SQL语句
1 什么是数据库?
数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
2 数据库作用
数据库,即存放数据的仓库,只不过这个仓库是在计算机的大容量存储器上,而且数据必须按照一定的格式存放,因为它不仅需要存放,而且要便于查找。
数据库可以做到:
(1)实现数据共享。即所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
(2)减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件,减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
(3)数据的独立性。数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。
(4)数据实现集中控制。文件管理中,数据处于一种分散的状态,不同的用户或同一用户在处理不同文件时,不同文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:安全性控制、完整性控制、并发控制,使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。
3 数据库分类
1 关系型数据库
关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。
关系型数据库诞生40多年了,从理论产生发展到现实产品,例如:Oracle和MySQL,Oracle在数据库领域上升到霸主地位,形成每年高达数百亿美元的庞大产业市场。
2 非关系型数据库
NoSQL,泛指非关系型数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心了,暴露了许多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSql数据库在特定的场景下可以发挥难以想象的高效率和高性能,它是作为对传统关系型数据库的一个有效补充。
2.1 键值存储数据库(key-value)
键值数据库就类似传统语言中使用的哈希表,可以通过key来添加、查询或者删除数据库,因为使用key主键访问,所以会获得很高的性能以及扩展性。
键值数据库主要使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key-value模型对于IT系统来说的优势在于简单、易部署、高并发。
2.2 列存储数据库
列存储数据库将数据存储在列族中,一个列族存储经常被一起查询的相关数据,比如人类,我们经常会查询某个人的姓名和年龄,而不是薪资。这种情况下姓名和年龄会被放到一个列族中,薪资会被放到另外一个列族中。这种数据库通常用来应对分布式存储海量数据。
2.3 面向文档数据库
2.4 图形数据库
3 现在都有哪些数据库很流行?
(1)Oracle数据库
关系型数据库,是目前世界上使用最为广泛的数据库系统之一。
(2)MySQL数据库
关系型数据库,是目前最受欢迎的SQL开源数据库管理系统。
(3)DB2
DB2是美国IBM公司开发的一套关系型数据库管理系统,主要应用于大型应用系统,具有较好的可伸缩性。
(4)SQL Server
由微软开发的关心型数据库管理系统,一般用于Web上存储数据。
4 数据库的组成
数据库的组成包括:软件、数据库、数据管理员。
4.1 数据库
指长期存储在计算机内的,有组织、可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
4.2 软件
包括操作系统、数据库管理系统及应用程序。数据库管理系统就是数据库系统的核心软件,是在操作系统的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维护数据的软件系统。
4.3 数据库管理员
包括:系统分析员和数据库设计人员、应用程序员、最终用户、数据库管理员(负责数据库的总体信息控制)。
5 SQL语句
结构化查询语句(Structured Query Language),简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语句就是对数据库进行操作的一种语言。
SQL语句可以分为5类。
5.1 SELECT查询语句
5.2 DML数据操作语句(增删改)
5.3 DDL数据定义语句
5.4 事务处理语句,与DML结合使用
5.5 数据控制语句 DCL
其中,SELECT查询语句、事务处理语句、DDL数据定义语句是程序员必须掌握的,数据控制语句DCL用的比较少。SQL语句不区分大小写,但是在 “”和’’中区分。