DB是长期存储在计算机内、有组织、可共享的大量数据的集合。数据库的数据按一定的数据模型组织描述、存储,具有较小的冗余度、较高的数据独立性和易扩展性,并且可以为各种用户共享,数据库具有永久存储、有组织、可共享三个基本特点。
数据库管理系统是位于用户与OS之间的一层数据管理软件,它为用户或应用程序提供了访问DB的方法。是由一个相互关联的数据的集合(DB)和一组用以访问、管理和控制这些数据的程序(建立在操作系统之上的系统软件)组成。主要功能包括:
1.数据定义功能
数据库管理系统提供数据定义语言(DDL),用户通过它可以对数据库的数据对象的组成和结构进行定义。
2.数据组织、存储和管理
数据库管理系统要分类组织、存储、管理各种数据,包括数据字典、用户数据、数据库的存取路径等。提供多种存取方法(如索引查找、顺序查找等)来提高存取率。
3.数据操纵功能
数据库管理系统提供数据库操作语言(DML),用户可以使用它操作数据,实现对数据库的基本操作,如增删改查。
4.数据库的事务管理和运行管理
数据库在建立、运用、维护时由数据库管理系统统一管理和控制,确保事务的正确运行,保证数据的安全性、完整性、多用户对数据的并发使用以及发生故障后的系统恢复。
5.数据库的建立和维护功能
数据库的建立和维护功能包括数据库初始数据的输入、转换功能、数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能一般是由一些实用程序或管理工具完成的。
是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其应用开发工具)、应用系统、数据库管理员和最终用户构成。——人机系统
数据面向应用程序,应用程序与数据集一对一,数据需要由应用程序自己定义和管理,数据无法共享,数据冗余较严重
应用程序和数据集时间的关系如下,数据可以长期保存、由文件系统管理数据
文件系统的特点:
文件系统的弊端:
数据共享性差、数据冗余和不一致
独立性差
数据孤立,数据获取困难
完整性问题
安全性问题
原子性问题
并发访问异常
解决了文件管理系统存在的问题
1、数据结构化。数据库管理系统实现数据的整体结构化,这是数据库的主要特征之一,也是数据库管理系统与文件系统的本质区别。
2、数据的共享度高、冗余度低,易扩充
3、数据独立性高
4、数据有数据库管理系统同意管理和控制
数据模型是一个描述数据结构、数据操作以及数据约束的数学形式体系(即概念及其符号表示系统)
概念模型:概念层次的数据模型,也称为信息模型
逻辑模型:用于描述数据库数据的整体逻辑结构
物理模型:用来描述数据的物理存储结构和存取方法
按用户的观点或认识对现实世界的数据和信息进行建模。常用的概念模型有实体-联系模型(E-R模型)和面向对象模型(OO模型)
E-R模型基本概念:
1.实体
客观存在并可以相互区分的事务叫实体
2.属性
实体所具有的某一特性叫属性,每个属性所允许的取值范围或集合称为该属性的域
3.码(主键)
唯一标识实体的属性称为主键
4.实体集
具有相同类型即相同性质(或属性)的实体组成的集合
5.联系
实体之间的联系通常是指不同实体集之间的联系
实体间的联系分为一对一、一对多、多对多
数据的计算机实现形式
不同的DBMS提供不同的逻辑数据模型有:
层次模型(hierarchical model)、网状模型(network model)、关系模型(relational model)、面向对象模型(即OO模型)、XML模型、对象关系模型(object relational model)
数据抽象的最底层,数据库中的数据具体存放等问题。
数据结构:描述数据库的组成对象以及对象之间的联系
数据操作:指对数据库中各种对象(型)的实例(值)允许执行的操作集合,包括操作及有关的操作规则
数据完整性约束:一组数据完整性规则,是数据、数据语义和数据联系所具有的制约和依存规则,包括数据结构完整性规则和数据操作完整性规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据库中数据的正确、有效和相容
1.层次模型的数据结构
用树形结构来表示各类实体以及实体间的联系。实体用记录来表示,实体间的联系用链接(可看作指针)来表示。
在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型
(1)有且只有一个节点没用双亲结点,这个节点称为根结点
(2)根以外的其他结构有且只有一个双亲结点
层次结构像一课倒立的树
2.层次模型的数据操作与完整性约束
数据操作:查询、插入、删除、更新。进行插入、删除、更新操作要满足层次模型的完整性约束条件。
进行插入操作,如果没有相应的双亲结点值就不能插入他的子女结点值。
进行删除操作时,如果删除双亲结点值,则相应的子女结点值也将被同时删除。
3.层次模型的优缺点:
优点:数据结构简单清晰;查询效率高;提供了良好的完整性支持
缺点:现实世界中很多联系是非层次性、如果一个结点具有多个双亲结点等,用层次结构表示这类联系就很笨拙,只能通过引入冗余数据或创建非自然的数据结构来解决,对插入和删除操作的限制比较多,因此应用程序的编写比较复杂;查询子女结点必须经过双亲结点;由于结构严密,层次命令趋于程序化
1.网状模型的数据结构
满足以下两个条件的基本层次联系集合称为网状模型
(1)允许一个以上的结点无双亲
(2)一个结点可以有多于一个的双亲
2.网状模型的数据操作和完整性约束
网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,还允许两个结点之间有多种联系(称为复合联系)。因此,网状模型可以更直接地去描述现实世界。具体的网状数据库系统对数据操作都加了一些限制,提供了一定的完整性约束
3.网状模型的优缺点
优点
(1)能够更为直接的描述现实世界
(2)具有良好的性能,存取效率较高
缺点
(1)结构比较复杂,且随着应用环境的扩大,数据库的结构变得越来越复杂,不利于最终用户掌握
(2)网状模式的DDL、DML复杂。,并且要嵌入某一种高级语言,用户不容易掌握
(3)由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,加重编写应用程序的负担
1、关系模型的数据结构
关系模式(relational schema):通过关系名和属性名列表对关系进行描述,即二维表的表头部分(表格的描述部分)
表头:关系模式、属性
表体:关系、元组
超码、候选码、主码、外码
关系模式:对关系的描述一般为——关系名(属性1,属性2,...,属性n)
最基本的规范条件是:
2、关系模型的数据操作和完整性约束
数据操作:
关系数据模型的完整性约束:实体完整性(主码属性不能为null)、参照完整性(外码属性要么为null,要么为参照的主码值)和用户自定义完整性
3、 关系模型的优缺点
优点
(1)建立在严格的数学概念的基础上:有关系代数作为语言模型,有关系数据理论作为理论基础
(2)关系模型的概念单一。无论实体还是实体之间的联系都用关系表示,所以其数据结构简单、清晰,用户易懂易用。
(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作
缺点
由于存取路径对用户是隐蔽的所以查询效率不如格式化数据模型
根据数据抽象的3个不同级别,DBMS也应该提供观察数据库的3个不同角度,以方便不同的用户使用数据库的需要。这就是数据库的三级模式结构。
也称存储模式,对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式
作用及目的不同。
三级模式是DBMS的体系结构,目的是:
1.隐藏数据的存储和维护的细节,为用户提供数据在不同层次上的视图,方便不同的使用者可以从不同的角度去观察和利用数据库中的数据。
2.支持数据独立性的实现。
3.提供全局逻辑视图(模式):支持整体结构化,从而实现数据共享度高、冗余度低、易扩充。
4.部分支持安全性的实现。
三层模型是数据库设计的工具和方法(要满足DBMS体系结构的要求),目的是:
1.较真实地模拟现实世界、容易被人理解、便于计算机实现。一个数据模型不可能同时满足这些要求!
2.提供全局逻辑模型:支持整体结构化,从而实现数据共享度高、冗余度低。
3.同时满足DBMS三级模式结构(模式与内模式)要求。
两者之间的联系为:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。