数据库系统概论笔记(持续更新)

news2024/9/20 5:32:25

一、概念

1、数据

数据库中存储的基本对象。

2、数据库

定义:长期存储在计算机内、有组织、可共享的大量数据的集合。

3、数据库管理系统

定义:是位于用户与操作系统之间的一层数据管理软件。

主要功能:

1) 数据定义功能

2)数据组织、存储和管理

3)数据操纵功能

4)数据库的事务管理和运行管理

4、数据库系统

定义:是指数据库、数据库管理系统(及其应用开发工具)、应用系统和数据库管理员组成的存储、管理、处理和维护数据的系统。

特点:

1) 整体数据的结构化

2) 数据的共享性强,冗余度低且易于扩充

3)数据独立性强

4) 数据由数据库管理系统统一管理和控制

5、数据模型

1)概念:数据模型是对现实世界数据特征的抽象。

2)作用:数据模型是数据库系统的核心和基础

3)三要素:数据结构、数据操纵、数据的完整性约束条件

4)分类:

 层次模型(Hierarchical Model)
 网状模型(Network Model)
 关系模型(Relational Model))
 面向对象数据模型(Object Oriented Data Model)
 对象关系数据模型(Object Relational Data Model)
 半结构化数据模型(Semistruture Data Model)

5.1层次模型

是数据库系统中最早出现的数据模型
层次数据库系统的典型代表是IBM公司的IMS数据库管理系统
用树形结构来表示各类实体以及实体间的联系

5.2网状模型

 网状数据库系统采用网状模型作为数据的组织方式
 典型代表是DBTG系统

网状模型中子女结点与双亲结点的联系可以不唯一
要为每个联系命名,并指出与该联系有关的双亲记录和子
女记录

5.3关系模型

定义:一种数据模型,它由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户视角下,关系模型中的数据逻辑结构表现为一张二维表,由行和列组成。

  • 关系:一个关系对应通常说的一张二维表,如表1.2所示。

② 元组:表中的一行即为一个元组。

③ 属性:表中的一列即为一个属性,每列的名称即为属性名。如表1.2中共有5列,对 应5个属性(学号,姓名,性别,出生日期,主修专业)。

④码:又称为码键或键,是表中的某一个属性或一组属性,其值可以唯一确定一个元组。

⑤ 域:域表示某一属性的取值范围 。

⑥ 分量:元组中的一个属性值。

⑦ 关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,⋯,属性n)。

优点:
 建立在严格的数学概念的基础上
 概念单一
 实体和各类联系都用关系来表示
 对数据的检索结果也是关系
 关系模型的存取路径对用户隐藏
 具有更强的数据独立性,更好的安全保密性
 简化了程序员的工作和数据库开发建立的工作

缺点:
 存取路径对用户隐藏,查询效率往往不如格式化数据模型
 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度
 

6、数据库系统的三级模式结构

三级模式结构:外模式、模式和内模式+两级映像

1、模式
 即全局逻辑结构,是数据库的中心与关键
独立于数据库的其他层次
 设计数据库模式结构时应首先确定数据库的逻辑模式

2、内模式
 依赖于数据库的全局逻辑结构
 独立于数据库的用户视图,即外模式
 独立于具体的存储设备
 将全局逻辑结构中所定义的数据结构及其联系按照一

3、外模式
 面向具体的应用程序
 定义在逻辑模式之上
 独立于存储模式和存储设备
 当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动
 设计外模式时应充分考虑到应用的扩充性

4、特定的应用程序
 在外模式描述的数据结构上编制的
 依赖于特定的外模式
 与数据库的模式和存储结构独立
 不同的应用程序有时可以共用同一个外模式

5、数据库的两级映像
 保证了数据库外模式的稳定性
 从底层保证了应用程序的稳定性,除非应用需求本身
发生变化,否则应用程序一般不需要修改

优点:

1)实现了数据与应用之间的逻辑独立性和物理独立性

2)数据库的两级映像保证了数据库外模式的稳定性,从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改

3)简化了应用程序的编制,大大减少了应用程序的开发和维护成本

7、数据库系统的组成

1)硬件平台
2)软件平台
3)人员
 

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

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

相关文章

C++ | Leetcode C++题解之第395题至少有K个重复字符的最长子串

题目&#xff1a; 题解&#xff1a; class Solution { public:int longestSubstring(string s, int k) {int ret 0;int n s.length();for (int t 1; t < 26; t) {int l 0, r 0;vector<int> cnt(26, 0);int tot 0;int less 0;while (r < n) {cnt[s[r] - a];…

QStackedWidget类的使用

本文介绍QStackedWidget类的使用。 StackedWidget控件在Qt应用程序开发过程中用的还是比较多的&#xff0c;配合按钮可以实现多个页面之间相互切换&#xff0c;方便了应用程序的开发&#xff0c;本文简要介绍QStackedWidget类实际使用过程中的常用方法&#xff0c;并给出一个简…

Matlab -- meshgrid和peaks的用法

最近在看到关于三维路径规划方面中&#xff0c;提到使用了样条插值的方法&#xff0c;其中提到了meshgrid和peaks。也查阅了相关资料&#xff0c;现将查阅的资料整理如下。 1 meshgrid函数 该函数是网格采样点的函数。 主要使用的函数为[X,Y]meshgrid(xgv,ygv); meshgrid函数…

华为OD机试真题 - 矩阵匹配 - 深度优先搜索DFS(Python/JS/C/C++ 2024 D卷 200分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

华为OD机试 - 跳房子I(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;E卷D卷A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加…

高效驱动之选 ——KP85211ASGA 半桥栅极驱动器 内置互锁死区

KP85211A是一款 225V 耐压&#xff0c;具有 1A 拉电流和 1.5A 灌电流能力的半桥栅极驱动器&#xff0c;专用于驱动功率MOSFET或IGBT。采用高压器件工艺技术&#xff0c;具有良好的电流输出及出色的抗瞬态干扰能力。可保证开关节点 VS 瞬态 -7V 情况下系统正常工作。可支持开关节…

SpringBoot自定义启动器(自定义Starter)

一、如何理解 SpringBoot 的 starter 机制 Spring Boot 的 Starter 机制是其简化开发流程的关键特性之一。通过提供 预配置的依赖项 和 自动配置 支持&#xff0c;这一机制极大地简化了项目的依赖管理和配置工作&#xff0c;使得开发者可以更快地搭建应用程序框架&#xff0c;…

【系统分析师】计算机组成与体系架构

计算机硬件组成&#xff0c;运算器&#xff0c;控制器 计算机基本硬件系统五大组成部分&#xff1a;运算器&#xff0c;控制器&#xff0c;存储器&#xff0c;I/O设备 运算器的四个重要寄存器&#xff1a; 算术逻辑单元&#xff08;实时对数据的算术和逻辑运算&#xff0c;…

C语言 ——— 学习并使用 #if defined #ifdef #ifndef 条件编译指令

目录 学习 #if defined #ifdef #ifndef 条件编译指令 使用 #if defined 和 #ifdef 条件编译指令 使用 #ifndef 条件编译指令 学习 #if defined #ifdef #ifndef 条件编译指令 #if #ifndef 条件编译指令是用来判断某个符号是否被定义过&#xff0c;被定义过的话就为真&#x…

代码随想录冲冲冲 Day41 动态规划Part9

188. 买卖股票的最佳时机 IV 昨天题目是买卖两次&#xff0c;这里是设定好k次 2次的时候一共包含了5中情况 那么k次就包含了2 k 1种情况 初始化只有1 &#xff0c; 3 &#xff0c;5 也就是买入的状况是有值的&#xff0c;所以初始化时候只需要看这些情况知道2 k 之后只要把…

C++11(2)

目录 6。左值引用和右值引用 下面演示左值和左值引用&#xff1a; 下面演示右值和右值引用&#xff1a; 7。移动构造和移动赋值 VS2022的神级优化 List下的移动构造拷贝和深拷贝(实战) 证明&#xff1a;左值是由编译器决定的 附加&#xff1a;自己实现的List.h 6。左值引…

欺诈文本分类检测(十四):GPTQ量化模型

1. 引言 量化的本质&#xff1a;通过将模型参数从高精度&#xff08;例如32位&#xff09;降低到低精度&#xff08;例如8位&#xff09;&#xff0c;来缩小模型体积。 本文将采用一种训练后量化方法GPTQ&#xff0c;对前文已经训练并合并过的模型文件进行量化&#xff0c;通…

fuxa搭建与使用(web组态)

1. 安装Node.js -> npm安装 参考网址&#xff1a;https://blog.csdn.net/WHF__/article/details/129362462 一、安装运行 C:\WINDOWS\system32>node -v v20.17.0 C:\WINDOWS\system32>npm -v 10.8.2 二、环境配置 在安装路径&#xff08;D:\Program_Files\nodejs&a…

打开VSCod安装“PHP Intelephense”或“PHP Server”PHP扩展

安装PHP扩展&#xff1a; 打开VSCode&#xff0c;进入扩展视图&#xff08;或使用快捷键CtrlShiftX&#xff09;。搜索并安装“PHP Intelephense”或“PHP Server”等PHP相关扩展&#xff0c;这些扩展提供了PHP代码的智能感知、代码导航、调试等功能。 配置PHP路径&#xff1a;…

第2章 方法

本书作者起初以为仅靠研究命令行工具和指标就能提高性能。他认为这样不对。他从头到尾读了一遍手册&#xff0c;看懂了缺页故障、上下文切换和其他各种系统指标的定义&#xff0c;但不知道如何处理它们&#xff1a;如何从发现信号到找到解决方案。 他注意到&#xff0c;每当出…

第 8 章图像内容分类

本章介绍图像分类和图像内容分类算法。首先&#xff0c;我们介绍一些简单而有效的方法和目前一些性能最好的分类器&#xff0c;并运用它们解决两类和多类分类问题&#xff0c;最后展示两个用于手势识别和目标识别的应用实例。 8.1 K邻近分类法&#xff08;KNN&#xff09; 在…

2024最新精选文章!分享5款论文ai生成软件

在2024年&#xff0c;AI论文生成软件的出现极大地提升了学术写作的效率和质量。这些工具不仅能够帮助研究人员快速生成论文草稿&#xff0c;还能进行内容优化、查重和排版等操作。以下是五款值得推荐的AI论文生成软件&#xff0c;其中特别推荐千笔-AIPassPaper。 ### 千笔-AIPa…

shader 案例学习笔记之step函数

step函数 step(edge,x)&#xff1a;当x>edge时返回1&#xff0c;否则返回0 #ifdef GL_ES precision mediump float; #endifuniform vec2 u_resolution;void main(){vec2 st gl_FragCoord.xy/u_resolution.xy;float f step(0.5, st.x);gl_FragColor vec4(f, 0, 0, 1.0); …

JQuery中的$

}); 当jquery.color.js动画插件加载完毕后&#xff0c;单击id为“go”按钮时&#xff0c;class为block的元素就有了颜色动画变化。 $.getJSON() $.getJSON()方法用于加载JSON文件&#xff0c;与$.getScript()方法的用法相同。 我们来看demo2. demo2.html 已有评论&#xff1…

Linux下如何使用CMake实现动态库的封装与调用

一、动态库的封装 1.创建工程 首先创建一个qt工程&#xff08;这里我采用的是ui工程&#xff09; 这里选择Widget工程 名字取一个和动态库相关的即可&#xff0c;我这里取的UIDLL 这里选择CMake 这里我选择命名为Dynamic kits采用Qt 5.14.2 GCC 64bit&#xff0c;之后直接下一…