8.2.数据库基础技术-数据模型

news2024/9/20 18:33:37
  • 概念模型是从用户的角度进行建模的,是现实世界到信息世界的第一抽象,是真正的实体-联系模型。
  • 关系模型是二维表的形式表示的实体-联系模型,是将实体-联系模型转换而来的,经过开发人员设计的;
  • 网状模型表示实体类型及其实体之间的联系,一个事物和另外几个都有联系,形成一张网。
  • 面向对象模型是采用面向对象的方法设计数据库,以对象为单位,每个对象包括属性和方法,具有类和继承等特点。

数据模型三要素:数据结构(所研究的对象类型的集合)、数据操作(对数据库中各种对象的实例列允许执行的操作的集合)、数据的约束条件(一组完整性规则的集合)。

E-R图

E-R图来描述概念数据模型,世界是由一组称作实体的基本对象和这些对象之间的联系构成的
在E-R模型中,使用椭圆表示属性(一般没有)、长方形表示实体、菱形表示联系,联系的两端要填写联系类型,示例如下图:
在这里插入图片描述
像经理、业务员、部门经理的长方形里面还有两个竖线代表的是弱实体,没有竖线的是强实体

  1. 实体:客观存在并可相互区别的事物。可以是具体的人、事、物或抽象概念。如人、汽车、图书、账户、贷款。
    • 弱实体和强实体:弱实体依赖于强实体的存在而存在。
    • 实体集:具有相同类型和共享相同属性的实体的集合,如学生、课程。
  2. 属性:实体所具有的特性
    • 属性分类:简单属性和复合属性;单值属性和多值属性;NU儿L属性;派生属性(可以通过其他属性运算出来比如年龄可以根据出生日期)。
    • 域:属性的取值范围称为该属性的域。
    • 码(key):唯一标识实体的属性集。
  3. 联系:现实世界中事物内部以及事物之间的联系,在E-R图中反映为实体内部的联系和实体之间的联系
    • 一对一(1:1)
    • 一对多(1:N)
    • 多对多(M:N)

关系模型

关系模型中数据的逻辑结构是一张二维表,由行列组成。用表格结构表达实体集,用外键标识实体间的联系。如下图:

  • 优点:建立在严格的数学概念基础上;概念单一、结构简单、清晰,用户易懂易用;存取路径对用户透明,从而数据独立性、安全性好,简化数据库开发工作。
  • 缺点:由于存取路径透明,查询效率往往不如非关系数据模型。
    在这里插入图片描述

E-R图转换为关系模型

E-R模型转换为关系模型:E-R图是全局的设计概念,不适合进行计算机处理,为了适应关系数据库的处理,必须将E-R图转为关系模型

E-R图是由实体、属性和联系三要素组成,而关系模型只有一个结构,所以我们使用以下方式进行转换:每个实体都对应一个关系模型,实体名对应关系模型中的名称,实体属性对应关系模型的属性,实体标识符(联系)对应关系模型的码

E-R图的联系分为三种。

  • 1:1联系:联系可以放到任意的两端实体中,作为一个属性(要保证1:1的两端关联),也可以转换为一个单独的关系模式;
  • 1:N联系:联系可以单独作为一个关系模式,也可以在N端中加入1端实体的主键:
  • M:N联系:联系必须作为一个单独的关系模式,其主键是M和N端的联合主键

练习题

某本科高校新建教务管理系统,支撑各学院正常的教学教务管理工作。经过初步分析,系统中包含的实体有学院、教师、学生、课程等。考虑需要将本科学生的考试成绩及时通报给学生家长,新增家长实体;考虑到夜大、网络教育学生管理方式的不同,需要额外的管理数据新增进修学生实体:规定一个学生可以选择多门课程,每门课程可以被多名学生选修;一个教师可以教授多门课程,一门课程只能被一名教师讲授。()实体之间为多对多联系,()属于弱实体对强实体的依赖联系。
A、学生、学院
B、教师、学院
C、学生、课程
D、教师、课程

A、家长、学生
B、学生、教师
C、学生、学院
D、教师、学院

答案C A

部门、员工和项目的关系模式及它们之间的E-R图如下所示,其中关系模式中带实下划线的属性表示主键属性。图中:

  • 部门(部门代码,部门名称,电话)
  • 员工(员工代码,姓名,部门代码,联系方式,薪资
  • 项目(项目编号,项且名称,承担任务
    在这里插入图片描述

若部门和员工关系进行自然连接运算,其结果为0元关系。由于员工和项目之间的联系类型为0,所以员工和项目之间的联系需要转换成一个独立的关系模式,该关系模式的主键是)。
A.5
B.6
C.7
D.8

A.1对1
B.1对多
C.多对1
D.多对多

A.(项目名称,员工代码)
B.(项目编号,员工代码)
C.(项目名称,部门代码)
D.(项目名称,承担任务)

答案C D B
部门表+员工表-相同的属性:3+5-1

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

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

相关文章

【背包蛙】游戏 高端链游 链游开发

#游戏#链游 #深圳软件开发公司#游戏开发公司 以背包整理和物品摆放为核心的策略博弈 那么以背包中的物品,我们就开始了冒险之旅——角色固定拥有3点AP,盾牌或者剑以及后续获得的其他武器&护甲使用绝大部分都需要AP(也包含很多伤害低&次数也受限…

计算数学精解【12】-fortran计算精解(1)

文章目录 概述hello,world环境接收输入与输出 读取csv文件if and select case循环formatread,write format 概述 FORTRAN是英文“FORmulaTRANslator”的缩写,译为“公式翻译器”,它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学…

2024.8.13-算法学习(原创+转载)

一、什么是张量并行(Tensor Parallelism) ? 张量并行(Tensor Parallelism) 是一种分布式矩阵算法。 随着模型越来越大,模型内的矩阵也越来越大。一个大矩阵的乘法可以拆分成多个小矩阵的运算,…

文件上传漏洞(四,靶场详解)

前言: 本文基于github上的upload-labs,PHP study以及bp抓包软件进行操作。 靶场环境搭建及pass-1.pass-2请转到: 文件上传漏洞(二,靶场搭建及漏洞利用) 文件上传漏洞(三,靶场详解…

【机器学习西瓜书学习笔记——半监督学习】

机器学习西瓜书学习笔记【第十二章】 第十三章 半监督学习13.1 未标记样本13.2 生成式方法13.3 半监督 S V M SVM SVM基本思想优点和注意事项适用场景 13.4 图半监督标签传播算法多类标签传播算法Label PropagationLabel Spreading 13.5 基于分歧的方法数据视图协同训练 13.6 半…

映客基于Apache SeaTunnel 打造高效的一站式数据集成平台

背景 随着业务的增加,数据集成任务大量增长,越来越多的数据源的需要支持,原有的系统已经无法完全支撑现有体量。 现有的数据集成平台短板慢慢展现导致部分业务线无法快速对接。数据源的架构在变得繁多和复杂,数据应用也逐渐变得更加垂直和场…

opencv-python图像增强四:多曝光融合(方法一)

文章目录 一、简介:二、多曝光融合方案:三、算法实现步骤3.1 读取图像与曝光时间:3.2 计算响应曲线并合并3.3 色调映射 四:整体代码实现五:效果 一、简介: 在摄影和计算机视觉领域,高动态范围&…

关于IP子网掩码的解释

关于IP子网掩码的解释 1、掩码 10.1.1.0/27 掩码 10.1.1.0/27 表示一个子网,其中/27是子网掩码的表示方式,指的是前27位是网络位,剩下的5位是主机位,这种掩码意味着每个子网有32个IP地址(2^532),其中包括一个网络地址…

GitHub提交PR(GitHub提交个人代码到社区)

GitHub提交PR(GitHub提交个人代码到社区) 1. 设置基本信息 确保你的本地 git 配置中的用户名和邮箱地址与你在 GitHub 账户中设置的信息一致。‌如果不一致,‌使用 git config --global user.name "Your Name" 和 git config --g…

三层架构与解耦——IoCDI机制【后端 7】

三层架构与解耦——IoC&DI机制 在软件开发领域,三层架构(Controller、Service、Dao)是一种广泛采用的架构模式,它通过将应用程序分为三个主要层次来组织代码,旨在提高代码的可维护性、复用性和可扩展性。而解耦&am…

读零信任网络:在不可信网络中构建安全系统17无控制器架构

1. 建立系统框图 1.1. 实现零信任网络的第一步重要工作是建立系统框图 1.2. 系统框图能够帮助我们透彻地理解内部网络和外部网络间的通信模式,有助于系统通信信道的设计 1.3. 对于现有的网络来说,建议首先利用日志工具来记录网络流量,然后…

2万多条初中历史题库ACCESS\EXCEL数据库

这段时间破解了中高学生知识题库,包含高&中英语题库、小&学英语题库、初&中地理题库、初&中历史题库、高&中历史题库、初&中生物题库,数据表结构都一样,今天发的这份是上万条的初中历史题库,截图包含所有…

CSS——伪元素:before

CSS——伪元素&:before 简单介绍: ::after和::before的使用很简单,可以认为其所在元素上存在一前一后的两个的元素,这两个元素默认是内联元素,但我们可以为其增添样式。::after和::before使用的时候一定要注意,必…

数据结构之二叉树详解——包含递归及迭代遍历方式

二叉树的种类 二叉树(binary tree)是一种非线性数据结构,代表“祖先”与“后代”之间的派生关系,体现了“一分为二”的分治逻辑。与链表类似,二叉树的基本单元是节点,每个节点包含值、左子节点引用和右子节…

计算机毕业设计 扶贫助农系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

Golang面试题六(GMP)

目录 1.Go线程实现模型 1:1 关系 N:1关系 M:N关系 2.GM模型 3.GMP模型 概念 模型简介 有关P和M的个数问题 P和M何时会被创建 4.调度器的设计策略 5.go func() 调度流程 6.调度器的生命周期 7.Go work stealing 机制 8.Go hand off 机制 9.Go 抢占式调度 9.Sys…

8.3.数据库基础技术-关系代数

并:结果是两张表中所有记录数合并,相同记录只显示一次。交:结果是两张表中相同的记录。差:S1-S2,结果是S1表中有而S2表中没有的那些记录。 笛卡尔积:S1XS2,产生的结果包括S1和S2的所有属性列,并且S1中每条记…

[C++][opencv]基于opencv实现photoshop算法色阶调整

【测试环境】 vs2019 opencv4.8.0 【效果演示】 【核心实现代码】 Levels.hpp #ifndef OPENCV2_PS_LEVELS_HPP_ #define OPENCV2_PS_LEVELS_HPP_#include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp&quo…

Re:从零开始的逆向笔记02day

1-C语言 参数传递 参数传递是通过堆栈的,传递的顺序是从右到左 函数返回值是存储在寄存器eax中 类型 char x -1; //0xFF 1111 1111 int y x; //0xFFFFFFFF 1111 1111 1111 1111 1111 1111 1111 1111 其余位为符号位unsigned char x -1; //0xFF 1111 1111 in…

云快充协议1.5版本的充电桩系统软件

介绍 小程序端:城市切换、附近电站、电桩详情页、扫码充电、充电中动态展示、订单支付、个人中心、会员充值、充值赠送、联系客服; 管理后台:充电数据看板、会员管理、订单管理、充值管理、场站运营、文章管理、财务管理、意见反馈、管理员管…