当前位置: 首页 > news >正文

深入解析包裹信息管理系统:关系型数据库逻辑数据模型设计、超类实体与派生属性探讨

目录

案例

【题目】

【问题 1】(14分)

【问题 2】(6分)

【问题 3】(5分)

【答案】

【问题 1】解析

【问题 2】解析

【问题 3】解析


案例

        阅读下列说明,回答问题 1 至问题 3。

【题目】

        某企业委托软件公司开发包裹信息管理系统,以便于对该企业通过快递收发定位包裹信息进行统一管理。在系统设计阶段,需要对不同快递信息的包裹单信息进行建模,其中邮政包裹单如下图所示。

【问题 1】(14分)

        请说明关系型数据库开发中,逻辑数据模型设计过程包含哪些任务?该包裹单的逻辑数据模型中应该包含哪些实体?并指出每个关系模式的主键属性。

【问题 2】(6分)

        请说明什么是超类实体?结合图中包裹单信息,试设计一种超类实体,给出完整的属性列表。

【问题 3】(5分)

        请说明什么是派生属性?结合上图中包裹单信息说明哪个属性是派生属性。 

【答案】

        本题考查数据库设计与建模相关知识及应用。

        数据库设计过程包括了逻辑数据建模和物理数据建模,逻辑数据建模阶段主要构造实体联系图表达实体及其属性和实体间的联系,物理数据建模阶段主要根据所选数据库系统设计 数据库模式。实体联系图(Entity Relationship Diagram)指以实体、联系、属性三个基本概 念概括数据的基本结构,从而描述静态数据结构的概念模式。实体是具有公共性质的可相互 区别的现实世界对象的集合,可以是具体的,也可以是抽象的概念或联系。属性是实体所具有的模拟特性,一个实体可由若干个属性来刻画。联系是数据对象彼此之间存在的相互关系。

        此类题目要求考生认真阅读题目对问题的描述。准确理解数据库设计的主要任务和实体 联系图中各个元素的含义,结合图中所给出的包裹单示意图中所描述的数据项,分析其关系确定实体、属性和联系。
 

【问题 1】解析

        在关系型数据库开发中,逻辑数据模型建设的主要任务是构建实体联系图。构建过程中,首先通过上下文数据模型确定实体及其联系,为每个实体确定其标识性属性并添加完整属 性,在此基础上利用规范化技术对所建立逻辑数据模型进行优化,一般需要满足第三范式 3NF 要求。对上图所示包裹单中所有数据项进行分析,主要涉及的实体包括收件人、寄件人及其之间的关联实体包裹单,其余数据项设计为上述三个实体的属性即可。

        答案:

        逻辑数据模型设计过程包含的任务:
        (1)构建系统上下文数据模型,包含实体及实体之间的联系;
        (2)绘制基于主键的数据模型,为每个实体添加主键属性;
        (3)构建全属性数据模型,为每个实体添加非主键属性;
        (4)利用规范化技术建立系统规范化数据模型。
        包裹单的逻辑数据模型中包含的实体:
        (1)收件人(主键:电话);
        (2)寄件人(主键:电话);
        (3)包裹单(主键:编号)。

【问题 2】解析

        数据库建模中可以对属性相似的实体进行进一步的抽象,通过将多个实体中相同的属性组合起来构造出新的抽象实体,即超类实体,原有多个实体称之为子类实体,通过两者之间 的继承关系来表达抽象实体和具体实体的关系。上图中收件人和寄件人的属性都包括了姓名、电话、单位名称、详细地址和邮政编码等信息,可以设计出一个超类实体“用户”来实现通用属性的抽象表示。

        答案:

        超类实体是将多个实体中相同的属性组合起来构造出的新实体。
        用户(姓名、电话、单位名称、详细地址)

【问题 3】解析

        在数据库优化过程中,第三范式要求消除派生属性,即某个实体的非主键属性由该实体其他非主键属性决定,那么该属性可以称之为派生属性。上图所示属性中,包裹单的属性“费用总计”是由资费、挂号费、保价费、回执费等计算得出,所以是派生属性。

        答案:

        派生属性是指某个实体的非主键属性由该实体其他非主键属性决定。
        包裹单中的总计是由资费、挂号费、保价费、回执费计算得出,所以是派生属性。

相关推荐

2015年系统架构师案例分析试题四-CSDN博客文章浏览阅读1.2k次,点赞35次,收藏40次。SQL 语句设计时,影响查询效率的设计原则是:●查询时尽量不要返回不需要的行、列;●需要进行多表连接查询时,尽量使用连接查询,避免使用子查询结构;●尽量避免采用 NOT IN、NOT EXIST、LIKE 等使用全表查询的操作;●尽量避免使用 DISTINCT 关键字https://shuaici.blog.csdn.net/article/details/1412211252017年系统架构师案例分析试题四-CSDN博客文章浏览阅读1.1k次,点赞49次,收藏43次。数据访问层常见的模式有 5 种 分别是:在线访问、Data Access Object、Data Transfer Object、离线数据模式、对象/关系映射(Object/Relation Mapping)。ORM,即 Object/Relationl Mapping,它在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的 SQL 语句打交道,只要像平时操作对象一样操作即可。https://shuaici.blog.csdn.net/article/details/1415622632018年系统架构师案例分析试题四-CSDN博客文章浏览阅读1.6k次,点赞57次,收藏48次。Redis 分布式存储的常见方案有: (1)主从(Master/Slave)模式; (2)哨兵(Sentinel)模式; (3)集群(Cluster)模式。Redis 集群切片的常见方式有: (1)客户端实现分片。分区逻辑在客户端实现,采用一致性哈希来决定 Redis 节点。 (2)中间件实现分片。在应用软件和Redis 中间,例如 Twemproxy、Codis 等,由中间件实现服务到后台https://shuaici.blog.csdn.net/article/details/1417160252019年系统架构师案例分析试题四-CSDN博客文章浏览阅读1.3k次,点赞72次,收藏48次。存在双写不一致问题,在写数据时,可能存在缓存写成功,数据库写失败,或者反之,从而造成数据不一致。当多个请求发生时也可能产生读写冲突的并发问题。 (a)从数据库中读取数据或读数据库; (b)更新缓存中 key 值或更新缓存; (c)数据库; (d)删除缓存 key 或使缓存 key 失效或更新缓存(key 值)。https://shuaici.blog.csdn.net/article/details/142059273

相关文章:

深入解析包裹信息管理系统:关系型数据库逻辑数据模型设计、超类实体与派生属性探讨

目录 案例 【题目】 【问题 1】(14分) 【问题 2】(6分) 【问题 3】(5分) 【答案】 【问题 1】解析 【问题 2】解析 【问题 3】解析 案例 阅读下列说明,回答问题 1 至问题 3。 【题目】 某企业委托软件公司开发包裹信息管理系统,以便于对该企业…...

Cyber Weekly #24

赛博新闻 1、OpenAI发布最强模型o1 本周四(9月12日),OpenAI宣布推出OpenAIo1系列模型,标志着AI推理能力的新高度。o1系列包括性能强大的o1以及经济高效的o1-mini,适用于不同复杂度的推理任务。新模型在科学、编码、数…...

Java多线程面试精讲:源于技术书籍的深度解读

写在前面 ⭐️在无数次的复习巩固中,我逐渐意识到一个问题:面对同样的面试题目,不同的资料来源往往给出了五花八门的解释,这不仅增加了学习的难度,还容易导致概念上的混淆。特别是当这些信息来自不同博主的文章或是视…...

【Elasticsearch系列七】索引 crud

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

快速生成服务器响应json-server的安装和使用

json-server介绍地址:https://www.geeksforgeeks.org/json-server-setup-and-introduction/ 1.json-server是什么? 基于自定义的json文件,快速生成服务端响应,可用于前端调试接口 2.安装和卸载json-server 2.1 安装: 使用npm命令: npm install -g json-server 2.2 卸载 npm …...

增强LinkedList实现瑞士轮赛制编排

前言 LinkedList底层虽然是基于链表实现,但是由于其对底层节点进行了封装,导致无法操作底层Node对象。这也为使用上带来了很多不便,比如我之前遇到的一个需求:将n个队伍按照瑞士轮进行编排,组成n/2个队伍,…...

C++编译环境(IDE)推荐及安装

IDE是什么 嗨嗨嗨,我又来水博文了 今天来给大家推荐几款好用的IDE IDE是集成开发环境(Integrated Development Environment)的缩写,是一种软件应用程序,提供了用于软件开发的各种工具和功能,包括代码编辑…...

Android 12系统源码_窗口管理(八)WindowConfiguration的作用

前言 在Android系统中WindowConfiguration这个类用于管理与窗口相关的设置,该类存储了当前窗口的显示区域、屏幕的旋转方向、窗口模式等参数,应用程序通过该类提供的信息可以更好的适配不同的屏幕布局和窗口环境,以提高用户体验。 一、类定…...

已读论文创新点合集

系列文章目录 文章目录 系列文章目录一、《LAMM: Label Alignment for Multi-Modal Prompt Learning》二、《MaPLe: Multi-modal Prompt Learning》三、《Learning to Prompt for Vision-Language Models》CoOp 一、《LAMM: Label Alignment for Multi-Modal Prompt Learning》…...

12_持久化数据结构

菜鸟:老鸟,我在处理一个项目时遇到了问题。我需要频繁地修改和查询一个数据结构,但每次修改后我都得复制整个结构,性能实在是太低了。有没有什么办法可以高效地处理这种情况? 老鸟:你提到了一个很有意思的…...

【计算机网络】IP, 以太网, ARP, DNS

IP, 以太网, ARP, DNS IP协议回顾IP地址报文格式功能介绍地址管理IP地址数量问题初识 NAT 机制通信机制IP数量的解决方案网段划分特殊IP地址 路由选择 以太网协议报文格式源MAC/目的MACMAC地址是什么MAC地址格式MAC的作用 ARPDNS初识DNSDNS主要功能DNS的查询过程 IP协议 回顾I…...

OpenCore Legacy Patcher 2.0.0 发布,83 款不受支持的 Mac 机型将能运行最新的 macOS Sequoia

在不受支持的 Mac 上安装 macOS Sequoia (OpenCore Legacy Patcher v2.0.0) Install macOS on unsupported Macs 请访问原文链接:https://sysin.org/blog/install-macos-on-unsupported-mac/,查看最新版。原创作品,转载请保留出处。 作者主…...

爆改YOLOv8|使用MobileNetV4替换yolov8的Backbone

1,本文介绍 MobileNetV4 是最新的 MobileNet 系列模型,专为移动设备优化。它引入了通用反转瓶颈(UIB)和 Mobile MQA 注意力机制,提升了推理速度和效率。通过改进的神经网络架构搜索(NAS)和蒸馏…...

C语言 | Leetcode C语言题解之第406题根据身高重建队列

题目: 题解: int cmp(const void* _a, const void* _b) {int *a *(int**)_a, *b *(int**)_b;return a[0] b[0] ? a[1] - b[1] : b[0] - a[0]; }int** reconstructQueue(int** people, int peopleSize, int* peopleColSize, int* returnSize, int** …...

【Git】初识Git

本篇文章的环境是在 Ubuntu/Linux 环境下编写的 文章目录 版本控制器Git 基本操作安装 Git创建 Git 本地仓库配置 Git认识工作区、暂存区、版本库添加文件修改文件版本回退撤销修改删除文件 版本控制器 在日常工作和学习中,老板/老师要求我们修改文档,…...

vue3 透传 Attributes

前言 Vue 3 现在正式支持了多根节点的组件&#xff0c;也就是片段&#xff01; Vue 2.x 遵循单根节点组件的规则&#xff0c;即一个组件的模板必须有且仅有一个根元素。 为了满足单根节点的要求&#xff0c;开发者会将原本多根节点的内容包裹在一个<div>元素中&#x…...

4.接口测试基础(Jmter工具/场景二:一个项目由多个人负责接口测试,我只负责其中三个模块,协同)

一、场景二&#xff1a;一个项目由多个人负责接口测试&#xff0c;我只负责其中三个模块&#xff0c;协同 1.什么是测试片段&#xff1f; 1&#xff09;就相当于只是项目的一部分用例&#xff0c;不能单独运行&#xff0c;必须要和控制器&#xff08;include,模块&#xff09;一…...

electron react离线使用monaco-editor

目录 1.搭建一个 electron-vite 项目 2.安装monaco-editor/react和monaco-editor 3.引入并做monaco-editor离线配置 4.react中使用 5.完整代码示例 6.monaco-editor离线配置官方说明 7.测试 1.搭建一个 electron-vite 项目 pnpm create quick-start/electron 参考链接…...

Python 的 WSGI 简单了解

从 flask 的 hello world 说起 直接讨论 WSGI&#xff0c;很多人可能没有概念&#xff0c;我们还是先从一个简单的 hello world 程序开始吧。 from flask import Flaskapp Flask(__name__)app.route("/", methods[GET]) def index():return "Hello world!&q…...

基于stm32使用ucgui+GUIBuilder开发ui实例

1 项目需求 1.1 基于Tft 触摸屏实现一个自锁按键 1.2 按键在按下后背景色需要进行变化&#xff0c;以凸显当前按键状态&#xff08;选中or 未选中&#xff09; 1.3 按键选中时对某一gpio输出低电平&#xff0c;非选中时输出高电平 2 移植 ucgui UCGUI的文件数量很大&#x…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...