数据库原理(一)

1、基本概念

学号姓名性别出生年月籍贯
220101张三2003江苏
220102李四2003山东
220103王五2003河北
220104赵六2003天津
220105张四2003北京
220106李五2003江苏
220107王六2003山东
220108张七2003河北
220109张九2003天津
220110李十2003北京

1.1数据(Data)

以上面的表格为例,数字:98110101;字符:张三 、男。

  • 是数据库中存储的基本对象
  • 是客体在计算机中的表示
  • 定义为描述事物的符号记录

数据的种类包括:数字、文字、图形、图象、音频、视频、记录情况等

1.2数据库(Database,简称DB)

1.2.1定义

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

1.2.2数据库的基本特征

  • 数据按一定的数据模型组织、描述和储存
  • 供各种用户共享、冗余度较小、易扩展
  • 较高的数据独立性

1.2.3建立数据库的目的

  • 收集并抽取一个应用所需要的大量数据,进行保存
  • 供进一步加工处理、抽取有用信息
  • 转换为有价值的知识

1.3数据库管理系统(DBMS)

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

1.3.1DBMS主要功能

  • 数据组织:数据模式定义
  • 数据操纵: 物理存取、转换、统计等
  • 数据库运行管理与维护
  • 数据库的控制和保护与故障恢复
  • 数据交换
  • 数据服务:提供各种功能函数
  • 数据字典

1.3.2数据库管理员(DBA)

管理数据库规划、设计、维护和监控的人

1.4数据库系统(DBS)

1.4.1

  •  是由数据库及其管理软件组成的系统
  • 存储介质处理对象管理系统的集合体

1.4.2DBS组成

  • 数据库
  • 软件(数据库管理系统等)
  • 硬件
  • 人员(DBA等)

简单可以看出DBS是包含DB和DBMS的

数据库系统若更细的划分还可包括:数据库 、 数据库管理系统 ➢、数据库管理员 ➢、业务应用系统 、硬件平台(计算机和网络)、软件平台(数据库开发工具、中间件、操作系统)

2、数据模型

2.1定义

是对现实世界数据特征的抽象,用来描述数据、组织数据和对数据进行操作

举个例子:计算机不能直接处理现实世界中的具体事物,所以人们必须把具体事物转化成计算机能够处理的数据,也就是首先要数字化,把现实世界中具体的人、物、活动等用数据模型这个工具来抽象、表示和处理。通俗来讲,数据模型就是现实世界的模拟。

数据模型是数据库系统的核心和基础

2.2数据模型组成三要素

  • 数据结构 :是所描述对象类型的集合 。与数据类型、内容、性质有关的对象 。与数据之间联系有关的对象(静态特征)
  • 数据操作 :检索、更新(包括插入、删除、修改)(动态特征)
  • 数据的完整性约束条件 :一组完整性规则的集合(完整性约束条件)

2.3概念模型

从用户的观点对数据进行建模 将现实世界抽象为信息世界

2.3.2信息世界中的基本概念

  • 实体(Entity) (如,一个学生
  • 属性(Attribute) (学生 的 学号、姓名、年龄专业)
  • 码(Key) ( 学号 )
  • 实体型(Entity Type) ( 由实体名及属性名构成)
  • 实体集(Entity Set) (全部学生集合)
  • 联系(Relationship) (有 1:1、1:n 、 m:n)

2.3.3概念模型实例

实体-联系模型(E-R模型)

2.4逻辑模型

  • 层次模型(Hierarchical Model)  数据结构:树
  • 网状模型(Network Model )  数据结构:图
  • 关系模型(Relational Model)  数据结构:表
  • 面向对象模型(Object Oriented Model)  数据结构:对象

3、三级模式结构

3.1模式

模式是所有用户的公共数据视图

比如最上面的表格,学号、姓名、性别等共有部分是模式

  • 是数据库全体数据的逻辑结构(数据项的名字、类型、取值范围等)和 特征的描述
  • 仅仅涉及数据“型”(type)的描述,不涉及具体的“值”(value)
  • 模式是数据的结构描述,以及数据有关的安全性、完整性要求

3.1数据模型与模式的关系

点击查看

3.2三级模式定义

  • 外模式(External Schema):某一用户能够看到和处理的数据的结构描述
    • 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构 和特征的描述
    • 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
    • 外模式的地位:介于模式与应用之间
    • 模式与外模式的关系:一对多
    • 外模式与应用的关系:一对多
  • 模式(概念模式, Conceptual Schema):从全局角度理解/管理的数据的结构描述(全局角度、关联约束、结构描述、本质联系)
    • 一个数据库只有一个模式
    • 模式的地位:是数据库系统模式结构的中间层
  • 内模式(Internal Schema):存储在介质上的数据的结构描述,如存储路径、方式等
    • 是数据物理结构和存储方式的描述
    • 含有存储路径、存储方式、索引方式等
    • 是数据在数据库内部的表示方式
    • 一个数据库只有一个内模式

3.3两级映像

  • E-C映像(External-Conceptual Mapping)[外模式/模式映像]:便于用户观察和使用 将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换
  • C-I映像(Conceptual-Internal Mapping)[模式/内模式映象]:便于计算机存储和处理 将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换

3.4数据独立性

3.4.1外模式/模式映象(逻辑独立性)

当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式 保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了 数据与程序的逻辑独立性,简称数据的逻辑独立性。

3.4.2模式/内模式映象(物理独立性)

当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管 理员修改模式/内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理 独立性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《系统架构设计师教程(第2版)》第5章-软件工程基础知识-05-净室软件工程(CSE)

文章目录 1. 概述2. 理论基础2.1 函数理论2.2 抽样理论 3. 技术手段3.1 增量式开发3.2 基于函数的规范与设计3.3 正确性验证3.4 统计测试 (Statistically Based Testing) 和软件认证 4. 应用与缺点1)太理论化2)缺少传统模块测试3)带有传统软件…

频率域采样

1. 频率域采样 (1) 采样的过程:DFT的X(k)是对周期且连续的频谱X()在[0,2pi)上的等间隔采样,采N个点得到的,采样间隔是;频域采样要求时域有限,即假设x(n)的长度是有限值M,x(n)的SFT是X()。 (2) X(k) 做IDF…

YOLOv9有效提点|加入BiFormer、SEA、EMA、Efficient se等几十种注意力机制(三)

专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,主力高效涨点!!! 一、本文介绍 本文只有代码及注意力模块简介,YOLOv9中的添加教程:可以看这篇文章。 YOLOv9有效提点|加入SE、CBAM、ECA、SimA…

svn介绍 4.0

一、svn介绍(版本控制工具) 1、svn的定义: svn是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式个管…

全球十大正规伦敦金交易平台app软件最新排名(综合版)

伦敦金作为当前国际市场中较为成熟、灵活的投资产品自然备受青睐,但投资者在选择交易软件时,应该尽量选择在行业内排名较高,口碑较好的平台,这样才能获得可靠的投资服务。刚开始不太懂得如何选择伦敦金软件的时候,投资…

Carla自动驾驶仿真九:车辆变道路径规划

文章目录 前言一、关键函数二、完整代码效果 前言 本文介绍一种在carla中比较简单的变道路径规划方法,主要核心是调用carla的GlobalRoutePlanner模块和PID控制模块实现变道,大体的框架如下图所示。 一、关键函数 1、get_spawn_point(),该函数根据指定r…

如何查看docker容器里面运行的nginx的配置文件哪

要查看Docker容器内运行的Nginx配置文件的位置,你可以通过进入容器的shell环境来直接查看。Nginx的默认配置文件通常位于/etc/nginx/nginx.conf,而网站特定的配置文件通常位于/etc/nginx/conf.d/目录中。以下是步骤来查看这些配置文件: 步骤…

【嵌入式学习】网络编程day0229

一、思维导图 二、练习 TCP通信 服务器 #include <myhead.h> #define SER_IP "192.168.126.42" #define SER_PORT 8888 int main(int argc, const char *argv[]) {int wfd-1;//创建套接字if((wfdsocket(AF_INET,SOCK_STREAM,0))-1){perror("error"…

基于CNN-LSTM-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络&#xff08;CNN&#xff09;在时间序列中的应用 4.2 长短时记忆网络&#xff08;LSTM&#xff09;处理序列依赖关系 4.3 注意力机制&#xff08;Attention&#xff09; 5…

探索数据结构:深入了解顺序表的奥秘

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. 什么是顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元…

迪杰斯特拉算法的具体应用

fill与memset的区别介绍 例一 #include <iostream> #include <algorithm> using namespace std; const int maxn500; const int INF1000000000; bool isin[maxn]{false}; int G[maxn][maxn]; int path[maxn],rescue[maxn],num[maxn]; int weight[maxn]; int cityn…

011 Linux_线程概念与创建

前言 本文将会向你介绍线程的概念&#xff0c;以及线程是怎么被创建的 线程概念 一、进程是承担系统资源的基本实体&#xff0c;线程是cpu调度的基本单位 首先&#xff0c;地址空间在逻辑上相当于进程的资源窗口&#xff0c; 每个进程都有这样一个资源窗口。通过地址空间页…

《热辣滚烫》:用坚持不懈开启逆境中的职场出路

"你只活一次&#xff0c;所以被嘲笑也没有关系&#xff0c;想哭也没有关系&#xff0c;失败更没有关系。" “人生就像一场拳击赛&#xff0c;你站不起来&#xff0c;就永远不知道自己有多强” “命运只负责洗牌&#xff0c;出牌的永远是自己。” 在今年的贺岁档电影市…

MySQL的21个SQL经验

1. 写完SQL先explain查看执行计划(SQL性能优化) 日常开发写SQL的时候,尽量养成这个好习惯呀:写完SQL后,用explain分析一下,尤其注意走不走索引。 explain select userid,name,age from user where userid =10086 or age =18;2、操作delete或者update语句,加个limit(S…

C++之stack

1、stack简介 stack是实现的一个先进后出&#xff0c;后进先出的容器。它只有一个出口&#xff0c;只能操作最顶端元素。 2、stack库函数 &#xff08;1&#xff09;push() //向栈压入一个元素 &#xff08;2&#xff09;pop() //移除栈顶元素 &#xff08;3…

IO多路转接

1.select 初识select 系统提供 select 函数来实现多路复用输入 / 输出模型 . select 系统调用是用来让我们的程序监视多个文件描述符的状态变化的 ; 程序会停在 select 这里等待&#xff0c;直到被监视的文件描述符有一个或多个发生了状态改变 ; select函数模型 select的函…

LaTeX-设置表格大小

文章目录 LaTeX-设置表格大小1.创建表格2.设置表格的宽度2.1控制表格每一列的宽度2.2控制整个表格的宽度 3.设置表格的外观4.LaTeX绘制三线表 LaTeX-设置表格大小 本文介绍了LaTeX如何设置表格的大小、改变表格的外观以及如何绘制三线表。 1.创建表格 在LaTeX中创建表很耗时…

RocketMQ学习笔记一

课程来源&#xff1a;002-MQ简介_哔哩哔哩_bilibili &#xff08;尚硅谷老雷&#xff0c;时长19h&#xff09; 第1章 RocketMQ概述 1. MQ是什么&#xff1f; 2. MQ用途有哪些&#xff1f; 限流削峰&#xff1b;异步解耦&#xff1b;数据收集。 3. 常见MQ产品有哪些&对比…

10-Java装饰器模式 ( Decorator Pattern )

Java装饰器模式 摘要实现范例 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构 装饰器模式创建了一个装饰类&#xff0c;用来包装原有的类&#xff0c;并在保持类方法签名完整性的前提下&#xff0c;提供…

测试/测试开发八股——找大厂测试实习基础篇

第一部分:基础概念 1. 软件测试是什么? 在规定的条件下对一个产品或者程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 软件测试工程师的任务 2. 软件测试工程师的任务 软件测试工程师主要工作是检查软件是否有bug、是否具有稳定…