数据库系统相关概念

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

 

 

 

关系系统及其查询优化

 

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

 

优化的一般策略:

 

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

 

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

 

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

 

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

 

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

 

找出公共子表达式

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Qt的蓝牙Bluetooth在ubuntu实现模拟

​# 前言 Qt 官方提供了蓝牙的相关类和 API 函数,也提供了相关的例程给我们参考。笔者根据 Qt官方的例程编写出适合我们 Ubuntu 和 gec6818开发板的例程。注意 Windows 上不能使用 Qt 的蓝牙例程,因为底层需要有 BlueZ协议栈,而 Windows 没有。Windows 可能需要去移植。笔者…

Java 值传递、引用传递

开始之前,我们先来搞懂下面这两个概念: 形参&实参值传递&引用传递 方法的定义可能会用到 参数(有参的方法),参数在程序语言中分为: 实参(实际参数,Arguments)…

js中常用的字符串操作!!!

1.字符串的长度 // 字符串常用的操作 let str1 "qwasaertrayuasdf"; let str2 "asdfzcxfv"; // 1.字符串的长度 console.log(str1.length);2. charAt() : 返回指定索引位置的字符 // 字符串常用的操作 let str1 "qwasaertrayuasdf"; let str2…

jemeter,断言:响应断言、Json断言

一、响应断言 接口A请求正常返回值如下: {"status": 10013, "message": "user sign timeout"} 在该接口下创建【响应断言】元件,配置如下: 若断言成功,则查看结果树的接口显示绿色,若…

python自动化测试实战 —— 自动化测试框架的实例

软件测试专栏 感兴趣可看:软件测试专栏 自动化测试学习部分源码 python自动化测试相关知识: 【如何学习Python自动化测试】—— 自动化测试环境搭建 【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更…

python+pytest接口自动化(10)-session会话保持

在接口测试的过程中,经常会遇到有些接口需要在登录的状态下才能请求,否则会提示请登录,那么怎样解决呢? 上一篇文章我们介绍了Cookie绕过登录,其实这就是保持登录状态的方法之一。 另外一种方式则是通过session进行会…

【python】魔术方法大全——基础篇

什么是魔术方法 所谓魔法方法,它的官方的名字实际上叫special method,是Python的一种高级语法,允许你在类中自定义函数,并绑定到类的特殊方法中。比如在类A中自定义__str__()函数,则在调用str(A())时,会自动…

MySQL笔记-第12章_MySQL数据类型精讲

视频链接:【MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板】 文章目录 第12章_MySQL数据类型精讲1. MySQL中的数据类型2. 整数类型2.1 类型介绍2.2 可选属性2.2.1 M2.2.2 UNSIGNED2.2.3 ZEROFILL 2.3 适用场景2.4…

RabbitMQ Streams 详解

RabbitMQ Streams是一种持久复制数据结构,可以完成与队列相同的任务:它们缓冲来自生产者的消息,这些消息由消费者读取。然而,流与队列的区别在于两个重要方面:消息的存储和消费方式。 Streams为仅追加的消息日志建模&a…

希亦|鲸立|小吉内衣洗衣机好用吗?强势PK“洗护一体”王者!

随着人们的生活水平的提升,越来越多小伙伴来开始追求更高的生活水平,一些智能化的小家电就被发明出来,而且内衣洗衣机是其中一个。我们对内衣裤的清洗频次会高于普通衣服,大多数人会选择手洗内衣裤,都在手洗过程不仅会…

会计学上机实验

使用说明: 蓝色标记提示需要明细核算最后算出来的净利润为 732150本文不是标准答案,老师也没给标准答案 1. 10 月 1 日,盛达有限责任公司成立,注册资本(实收资本)800 万人民币,其中&#xff1a…

Live800:企业做好客服质检的5大方法

在现代商业社会中,客服质量已经成为了企业竞争力的重要组成部分。一家企业的客服质量直接关系到其品牌形象和客户满意度,因此企业必须要重视客服质量,并且采取一些有效的方法来做好客服质检。下面将介绍企业做好客服质检的5大方法。 一、建立…

HI3559AV100和FPGA 7K690T的PCIE接口调试记录

1、基本情况 HI3559AV100和690t之间使用pcie2.0 x2接口连接,3559作为RC端,690T作为EP端,驱动使用XDMA。系统主要功能是FPGA采集srio接口过来的图像数据,再通过pcie把数据传递给3559,3559再实现图像数据的存储、AI处理、…

HarmonyOS鸿蒙应用开发——数据持久化Preferences

文章目录 数据持久化简述基本使用与封装测试用例参考 数据持久化简述 数据持久化就是将内存数据通过文件或者数据库的方式保存到设备中。HarmonyOS提供两两种持久化方案: Preferences:主要用于保存一些配置信息,是通过文本的形式存储的&…

X86汇编语言:从实模式到保护模式--命令篇

X86汇编语言:从实模式到保护模式–命令篇 补充汇编命令 注:不能直接将内存赋值给内存,也不能将立即数直接赋值给段寄存器(CS DS ES SS),但是可以将内存直接赋值给段寄存器 div:使用操作数作为…

面试必备的Linux常用命令

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 Linux常用命令 1、文件及内容2、网络3、进程服务4、…

PostgreSql 设置自增字段

一、概述 序列类型是 PostgreSQL 特有的创建一个自增列的方法。包含 smallserial、serial和 bigserial 类型,它们不是真正的类型,只是为了创建唯一标识符列而存在的方便符号。其本质也是调用的序列,序列详情可参考:《PostgreSql 序…

【FPGA】综合设计练习题目

前言 这是作者这学期上的数电实验期末大作业的题目,综合性还是十分强的,根据组号作者是需要做“4、篮球比赛计分器”,相关代码会在之后一篇发出来,这篇文章用于记录练习题目,说不定以后有兴趣或者有时间了回来做做。 …

慢SQL的治理经验

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、慢SQL导致的后果 二、可能导致慢SQL的原因 三、如何发现慢SQL 3.1 JVM Sandbox 四、识别高危SQL 4.1 阿里的重点强制SQL规…

python 拆分视频为图像序列

import cv2 import os#此删除文件夹内容的函数来源于网上 def del_file(filepath):"""删除某一目录下的所有文件或文件夹:param filepath: 路径:return:"""del_list os.listdir(filepath)for f in del_list:file_path os.path.join(filepath, …