聊出来的技术之数据库基本概念

聊出来的技术之数据库基本概念


我们基本上知道,数据库是长期存储在计算机内有组织、大量、共享的数据集合,它可以供各种用户共享,具有最小冗余度和较高的数据完整性。它的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。

数据库系统概述

四个基本概念

1)数据:描述事物的符号记录
2)数据库:长期存储在计算机内、有组织的、可共享的大量数据的集合
3)数据库管理系统:是计算机的基本软件,主要的功能:i)数据定义功能(DDL) ii)数据组织、存储和管理 iii)数据操纵功能  iv)数据库的事务管理和运行管理 v)数据库的建立和维护功能 vi)其他功能
4)数据库系统:由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统

数据模型

数据的发展是沿着数据模型的主线往前推进的。

数据模型是个啥?

数据模型也是一种模型,它是对现实世界数据特征的抽象,由于计算机不能直接处理现实世界中的具体事物,所以人们必须事先把具体的事物转换成计算机所能处理的数据,也就是数字化。所以说数据模型是数据库系统的核心和基础

数据模型一般满足什么要求?

1)比较真实的模拟现实世界
2)容易被人们所理解
3)便于在计算机上实现

在施工的不同阶段需要不同的图纸,开发数据库应用系统也需要使用不同的数据模型,那么有哪些数据模型呢?

1)概念模型
	也称信息模型,它是按照用户的观点来对数据和信息建模,主要用于数据库的设计
	实际上是现实世界到机器世界的一个中间层次
	
2)逻辑模型和物理模型
	逻辑模型主要包括:层次模型、网状模型、关系模型、面向对象模型和对象关系模型、半结构化数据模型
	物理模型是对最底层的抽象,它描述在系统内部的表示方式和存取方法

概念模型中的基本概念

1.信息世界上的基本概念
1)实体(entity):客观存在并可相互区别的事物称为实体。人、事、物,可以比作游戏中的角色
2)属性(attribute):实体所具有的每一特性称为属性,比作角色的技能
3)码(key):唯一标识实体的属性集称为码,可以是游戏中角色的名字,但是前提是名字不能重复
4)实体型(entity type):具有相同属性的实体必然具有共同的特征和性质,用实体名和属性名集合来抽象和刻画同类实体,称为实体型,射手(性别:x,射程:远,所处位置:下路),这样可以称为实体型,就是如果是射手必须有这几个属性。
5)实体集(entity set):同一类型实体的集合称为实体集 全体射手就是一个实体集
6)联系(relationship):在现实世界中,事物的内部以及事物之间是有联系的。实体内部的联系通常是指组成实体的各属性之间的关系,实体之间的联系通常是指不同实体集之间的关系

概念模型的表示方法

实体-联系方法
概念模型是对信息世界的建模,所以概念模型应该能够方便、准确地表示上述信息世界中的常用概念。实体-联系方法。该方法用E-R图来描述现实世界的概念模型,E-R方法也称E-R模型

概念模型的组成

数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。
因此数据模型通常由:数据结构、数据操作和数据完整性约束条件三部分组成
1)数据结构:描述数据库的组成对象以及对象之间的关系
2)数据操作:对数据库中的各种对象(型)和实例(值)允许执行的操作的集合,包括操作及有关的操作规则
3)数据的完整性约束条件:给定数据的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。

常用的数据模型有哪些呢?

层次模型
网状模型
关系模型
面向对象模型
对象关系数据模型
半结构化数据模型

层次模型和网状模型称为格式化模型

层次模型

数据库中最早的数据模型,层次数据库系统采用层次模型作为数据库的组织方式
层次模型用树形结构来表示各类实体之间以及实体间的联系

层次模型分析

数据结构
    满足下面两个条件的基本层次联系的集合为层次模型
    1)有且只有一个结点没有双亲结点,这个结点称为根节点
    2)根以外的其他结点有且只有一个双亲结点
    层次模型就想一颗倒立的数,结点的双亲是唯一的
    
数据操纵与完整性约束
	主要的操纵有查询、插入、删除和更新,进行这些操作时要满足层次模型的完整性约束条件
	如果进行插入结点,如果没有双亲结点值就不能插入它的子女结点值
	
优点
	1)层次模型的数据结构比较简单清晰
	2)层次数据库的查询效率高,性能优于关系数据库,不低于网状数据库
	3)层次数据模型提供了良好的完整性支持

缺点
	1)现实世界中很多联系是非层次性的,如结点之间具有多对多关系
	2)如果一个节点具有多个双亲结点,用层次模型表示就十分笨重
	3)查询子女结点必须通过双亲结点
	4)由于结构严谨,层次命令趋于程序化

网状模型

网状模型解决了现实世界中事物之间的联系更多的是非层次关系的。

网状模型的分析

数据结构
	满足下面两个条件的基本层次联系集合称为网状模型
	1)允许一个以上的结点无双亲
	2)一个节点可以有多于一个的双亲
	
数据操纵与完整性约束
	网状模型没有层次模型那样严格的完整性约束
	1)支持记录码的概念,码是唯一标识记录的数据项集合
	2)保证一个联系中双亲记录和子女记录之间是一对多的联系
	3)可以支持双亲记录和子女记录之间的某些约束条件
	
优点:
	1)能够更为直接的描述现实世界
	2)具有良好的性能,存取效率较高

缺点:
	1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂
	2)网状模型的DDL,DML复杂,并且要嵌入某一种高级语言中
	3)由于记录之间的联系通过存取路径实现,应用程序在访问数据时必须选择适当的存取路径。

关系模型

关系模型与以往的模型不同,从用户角度上看,关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表。

术语:
	关系(relation):一个关系对应通常说的一张表
	元组(tuple):表中的一行即一个元组
	属性(attribute):表中的一列即为一个属性
	码(key):称为码键,表中的某个属性组
	域(domain):域是一组具有相同数据类型的值的集合
	分量:元组中的一个属性值
	关系模式:对应关系的描述,关系名(属性1,属性2,。。。),必须是规范化,关系的每一个分量必须是一个不可分的数据项,不允许表中还有表
	
数据操纵与完整性约束
	操纵:查询、插入、删除和更新数据,这些操作必须满足关系的完整性约束条件。关系的完整性约束条件分为三大类:实体完整性、参照完整性和用户定义的完整性。
	
优点:
	1)关系模型与格式化模型不同,它是建立在严格的数学概念的基础上
	2)关系模型的概念单一
	3)关系模型的存储路径对用户是透明的,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库的开发建立工作。

缺点:
	查询效率不如格式化数据模型

数据库系统的结构

数据库系统的结构可以有多种不同的层次或不同的角度。
从开发人员看。数据库通常采用三级模式结构,这是系统内部的系统结构
从数据库的最终用户看,数据库系统的结构分为单用户结构、主从式结构、分布式结构、客户-服务器、浏览器-应用服务器/数据服务器多层结构等。这是数据库系统外部的体系结构

数据库系统模式的概念

在数据库系统中有型(type)和值(value)的概念。型是指对某一类数据的结构和属性说明,值是一个具体的赋值

模式(schema)是数据库中全体数据的逻辑结构和特征的描述,它只涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例,同一个模式有很多个实例

模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态

数据的存储结构不同,但是它们在体系上通常具有相同的特征,采用三级模式结构

数据库的三级模式结构

1)模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
定义数据模式时不仅要定义数据的逻辑结构,例如数据记录由哪些数据项组成,数据项的名字,类型,取值范围等(varchar.),而且要定义数据之间的联系(foreignkey。。),定义数据相关的完整安全性和完整性

2)外模式:也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用局部数据的逻辑结构和特征的描述,是数据库用户的数据视图是与某一应用有关的数据的逻辑表示。外模式保证了数据库安全性,每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据时不可见的

3)内模式:存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的阻值方式。如:索引按照什么方式组织,是B+树索引还是hash索引。

数据库的二级映像功能与数据独立性

数据库系统的三级模式是数据的三个抽象级别,它把具体组织留给数据库系统管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式,为了能够在系统内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像

1)外模式/模式映像:当模式改变时,由数据库管理员对各个外模式/模式的映像作相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性

2)模式/内模式映像:当数据库的存储结构改变时,由数据库管理员对模式/内模式映像的作用作相应改变,可以是模式爆出不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性

数据库系统的组成

1)硬件平台及数据库
2)软件
3)人员

今天就介绍到这里关于数据库的前奏,希望可以坚持下去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值