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

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

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. 数据冗余和数据独立性文件系统不能解决数据冗余和数据独立性问题,而数据库系统则可以。

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

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

相关文章

【Vue】vue文件外通过ref获取元素

问题描述 我在abc.js写HomeView.vue的逻辑代码我要在abc.js里,获取HomeView.vue组件里ref为test的元素 码 abc.js 导出test import { ref } from vue const test ref() export {test } HomeView.vue 引入test注意: ref不能加冒号,也就…

Java零基础入门-Comparable vs Comparator(上)

哈喽,各位小伙伴们好,我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流学习,互相学习,才能成长的更快,对吧。 我是一名java开发,所以日常接触到最多…

System是什么?为什么不能直接输出null?

在看学习下面的知识前,得先对java核心类库有个大致的了解,详情可参考链接 java基本概念-扩展点-CSDN博客 1、System 1.1 System是什么? System是一个类,它包含了一些有用的属性和方法。 1.2 System实现的功能 (1&…

linux下如何hook第三方播放器的视频数据?

背景 作为显卡生产商,当用户使用我们的显卡硬解码播放视频时,如果出现比如花屏等问题,为了快速确定问题原因,我们需要一个工具来帮助判断出问题是出在原始视频端,亦或者是应用程序端,亦或者是显卡端。因此我们需要一种方法,来对目标播放器程序进行监控,并捕获到视频源的…

【深度学习】换脸新科技,InstantID: Zero-shot Identity-Preserving Generation in Seconds

论文:https://arxiv.org/abs/2401.07519 代码:https://github.com/InstantID/InstantID demo:https://huggingface.co/spaces/InstantX/InstantID 文章目录 1 引言2 相关工作2.1 文本到图像扩散模型2.2 主题驱动的图像生成2.3 保持ID的图像生成 3 方法3.…

简易线程池的实现

Worker的实现 总体来说我们首先需要实现一个Worker线程类,让他的线程实例拿取任务然后执行任务。 //worker主要是从jobs中拿工作,拿不到等,拿到了执行。class Worker implements Runnable{private volatile boolean running true;Overrid…

工程经济学一

工程项目: 工程项目是指为完成某一独特的产品、服务或任务所做的一次性努力。又称建设项目、基本建设项目、投资建设项目或建设工程项目。 工程项目前评价: 是项目建议书和可行性研究阶段进行的,是项目开工前对 拟建项目的必要性和可能性进…

删除、创建、验证Kafka安装自带的__consumer_offsets topic

删除Kafka自带Topic 一般情况下,你删除Kafka自带的__consumer_offsets topic,会报错提示不能删除。 倔强的你直接找到zookeeper删掉了它,list查看确实没有这个topic了,但是这会导致消费者和偏移量无法记录。 创建Kafka自带的Topi…

zabbix5监控tomcat

zabbix tomcat客户端配置 1、配置tomcat catalina.sh文件 CATALINA_OPTS"$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port12345 -Dcom.sun.management.jmxremote.authenticatefalse -Dcom.sun.management.jmxremote.sslfalse -Djav…

smart-doc 社区 Committer 晋升公告

我们非常荣幸地宣布,经过 PMC 委员会的提名和讨论,社区成员李星志(GitHub ID: netdied)、陈琪(GitHub ID: chenqi146)和李兵(GitHub ID: abing22333)正式晋升为同程旅行 smart-doc 开…

Vue3全家桶 - Vue3 - 【3】模板语法(指令+修饰符 + v-model语法糖)

一、模板语法 主要还是记录一些指令的使用和vue2的区别;vue3指令导航; 1.1 v-text 和 v-html 指令的区别: v-text: 更新元素的文本内容;v-text 通过设置元素的 textContent 属性来工作,因此它将覆盖元素…

数据结构:静态链表(编程技巧)

链表的元素用数组存储, 用数组的下标模拟指针。 一、理解 如果有些程序设计语言没有指针类型,如何实现链表? 在使用指针类型实现链表时,我们很容易就可以直接在内存中新建一块地址用于创建下一个结点,在逻辑上&#x…

3、设计模式之工厂模式

工厂模式是什么?     工厂模式是一种创建者模式,用于封装和管理对象的创建,屏蔽了大量的创建细节,根据抽象程度不同,主要分为简单工厂模式、工厂方法模式以及抽象工厂模式。 简单工厂模式 看一个具体的需求 看一个…

重拾C++之菜鸟刷算法第11篇---回溯算法(上)

今天是个好日子,二月二龙抬头,龙年龙日龙抬头,顺风顺水好兆头,万事万物开好头,金银珠宝往家里走!offer往家走! 回溯算法 回溯法可以解决的问题 组合问题:N个数里面按照一定规则找…

华为交换机创建端口组

文章目录 创建永久端口组解散永久端口组创建临时端口组总结 创建永久端口组 [SW3]port-group ?STRING<1-32> Port-group name \\表示用包含1到32个字符的字符串&#xff0c;给端口组其个名字&#xff0c;这种是创建永久组的group-member Add port to current port-g…

django动态表技术(根据日期,年月日)方法一

方法一&#xff1a; 第一步&#xff1a;在models创建一个类&#xff0c;里边存放数据表中需要的字段&#xff0c;如下 class TemplateModel(models.Model):NowTime models.CharField(max_length5)name models.CharFiedld(max_length5)class Meta:abstract True # 基础类设…

【C#语言入门】18. 事件详解(下)

【C#语言入门】18. 事件详解&#xff08;下&#xff09; 三、事件的声明 事件的声明 完整声明简略声明&#xff08;字段式声明。field-like&#xff09; 完整声明 class EventExample1 {static void Main(string[] args){Customer customer new Customer();Waiter waiter…

Vue3之通过Vue.config.globalProperties注册全局属性

Vue3之通过Vue.config.globalProperties注册全局属性 文章目录 Vue3之通过Vue.config.globalProperties注册全局属性1. Vue.config.globalProperties2. 注册全局属性1. 注册方式12. 注册方式2 3. 在setup函数中获取 1. Vue.config.globalProperties Vue2中使用Vue.prototype.自…

面向对象(精髓)变继承关系为组和关系(_Decorator模式)

在软件开发中&#xff0c;设计模式是解决常见问题的可重用解决方案。在面向对象编程中&#xff0c;继承和组合是两种常用的代码复用方式。然而&#xff0c;随着软件需求的不断变化&#xff0c;我们需要更灵活的设计方式来应对不断变化的需求。在本文中&#xff0c;我们将讨论从…

计算机网络——TCP/IP网络层次模型

计算机网络——TCP/IP网络层次模型 TCP/IP网络模型的起源TCP/IP网络层次的结构TCP/IP如何交互 TCP/IP协议栈TCP/IP协议栈主要协议 TCP/IP 和 OSI之间的区别面向连接和无连接面向连接三次握手&#xff0c;四次挥手 无连接 我们上一次了解了OSI的网络层次模型&#xff0c;如果还没…