什么是数据库?
数据库是存储在计算机中、有组织的、可共享的大量数据的集合。
简单说就是存储数据的仓库(∩_∩)。这些数据按一定的数据模型组织、描述和存储。具有较小的冗余性和较小的数据独立性、和易扩展性,并为各种用户所共享。
有了数据库之后,如何科学的组织和存储数据,高效的获取和维护数据呢?
完成这个任务的就是一个系统软件——数据库管理系统(DataBase Management System,DBMS)
数据库管理系统有什么功能?
- 数据定义功能:DBMS提供了一种数据定义语言(Data Definition Language DDL),用来定义数据库中数据对象的组成与结构;
- 数据操纵功能:DBMS提供数据操纵语言(Data Manipulation Language DML)用来插入、删除、查询、修改等实现对数据的操作。
- 数据组织存储和管理:DBMS分类组织、存储和管理各种数据(数据字典、用户数据、数据的存取路径),
- 提供对数据的安全性保护
- 提供对数据的完整性检查
- 并发控制
- 发生故障后的恢复功能
- 其他功能:不同数据库之间的操作,和其他软件系统的通信等
但仅仅靠数据库管理系统完成数据库的建立、使用和维护等功能使远远不够的,还应该有相应的专业人员(数据库管理员)来完成。
由数据库、数据库管理系统(及其应用开发)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统就叫做数据库系统
数据库系统的组成?
1.硬件平台及数据库
- 足够大的内存,存放操作系统、数据库管理系统的核心模块、数据缓冲区和应用程序
- 有足够大的磁盘或磁盘阵列存放数据库及其数据备份
- 系统具有较强的通道能力,以提高数据传输率
2.软件
- 数据库管理系统
- 支持数据库管理系统院系的操作系统
- 与数据库接口的高级语言及其编译系统
- 以数据库管理系统为核心的应用开发工具
- 为特定应用环境开发的数据库应用系统
3.人员
- 数据库管理员
- 系统分析员和数据库设计人员
- 应用程序员
- 用户
数据库系统有什么特点?
- 数据结构化(数据库与文件系统的本质区别):数据库中的数据不针对某一个应用程序,而是面向整个企业、组织等。数据整体是结构化的,数据之间具有联系。
- 数据的共享性高、冗余度低且易扩充:可以被多个用户、多个应用所使用。同时减少了数据的重复存储,降低了冗余度。
- 数据独立性高:提高了物理独立性和逻辑独立性,把程序和数据分离开,简化了应用程序的编制。
- 数据由数据库管理系统统一管理和控制
数据库系统的结构是怎样的?
从数据库系统内部来看,采用三级模式二级映像,就是下面这个样子的<( ̄ˇ ̄)\
什么是模式?
模式也称逻辑模式,指全体数据的逻辑结构和特征的描述。
//一个数据库只有一个模式
模式的一个具体值称为模式的一个实例,通常模式是不变的,而实例是动态变化的
什么是外模式?
外模式也称子模式或用户模式,是用户(程序员和最终用户)使用的局部数据的逻辑和特征的描述。
//一个数据库可以有多个外模式,但一个应用程序只能使用一个外模式
什么是内模式?
也称存储模式,数据的物理结构和存储方式的描述
//一个数据库只有一个模式
什么是外模式/模式映像?
外模式和模式之间的对应关系(通常定义在各自外模式的描述中)
//每一个外模式都有一个外模式/模式映像。
用途:保证了数据的逻辑独立性 ,当模式改变时,由数据库管理员对相应的外模式/模式的映像作相应改变,可以使外模式保持不变。而应用程序是根据外模式编写的,从而使应用程序保持不变。
什么是逻辑独立性?
应用程序与数据的逻辑结构是相互独立的。
什么是模式/内模式映像?
数据全局逻辑与模式之间的对应关系(通常定义在模式的描述中)
模式/内模式是唯一的。
用途:保证了数据的物理独立性 ,当数据库的存储结构改变时,由数据库管理员对模式/内模式的映像作相应改变,可以使模式保持不变。从而使应用程序保持不变。
什么是物理独立性?
应用程序与数据的物理结构是相互独立的。
什么是外模式/模式映像?
外模式和模式之间的对应关系(通常定义在各自外模式的描述中)
//每一个外模式都有一个外模式/模式映像。
用途:保证了数据的逻辑独立性 ,当模式改变时,由数据库管理员对相应的外模式/模式的映像作相应改变,可以使外模式保持不变。而应用程序是根据外模式编写的,从而使应用程序保持不变。
什么是逻辑独立性?
应用程序与数据的逻辑结构是相互独立的。
数据模型——数据库系统的核心和基础
数据模型是对现实世界中对象特征的描述和抽象。
数据模型应该满足:
- 能真实的模拟现实世界,
- 容易为人所理解
- 便于在计算机中实现
有哪些数据模型?
概念模型:也称信息模型,主要用于数据库设计阶段
逻辑模型:按计算机系统的观点对数据进行建模。在数据库中也称逻辑数据模型。
物理模型:对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法。
什么是数据模型?
严格定义的一组概念的集合,描述了系统的静态特性、动态特性和完整性约束条件
- 数据结构(静态特性):描述数据库的组成对象以及对象之间的联系
- 数据操作(动态特性):对数据库中各种对象(型)的实例(值)允许执行操作的集合。包括操作相关的操作规则。
- 完整性约束:一组完整性规则。
常用的逻辑数据模型有哪些?
层次模型
网状模型
关系模型
面向对象数据模型
对象关系模型
XML模型
RDF模型
NoSQL模型
NewSQL模型