学习内容:数据库系统介绍
前言
笔者系19级电子科技大学的一名学生,针对本学期学习的数据库与软件工程课程,在csdn下记录自己的学习笔记,因为是边学边记录,博客内容难免有不够成熟之处,希望大家可以在评论区多多交流,您的建议和想法是对我最大的鼓励和支持。
一、数据库及系统的应用
数据库(Database):是一种依照特定数据模型组织、存储和管理数据的数据文件,这类数据文件一般存放在磁盘存储器中,以便长久保存。
数据库文件具有以下特点:
-
数据不重复存放
-
支持多个应用程序并发访问
-
数据结构独立于使用它的应用程序
-
对数据增、删、该、检索由统一软件进行管理和控制
信息系统分类
-
管理信息系统(Manage Information System,MIS)
是一种以机构职能管理为主导,利用计算机软硬件、网络通信、数据库等IT技术,实现机构职能整体信息化管理,以达到规范化管理和提高机构工作效率,并支持机构职能服务的信息系统。如:
人力资源管理系统
办公管理系统
CRM ERP管理信息系统······ -
业务处理系统(Transaction Process System, TPS)
是运用数据库应用程序对机构业务活动(如订购、销售、支付、出货、核算等)信息进行记录、计算、检索、汇总、统计等数据处理,为机构操作层面提供基本业务服务,提高业务处理效率的信息系统。如:
人力资源管理信息系统
办公管理信息系统
CRM管理信息系统
ERP管理信息系统··· -
商业终端销售系统 航空机票订票系统 酒店系统 决策支持系统(Decision Support System, DSS)
是以管理科学、运筹学、控制论和行为科学为基础,以计算机技术、数据库技术、人工智能技术为手段,针对特定领域问题解决,为管理者提供辅助决策服务与方案的信息系统。如:
电信营销大数据决策支持系统
证券分析与辅助决策信息系统
法定传染病疫情预测系统
基于大数据的地震救灾决策支持系统 …
数据库及系统应用
二、数据库系统相关的基本概念
信息与数据
数据是信息的符号表示,或称载体
信息是数据的内涵,是数据的语义解释
数据是符号化的信息
信息是语义化的数据
数据库系统(Database System):
数据库+数据库管理系统(开发工具)+应用程序+数据库管理员
数据库管理系统 (Database Management System,DBMS):
负责数据库的建立、操作、管理和维护的软件系统
其基本特点为:
DBMS能对数据库进行有效的管理。包括存储管理、安全性管理、完整性管理和数据恢复等。
DBMS提供了一个软件环境,使用户能方便快速的建立、维护、检索、存取和处理数据库中的信息
数据、数据库、数据库管理系统、数据库系统之间的关系为:
数据库管理系统类型
-
按用途分类
通用DBMS——支持公共领域数据库应用,如SQL Server
专用领域DBMS——支持专用领域数据库应用,如嵌入式领域的SQLite -
按用户数分类
单用户DBMS——仅支持单用户访问,如miniSQL
多用户DBMS——可支持多用户并行访问,如MySQL -
按系统部署分类
集中式DBMS——数据库集中部署在单一物理机器中,如Access
分布式DBMS——数据库可分布在不同位置物理机器,如Oracle -
按使用场景分类
桌面级DBMS——适用于微小型的信息服务应用,如Access、SQLite等
企业级DBMS——适用于中大型的企业级应用,如DB2、ORACLE Database、Sybase ASE等 -
按软件版权分类
产品DBMS——数据库厂商拥有版权的数据库软件,如SQL Server、Oracle Database等
开源DBMS——开源组织提供的数据库软件,如MySQL、PostgreSQL等
典型的数据库系统环境
三、数据库系统发展
数据库发展阶段
人工管理阶段(50年代中期以前)
以纸质文档的形式保存数据信息
文件按照一定分类以文件柜+文件夹+编目的形式保存
存储信息数量有限,并且不宜长期保存
管理信息人力成本非常高
文件管理阶段(50年代后期至60年代中期)
将信息按照一定的分类保存到计算机文件中
组织形式:目录+文件
计算机磁盘提供了大量的存储空间,用于保存大量的数据信息。
磁盘保存的文件,数量达到一定规模后不宜与保存和查找资料
磁盘损坏会造成数据部分丢失
数据库系统阶段(60年代后期开始)
通常一台独立计算机运行数据库软件,提供数据库对外访问服务
对外访问通常由网络协议集中提供,以TCP/IP协议为主
数据集中存放,由数据库服务器提供唯一访问方式
基本特点为:
数据共享性高、冗余少
数据结构化,数据独立性高
有统一的数据控制功能
数据库集群系统阶段(80年代后期开始)
由一组计算机运行相同的数据库软件,同时运行相同的数据库服务(数据库实例)
集群数据库根据用途不同分为高可用性集群(HA)和高性能集群(HP)
集群数据库提供异常强大的横向扩展性,有针对性的提供具备高可靠性的数据库服务或高性能的数据库服务
数据库云计算系统阶段(2000年开始)
由一组计算机系统构成一个私有数据中心(私有云)
多个私有云通过网络组合成大规模的分布式计算中心
云计算数据中心是真正意义上的分布式数据中心;构成庞大的数据处理能力和海量的数据存储空间
常见的关系型数据库
数据库技术领域
四、数据模型
数据模型的概念:数据模型指描述事物对象的数据结构组成、数据语义联系、数据约束的抽象结构及其说明。
数据模型是对现实世界数据特征的抽象。
数据模型=现实世界的模拟
数据模型应满足三方面的要求
- 能比较真实地模拟现实世界。
- 容易为人所理解。
- 便于在计算机上实现。
数据模型是数据库系统的核心和基础!
数据类型的层次划分
-
概念模型
也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。 -
逻辑模型
主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于DBMS实现。 -
物理模型
是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
概念数据模型的基本概念
实体(Entity)
客观存在并可互相区分的事物叫实体。
例:学生韩梅梅、计算机学院、《数据库系统概念》
属性(Attribute)
实体所具有的某一特性。一个实体可以由若干属性来描述。
例:学生韩梅梅由学号、姓名、性别、年龄、班级等属性来组成。
域(Domain)
属性的取值范围。
例:性别的取值范围为(男、女),月份的取值范围是1-12之间的整数
实体型(Entity Type)
实体名与其属性名集合共同构成实体型。
例:学生(学号、姓名、年龄、性别、班级)是一个实体型。
码(Key)
能唯一标识实体的属性或属性的组合称为超码。
超码的任意组合也是超码。
关系中的一个属性(组),其值能唯一标识一个实体。若从属性属性(组)中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。
从所有的候选码中选定一个用来区别同一实体集中的不同实体,称为主码(Primary Key)。
一个实体集中任意两个实体在主码上的取值不能相同。
主键(Primary Key)
主码是中国计算机学派在80年代兴起的叫法,事实上更多的人使用香港和台湾地区的翻译名称——主键。在E-R图中,通常使用(PK)作为主键的简称。
例:
学号是学生实体集合的主键。
通讯录(姓名、邮编、地址、电话、Email、手机号码)这一实体集中,手机号码因为其实际表述的唯一性,也可以作为主键。
举例:
物理数据模型三大要素:数据结构、数据操作、完整性约束
数据联系:实体之间相互关联。同类联系的集合成为联系集。
例:学生和老师之间的授课关系。
数据库的三级模式
模式又被称为逻辑模式,是数据库中全部数据的逻辑结构和特性的描述。是数据库所有用户的公共数据视图。
外模式又称为用户模式或子模式,通常是模式的子集,是数据库管理系统中,每个用户看到和使用的数据视图,即是与某一应用有关的数据的逻辑表示。
内模式是数据库所有数据的内部表示或者说是底层的描述。内模式用来定义数据的存储方式和物理结构。
并行数据库系统
- 并行系统通过并行地使用多个处理器和磁盘来提高处理速度和I/O速度。目前并行计算机正变得越来越普及,因此使用并行数据库的研究变得越来越重要。
- 在并行处理中,许多操作是同时执行的,而不是串行处理。粗粒度并行机由少量能力强大的处理器组成;而大规模并行机或细粒度并行机使用数千个更小的处理器。目前所有的高端计算机都提供了一定程度的粗粒度并行性,它们至少具有两个或4个处理器。
分布式数据库系统
分布式数据库系统是将数据库存储在几台计算机中。它们不共享主存储器或磁盘。
建立分布式数据库系统有几个原因:
- 数据共享:使一个站点上的用户可以访问存放在其它站点上的数据。
- 自治性:每个站点可以对本地存储的数据保持一定程度的控制。
- 可用性:如果一个站点发生故障,其它站点还能继续运行。