什么是数据库
文件保存数据有以下几个缺点:
1、文件的安全性问题
2、文件不利于数据查询和管理
3、文件不利于存储海量数据
4、文件在程序中控制不方便
为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。
数据库分类
数据库大体可以分为 关系型数据库 和 非关系型数据库
关系型数据库(RDBMS):
是指采用了关系模型来组织数据的数据库。简单来说,关系模型指的就是二维表格模型,而一个
关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
1. Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系
统。收费。
2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费,不区分大小写。
3. SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。
非关系型数据库(了解)
不规定基于SQL实现。现在更多是指NoSQL数据库,如:
基于键值对(Key-Value):如 memcached、redis
基于文档型:如 mongodb
基于列族:如 hbase
基于图型:如 neo4j
SQL分类
DDL数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter
DML数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select
DCL数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit
数据库系统的特点
1、数据共享性高,冗余度小;
2、 具有高度的物理独立性和逻辑独立性;
3、 整体结构化,用数据模型描述;
4、由数据库系统提供数据安全性、完整性、并发控制和恢复能力。
简单说即数据库系统的特点为高共享、低冗余、独立性高、具有完整性等
关系数据库的特点
1、在关系模型中数据的逻辑结构是一张二维表
2、SQL语句是介于关系代数和关系演算之间的(结构化查询)语言
3、关系模型的完整性包括实体完整性 、域完整性 、参照完整性和用户定义完整性。 域完整性,实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。实体完整性要求表中的主键字段不能为空且不能重复;域完整性要求表中数据都在有效范围内;参照完整性保证了相关联的表的数据一致性。
约束是保证表中数据完整性和一致性的手段,分为主键约束、外键约束、检查约束、唯一约束、非空约束五种。不管哪种约束,体现在表中都可以有1列或多列
4、关系是一张表,表中的每行(即数据库中的每条记录)是一个元组,每列是一个属性
5、关系数据库的逻辑性强而物理性弱,因此关系数据库中的各条记录前后顺序可以任意颠倒,不影响库中数据的关系。
6、关系模式将导致数据冗余和存储异常,而存储异常问题有:更新异常、插入异常和删除异常。以上的关系模式属于“不好”的关系,要消除这些“不好”的关系和数据依赖有密切的联系,其中,最重要的是函数依赖和多值依赖,这(插入、删除异常及数据冗余问题)正是关系数据库的规范化所要解决的问题。