软考 中级软件设计师 考点知识点笔记总结 day13 数据库系统基础知识 数据库模式映像 数据模型

news2025/4/22 21:46:09

文章目录

      • 数据库系统基础知识
        • 6.1 基本概念
          • 6.1.1 DBMS的特征与分类
        • 6.2 数据库三级模式两级映像
        • 6.3 数据库的分析与设计过程
        • 6.4 数据模型
          • 6.4.1 ER模型
          • 6.4.2 关系模型


数据库系统基础知识

基本概念 数据库三级模式两级映像 数据库的分析与设计过程 数据模型 关系代数 数据库完整性约束

关系型数据库SQL简介 关系数据库的规范化 数据库的控制功能 数据仓库与数据挖掘基础 大数据基本概念

6.1 基本概念
  1. 数据库
    • 数据库(Database,缩写为DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
  2. 数据库管理系统
    • 数据库管理系统(Database Management System,DBMS)是数据库系统的核心软件,要在操作系统支持下工作,解决如何科学地组织和存储数据、如何高效地获取和维护数据的系统软件问题。其主要功能包括数据定义功能、数据操纵功能、数据库的运行管理、数据组织、存储、管理和数据库的建立与维护。
6.1.1 DBMS的特征与分类
  1. DBMS的特征
    1. 数据结构化且统一管理。
    2. 有较高的数据独立性。
    3. 提供数据控制功能。
  2. DBMS的分类
    1. 关系数据库系统:是支持关系模型的数据库系统。
    2. 面向对象的数据库系统:是支持以对象形式对数据建模的数据库系统。
    3. 对象关系数据库系统:在传统的关系数据模型基础上,提供元组、数组、集合等更丰富的数据类型以及处理新的数据类型操作的能力,这样形成的数据模型称为对象关系数据模型。基于对象关系数据模型的DBS称为对象关系数据库系统。
6.2 数据库三级模式两级映像
  1. 用户级数据库
    外模式A 和 外模式B:用户视图,表示不同用户看到的数据视图。
  2. 概念级数据库
    概念模式:概念模式是数据库的整体逻辑结构,包含了所有数据的定义和关系。
    外模式-概念模式映射:将用户视图(外模式)映射到概念模式。
  3. 物理级数据库
    内模式:物理存储结构,包括存储设备、文件组织方式等。
    概念模式-内模式映射:将概念模式映射到物理存储结构(内模式)。
  4. 映射关系
    外模式-概念模式映射:确保用户视图与整体逻辑结构的一致性。
    概念模式-内模式映射:确保逻辑结构与物理存储结构的一致性。
  5. 操作系统
    操作系统:管理物理数据库的底层操作。

数据库系统采用三级模式结构,这是数据库管理系统内部的系统结构。

  • 外模式:也称用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述,由若干个外部记录类型组成。描述外模式的数据定义语言称为外模式DDL。
  • 概念模式:也称模式,是数据库中全体数据的逻辑结构和特征的描述,它由若干个概念记录类型组成,只涉及行的描述,不涉及具体的值。概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。
  • 内模式:也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。描述内模式的数据定义语言称为内模式DDL。

外模式/模式映像:该映像存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。

模式/内模式映像:该映像存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。

DBMS的两级映像功能保证了数据的独立性。

6.3 数据库的分析与设计过程
  1. 当前和未来应用的数据要求
    需求分析:根据当前和未来应用的数据要求进行需求分析。
    数据流图
    数据字典
    需求说明书
  2. 概念结构设计
    概念结构设计:基于需求分析的结果,设计概念结构。
    用户的逻辑模型(即与DBMS无关的概念模型)
    ER模型:实体关系模型
  3. 逻辑结构设计
    逻辑结构设计:将概念结构转换为逻辑结构。
    转换规则、规范化理论
    关系模式
  4. 物理设计
    物理设计:基于逻辑结构设计和DBMS特性进行物理设计。
    视图、完整性约束及应用处理说明书
    硬件、OS特性
6.4 数据模型
  • 模型:是对现实世界特征的模拟和抽象。
  • 数学模型:是对现实世界数据特征的抽象。
  • 数据模型:是用来描述数据的一组概念和定义。

数据模型的三要素

  • 数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。
  • 数据操作:是对数据库中各种对象的实例(值)允许执行的操作的集合,包括操作及操作规则。数据操作是对系统动态特性的描述。
  • 数据的约束条件:是一组完整性规则的集合。对于具体的应用数据必须遵循特定的语义约束条件,以保证数据的正确、有效、相容。

实体-联系模型简称E-R模型,所采用的3个主要概念是实体、联系和属性。

6.4.1 ER模型

ER 图例说明 ER 模型的三个主要概念 实体 联系 属性

实体:表示现实世界中的对象或事物。

示例:学生、课程

属性:描述实体的特征。

示例:姓名、性别、年龄

联系:表示实体之间的关系。

示例:选课

E-R图示例

学生实体
属性:学号、姓名、性别、年龄

课程实体
属性:课程号、课程名
联系:选课
属性:成绩
关系:M:N(多对多)

6.4.2 关系模型

关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集以及实体集之间的联系,其最大特色是描述的一致性。

  • 关系模型是由若干个关系模式组成的集合。一个关系模式相当于一个记录型,对应于程序设计语言中类型定义的概念。
  • 关系模型的优点是:
    • 概念单一
    • 存储路径对用户是透明的
    • 所以具有更好的数据独立性和安全保密性
    • 简化了程序的开发和数据库的建立工作

教学数据库的4个关系模式如下:

S (Sno, Sname, SD, Sage, Sex)

学生S关系模式,属性为学号、姓名、系、年龄和性别

T (Tno, Tname, Age, Sex)

教师T关系模式,属性为教师号、姓名、年龄和性别

C (Cno, Cname, Pcno)

课程C关系模式,属性为课程号、课程名和先修课程号

SC (Sno, Cno, Grade)

学生选课SC关系模式,属性为学号、课程号和成绩

一个实体型转换为一个关系模式

  • 1:1联系
  • 1:n联系
  • m:n联系

三个以上实体间的一个多元联系 n + 1

  • 在数据库逻辑结构的设计中,将E-R模型转换为关系模型应遵循相关原则。对于三个不同实体集和它们之间的多对多联系m:n:p,最可转换为 __C__个关系模式。

A. 2 B. 3 C. 4 D. 5

当处理涉及三个或更多实体的多对多联系时,通常需要为每一个实体以及它们之间的联系各创建一个关系模式。这样可以确保联系能够被准确地表示,并维持数据的一致性和完整性。

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

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

相关文章

蓝桥杯2024省A.成绩统计

蓝桥杯2024省A.成绩统计 题目 题目解析与思路 题目要求返回至少要检查多少个人的成绩,才有可能选出k名同学,他们的方差小于一个给定的值 T 二分枚举答案位置,将答案位置以前的数组单独取出并排序,然后用k长滑窗O(1)计算方差 问…

Mac mini 安装mysql数据库以及出现的一些问题的解决方案

首先先去官网安装一下mysql数据库,基本上都是傻瓜式安装的流程,我也就不详细说了。 接下来就是最新版的mysql安装的时候,他就会直接让你设置一个新的密码。 打开设置,拉到最下面就会看到一个mysql的图标: 我设置的就是…

俄罗斯方块-简单开发版

一、需求分析 实现了一个经典的俄罗斯方块小游戏,主要满足以下需求: 1.图形界面 使用 pygame 库创建一个可视化的游戏窗口,展示游戏的各种元素,如游戏区域、方块、分数等信息。 2.游戏逻辑 实现方块的生成、移动、旋转、下落和锁…

你学会了些什么200601?--Flask搭建造测试数据平台

搭建造数平台的环境: ***python3.7 ***html5 ***css ***JavaScript ***Ajax ***MySQL 前台页面的显示 1.为了页面美化,使用了JavaScript,通过逐级展开/隐藏的的方式显示下一级菜单 2.为了在提交表单数据时页面不发生跳转,需要引用…

【音视频】FLV格式分析

FLV概述 FLV(Flash Video)是Adobe公司推出的⼀种流媒体格式,由于其封装后的⾳视频⽂件体积⼩、封装简单等特点,⾮常适合于互联⽹上使⽤。⽬前主流的视频⽹站基本都⽀持FLV。采⽤FLV格式封装的⽂件后缀为.flv。 FLV封装格式是由⼀个⽂件头(file header)和…

Keil5没有stm32的芯片库

下载完重启就行了,我这里就不演示了,stm已经下载,随便选的一个芯片库演示一下

【DVWA 靶场通关】 File Inclusion(文件包含漏洞)

1. 前言 文件包含漏洞 是 Web 应用中较为常见的漏洞之一,攻击者通过操控文件路径,访问或包含系统上的敏感文件,甚至执行恶意代码。DVWA(Damn Vulnerable Web Application)提供了一个理想的实验环境,让安全…

游戏引擎学习第229天

仓库:https://gitee.com/mrxiao_com/2d_game_5 回顾上次内容并介绍今天的主题 上次留下的是一个非常简单的任务,至少第一步是非常简单的。我们需要在渲染器中加入排序功能,这样我们的精灵(sprites)才能以正确的顺序显示。为此我…

【C++编程入门】:从零开始掌握基础语法

C语言是通过对C语言不足的地方进行优化创建的,C在C语言之上,C当然也兼容C语言, 在大部分地方使用C比C更方便,可能使用C需要一两百行代码,而C只需要五六十行。 目录 C关键字 命名空间 缺省参数 缺省参数分类 函数…

网络开发基础(游戏方向)之 概念名词

前言 1、一款网络游戏分为客户端和服务端两个部分,客户端程序运行在用户的电脑或手机上,服务端程序运行在游戏运营商的服务器上。 2、客户端和服务端之间,服务端和服务端之间一般都是使用TCP网络通信。客户端和客户端之间通过服务端的消息转…

【源码】【Java并发】【AQS】从ReentrantLock、Semaphore、CutDownLunch、CyclicBarrier看AQS源码

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 📚欢迎订阅专栏…

k8s介绍与实践

第一节 理论 基础介绍,部署实践,操作实践,点击这里学习 第二节 dashboard操作 查看安装的dashboard服务信息 kubectl get pod,svc -n kubernetes-dashboard 网页登录地址:https://server_ip:30976/#/login 创建token kube…

KRaft面试思路引导

Kafka实在2.8之后就用KRaft进行集群管理了 Conroller负责选举Leader,同时Controller管理集群元数据状态信息,并将元数据信息同步给各个分区的Leader 和Zookeeper管理一样,会选出一个Broker作为Controller去管理整个集群,但是元数…

FreeRTOS菜鸟入门(六)·移植FreeRTOS到STM32

目录 1. 获取裸机工程模版 2. 下载 FreeRTOS V9.0.0 源码 3. FreeRTOS文件夹内容简介 3.1 FreeRTOS文件夹 3.1.1 Demo文件夹 3.1.2 License 文件夹 3.1.3 Source 文件夹 3.2 FreeRTOS-Plus 文件夹 4. 往裸机工程添加 FreeRTOS 源码 5. 拷贝 FreeRTOSConfig…

14.第二阶段x64游戏实战-分析人物的名字

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:13.第二阶段x64游戏实战-分析人物等级和升级经验 名字(中文英文符号…

【CS*N是狗】亲测可用!!WIN11上禁用Chrome自动更新IDM插件

现象:每次打开chrome后IDM会弹出提示插件版本不一致。经过排查后发现是chrome把IDM插件给更新了,导致IDM提示版本不匹配。经过摸索后,得到了可行的方案。 第一步,打开Chrome,把IDM插件卸载掉,然后重新安装I…

漫游git rebase + 浅谈git checkout和git branch -f的分支命令

今天学了两个命令非常有意思:一个是git checkout,一个是git branch -f。我们可以认为在提交树上,任何一个节点代表着一次提交。并且,git commit将会在 H E A D HEAD HEAD指针指向的节点上进行进一步提交。将每一个分支名视为标记当…

深入理解 React 组件的生命周期:从创建到销毁的全过程

React 作为当今最流行的前端框架之一,其组件生命周期是每个 React 开发者必须掌握的核心概念。本文将全面剖析 React 组件的生命周期,包括类组件的各个生命周期方法和函数组件如何使用 Hooks 模拟生命周期行为,帮助开发者编写更高效、更健壮的…

OpenCV 图形API(44)颜色空间转换-----将图像从 BGR 色彩空间转换为 RGB 色彩空间函数BGR2RGB()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 将图像从BGR色彩空间转换为RGB色彩空间。 该函数将输入图像从BGR色彩空间转换为RGB。B、G和R通道值的常规范围是0到255。 输出图像是8位无符号3通…

配置nginx服务,通过多ip区分多网站

首先关闭防火墙,setenforce 0 关过了,不截图了 多IP,首先配置多个IP地址 可以在vm增加虚拟网卡,也可以在同一网卡配置多个IP,我用第一种 记得点确定 查看新的虚拟网卡IP 没有IP,配置一个 安装nginx 写配置 server{listen 192.168.214.130:80;root /www/ip/130; # 资源根目…