深入解析包裹信息管理系统:关系型数据库逻辑数据模型设计、超类实体与派生属性探讨
目录
案例
【题目】
【问题 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 现在正式支持了多根节点的组件,也就是片段! Vue 2.x 遵循单根节点组件的规则,即一个组件的模板必须有且仅有一个根元素。 为了满足单根节点的要求,开发者会将原本多根节点的内容包裹在一个<div>元素中&#x…...
4.接口测试基础(Jmter工具/场景二:一个项目由多个人负责接口测试,我只负责其中三个模块,协同)
一、场景二:一个项目由多个人负责接口测试,我只负责其中三个模块,协同 1.什么是测试片段? 1)就相当于只是项目的一部分用例,不能单独运行,必须要和控制器(include,模块)一…...
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,很多人可能没有概念,我们还是先从一个简单的 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 按键在按下后背景色需要进行变化,以凸显当前按键状态(选中or 未选中) 1.3 按键选中时对某一gpio输出低电平,非选中时输出高电平 2 移植 ucgui UCGUI的文件数量很大&#x…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
