数据独立性-信息、数据、数据结构、数据独立性

一、引言

同人工管理数据和文件系统管理数据相比,数据库管理数据最主要的优点是数据独立性高。数据独立性是数据库领域中的一个常用术语和重要概念,包括数据的物理独立性和逻辑独立性

二、数据与数据结构

1、信息

在数据管理领域,数据与信息是分不开的,一般把信息理解为关于现实世界事物存在方式或运动状态的反映

2、数据

而数据,通常指用符号记录下来的可以识别的信息,或称为信息的载体

信息是数据的内涵,是对数据语义的解释

3、数据结构

(1)数据结构是指数据对象在计算机中的组织方式,包括数据的逻辑结构和物理结构两个方面 

(2)数据的逻辑结构是用户可见的数据组织方式 ,有表结构、树结构和图结构等

 (3)数据的物理结构是物理存储空间中的存储方式和存储方法

 包括学生的学号、姓名、所在系、性别等信息的学生信息可用线性表这种逻辑结构组织,表中的数据元素对应一个存储记录单元,而在物理存储空间,可用一组地址连续的存储单元依次存储线性表的元素,称为顺序结构,也可用一组地址不连续的任意存储单元存储线性表的数据元素,称为链式存储

三、数据独立性

1、概念

数据独立性是指用户的应用程序其所处理的数据是相互独立的,当数据的逻辑结构和物理结构发生变化时,应用程序保持不变的特性

2、分类

根据数据可能变化的结构,数据独立性包括数据的逻辑独立性和物理独立性

(1)物理独立性是指用户的应用程序与存储在磁盘上的数据是相互独立的。当数据的物理存储改变时,应用程序不用改变

(2)逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即数据的逻辑结构改变了,应用程序也可以不用改变

3、在数据面向应用的人工管理管理数据的方式中,数据需要由应用程序自己设计、说明和管理,程序员在编写程序时自己规定数据的存储结构、存取方法和输入方式等。当数据的存储结构发生变化时,必须由应用应用程序做相应的修改,对数据进行重新定义。应用程序与其所处理的数据是相互依赖的,数据不具有独立性

4、文件系统可以把应用程序所管理的数据组织成数据文件,数据可以以文件的形式单独存储在磁盘上,数据具有了设备独立性,利用按文件名访问、按记录进行存取的文件管理技术,应用程序可通过文件系统,对磁盘上的文件中的数据进行操作,但数据文件大的建立、存取和更新等操作都要由应用程序来完成,数据仍需要由应用程序定义和管理,因此,数据和程序之间仍缺乏数据独立性

5、遵循ANSI/SPARC三级体系结构的DBMS,为用户提供在不同层次上的抽象视图

三级体系结构将数据的结构区分为用户的局部逻辑结构、数据的整体逻辑结构和物理存储结构三个层次

用模式定义语言将有关数据结构的描述存储在DBMS的数据字典中

6、在数据库系统管理数据的方式中,应用程序通过DBMS从数据字典中得到数据库的结构信息,来存储数据库中的数据。数据库中的数据在磁盘上的存储由DBMS管理,用户不需要了解数据库的物理存储结构

比如:求数据之和和最大值

应用程序只需知道数据存储在所连接的DATA表中的NUM列,执行DBMS支持的一个数据操纵语句即可实现数据的操作 

数据是由谁创建的?存储的数据是什么?有多少数据?程序都不用关心

7、由于数据库管理系统DBMS在三级模式在三级模式之间提供了二级映射

(1)概念模式/内模式间的映射定义概念模式和内模式间的对应关系,当数据库的存储结构发生改变时,也就是数据库的内模式改变了,那么只要对概念模式/内模式间的映射进行相应的修改,可使得概念模式尽可能保持不变,将内模式所带来的影响和概念模式隔离开来,当然对外模式和应用程序的影响更小,从而保证了数据的物理独立性

(2)外模式/概念模式间的映射定义用户的外模式和概念模式的对应关系,当数据的逻辑结构发生变化 。比如在数据库中增加新的关系、新的属性,改变属性的数据类型等,也就是数据库的概念模式改变了,那么只要对各个外模式/概念模式间的映射进行相应的修改,比如修改用户数据视图的定义等,可以使外模式保持不变。由于应用程序是在外模式描述的数据结构上编写的,依赖于外模式,从而应用程序不必修改,保证了数据的逻辑独立性

四、数据独立性的定义

数据独立性是指在是数据库系统中的某个层次修改模式而无需修改上一层模式的能力。

1、数据的逻辑独立性就是指修改概念模式而无需修改外模式或应用程序的能力

2、数据的物理独立性就是指修改内模式而无需修改概念模式的能力

五、小结

1、数据库管理系统的三级模式和两级映射机制,使得数据的定义和描述可以从应用程序中分离出来,实现数据与程序之间的独立性

2、同人工管理数据和文件系统管理数据相比,数据库中的数据由数据库管理系统进行统一管理与控制,数据库系统管理数据方式呈现出数据的共享性高,数据独立性高,对数据的控制能力强的优点

3、使得数据库技术广泛应用于数据管理领域 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/744393.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PWN练习---Heap_1

heap_Easy_Uaf 题源:PolarD&N 考点:UAF漏洞(use after free) 源码 程序是一个菜单,可以实现add,dele,edit,puts 堆块内容等的功能。(堆块编号从0开始) 注意到一个存在backdoor的…

LKD-Net: Large Kernel Convolution Network for Single Image Dehazing

LKD-Net:用于单幅图像去噪的大型核卷积网络 摘要 基于深度卷积神经网络(CNN)的单幅图像去噪方法已经取得了很大的成功。以往的方法致力于通过增加网络的深度和宽度来提高网络的性能。目前的方法侧重于增加卷积核的大小,以受益于更大的接受野来增强其性能…

MySQL——联表查询JoinON详解

Join 对比(7种) 代码演示: -- 查询参加了考试的同学(学号,姓名,科目编号,分数) SELECT * FROM student SELECT * FROM result/* 1. 分析需求:分析查询的字段来自哪些表&…

【Android】android studio简单实现图书馆借阅管理系统

希望文章能给到你启发和灵感~ 点赞收藏关注 支持一下吧~ 阅读指南 序幕一、基础环境说明1.1 硬件环境1.2 软件环境 二、整体设计2.1 数据库逻辑处理:2.2 登录/注册模块2.3 功能界面初始化:2.4 图书管理模块2.5 图书租借服务2.6 读…

UFS协议—新手快速入门(四)【10】

目录 十、UPIU数据包格式详解 1、Transaction Type(类型) 2、Flags(附加信息) 其它 3、LUN(逻辑单元号): 4、Task Tag(任务标签): 5、Command Type&…

Ubuntu22 更新内核后终端输入卡顿,最简单的解决方案

在系统升级后相信很多人都遇到了这个问题,系统终端输入卡顿,但是ssh远程进来不卡,使用第三方终端也不卡,…,今天终于忍不了,解决了 现象: 更新Nvidia驱动后,内核进行了自动编译升级。 之后的一段时间使用…

银幕光影交织,红酒香醇流淌,一场电影与红酒的绝美浪漫邂逅

在光影交错的世界里,红酒与电影总能在不经意间碰撞出浪漫的火花。当银幕上的角色轻启瓶盖,那迷人的酒香便如诗如画般弥漫开来,与影片的情节交织在一起,构成了一幅幅动人的画面。今天,就让我们一起走进这个充满酒香的银…

以太网的基本介绍

文章目录 一、以太网(Ethernet)介绍二、协议介绍三、什么是PHY?三、PHY芯片介绍1.标准接口协议:2.寄存器配置:3.自动协商:4.链路检测:5.复位与电源管理:6.中断与状态报告&#xff1a…

Linux(简单概述)

目录 第一章 初识Linux 第四章 文件管理与常用命令 1.文件基础知识 2.文件显示命令 3.文件内容查询 4. 文件和目录基本操作 5. 文件复制、移动、删除 7. 链接 8. 文件访问权限 9. 文件查找命令 10. 压缩和解压缩 第五章用户与用户组 第六章软件包管理RPM和YUM数据库…

数据结构-线性表的链式表示

目录 前言一、线性表的链式表示和实现1.1 线性表的表示1.2 基本操作的实现1.3 线性表的链式表示的优缺点 总结 前言 本篇文章主要介绍线性表的链式表示 一、线性表的链式表示和实现 1.1 线性表的表示 线性表的链式表示又称为链式存储结构或链式映像 链式存储定义&#xff1…

hypernetwork在SD中是怎么工作的

大家在stable diffusion webUI中可能看到过hypernetwork这个词,那么hypernetwork到底是做什么用的呢? 简单点说,hypernetwork模型是用于修改样式的小型神经网络。 什么是 Stable Diffusion 中的hypernetwork? Hypernetwork 是由…

Linux:RAID磁盘阵列

目录 一、RAID(磁盘阵列) 1.1、概念 1.2、RAID 0(条带化存储) 1.3、RAID 1(镜像存储) 1.4、RAID 5 1.5、RAID 6 1.6、RAID 10 (先做镜像,再做条带) 二、创建RAID 2.1、建立RAID 0 …

视频录制软件哪个好用?5款简单好用软件推荐

在我们的日常生活中,都有哪些好用的视频录制软件?在很多场合中我们都会用电脑记录下重要的时刻。比如,在电脑上听老师讲解一道难题的方法时,怕自己会忘记,想要录制下来进行重复的观看。这时,选择一款好用的…

Qt添加Dialog对话框

Qt版本:5.12.12 1.添加【模块】 Base class:可以选择QDialog、QWidget、QMainWindow 会自动生成MyDialog.h和MyDialog.cpp文件以及MyDialog.ui文件, 2.添加代码: (1)TestDialog.h #pragma once#include…

【Matlab 六自由度机器人】机器人动力学之推导拉格朗日方程(附MATLAB机器人动力学拉格朗日方程推导代码)

【Matlab 六自由度机器人】机器人动力学概述 近期更新前言正文一、拉格朗日方程的推导1. 单自由度系统2. 单连杆机械臂系统3. 双连杆机械臂系统 二、MATLAB实例推导1. 机器人模型的建立2. 动力学代码 总结参考文献 近期更新 【汇总】 【Matlab 六自由度机器人】系列文章汇总 …

【代码】python实现一个BP神经网络-原理讲解与代码展示

​ 本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、BP神经网络原理回顾1.1 BP神经网络的结构简单回顾1.2.BP神经网络的训练算法流程 二、python实现BP神经网络代码2.1.数据介绍2.2.pytorch实现BP神经网络代码 在python中要如何使用代码实现一个BP神经网络呢…

excel实现下拉筛选(超简单)

excel实现下拉筛选 引言1、需求:预警状态下的列 实现下拉筛选2、实现2.1、数据验证2.2、下拉筛选内容2.3、去掉预警状态单元格的下拉筛选 引言 通常,我们会单独新建一张sheet表 专门存每个列的下拉内容。下面我将专门建立一张名为代码表的sheet表来存放…

Nginx调度器

Nginx反向代理 反向代理架构 部署后端Web1服务器 部署后端Web2服务器 配置Nginx服务器,添加服务器池,实现反向代理功能 proxy主机安装nginx 修改/usr/local/nginx/conf/nginx.conf配置文件 重新加载配置 客户端使用火狐浏览器或curl多次访问p…

阿尔兹海默症-图像分类数据集

阿尔兹海默症-图像分类数据集 数据集: 链接:https://pan.baidu.com/s/1gSUT74XrnHmg2Z11oZNd6A?pwdwphh 提取码:wphh 数据集信息介绍: 文件夹 健康 中的图片数量: 8000 文件夹 早期轻度认知障碍 中的图片数量: 10000 文件夹 …

https基础概念

目录 1.什么是https 1.1.https概念 1.2.一些术语 2.https如何加密 2.1.使用对称加密 2.2.使用非对称加密 1.什么是https 首先,https不是http的复数形式 1.1.https概念 (1)产生背景 为什么会出现https,是因为http协议在传…