数据库系统相关概念

22eaeb0fc4db41ada36460c749eaec58.jpg

 

 

数据:描述事务的符号记录。

 

数据库(DB):按一定的数据模型组织,描述和存储在计算机内的,有组织的,可共享的数据集合。

 

数据库管理系统(DBMS):位于用户和操作系统之间的一层数据管理软件。主要功能包括:

 

     数据定义功能:DBMS提供DDL,用户通过它定义数据对象。

 

     数据操纵功能:DBMS提供DML,用户通过它实现对数据库的查询,插入,删除和修改等操作。

 

     数据库的运行管理:DBMS对数据库的建立,运行和维护进行统一管理,统一控制,以保证数据的安全性,完整性,并发控制及故障恢复。

 

     数据库的建立和维护功能:数据库初始数据的输入,转换,数据库的转储,恢复,重新组织及性能监视与分析等。

 

数据库系统(DBS):计算机中引入数据库后的系统,包括:数据库DB,数据库管理系统DBMS,应用系统,数据库管理员DBA和用户

 

数据管理与数据处理

 

数据管理:对数据收集,整理,组织,存储,(对象) 维护,检索,传送,(操作)等,目标:在妥当的时候以妥当的形式给妥当的人提供妥当的数据。

 

数据处理:对数据进行加工,计算,提炼,从而产生新的有效数据的过程(数据--》信息)

 

管理与处理的关系:管理是处理的基础,处理为管理服务

 

数据管理的发展阶段

 

人工管理阶段(50年代中期以前)

 

文件系统阶段(50年代中期至60年代后期)

 

数据库系统阶段(60年代后期以后)

 

 

 

数据模型

 

数据处理的抽象过程:现实世界--抽象》信息世界--转换》机器世界(数据世界)

 

概念模型(信息模型):把现实世界中的客观对象抽象成的某种信息结构,主要用于数据库设计。

 

实体与记录

 

信息世界

 

    实体:客观存在并可相互区分的事务。

 

    实体集:性质相同的同类实体的集合。

 

    属性:实体具有的某一特性。

 

    实体标识符:能将一个实体与其他实体区分开来的一个或一组属性。

 

数据世界

 

    记录:实体(抽象表示)

 

    文件:实体集

 

    字段或数据项:属性

 

    关键字:实体标识符。唯一地标识一个记录。又称码,键。

 

型与值

 

在DBS中,每一个对象广义上讲都有型与值之分:

 

型是对象的结构或特性描述。

 

值是一个具体的对象实例。

 

类似于程序实际语言中数据类型与数据值的概念。

 

实体间的联系

 

实体内部的联系:反应在数据上就是记录内部数据项间的联系(1对1,1对多,多对多)

 

实体之间的联系:反应在数据上就是记录之间的联系

 

数据模型

 

是对现实世界进行抽象的工具,它按计算机系统的观点对数据建模,用于提供数据库系统中信息表示和操作手段的形式框架,主要用于DBMS的实现,是数据库系统的核心和基础。

 

常用的数据模型:层次模型,网状模型,关系模型,面向对象模型

 

数据模型的三要素:数据结构(静态)--》如何表示实体及联系,数据操作(动态)--》如何实现增删改查,完整性约束--》如何保证数据的约束条件得到满足

 

层次模型:用树形结构来表示实体以及实体间联系的模型。

 

 

 

网状模型

 

 

 

 

 

关系模型

 

 

 

 

 

DBS的结构

 

DBS的三级模式结构

 

模式:又称逻辑模式,DB的全局逻辑结构,即DB中全体数据的逻辑结构和特征的描述。模式定义的任务:定义全局逻辑结构(构成记录的属性名,类型,宽度等)。定义有关的安全性,完整性要求,定义记录间的联系。

 

外模式:又称子模式或用户模式,DB的局部逻辑结构,即与某一应用有关的数据的一个逻辑表示。

 

说明:外模式是某个用户的数据视图,模式是所有用户的公共数据视图,一个DB只能有一个模式,但可以有多个外模式。外模式通常实模式的子集,但可以在结构,类型,长度等方面有差异。DBS提供外模式DDL。

 

内模式:又称存储模式。数据的物理结构和存储方式的描述,即DB中数据的内部表示方式。一个数据库只有一个内模式,内模式定义的任务:记录存储格式,索引组织方式,数据是否压缩,是否加密等。

 

两级映像及其作用

 

模式变,可修改映象使外模式保持不变,从而应用程序不必修改,保证了程序和数据的逻辑独立性。

 

存储结构变,可修改映象使逻辑结构(模式)保持不变,从而应用程序不必修改,保证了数据与程序的物理独立性。

 

数据库系统的组成

 

数据库:一个或多个数据库,四要素:用户数据,元数据,索引,应用元数据

 

软件:操作系统,数据库管理系统(DBMS),数据库应用开发工具等辅助软件,具有数据库接口的高级语言与编译系统,如C,C++等,某个数据库应用系统

 

人员:用户(使用),应用程序员(开发),数据库管理员DBA(管理)

 

硬件:计算机有关设备。

 

数据库系统研究的对象:三个主要研究领域:DBMS及其辅助软件,数据库设计,数据库理论

 

关系数据库

 

关系数据库是应用数学方法来处理数据的,它具有结构简单,理论基础坚实,数据独立性高以及提供非过程性语言等优点。

 

关系的数学定义

 

域:值的集合。它们具有相同的数据类型,语义上通常指某一对象的取值范围。

 

笛卡尔积:没有任何条件的关联

 

关系

 

关系模型

 

三部分:关系数据结构,关系操作集合,关系的完整性

 

数据结构

 

单一的数据结构

 

关系模式

 

 

 

关系的三种形式:

 

基本关系:客观存在的基本表

 

查询表:由基本表按一定条件检索得到的结果

 

试图:从一个或多个基本关系上导出的关系。它不对应实际的存储数据,是一个虚关系,然而可永久存在,相当于关系模型的外模式。

 

关系操作

 

种类:选择,投影,连接,除,并,交,差,(查询操作)增加,删除,修改(维护操作)

 

关系模型的三类完整性

 

实体完整性,参照完整性,用户定义的完整性,

 

关系数据库标准语言--SQL

 

数据查询():SELECT

 

数据定义(DDL):CREATE,DROP,ALTER

 

数据操纵:INSERT,DELETE,UPDATE

 

数据控制:GRANT,REVOKE

 

 

 

关系系统及其查询优化

 

全关系系统准则:信息准则,保证访问准则,空值的系统化处理,基于关系模型的动态的联机数据字典,统一的数据子语言准则,试图更新准则,高级的插入修改删除操作,数据物理独立性,数据逻辑独立性,数据完整性的独立性,分布独立性,无破坏准则。

 

优化的一般策略:

 

选择,投影运算应尽可能先做,好处是减少下一步运算的数据量

 

选择和投影运算同时进行,好处是扫描关系的次数

 

在执行连接前对文件适当 的预处理

 

把投影同起前或其后的双目运算结合起来

 

把某些选择和笛卡尔积乘积结合起来成为连接运算

 

找出公共子表达式

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

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

相关文章

iframe 与主应用页面之间如何互相通信传递数据

背景 当我们的Web页面需要复用现有网站的页面时,我们通常会考虑代码层面的抽离引用,但是对于一些过于复杂的页面,通过 iframe 嵌套现有的网站页面也是一种不错的方式,。目前我就职的项目组就有多个业务利用 iframe 完成业务的复用…

【实用】sklearn决策树怎么导出规则

目录 一、什么是决策树模型 0.1 什么是决策树 02.决策树模型有哪些 二、在sklearn中怎么训练一棵决策树 三、什么是决策树的规则 0.1决策树的决策规则 02. 决策树的决策规则是怎么存储的 四、怎么导出决策树的规则 4.1 导出决策树文本规则 4.2 导出可视化决策树 4.3…

C++入门【3-C++ 变量类型】

C 变量类型 变量其实只不过是程序可操作的存储区的名称。 在 C 中,有多种变量类型可用于存储不同种类的数据。 C 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量…

初学python的体会心得20字,初学python的体会心得2000

大家好,小编来为大家解答以下问题,学了python的心得体会200字,初学python的体会心得20字,现在让我们一起来看看吧! 本学期,我们学习了杨老师的《python语言程序设计》这门课程,其实早在大一期间…

【RTOS学习】模拟实现任务切换 | 寄存器和栈的变化

🐱作者:一只大喵咪1201 🐱专栏:《RTOS学习》 🔥格言:你只管努力,剩下的交给时间! 目录 🏀认识任务切换🏐切换的实质🏐栈中的内容🏐切…

数据可视化:解析跨行业普及之道

数据可视化作为一种强大的工具,在众多行业中得到了广泛的应用,其价值和优势不断被发掘和利用。今天就让我以这些年来可视化设计的经验,讨论一下数据可视化在各个行业中备受青睐的原因吧。 无论是商业、科学、医疗保健、金融还是教育领域&…

Vue2笔记

笔记 脚手架文件结构 ├── node_modules ├── public │ ├── favicon.ico: 页签图标 │ └── index.html: 主页面 ├── src │ ├── assets: 存放静态资源 │ │ └── logo.png │ │── component: 存放组件 │ │ └── HelloWorld.vue …

三天精通Selenium Web 自动化 - 如何找到元素

1. 什么是元素? 元素:HTML 元素 2. 定位方式解析 Selenium WebDriver 提供一个先进的技术来定位 web 页面元素。Selenium 功能丰富的API 提供了多个定位策略如:Name、ID、CSS 选择器、XPath 等等,如下图所示: 一般会用ID来定位…

Jmeter 测试 MQ 接口怎么做?跟我学秒变大神!

MQ(message queue)消息队列,是基础数据结构 先进先出 的一种典型数据结构。一般用来解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。 MQ 主要产品包括:Rabb…

华清作业day45

头文件&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTime> #include <QTimer> #include <QTimerEvent> #include <QTextToSpeech> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass…

Unity_ET框架项目-斗地主_启动运行流程

unity_ET框架项目-斗地主_启动运行流程 项目源码地址&#xff1a; Viagi/LandlordsCore: ET斗地主Demohttps://github.com/Viagi/LandlordsCore下载项目到本地。 启动运行步骤&#xff1a; 下载目录如下&#xff1a; 1. VS&#xff08;我用是2022版VisualStudio&#xff09…

2023年第十届GIAC全球互联网架构大会-核心PPT资料下载

一、峰会简介 谈到一个应用&#xff0c;我们首先考虑的是运行这个应用所需要的系统资源。其次&#xff0c;是关于应用自身的架构模式。最后&#xff0c;还需要从软件工程的不同角度来考虑应用的设计、开发、部署、运维等。架构设计对应用有着深远的影响&#xff0c;它的好坏决…

Facebook广告投放常见错误

在进行Facebook广告投放时&#xff0c;很容易犯一些常见的错误。这些错误可能导致广告投资的浪费&#xff0c;影响广告效果并降低回报。本文小编讲一些常见的Facebook广告投放错误&#xff0c;以及如何避免它们。 1、不明确目标受众 广告的成功与否很大程度上取决于你选择的目…

Vue 双向绑定:让数据与视图互动的魔法!(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

一天搞定jmeter入门到入职全套教程之Jmeter分布式测试

随着并发量的增大&#xff0c;一台机器就不能满足需求了&#xff0c;所以我们采用分布式&#xff08;Master-Slaver&#xff09;的方案去执行高并发的测试 注意事项&#xff1a; Master机器一般我们不执测试&#xff0c;所以可以拿一台配置差些的机器&#xff0c;主要用来采集…

Apollo配置发布原理解析

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化&#xff0c;文章内容兼具广度、深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于…

C++ //习题2.5 请写出下列表达式的值。

C程序设计 &#xff08;第三版&#xff09; 谭浩强 习题2.5 习题2.5 请写出下列表达式的值。 (1) 3.5 * 3 2 * 7 - ‘a’ (2) 26 / 3 34 % 3 2.5 (3) 45 / 2 (int)3.14159 / 2 (4) a b (c a 6) 设a的初值为3 (5) a 3 * 5, a b 3 * 2 (6) (int)(a 6.5) % 2 …

波奇学Linux:Linux进程状态,进程优先级

编写一个程序模拟进程 查看进程状态 修改代码后发现进程状态为由S变成R R为运行态&#xff0c;S为阻塞态 第一次为S是因为调用了外设&#xff08;printf调用屏幕外设&#xff09;&#xff0c;实际上应该为R&#xff0c;S状态轮换&#xff0c;但是R太快了&#xff0c;所以每次…

使用docker编排容器

使用Dockerfile构建一个自定义的nginx 首先用docker拉一个nginx镜像 docker pull nginx拉取完成后&#xff0c;编辑一个Dockerfile文件 vim Dockerfile命令如下所示,FROM 后面跟的你的基础镜像&#xff0c;而run则是表示你构建镜像时需要执行的指令&#xff0c;下面的指令意…

python pip 相关缓存清理(windows+linux)

pip会大量缓存&#xff0c;如果全部堆在系统盘&#xff0c;会造成别的无法使用 windows和linux通用 一、linux linux是在命令行操作 1.查看缓存位置 pip cache dir我这里默认是在/root/.cache/pip 2.查看大小 du -sh /root/.cache/pip结果如下&#xff1a; 3.清理&#…