【数据库】第一章 绪论

news2024/10/2 14:38:27

第一章 绪论

1.1 数据库系统概述

数据库课程的学习内容

在这里插入图片描述

数据库的4个基本概念:

  1. 数据:描述事物的符号记录称为数据。 数据的含义成为数据的语义,数据与其语义是不可分割的。

  2. 数据库:数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。 数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度(Redundancy)、较高的数据独立性易扩展性(scalability),并可为各种用户共享。

  3. 数据库管理系统:数据库管理系统是位于用户和操作系统之间的一层数据管理软件。 其主要功能有:

    • 数据定义,Data Definition Language DDL
    • 数据组织、存储和管理
    • 数据操纵功能 Data Manipulation Language ,DML 即增删改查
    • 数据库的事务管理和 运行管理
    • 数据库的建立以及维护

    常见的DBMS有:MySQL ,Oracle , SQL Server等

    通俗的说就是:通过SQL语言来操纵管理数据库的软件系统

    在这里插入图片描述

    DBMS的执行流程:先解析语言,然后执行一系列程序

    在这里插入图片描述

  4. 数据库系统:数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA : Database Administrator 数据库管理员)组成的存储、管理、处理和维护数据的系统。

数据库的发展演变

  1. 人工管理
  2. 文件管理
  3. 数据库管理
    1. 层次,网状数据库
    2. 关系数据库
    3. 对象关系数据库,面向对象数据库,xml数据库等…
    4. 多种数据库系统开放互联(ODBC ,JDBC)
    5. 新型数据库(关系数据库+其他新技术)

数据库系统的特点:

  1. 数据结构化
  2. 数据共享度高,冗余度低且易扩充
  3. 数据独立性高: 数据独立性包括物理独立性逻辑独立性。物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的
  4. 数据由数据库管理系统统一管理控制: 数据管理系统提供以下数据控制功能:数据的安全性保护数据的完整性检查并发控制数据库恢复

工作岗位与学习程度

在这里插入图片描述

  • 终端用户:简单了解
  • 开发程序员:掌握高级语言和SQL语言开发应用程序
  • 数据库设计:掌握数据库的模型等
  • 数据库管理:数据库的权限,安全等
  • DBMS设计:算法等

1.2 数据模型

数据模型也是一种模型,他是对现实世界数据特征的抽象,是数据库系统的核心和基础。

两类数据模型:

  1. 第一类是概念模型:也称信息模型,它是按照用户的观点来对数据和信息建模,主要用户数据库设计
  2. 第二类是逻辑模型和物理模型:
    • 逻辑模型主要包括层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型。 主要用于数据库管理系统的实现
    • 物理模型是对数据最底层的抽象。

概念模型

  1. 实体(entity):客观存在并可相互区别的事务成为实体

  2. 属性(attribute):实体所具有的某一特性成为属性

  3. 码(key):唯一标志实体的属性集成为码

  4. 实体型(entity type) :用实体名及其属性名集合来抽象和刻画同类实体,成为实体型

  5. 实体集(entity set)

  6. 联系(relationship)

    实体之间的联系有:

    • 一对一
    • 一对多
    • 多对多

概念模型的一种表示方法:实体-联系法(entity-relationship approach) ,该方法用E-R 图来描述现实世界的概念模型

数据模型的组成要素

  • 数据结构
  • 数据操作
  • 数据的完整性约束条件

常用的数据模型

  1. 层次模型:树的形式组织数据
  2. 网状模型:网的形式组织数据
  3. 关系模型: 表的形式组织数据

关系模型

关系模型 :所有的模式都可为抽象表(table)的形式

模型:用什么形式组织模式。模式:如何表示具体数据的结构。数据:具体信息

数据本身结构抽象为模式,模式抽象为模型

在这里插入图片描述

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

关系模型要求关系是规范的,不可再分

关系模型概念严格单一,便于理解和开发;支持集合的操作

但是存取路径对用户隐蔽,查询效率不高,需要优化

数据库系统的结构

三级模式,两级映射

在这里插入图片描述

模式:(概念层模式,Conceptual Schema)

模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共视图。一个数据库只有一个模式。

外模式(子模式,External Schema):

外模式也称子模式或用户模式,他是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据逻辑表示。一个应用程序只能使用一个外模式。

外模式是用户和程序员看到的部分,可以是由一张表或多张表创建出来的视图
模式就是一张张表
内模式就是实际的物理存储结构,包括索引等

Schema描述的是结构,View(视图)是数据的展示
在这里插入图片描述

内模式(内部模式,Internal Schema):

内模式也称存储模式,一个数据库只有一个内模式。他是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。

外模式/模式映像(E-C Mapping :External Schema-Conceptual Schema Mapping):

当模式改变时**(如增加新的关系,新的属性,改变属性的数据类型等),由数据库管理人员对各个外模式/模式映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。**

模式/内模式映像(C-I Mapping :Conceptual Schema-Internal Schema Mapping):

当数据库的存储结构改变时(例如选用另一种存储结构),由数据库管理人员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序不必改变。保证了数据与程序之间的物理独立性,简称数据的物理独立性

在这里插入图片描述

在这里插入图片描述

本章总结

在这里插入图片描述

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

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

相关文章

Netty核心组件ChannelPipeline事件handler源码解析

源码解析目标 当请求进来,ChannelPipeline如何协调内部这些Handler通过源码梳理ChannelPipeline 与ChannelHandlerContext中的read,fireChannelRead等方法的不同 inbound源码解析 在 Netty启动流程源码剖析 文中我们已经知道,启动后&#…

公司项目vue cli2升级到vue cli3

背景:公司项目历时时间较长,通过长时间的迭代,目前项目文件较多(src目录下有2217个文件),系统庞大, 之前通过vue cli2脚手架构建的项目框架,在本地开发时已经明显感觉到吃力&#xf…

Win10+vs2019配置与运行RenderMatch(踩坑记录)

Win10vs2019配置与运行RenderMatch RenderMatch旨在解决aerial images 和ground images 匹配问题,其思路可参考原论文 “Leveraging Photogrammetric Mesh Models for Aerial-Ground Feature Point Matching Toward Integrated 3D Reconstruction” 1.源码下载 G…

【2023new】OAK相机如何将Yolov5转换成blob格式?

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…

机械革命极光Pro电脑开启出现英文代码无法启动怎么办?

机械革命极光Pro电脑开启出现英文代码无法启动怎么办?有的小伙伴在使用机械革命极光Pro电脑的时候,正常开启电脑却无法进入到桌面中,而是显示一些英文错误提示。遇到这个问题是我们的系统故障了,可以通过U盘重装系统的方法来进行问…

logback 自定义日志输出到数据库

项目日志格式 Spring Boot 的默认日志输出类似于以下示例: 2021-12-14 22:40:14.159 INFO 20132 --- [ main] com.kuangstudy.SpringbootApplication : Started SpringbootApplication in 2.466 seconds (JVM running for 3.617)输出以下项目&…

SpringBoot 整合 MongoDB 6 以上版本副本集及配置 SSL / TLS 协议

续上一篇 Linux 中使用 docker-compose 部署 MongoDB 6 以上版本副本集及配置 SSL / TLS 协议 前提:此篇文章是对上一篇文章的实战和项目中相关配置的使用,我这边针对 MongoDB 原有基础上做了增强,简化了 MongoDB 配置 SSL / TLS 协议上的支…

Android Studio引入JNI第三方库

一、前言 JNI作为Java与native沟通的桥梁,项目开发中难免要使用到;而我们除了自己开发JNI之外,有时候还要在Android Studio引入别人开源的C第三方库,并在jni层实现第三方库的调用。 二、流程 1.导入头文件和实现文件 将第三方…

Linux内核进程地址空间与进程内存布局

一,进程空间分布概述 对于一个进程,其空间分布如下图所示: 程序段(Text):程序代码在内存中的映射,存放函数体的二进制代码。初始化过的数据(Data):在程序运行初已经对变量进行初始化的数据。未初始化过的数据(BSS):在程序运行初未…

九龙证券|券商春季策略扎堆来袭 风格切换成焦点

2月以来,国泰君安、中信建投、国金证券等10余家券商组织相继发布2023年春季战略。综合来看,组织对A股持达观预期,未来两三个月A股商场或迎来重要切换。风格上,“中心财物,生长接力”或许成为上半年装备主线&#xff0c…

java 系列之Mybatis

java 系列文章 文章目录java 系列文章前言一、Mybatis 入门1.1 认识 框架(了解)1.2 认识 ORM(要知道)1.3 认识 Mybatis(要知道)二、Mybatis 使用2.1 创建maven项目并导入依赖2.2 准备数据库,包和…

释放内存流程

你好,我是安然无虞。 thread cache回收内存 当从 thread cache 中申请的内存对象使用完毕需要还回来的时候, 只需要计算出该内存对象对应 thread cache 中的哪一个自由链表桶, 然后将该内存对象插入进去即可. 不过需要注意的是, 如果不断有内存对象释放回来, 那么…

Java实现根据拼音首字母的排序

1.项目 手机APP端要对企业列表按企业名称首字母(如果企业名是英文的就按)进行分类排序,效果如下: 2.实现过程 2.1 首先引入项目的pinyin4j-2.5.0.jar包。 这个jar的下载地址如下: 链接:https://pan.baidu.com/s/1hkP_gGAYcgzyK_D…

跨链桥:Web3黑客必争之地

跨链桥,区块链的基础设施之一,所实现的功能是允许用户将自己的资产从一条链转移至另外一条链上,是连接不同的区块链的关键桥梁,常使用中心化的方式进行实现。由于跨链桥自身往往存储有用户所质押的巨额资产,是Web3黑客…

KUKA KR C4机器人与S7-1200PLC进行PROFINET通信的具体方法和步骤

KUKA KR C4机器人与S7-1200PLC进行PROFINET通信的具体方法和步骤 首先,从KUKA机器人控制柜中将KOP备选软件包拷贝出来,然后在“WorkVisual Development Environment”安装KUKA备选软件包(版本非常重要,尽量从控制柜中拷贝), 也可以从以下链接中获取: KUKA机器人PROFINET…

php 任务调度

在日常开发中,我们总会遇到一些在某个指定的时刻去执行,或是每隔xx时间执行,或是需要一直在后台监听的任务执行。基于这个需求,对于php我找了一些办法来实现这些功能 1、依赖于laravel的任务调度。 每隔xx时间执行一次命令&#…

七、虚拟机栈

虚拟机栈出现的背景 1.由于跨平台性的设计,Java的指令都是根据栈来设计的,不同平台CPU架构不同,所以不能设计为基于寄存器的。 2.优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同…

XC7K70T-1FBG676I【FPGA】XC3S200-4FTG256C参数XC7K70T-2FBG676C

Kintex-7 FPGA为快速增长应用和无线通信提供最优性价比和低功耗。Kintex-7 FPGA允许设计人员构建卓越带宽和12位数字可编程模拟,同时满足成本和功耗要求。Kintex-7内置支持8通道PCI Express (Gen1/Gen2),用于连接主机系统。7系列器件利用Xilinx统一架构保…

如何实现外网跨网远程控制内网计算机?快解析来解决

远程控制,是指管理人员在异地通过计算机网络异地拨号或双方都接入Internet等手段,连通需被控制的计算机,将被控计算机的桌面环境显示到自己的计算机上,通过本地计算机对远方计算机进行配置、软件安装程序、修改等工作。通俗来讲&a…

超图软件许可过期后的处理

超图软件许可过期,博主犯了一个很低级的错误,特此发帖记录一下。 按照官网的介绍,直接申请新的许可,配置本地许可很简单的。 1.打开桌面软件会弹出以下的框。 2.配置本地许可对话框 3.切换到激活更新页面 4.选择激活文件即可 以…