数据库原理(一)——数据库基本概念

举报
ArimaMisaki 发表于 2022/08/06 21:58:43 2022/08/06
【摘要】 数据库原理——数据库基本概念

1 数据库基本概念

1.1 数据库、数据库管理系统和文件系统

数据库、数据库系统和数据库管理系统

数据库:是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

数据库管理系统:是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。

数据库系统:带有数据库的计算机系统。

:数据库系统=应用+DBMS+数据库+DBA


数据库和文件系统的区别

  • 从存放数据上来看:文件和数据库都可用于存放数据。但是文件是操作系统提供的一个最简单的一个存取数据的机制,在操作系统中数据存放于文件中无需任何数据结构,而是以一种平滑的字符流形式存放。
  • 从数据管理来看:文件系统只提供了简单的创建、打开、读取、写入、游标操作。如果对数据管理有复杂要求的话,那么文件系统是远远不够用的。

文件系统的缺点

  • 数据访问困难:编写应用程序很不方便。由于操作系统只提供打开、关闭、读、写等几个低级的文件操作系统,对文件的查询、修改等处理都必须在应用程序解决。
  • 数据冗余不一致:文件的设计很难满足多种应用程序的不同要求,数据冗余往往是不可避免的 。相同的信息可能在几个地方重复存储。
  • 维护艰难:对文件结构的每个修改将导致应用程序的修改,应用程序的维护工作量很大。
  • 并发访问异常:文件系统一般不支持对文件的并发访问。
  • 数据孤立:由于数据缺少同一管理,在数据的结构、编码、表示格式、命名以及输出格式等方面不容易做到规范化、标准化;在数据的安全和保密方面,也难以采取有效的措施。
  • 原子性问题:传统的文件处理系统中,保持原子性很难做到。
  • **安全性问题:**文件系统不具备用户访问权限控制。

数据库管理系统的好处

  • 数据独立性和有效访问
  • 减少应用开发时间
  • 数据完整性和安全性
  • 对数据库的统一管理
  • 故障恢复

1.2 数据模型

数据、数据模型和数据模式

数据:描述现实世界的符号,它是信息存在的形式

数据模型:用于描述数据、数据之间的关系、数据语义和数据约束的概念工具的集合,相当于数据结构。

数据模式:用给定的数据模型对一个具体数据的描述

:数据库结构的基础是数据模型


数据模型的分类

层次数据模型:基于PCR关系的数据模型

网状数据模型:基于多对多关系的数据模型

关系模型:使用关系模型的数据库我们叫做关系型数据库。在上世纪七十年代,关系数据库已是主流。关系数据库的基本数据结构就是关系,换而言之就是一张特殊的二维表,这个表有行有列,其中的行我们称为元组,其中的列我们称为属性。

实体联系模型(E-R模型):将现实世界看做是由一组称为实体的基本对象以及这些对象间的联系构成。

基于对象的数据模型:以E-R模型为基础,在其之上发展封装、方法和对象标识等概念,可看做事经过的扩展E-R模型。

半结构化数据模型:存储半结构化数据的数据模型。

拓展:数据库的发展 目前的数据库发展史上,基于关系数据模型的关系型数据库仍然是主流,而层次数据库和网状数据库已经被淘汰,只有少数企业由于重构复杂而不得已继续使用。在大数据时代,非结构化数据的出现使得NoSQL(非关系数据库)逐渐崭露头角。


1.3 数据库三级模式和两级独立性

数据抽象

物理层:描述数据实际上如何存储

逻辑层:描述数据之间的关系如何

视图层:描述部分数据库,主要给用户使用


三级模式

数据库模式:数据库的总体设计

实例:特定时刻存储在数据库中的信息的集合

物理模式:在物理层描述数据库的设计

逻辑模式:在逻辑层描述数据库的设计

外模式:在视图层描述了数据库的不同视图

拓展:不同的术语 l 物理模式也叫存储模式或内模式 l 外模式也叫子模式或用户模式 l 概念模式也叫结构模式或简称模式


基表和虚表

基表:数据库中数据构成的表。

虚表:通过视图层定义的视图,方法是使用条件过滤掉一些数据,其本质上也是表。


二级映像

二级映像指的是外模式/模式映像和模式/内模式映像


数据独立性

逻辑数据独立性:保护逻辑结构的改变;假如基表变动,则通过改变逻辑可以使得基表改动前的视图不受影响。

物理数据独立性:保护物理结构的改变;假如表底层存放的数据结构变动,保持逻辑结构不变,则数据库中的表中数据无变化。

:数据独立性是DBMS最大的好处之一,因为文件系统不具备这样的优点。


1.4 数据库的分类和架构

数据库的分类

集中式数据库:通过多个终端访问一台机器

并行数据库:通过网络控制多台机器,使其协调共同完成一个数据库系统的工作

移动数据库:如网格计算和云计算


数据库的架构

CS结构:CS(Client/Server,客户/服务器)结构;通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。也就是说,在CS架构中,应用程序驻留在客户机上,通过查询语言表达式来调用服务器上的数据库系统功能。像ODBC和JDBC这样的应用程序接口标准被用于进行客户端和服务器的交互。

BS结构:BS(Brower/Server,浏览器/服务器)结构;客户机上安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。BS结构中用户端的浏览器通过应用服务器同数据库进行数据交互。


CS架构的优缺点

优点:充分发挥客户端PC的处理能力

缺点:只适用于局域网


1.5 数据库的存储和管理

数据库中含有一些存储管理器。存储管理器实现了一些数据结构作为数据库系统物理实现的一部分。

数据结构 说明
数据文件 存储数据库本身
数据字典 存储关于数据库结构的元数据,尤其是数据库模式
索引 用于提供对数据项的快速访问

数据库用户:通过应用访问数据库的人即为数据库用户。

数据库管理员(DBA,DataBase Administrator):后台管理数据库的人。


DBA的作用

  • 模式定义
  • 存储结构及存取方法定义
  • 模式及物理组织的修改
  • 数据访问授权
  • 日常维护
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。