当前位置: 首页 > 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…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...