某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果如下:
(1)邮件客户端系统支持多个用户,用户信息主要包括用户名和用户密码,且系统中的用户名不可重复。
(2)邮件帐号信息包括邮件地址及其相应的密码,一个用户可以拥有多个邮件地址(如userl@l23com)。
(3)一个用户可拥有一个地址薄,地址簿信息包括联系人编号、姓名、电话、单位地址、邮件地址1、邮件地址2、邮件地址3等信息。地址薄中一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人。
(4)一个邮件帐号可以含有多封邮件,一封邮件可以含有多个附件。邮件主要包括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容、发送时间、接收时间。其中,邮件号在整个系统内唯一标识一封邮件,邮件状态有已接收、待发送、已发送和已删除4种,分别表示邮件是属于收件箱、发件箱、已发送箱和废件箱。一封邮件可以发送给多个用户。附件信息主要包括附件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一。

【问题1】
根据以上说明设计的E-R图如图所示,请指出地址簿与用户、电子邮件账号与邮件、邮件与附件之间的联系类型。
【问题2】
该邮件客户端系统的主要关系模式如下,请填补a.~c.的空缺部分。

用户(用户名,用户密码)
地址簿( a. ,联系人编号,姓名,电话,单位地址,邮件地址1,邮件地址2,邮件地址3)
邮件账号(邮件地址,邮件密码,用户名)
邮件( b. ,收件人地址,邮件状态,邮件主题,邮件内容,发送时间,接收时间)
附件( c. ,附件号,附件文件名,附件大小)

【问题3】
(1) 请指出问题2中给出的地址簿、邮件和附件关系模式的主键,如果关系模式存在外键请指出。
(2) 附件属于弱实体吗?请用50字以内的文字说明原因。

答案:
【问题1】
一对一;一对多;一对多。
【问题2】
a.用户名
b.邮件号
c.(标识邮件的)邮件号
【问题3】
(1)地址簿的主键是联系人编号,外键是用户名,邮件的主键是邮件号,附件的主键是附件号、邮件号,外键是邮件号。(2)是弱实体,附件必须依附于邮件而存在。

解析:
[要点解析] 该题是一个数据库设计题,题目以多用户电子邮件客户端系统为背景,考查E-R模型、E-R模型转关系模式,求解主键、外键等知识点。值得注意的是本题中出现了一个不常考的概念:“弱实体”。
[问题1] 由说明的第3条可知,一个用户可拥有一个地址簿,一个地址簿只属于一个用户,所以地址簿和用户之间是一对一的关系;由说明中的第4条可知,一个邮件账号可以含有多封邮件,一封邮件可以含有多个附件,显然,电子邮件账号与邮件、邮件与附件之间的联系类型都是一对多。
[问题2] 本题考查关系模式的补充,这种题和问题1中的题目都属于送分题,只要仔细阅读题目说明,就十分容易找到答案。
由说明的第3条“地址簿信息包括联系人编号、姓名、电话、单位地址、邮件地址1、邮件地址2,邮件地址3等信息”,但是不要忽略了一个地址簿是属于某个用户的,所以这个关系模式中缺少的是用户信息,即用户名。由说明的第4条“邮件主要包括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容、发送时间、接收时间”可知,在邮件这个关系模式中缺少的是邮件号。由说明的第4条“附件信息主要包括附件号、附件文件名、附件大小”,但是一个附件只属于一封邮件,所以附件关系模式中缺少的是标识邮件的邮件号。
[问题3] (1)本题考查主键和外键的概念。主键也称为主码,是关系中的一个或一组属性,其值能唯一标识一个元组。如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。由说明的第3条“地址簿中一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人”可知,联系人编号必定是地址簿的主键,但是不同用户的地址簿中有相同的联系人编号,所以地址簿的主键还应该加上用户名。由说明的第4条“邮件号在整个系统内唯一标识一封邮件,邮件状态有已接收、待发送、已发送和已删除4种,分别表示邮件是属于收件箱、发件箱、已发送箱和废件箱”,显然邮件关系模式的主键是邮件号。由说明的第4条“一个附件只属于一封邮件,附件号仅在一封邮件内唯一”,再由主键和外键的概念可知,附件关系模式的主键是附件号,外键是邮件号。
(2)本题考查弱实体的概念,知道弱实体的概念就能解答出该问题。弱实体是一种依赖联系:在现实世界中,有些实体对另一些实体有很强的依赖关系,即一个实体的存在必须以另一实体的存在为前提,前者就称为“弱实体”,如在人事管理系统中,职工子女的信息就是以职工的存在为前提的,子女实体是弱实体,子女与职工的联系是一种依赖联系。在本题中,一个附件是属于一封邮件的,所以它是弱实体,依赖于邮件。

E-R图练习(邮件客户端系统)相关推荐

  1. 计算机网络邮件客户编程,北京理工大学-计算机网络实践-实验4POP3邮件客户程序.docx...

    北京理工大学-计算机网络实践-实验4POP3邮件客户程序 实验四 POP3 邮件客户程序实验目的电子邮件 E-Mail 是Internet 中广泛使用的服务之一,在Internet 电子邮件系统中,邮 ...

  2. python 导出数据并发邮件_Python 获取zabbix数据图并发邮件

    Python 获取zabbix数据图并发邮件#! /usr/bin/env python # coding=utf-8 # Andy_f import time, os,datetime import ...

  3. 利用R语言对贷款客户作风险评估

    利用R语言对贷款客户作风险评估(上)--数据分析 前言 风险控制能力越来越成为互联网金融行业的隐形门槛,为风控人员提供显著地风险评估依据变得非常重要.本文以银行客户的信用卡信息为案例数据,对数据进行分 ...

  4. 利用R语言对贷款客户作风险评估(下)——零膨胀回归分析

    利用R语言对贷款客户作风险评估(下)--零膨胀回归分析 前言 上一篇的分类预测是决定好坏客户的初步判断, 不足以直接决策, 因此还需要进一步分析. 通过随机森林, 对影响好坏客户的解释变量的重要性进行 ...

  5. 计算机网络自顶向下方法 第二章套接字编程作业 邮件客户 答案

    https://github.com/jzplp/Computer-Network-A-Top-Down-Approach-Answer 作业3: 邮件客户 官方文档 文档翻译 编程作业答案 #改为P ...

  6. R语言_电信客户流失数据分析

    1 引言 近年来,各行各业往往都会不可避免地面临用户流失的问题.研究表明,发展新用户所花费的宣传.促销等成本显然高于维持老用户的成本,因此,做好"客户流失预警"可以有效降低营销成本 ...

  7. linux 瘦客户机系统,2X ThinClientOS基于Linux的瘦客户端系统 | MOS86

    你曾经走进图书馆,想知道电脑怎么都可以这么相似?您是否希望至少一次能够远程访问您的程序?你一直觉得像一个简单的ssh连接不是为你吗?如果您对任何这些问题回答"是"(或者如果您现在只 ...

  8. 只能发邮件不能接受_《GTA5》R星发邮件问候玩家会发生什么?以下操作一个也别碰...

    GTA5是一款被神仙毁掉的游戏,当然这里指的是线上模式,当你正想要去线上干一番大事的时候,却被神仙玩家搞的心态全无,其实很多玩家都有同样的遭遇,面对这种情况我们只能默默的点开举报,然后静静的等待即可, ...

  9. 横向导出excel_万能转换:R图和统计表转成发表级的Word、PPT、Excel、HTML、Latex、矢量图等...

    R包export可以轻松的将R绘制的图和统计表输出到Microsoft Office(Word,PowerPoint和Excel),HTML和Latex中,其质量可以直接用于发表. 你和PPT高手之间 ...

  10. 【R图秀-3】——“全球和平指数”可视化

    作者简介Introduction 傅兴:个人公众号:Rapp 往期回顾 [R图秀-1]12306列车数据可视化 [R图秀-2]社交网络数据可视化(一) 今天在Tableau Public的网站上看到一 ...

最新文章

  1. Python开发笔记之正则表达式的使用
  2. spring YML属性提示
  3. UA MATH571A 回归分析 概念与R code总结
  4. http --- 前端的缓存
  5. 微服务意味着分布式系统
  6. [UE4]C++静态加载问题:ConstructorHelpers::FClassFinder()和FObjectFinder()
  7. 基础知识—表达式与语句-表达式
  8. python考研成绩什么时候出来_这里有最新的调剂、成绩公布时间以及复试信息
  9. JPA的双向一对一关联实现示例
  10. JAVA的抽象类和接口
  11. vue3初探-工程化项目架构-笔记
  12. 发言倒计时器_演讲稿之演讲比赛专用倒计时器
  13. JavaScript实现文件读取、文件导出
  14. js数组按中文拼音排序_前端面试题二(JS进阶篇)
  15. excel随机数_【收藏】Excel生成随机数、不重复随机数技巧,试验检测办公必备...
  16. 《数字孪生》(Yanlz+VR元宇宙+Unity+SteamVR+云技术+5G+AI+虚拟现实+数字映射+仿真+物理模型+传感器更新+运动历史+多学科+多物理量+多尺度+多概率+立钻哥哥++==)
  17. windows微信公众号采集系统
  18. NDK-r25交叉编译qemu:tests/qtest/libqos/libqos.fa.p/pci.c.o报错
  19. 如何从8 道面试题中,看出浏览器渲染过程与性能优化
  20. 用python绘制字符画

热门文章

  1. 64位WIN7系统下无法安装驱动/ 有黄色感叹号怎么办?
  2. 基于PHP+MySQL图书管理系统的设计与实现
  3. java编程练习题四
  4. Java项目:微信小程序点餐系统(java+微信小程序+Mysql)
  5. 汽车软件质量体系DIY(1)难题-价值-周期
  6. (首个填坑)联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动
  7. PMP项目管理全套表格史上最全,建议收藏
  8. CSS:字体设置~笔记
  9. 3D数学基础(二)| 向量
  10. Win7安装IE10或IE11 离线安装注意问题