当前位置: 首页 > news >正文

数据库相关理论知识(有目录便于直接锁定相关知识点+期末复习)

一,数据模型,关系型数据模型,网状模型,层次模型

1.数据库模型是用来描述和表示现实世界中的事物、概念以及它们之间的关系的工具,但是并不是越专业越好,还要平衡它的模型的复杂性、通用性和成本效益等因素。数据模型按不同的应用层次可以分为三个层次,它们分别是:概念数据模型(E-R图),逻辑数据模型(数据模型),物理数据模型(储存硬盘)。

2.关系数据模型它的三个核心要素是:数据结构、操作集合 以及 完整性约束关系模型存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。由Edgar F. Codd(埃德加 • 科德)出。

3.网状模型:一个结点有多个父结点以及结点之间为多对多联系的情形

4.层次模型:有且只有一个结点没有双亲结点,这个结点称为根结点。根以外的其他结点有且只有一个双亲结点。


二,数据库系统模式和模式映像

1.模式是数据库中全体数据的全局逻辑结构和特征的描述,它定义了数据的整体结构和关系,是数据库设计的基础。(只有一个)

2.内模式则是对数据的物理结构和存储方法的描述,它规定了数据在数据库内部的表示方式和存储方式。内模式关注的是数据的存储和访问效率,以及如何有效地将数据存储在物理介质上。(只有一个)

3.外模式用户模式或子模式):是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。不同的用户或应用程序可能需要看到不同的数据视图,因此可以定义多个外模式来满足这些需求。(可以有多个)

4.外模式/模式映像:当数据库的逻辑结构(即模式)发生变化时,如增加新的关系、改变关系的属性或数据类型等,只要对外模式/模式映像作相应的修改,就可以使外模式保持不变。应用程序是依据数据的外模式编写的,因此应用程序不必修改,从而保证了数据与程序的逻辑独立性,也称为数据的逻辑独立性。

5.要保证数据库的数据独立性,主要需要修改的是数据库系统中的二级映象,包括外模式/模式映像和模式/内模式映像。


三,数据库关系模式

1.在数据库的实际应用中,由于业务需求的变更、数据的增长和变化以及其他因素的影响,数据库中的数据是不断更新的,这导致关系模式也可能发生相对变化


四,数据库系统特点(冗余度)

1.数据库中的数据冗余度通常是不高的。通过合理的数据模型设计和数据库管理系统(DBMS)的应用,数据库可以确保数据的结构化(数据完整性)、共享性高 以及 冗余度低


五,三级模式和系统安全性

1.数据库的三级模式结构确实能够提高系统的安全性。这种结构通过逻辑和物理独立性、权限控制以及数据完整性约束等机制,为数据库系统提供了强大的安全保障。

2.三级模式结构通过外模式/模式映像模式/内模式映像,实现了数据的逻辑独立性和物理独立性(数据独立性)。是由DBMS提供的。

3.三级模式结构支持权限控制机制。通过为不同的用户或应用程序分配不同的外模式,可以限制它们对数据的访问和操作权限。

4.三级模式结构还支持数据完整性约束。通过定义数据的完整性规则,如主键约束、外键约束等,可以确保数据的准确性和一致性。

5.模式之间的对应关系:模式与外模式是一对多关系,模式与内模式是一对一的关系。

6.外模式与应用程序之间的对应关系:是一对一的关系


六,数据与信息

1.数据是表示信息的具体形式,信息是数据表达的内容

2.数据处理并不是将信息转换成数据的过程,而是对已有的数据进行收集、整理、分析、解释和呈现的过程。数据是客观存在的符号,而信息是经过加工处理后的数据,具有特定的含义和价值。

七,数据库系统,数据库,数据库管理系统

1.数据库系统(DBS)不仅仅是一个应用软件,它是一个复杂且综合的系统。它包括了 数据库(DB)、数据库管理系统(DBMS),数据库应用程序,数据库管理员(DBA),用户,硬件。

2.数据库(DB):长期存储在计算机内的有组织、可共享的数据集

3.数据库管理系统(DBMS)它是在操作系统支持下的系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。它属于系统软件的范畴。数据库管理系统(DBMS)负责处理来自应用程序的SQL语句,DBMS并不直接编译高级语言程序。是数据库系统的核心

4.数据库管理员 (DBA) :通常在应用程序开发过程中就开始介入,而不是在应用程序交付使用后。

在应用程序开发过程中,DBA会与开发人员紧密合作,提供数据库相关的技术支持和指导。

八,E-R图

1.矩形:用来表示实体集,矩形框内写上实体集的名字。

2.菱形:用来表示实体集之间的关系,菱形内部写上关系的名称。菱形还与表示实体集的矩形相连,用线段连接表示它们之间的关系。

3.椭圆形用来表示实体上的属性。

4.:是定义属性的重要概念,它限定了属性可以取的值的范围。

5.实体集和实体型:同类实体的集合称为实体集,而描述同类实体的结构和属性的抽象概念称为实体型

6.实体之间三类基本的关系 一对一(1:1)关系,一对多(1:m)关系,多对多(m:n)关系。

7.区分不同实体的主要依据属性


九,数据库系统的数据独立性

1.数据独立性主要体现在两个方面:物理数据独立性和逻辑数据独立性。

2.物理数据独立性 : 是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据的物理结构(如数据存储方式、存储位置等)发生改变时,不会影响到应用程序。

3.逻辑数据独立性 : 则是指用户的应用程序与数据库的逻辑结构是相互独立的。这意味着数据库的逻辑结构(如表结构、关系、属性等)发生变化时,应用程序也不需要修改

4.总之数据库系统的数据独立性体现在:不会因为数据存储结构与数据逻辑结构的变化而影响应用程序


十.数据库命令语言(DDL,DCL,DML,DQL)

  1. 数据定义语言(DDL, Data Definition Language):
    • 用来定义数据库对象,如表、索引、触发器等。
    • 常见的DDL命令包括:
      • CREATE DATABASE:创建新数据库。
      • CREATE TABLE:创建新表。
      • ALTER TABLE:修改表结构。
      • DROP TABLE:删除表。
      • CREATE INDEX:创建索引。
  2. 数据操作语言(DML, Data Manipulation Language):
    • 用来对数据库中的数据进行增、删、改操作。
    • 常见的DML命令包括:
      • INSERT INTO:向表中插入新数据。
      • UPDATE:更新表中数据。
      • DELETE:从表中删除数据。
  3. 数据查询语言(DQL, Data Query Language):
    • 用来查询数据库中的数据。
    • 最常见的DQL命令是SELECT,它允许用户根据指定条件检索表中的数据。
    • ORDER BY也常用来对查询结果进行排序。
  4. 数据控制语言(DCL, Data Control Language):
    • 用来定义数据库的访问权限和安全级别,以及创建和管理数据库用户。
    • 常见的DCL命令包括:
      • GRANT:授权用户访问或操作数据库对象。
      • REVOKE:撤销用户的访问权限。

十一,数据库系统与文件系统的主要区别

  1. 数据存储方式:文件系统将数据组织成相互独立的数据文件,实现了记录内的结构性,但整体无结构。相比之下,数据库系统则实现了整体数据的结构化,这是数据库系统的一个主要特征,也是其与文件系统的本质区别。
  2. 程序与数据的联系:在文件系统中,程序和数据之间存在一定的联系。然而,在数据库系统中,程序和数据是分离的,这种分离有助于数据的独立性和可维护性
  3. 数据管理方式:文件系统使用操作系统中的存取方法来管理数据,而数据库系统则使用DBMS(数据库管理系统)来统一管理和控制数据。
  4. 数据共享方式:文件系统实现的是以文件为单位的数据共享,而数据库系统则实现以记录和字段为单位的数据共享。
  5. 数据冗余和数据独立性文件系统不能解决数据冗余和数据独立性问题,而数据库系统则可以。

相关文章:

数据库相关理论知识(有目录便于直接锁定相关知识点+期末复习)

一,数据模型,关系型数据模型,网状模型,层次模型 1.数据库模型是用来描述和表示现实世界中的事物、概念以及它们之间的关系的工具,但是并不是越专业越好,还要平衡它的模型的复杂性、通用性和成本效益等因素…...

NCC环境配置

一、后端配置 1.安装eclipse汉化插件 2.安装svn插件...

用python实现Dubins曲线生成

Dubins曲线是连接两个具有指定方向和位置的点的最短路径,其中路径受到固定曲率约束(如车辆的转向限制)。Dubins曲线常用于机器人路径规划、车辆轨迹规划等领域。 Dubins曲线可以分为三种类型:CCC (Curve-Curve-Curve), CCL (Curv…...

智能技术上的“是”并不代表具体领域的“应该”

技术上的“是”并不代表具体领域的“应该” 。技术上的“是”仅仅是指某种方法或技术在实践中是否可行或有效,而不涉及是否该采取这种方法或技术。决定是否采取某种方法或技术还需要考虑伦理、法律、可行性等其他方面的因素。技术的发展可能会有各种可能性&#xff…...

永热爱 敢向前 | Paraverse平行云的2023 年终总结

永热爱,敢向前 值此新年,回顾2023,仅以此句,献给所有XR产业信仰者 2023 年,是XR产业技术和场景承上启下的关键之年 在这场波澜壮阔的技术潮中 「Paraverse平行云」踏浪前行 已是第八个年头,让我们一起…...

c/c++的内存分配,详细说一下栈、堆和静态存储区

栈区(Stack):由编译器自动分配和回收,栈中存放函数调用的相关信息,栈帧(记录函数的栈帧开始的位置),参数,局部变量,返回地址。其操作方法类似于数据结构中的栈…...

每日构造题训练——C. Divan and bitwise operations

每日构造题训练 题目链接: 题目传送门 前置知识: 按位或运算 一、题意: 1 1 1、 有一个长度为 n n n的但是元素未知的数组 a a a, 给定 m m m个约束&#xff0c;每个约束都有 l , r , x l, r, x l,r,x, 并且满足 1 ≤ l ≤ r ≤ n , 1 ≤ x < 2 30 , a [ l ] ∣ a [ l 1 …...

【C++练级之路】【Lv.13】多态(你真的了解虚函数和虚函数表吗?)

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《C语言》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 一、虚函数与重写1.1 虚函数1.2 虚函数的重写1.3 重写的特例1.4 final和override&#xff08;C11&#xff09;1.…...

如何在Windows系统安装Node.js环境并制作html页面发布公网远程访问?

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…...

C#,数值计算,希尔伯特矩阵(Hilbert Matrix)的算法与源代码

Hilbert, David (1862-1943) 1 希尔伯特(Hilbert) 德国数学家,在《几何学基础》中提出了第一套严格的几何公理(1899年)。他还证明了自己的系统是自洽的。他发明了一条简单的空间填充曲线,即埃里克魏斯汀的数学世界,即希尔伯特曲线,埃里克魏斯汀的数学世界,并证明了不…...

【C++教程从0到1入门编程】第八篇:STL中string类的模拟实现

一、 string类的模拟实现 下面是一个列子 #include <iostream> namespace y {class string{public: //string() //无参构造函数// :_str(nullptr)//{}//string(char* str) //有参构造函数// :_str(str)//{}string():_str(new char[1]){_str[0] \0;}string(c…...

学生时期学习资源同步-1 第一学期结业考试题6

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;引用请注明原作者&#xff0c;严禁复制转载...

迁移学习怎么用

如果想实现一个计算机视觉应用&#xff0c;而不想从零开始训练权重&#xff0c;比方从随机初始化开始训练&#xff0c;更快的方式是下载已经训练好权重的网络结构&#xff0c;把这个作为预训练&#xff0c;迁移到你感兴趣的新任务上。ImageNet、PASCAL等等数据库已经公开在线。…...

医疗手持智能终端读取条码二维码的难点有哪些?

在医疗科技行业信息化的大潮中&#xff0c;医疗手持式智能终端的应用越发普及&#xff0c;医疗手持式智能终端对条码二维码技术应用显得尤为关键&#xff0c;作为信息朔源载体的条码二维码读取方面&#xff0c;在实际应用中却面临着诸多问题&#xff0c;我们该如何应对&#xf…...

Python小设计

1. 五个PPT上的界面打印【print、input函数】 &#xff08;1&#xff09;英雄商城登陆界面 print(英雄联盟商城登录界面 ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~1. 用户登录2. 新用户注册3. 退出系统 ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~…...

今日讲讲父子传值~

今天来讲讲父子传值中的几种方法~ 项目中往往会把一些常用的公共代码抽离出来&#xff0c;写成一个子组件。或者在一个页面中的代码太多&#xff0c;可以根据功能的不同抽离出相关代码写成子组件&#xff0c;这样代码结构会更加简洁明了&#xff0c;后续维护更加方便。…...

三、HarmonyOS 应用开发入门之运行Hello World

目录 1、课程对象 1.1、有移动端开发经验 1.2、无移动端开发经验 1.3、对 HarmonyOS 感兴趣 2、DevEco Studio 的使用 2.1、DevEco Studio 的关键特性 智能代码编辑 低代码开发 多段双向实时预览 多端模拟仿真 2.2、安装配置 DevEco Studio 2.2.1、官网开发工具下载地…...

国科大网络行为学导论代码作业--更新中

一、Xray安装 参考自&#xff1a;Xray的安装与使用&#xff08;超详细&#xff09;_xray使用教程-CSDN博客 下载网址&#xff1a;Releases chaitin/xray GitHub 解压 双击安装 生成证书 cd到xray目录&#xff0c;生成证书 复制链接 然后cd到xray目录 .\xray_windows_amd6…...

JAVA后端开发面试基础知识(九)——SpringBoot

启动原理 SpringBoot启动非常简单,因其内置了Tomcat,所以只需要通过下面几种方式启动即可: @SpringBootApplication(scanBasePackages = {"cn.dark"}) public class SpringbootDemo {public static void main(String[] args) {// 第一种SpringApplication.run(S…...

C#调用Halcon出现尝试读取或写入受保护的内存,这通常指示其他内存已损坏。System.AccessViolationException

一、现象 在C#中调用Halcon&#xff0c;出现异常提示&#xff1a;尝试读取或写入受保护的内存,这通常指示其他内存已损坏。System.AccessViolationException 二、原因 多个线程同时访问Halcon中的某个公共变量&#xff0c;导致程序报错 三、测试 3.1 Halcon代码 其中tsp_width…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...