数据库原理与统计笔记-1.1数据系统概述

2024-01-10 12:48

本文主要是介绍数据库原理与统计笔记-1.1数据系统概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、数据库的4个基本概念
    • [1]. 数据(data)
    • [2]. 数据库(DataBase ,DB)
    • [3]. 数据库管理系统(DataBase Management System,DBMS)
    • [4]. 数据库系统(DataBase System,DBS)
  • 二、数据管理技术的产生和发展
    • [1]. 人工管理阶段
    • [2]. 文件系统阶段
    • [3]. 数据库系统阶段
  • 三、数据库系统的特点
    • [1]. 数据结构化
    • [2]. 数据的共享性高、冗余度低且易扩充
    • [3]. 数据独立性高
    • [4]. 数据由数据库管理系统统一管理和控制
    • [5]. 总结

前言

有关数据库原理与统计的笔记,内容为书本的原文概括。

一、数据库的4个基本概念

[1]. 数据(data)

数据是数据库中存储的基本对象,描述事物的符号记录称为数据。

[2]. 数据库(DataBase ,DB)

数据库是存放数据的仓库,是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库的数据有永久存储、有组织和可共享三个基本特点。

[3]. 数据库管理系统(DataBase Management System,DBMS)

数据库管理系统可以科学地组织和存储数据,高效地获取和维护数据。
数据库管理系统是位于用户和操作系统之间的一层数据管理软件,和操作系统一样是计算机的基础软件。

主要功能介绍
数据定义功能数据库管理系统提供数据定义语言DDL,用户通过它可以方便地对数据库中的数据对象的组成与结构进行定义。
数据组织、存储和管理数据库管理系统需要分类组织、存储和管理各种数据。需要确定相应的文件结构和存储方式在存储级上组织这些数据,实现数据之间的联系。其基本的目标是提高存储空间利用率和方便存储,提供多种存取方法来提高存取效率。
数据操纵功能提供数据操纵语言DML,用户可以使用它操纵数据,实现对数据库的基本操作。
数据库的事务管理和运行管理数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证事务的正确运行,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。
数据库的建立和维护功能数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序或管理工具完成的。
其他功能包括数据库管理系统与网络中其他软件系统的通信功能,一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能,异构数据库之间的互访和互操作功能等。

[4]. 数据库系统(DataBase System,DBS)

数据库系统是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。

在这里插入图片描述

二、数据管理技术的产生和发展

数据管理是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。
数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。

数据库管理技术经历了人工管理、文件系统、数据库系统三个阶段。

背景人工管理阶段文件系统阶段数据库系统阶段
应用背景科学计算科学计算、数据管理大规模数据管理
硬件背景无直接存取存储设备磁盘、磁鼓大容量磁盘、磁盘阵列
软件背景没有操作系统有文件系统有数据库管理系统
处理方式批处理联机实时处理、批处理联机实时处理、分布处理、批处理
特点人工管理阶段文件系统阶段数据库系统阶段
数据的管理者用户(程序员)文件系统数据库管理系统
数据面向的对象某一应用程序某一应用现实世界
数据的共享程度无共享,冗余度极大共享性差,冗余度大共享性高,冗余度小
数据的独立性不独立,完全依赖于程序独立性差具有高度的物理独立性和一定的逻辑独立性
数据的结构化无结构记录内有结构、整体无结构整体结构化,用数据模型描述
数据控制能力应用程序自己控制应用程序自己控制由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力

[1]. 人工管理阶段

20世纪50年代中期以前,计算机主要用于科学计算。
硬件状况:外村只有纸带、卡片、磁带,没有磁盘等直接存取的存储设备。
软件状况:没有操作系统,没有管理数据的专门软件,数据处理方式是批处理。

特点介绍
数据不保存当时计算机主要用于科学计算,一般不需要将数据长期保存,只是在计算某一课题时将数据输入,用完就撤走。
应用程序管理数据数据需要由应用程序自己设计、说明和管理,没有响应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。因此程序员负担很重
数据不共享数据是面向应用程序的,一组数据只能对应一个程序。当多个应用程序涉及某些相同的数据时必须各自定义,无法互相利用、互相参照,因此程序之间有大量的冗余数据。
数据不具有独立性数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改,数据完全依赖于应用程序,称之为数据缺乏独立性,加重了程序员的负担。

[2]. 文件系统阶段

20世纪40年代后期到60年代后期,硬件方面已有磁盘、磁鼓等直接存取存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上不仅有了批处理,而且能够联机实时处理。

特点介绍
数据可以长期保存由于计算机大量用于数据处理,数据需要长期保留在外存上反复进行查询、修改、插入和删除等操作。
由文件系统管理数据由专门的软件即文件系统进行数据管理,文件系统把数据组织成相互独立的数据文件,利用“文件名访问,按记录进行存取”的管理技术,提供了对文件进行打开与关闭、对记录读取和写入等存取方式。
缺点介绍
数据共享性差,冗余度大在文件系统中,一个文件基本上对应一个应用程序,即文件仍然是面向应用的。当不同的应用程序具有部分相同的数据时,也必须建立各自的文件,而不能共享相同的数据,因此数据的冗余度大,浪费存储空间。同时由于相同数据的重复存储、各自管理,容易造成数据的不一致性,给数据的修改和维护带来了困难。
数据独立性差文件系统的文件是为某一特定应用服务的,文件的逻辑结构是针对具体的应用来设计和优化的,因此想要对文件中的数据再增加一些新的应用会很困难。而且当数据的逻辑结构改变时,应用程序中文件结构的定义必须修改,应用程序中对数据的使用也要改变,因此数据依赖于应用于程序,缺乏独立性。可见文件系统仍然是一个不具有弹性的无整体结构的数据集合,即文件之间是孤立的,不能反映现实世界事物之间的内在联系

[3]. 数据库系统阶段

20世纪60年代后期,为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术便应运而生,出现了统一管理数据的专门软件系统——数据库管理系统。从文件系统到数据库系统标志着数据管理技术的飞跃。

三、数据库系统的特点

[1]. 数据结构化

数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
在文件系统中,文件中的记录内部具有结构,但是记录的结构和记录之间的联系被固化在程序中,需要由程序员加以维护。这种工作模式既加重了程序员的负担,又不利于结构的变动。
整体结构化是指数据库中的数据不再仅仅针对某一个应用,而是面向整个组织或企业;不仅数据内部是结构化的,数据之间是具有联系的。不仅要考虑某个应用的数据结构还要考虑整个组织的数据结构。
在数据库系统中,记录的结构和记录之间的联系由数据库管理系统维护,从而减轻了程序员的工作量,提高了工作效率。
在数据库系统中,不仅数据是整体结构化的,而且存取数据的方式也很灵活,可以存取数据库中的某一个或一组数据项、一个记录或一组记录;而在文件系统中,数据的存取单位是记录,粒度不能细到数据项。

[2]. 数据的共享性高、冗余度低且易扩充

数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能避免数据之间的不相容性与不一致性。
所谓数据的不一致性是指同一数据不同副本的值不一样。在数据库中数据共享减少了由于数据冗余造成的不一致现象。
由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这结构化的数据就使得数据库系统弹性大,已于扩充,可以使用各种用户的要求。可以选取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。

[3]. 数据独立性高

数据独立性是借助数据库管理数据的一个显著优点,包括数据的物理独立性和逻辑独立性
物理独立性:用户的应用程序与数据库中数据的物理存储是相互独立的。用户程序不需要了解数据在数据库中怎样存储是由数据库管理系统管理的,应用程序仅需要处理的只是数据的逻辑结构,这样当数据的物理存储改变时应用程序不用改变。
逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变时用户程序也可以不变。
数据与程序的独立把数据的定义从程序中分离出去,加上存取数据的方法又由数据库管理系统负责提供,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。

[4]. 数据由数据库管理系统统一管理和控制

数据库的共享性将会带来数据库的安全隐患,而数据库的共享是并发的共享。多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中同一个数据,这又会带来不同用户间相互干扰的隐患,数据库中数据的正确与一致也必须得到保障,所以数据库管理系统需要提供相应的数据控制功能。

功能介绍
数据的安全性保护数据的安全性是指保护数据以防止不合法使用造成的数据泄密和破坏。每个用户只能按规定对某些数据以某些方式进行使用和处理。
数据的完整性检查数据的完整性指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,并保证数据之间满足一定的关系。
并发控制当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。
数据库恢复计算机系统的硬件故障、软件故障、操作员的失误以及故意破坏也会影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失。数据库管理系统必须具有将数据库从错误状态恢复到某一已知的正确状态的功能,这就是数据库的恢复功能。

[5]. 总结

数据库是长期存储在计算机内有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又能简化应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。

这篇关于数据库原理与统计笔记-1.1数据系统概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590869

相关文章

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

关于最长递增子序列问题概述

《关于最长递增子序列问题概述》本文详细介绍了最长递增子序列问题的定义及两种优化解法:贪心+二分查找和动态规划+状态压缩,贪心+二分查找时间复杂度为O(nlogn),通过维护一个有序的“尾巴”数组来高效... 一、最长递增子序列问题概述1. 问题定义给定一个整数序列,例如 nums = [10, 9, 2

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php