FIT2094-无代写
时间:2023-10-16
FIT2094 数据库 ‑ 作业 2B
4. 管理满足用户需求的数据,包括查询和
价值
‧ 每个日历日或部分日历日扣除 10%,最多一周。 ‧ 截止日期后超过 7 个日历日
提交的内容将获得零 (0) 分,并且不会提供评估反馈。
逾期处罚
1.应用关系数据库模型的理论。
2023 年 10 月 30 日星期一23:55
5. 对比非关系型数据库模型和关系型数据库模型的区别
交易。
提交
反馈
目的
到期日
支持资源
这是一本打开的书,个人任务。此任务的最终输出将是一组满足用户需求的关系型(RA
和 Oracle)和非关系型(MongoDB)查询。
‧ 应用关系代数运算来产生满足用户要求的输出。 ‧ 应用SQL select 语句来产生满
足用户要求的输出。
‧ 关系数据库数据到非关系数据库数据的映射
将通过以下方式提供学生作业的反馈: ‧ 一般群体
表现 ‧ 提交后十个工作日内的具体
学生反馈 ‧ 示例解决方案
关系数据库模型。
‧ 通过 Moodle 作业提交 ‧ FIT GitLab 签
入将用于评估开发历史
评估标准
该单元总分的35%
‧ 应用MongoDB 操作来生成满足用户需求的输出。
请参阅 Moodle 评估页面
学生将被要求使用 SQL 和 NoSQL 编写查询以产生指定的输出。该任务涵盖学习成
果:
你的任务
结构。
信息
第 1 页,共 13 页
院系
技术
数据库 ‑ 莫纳什新微笑
Machine Translated by Google
MNS 患者被分配一个患者编号。公司会记录患者的姓名、出生日期、居住地址、联系电话和联系电子邮件地
址(所有患者均需提供联系电话(手机)和电子邮件地址以确认预约)。出于紧急目的,患者还必须提供他
人的姓名和电话号码,这些信息也会被记录下来。
提供者在预约期间需要一名牙科护士的帮助。每位护士都分配有一个护士编号 ‑ MNS 还记录护士的姓名及其
联系电话。每次预约都会分配一名护士。 MNS 雇用的护士根据三种雇用状态进行雇用:临时 (C)、合同工 (T) 和全
职 (F)。
信息
在特定预约中提供的每项服务可能需要多个项目,例如填充物需要瓷蚀刻和硅烷。 MNS 记录特定预约中
提供的每项服务所需的物品数量。每个项目都分配有一个唯一的标识符。 MNS还记录了
第 2 页(共 13 页)
根据所需的工作,预约将需要一项或多项服务。对于预约,MNS 会记录预约日期和时间以及进行咨询
(预约)的房间号 ‑ 在某些情况下,该房间可能不是提供商的普通房间,例如,由于需要使用专业设备。接待
人员根据患者的要求,将预约时长设置为短(30分钟)、标准(60分钟)或长(2小时)。安排预约的工
作人员还将确保分配的提供者可用并且可以提供本次预约期间所需的服务,您的设计不需要强制执行这一
点,尽管这些工作人员必须能够查找哪些提供者提供哪些服务如果需要。
院系
Monash New Smile (MNS) 为患者提供补牙、洗牙、拔牙等牙科服务。对于每项服务,MNS 都会记录服务代码、服务描
述以及该服务的 MNS 标准费用。针对特定服务向患者收取的实际费用可能与该标准费用有所不同。这些服务由 MNS 雇
用的一系列专业人员(提供商)提供。每个提供商都分配有一个提供商代码。 MNS 记录提供者的头衔、姓名、专业以及
他们通常治疗患者的房间号。每个提供商可能有特定的专业(只有一个),但有些提供商可能没有任何专业。有些服务
需要特定的提供商,而其他服务则可以由多个提供商提供。
例如,约会编号 4 是约会编号 1 的后续,而约会编号 31 是约会 4 的后续。
指示
患者联系 Monash New Smile 并预约看医生。每个预约仅向一个提供者预订,该提供者是在第一次记录预约时指定的。该系统还确
保患者、提供者和房间不会重复预订(例如,患者不能在同一日期时间进行两次预约)。患者每天可能需要多次预约(例如,
早上进行 X 光检查,下午回来进行重新评估)。预约可以是先前预约的后续。 MNS 记录每次后续预约的先前预约编号。
技术
Machine Translated by Google
基于这些需求,为 MNS 创建了数据模型:
院系
技术
第 3 页,共 13 页
物品的描述、标准成本以及当前现有物品的数量。需要此数字来做出有关下达物料采购订单的决策。
信息
Machine Translated by Google
R1 = σservice_stdfee>200服务
第 4 页,共 13 页
您必须定期登录FIT GitLab服务器的Web界面来检查您的推送是否成功;你不能简单地假设它们正在工作。在提交之前,通过Moodle,
您必须登录GitLab服务器的Web界面并确保您的提交文件存在于 GitLab 服务器上并且其名称未更改。
或者
信息
完成所有问题后,下载或打印该文档作为 pdf 文件,并将该文件命名为T1‑mns‑ra.pdf。
对于此任务,您需要为以下查询编写关系代数运算(您的答案必须表明您对查询效率的理解)。
(R1)
院系
您对此任务(任务 1)的答案必须写在 Ms Word 文档或 Google 文档中。
R = πservice_code, service_desc
问题:列出标
准费用超过 200 美元的所有服务的服务代码和服务说明。
(a) 列出从未在任何约会中使用过的所有项目的 ID 和描述
例子:
技术
当您在下面输入答案时,用于复制/粘贴的符号列表:
R = πservice_code, service_desc (σservice_stdfee>200服务)
项目:π,选择:σ,连接: ,相交: ,并集: ,减号:‑
[2 分]
GIT 存储您对这些任
务的工作必须保存在分配 2B 文件夹中的个人本地工作目录 (repo) 中,并定期推送到 FIT GitLab 服务器,以建立您的方法的清晰
的开发历史记录。至少需要向 FIT GitLab 服务器推送 12 次(每个文件推送 3 次)。请注意,至少要推 12 次,实际上我们期望的次数会
多得多。所有提交都必须包含有意义的提交消息,该消息清楚地描述了特定提交的内容,并且必须正确分配给您有效的 GitLab 作者。
确保您的ID 和姓名显示在您提交的任何文件的顶部。
回答:
服务。
任务
任务 1:关系数据库查询 ‑ 关系代数(9 分):
Machine Translated by Google
技术
‧ 第 8 周研讨会和第 9 周应用 ‑ SQL 第 I 部分 ‑ 基础 ‧ 第 9 周研讨会和
第 10 周应用 ‑ SQL 第 II 部分 ‑ 中级 ‧ 第 10 周研讨会和第 11 周应用 ‑ SQL 第 III
部分 ‑ 高级
****************************************************** ****************************************************** ******
第 5 页,共 13 页
如上所述,所涵盖工作之外的 SQL 语法和命令将不会被接受或标记。
(b) 列出居住在名为Mooroolbark的城市并于 2023 年 9 月 8 日进行预约的所有患者的患者编号、患者名字、患者姓氏、紧急联系
人名字、紧急联系人姓氏和紧急联系电话号码。
[3分]
您不得: ‧ 手动查找数据库中的
属性以获得任何值, ‧ 手动计算数据库外部的值(包括日期/时间),例如使用计算器,然后
在答案中使用这些值。所有必要的计算必须作为 SQL 代码的一部分执行,
‧ 假设数据库中的任何内容 ‑ 表中的行可能处于恒定状态
(c) 列出所有接受过牙髓病医生(即专门从事牙髓病治疗的提供者)就诊的患者的号码、名字、姓氏和电子邮件
地址。
[4 分]
更改,或者 ‧
使用视图和/或 PL/SQL
您的答案必须认识到这样一个事实:您只获得了多用户数据库的一个小样本快照,因此您必须基于数据库所有表中的数据比您获得的
数据多的基础上进行操作。无论这些额外的“真实”数据有多少,以及多个用户同时在表中进行操作的事实如何,您的答案都必须有
效。编写SQL语句时必须考虑到这一点。
院系
您只能使用问题文本中提供的数据。不遵守此要求将导致相关问题的得分为 0。
****************************************************** ****************************************************** ******
信息
在得出任务 2 的解决方案时,您只能使用本单元中涵盖的 SQL 结构、语法和函数:
任务 2:关系数据库查询 ‑ SQL(63 分):
在尝试此任务之前,请删除您帐户下的所有表格。
Machine Translated by Google
技术
Bruce Striplin 博士)适用于所有专门从事儿科牙科领域的提供者(这是专业描述)。按提供者
的姓氏对列表进行排序,在此范围内,如果两个提供者具有相同的姓氏,则按其各自的名字排序,然后按提供者
代码排序。
[5 分]
第 6 页(共 13 页)
[6 分]
在 Monash Oracle 数据库中,这套 Monash New Smile 表是在用户“MNS”下创建的。要使用这些表,您需要将前
缀“MNS”添加到 SQL 语句中使用的表名称中。因此,如果您想从 PROVIDER 表中检索数据,您需要编写:
从 mns.provider 中选择 * ;
(c) 列出服务代码、描述和标准费用(如果该服务比所有服务的平均标准费用更贵)。输出必须首先显示最昂贵的服务。服务标
准费用必须右对齐并以两位小数和前导 $ 符号显示,例如 $250.50。如果两个或多个服务具有相同的标准费用,则按服务
代码对输出进行排序。
[8 分]
您对此任务(任务 2)的答案必须放在提供的 SQL 脚本T2‑mns‑select.sql 中。
您只能为下面的每个问题编写一个 select 语句。如果向您提供了包含斜体的字符串,例如Orthodontics,您必须使用所提供的字符
串在数据库中进行搜索。在需要显示全名的地方,不能有任何多余的空格(例如前导空格、名称中间的多余空格)。
(d) 列出最昂贵预约的预约编号、预约日期时间、患者编号、患者全名和预约总费用(服务费 + 项目费)。
提供了示例输出,显示了您需要生成的内容的形式。请注意,这只是输出的形式,即外观,您返回的数据会有所不同。
预约总费用必须右对齐并以两位小数和前导 $ 符号显示,例如 $2575.50。如果两个或多个预约具有相同的预约总成本,则按
预约编号对输出进行排序。
院系
[8 分]
(a) 列出库存至少 50 件(最少 50 件)的所有物品的 ID、描述、标准成本和库存,并在物品描述中包含“复
合”一词。首先显示库存最高的商品。如果两个商品的现有商品数量(库存)相同,则按各自的商
品 ID 进行排序。
信息
(b) 以标题形式列出提供者代码和提供者名称。名字 姓氏(例如
Machine Translated by Google
技术
(g) 列出所有提供者在 2023 年 9 月 10 日上午 9 点至 2023 年 9 月 10 日下午 5 点之间进行的预约次数、收取的
总费用以及用于预约的所有物品的总量。 2023 年 9 月 14 日(含)。如果特定提供商在此期间没有预约,或
未收取费用,或未使用任何项目,则输出列必须显示破折号 (‑) 下图显示了您需要生成的输出,您必须使用同
一列标题、数据格式和对齐方式(所有输出均右对齐)。
‑
图片注释: ‑
仅显示示例/不完整数据(您的数据会有所不同)
(e) 鉴于提供商可能会收取高于或低于预约期间提供的服务的标准费用,MNS 管理部门有兴趣了解所有预约中收取的费用有哪
些变化。诊所将平均实际收取的服务费与服务标准费之间的差额称为“服务费差价”。对于预约期间提供的所有服务,确
定服务费差额。该列表应显示服务代码、描述、标准费用以及按服务代码顺序排列的服务费差异。
例如,服务 D001 口试的标准费用为 65.00 美元,所有预约的平均费用可能为 75.00 美元
‑ 这里的费用差额将为 75 ‑ 65,即费用差额 +10.00。如果平均费用为 57.50,则费用差异将为
‑7.50。
[15 分]
第 7 页,共 13 页
[10 分]
(f) 列出所有患者的随访预约百分比。
例如,如果患者进行了 3 次预约,其中两次是后续预约,则该百分比将为 66.7%。显示患者编号、全名、当前年龄、已
预约次数以及后续预约的百分比。下图显示了您需要生成的输出,您必须使用相同的列标题、数据格式和对齐方式。
院系
图片注释: ‑
仅显示样本/不完整数据(您的数据会有所不同) ‑ PATIENTNAME 列
已被截断以便于显示......代表列中删除/截断的部分
[11 分]
信息
Machine Translated by Google
信息
第 8 页(共 13 页)
您对此任务(任务 3)的答案必须放置在提供的 sql 文件T3‑mns‑json.sql和提供的 MongoDB 脚本文件T3‑mns‑
mongo.mongodb.js中
院系
技术
(a) 在T3‑mns‑json.sql中编写 SQL 语句,以使用MNS表中的以下结构/格式生成 JSON 文档集合。集合中的每个文档
代表约会的提供者和项目详细信息。该列表必须仅包含至少使用一项的约会。请注意,此结构中的 _id 是预约编号。
[7 分]
任务 3:非关系数据库查询 ‑ MongoDB(18 分):
“标准成本”:78,“数量”:1
“id”:18,
{
“id”:20,
}
desc: 荧光成像板,
“标准成本”:75,
}
“数量”:1
]
]
} ... //仅部分集合
},
},
{
{
⋯⋯
“_id”:7,“日
期时间”:“08/09/2023 12:00”,“provider_code”:
“GEN002”,“provider_name”:“阿玛莉
亚·莫里斯博士”,“item_totalcost”:78,“no_of_items”: 1、
“项目”:[
{
“id”:21,
“_id”:11,
“datetime”:“11/09/2023 15:00”,“provider_code”:
“PED002”,“provider_name”:“李博
士”,“item_totalcost”:80,“no_of_items”:
2 , “项目”: [
{
desc: 流体复合材料,
“desc”:“Clinasept Film”,
“standardcost”:5,
“数量”:1
Machine Translated by Google
[2 分]
进行更改后使用适当的 db.find 命令,以便说明/确认所做的更改。
技术
[3分]
在提供的名为T3‑mns‑mongo.mongodb.js 的MongoDB 脚本文件中编写以下问题 3(b) ‑ 3(e) 的 MongoDB 命令。
(b) 创建一个新集合并将上面 3(a) 中生成的所有文档插入到 MongoDB 中。
(e) 在预约号 20 中插入另外两个项目(即 _id 为 20): ‑ “EDTA Cleansing Gel
17%”(项目 ID:3,标准成本:8 美元) ‑ “Irrigation Solution 2%
Chlorhexidine”(项目 ID) :4,标准成本:9 美元),以及 ‑ “灌溉针和注射器”(物品
ID:
8,标准成本:2 美元)。
编写必要的 MongoDB 命令以将这个新度假村添加到集合中。您可以自己补足数量。
在创建集合语句的正上方提供删除集合语句。插入文档后,使用适当的 db.find 命令列出您添加的所有文档。
[1分]
进行更改后使用适当的 db.find 命令,以便说明/确认所做的更改。
(c) 列出使用两个以上不同物品的所有预约,或其总物品成本为
[5 分]
院系
第 9 页(共 13 页)
超过 50 美元。
信息
(d) 管理层决定将项目 ID 1 的描述从“纸质提示”更改为“纸质积分”。更改集合中的数据以反映此决定。
Machine Translated by Google
信息
对于此作业,您需要提交到 Moodle 的四个文件,并且必须存在于您的个人 FIT Gitlab 存储库中的 Ass2B 文
件夹下:
每迟到 24 小时,迟到将受到 ‑10 分的处罚。
技术
请注意,我们无法在 GitLab 服务器上标记任何作业,您需要确保通过 Moodle 正确提交,因为只有在
此过程中您才能完成所需的学生声明,否则作业将无法评估。
‧ T1‑mns‑ra.pdf ‧
T2‑mns‑select.sql ‧
T3‑mns‑json.sql ‧
T3‑mns‑mongo.mongodb.js
第 10 页(共 13 页)
您有责任确保您提交的文件是正确的文件 ‑ 我们强烈建议您在上传提交内容后和提交之前下载提交内容并仔细检查其内
容。
如果您需要向您的评分者/导师提出任何评论,请将它们放在“对您的评分者的评论:”部分中每个解决方案脚本的
开头。
截止日期: 2023 年 10 月 30 日 23:55
院系
不要将这些文件压缩到一个 zip 存档中,而是提交四个独立的文件。在开发解决方案时,各个文件还必须已推送到 FIT GitLab
服务器并具有适当的历史记录(至少推送 12 次 ‑ 每个文件 3 次,但我们强烈建议超过此数量)。请确保您的提交评
论有意义。
请注意,如果您需要重新提交,您不能依赖您的导师是否有时间,因此,请务必小心您的提交。强烈建议您在此时间之前几个小时提交,以
避免此类问题。
您的作业在被标记之前必须显示“已提交评分”状态。
提交要求
Machine Translated by Google
院系
请注意,如果在截止日期/时间之后重新提交,则提交将被视为逾期。
如果您提交的内容显示为“草稿(未提交)”状态,则不会对其进行评估,并将在截止日期/时间之后产生滞纳金。
如果您想重新提交作业,您必须向您的导师发送电子邮件,提供下面列出的完整详细信息,并请求他们重新提
交您的作业以进行第二次提交。
技术
如果您需要在接近截止日期/时间重新提交,您不得假设您的导师有空 ‑ 他们可能正在上课或因其他原因没有空,所以不要等到最后一
刻才提交。
重新提交
信息
当您通过电子邮件联系您的导师(或研讨会领导)时,请确保在您发送的每封电子邮件中清楚地注明您的全名、
单位代码和申请的班级编号,以便他们能够识别该消息的发件人。这将确保我们能够尽可能快速、准确地做出响
应。
第 11 页(共 13 页)
请仔细阅读 Moodle 评估页面上“作业提交”下的文档,其中涵盖了扩展和重新提交等内容。
Machine Translated by Google
技术
‧ 对于满足明确要求的关系代数,按所列的 (a) ‑ (c) 授予分数。 ‧ 正确使用
RA 运算和使用适当的符号,授予分数
了解查询效率,即不得使用不必要的连接,也不得在查询中携带不必要的属性
和元组 ‧ 如果 SQL select 语句使用,将获得 0 分
‧ 在Oracle 中未正确执行的语句最多将获得可用分数的50% 减去1 分。例如,如
果一个问题的得分为 6 分,并且在 SQL 中运行时出现错误,则授予的最高
分将为 2 分
作为任务 1 的解决方案提供
任务 3 非关系数据库查询 ‑ MongoDB 18 分
最高 18 分 ‑ 满足简要要求:
‧ 创建 JSON 最多可获得 5 分
与所提供的文档格式相匹配的文档
任务 2 关系数据库查询 63 分
提交的解决方案将根据该任务的最佳解决方案进行评估 ‑ 该最佳解决方案将在作业 2B 评分后作为示例解决方案提供。
最高 63 分 ‑ 满足简要要求:
任务
‧ 对于满足明确要求的 MongoDB 代码,将获得 (b) ‑ (e) 所列出的标
记 ‧ 如果字段名称和谓词(例如“&eq”)未用双
引号引起来,则将受到标记处罚
第 12 页(共 13 页)
评估项目
‧ 对于满足所明确要求的 SQL 代码,将获得所列的 (a) ‑ (f) 分 ‧ 如
果输出与为每个问题提供的形式不匹配,
则将受到分数处罚 ‧ 如果日期处理和字符串数据库查找不符合要求,
则将受到分数处罚正确管理 ‧
在查询中使用算术计算、串联、函数或其他输出操作时,如果未使用列别名,
则应用标记惩罚
任务 1 关系代数查询 9 分
‧ 如果使用手动查找/计算,则会受到标记处罚
院系
对于来自数据库的值
最高 9 分 ‑ 满足简要要求:
信息
‧ 如果您的答案没有显示,则将受到标记处罚
标记指南
Machine Translated by Google
‧ 因使用正确的 Git 作者详细信息而获得的分数
总分:100 分,满分为 35 分
文件的开发历史记录(每个文件至少推送 3 次)
信息
在任务 2 中使用 VIEWS、包含 SET ECHO/SPOOL 和/或 PL/SQL 命令将导致扣分10
分。
处罚
院系
推送(参见第 2 周应用笔记附录) ‧ 因使用有
意义的提交消息而获得的分数(即非空白或“Push1”形
式)
第 13 页,共 13 页
‧ 在MongoDB 中未正确执行的语句最多将获得可用分数的50% 减去1 分。例
如,如果一个问题价值 6 分,并且在 MongoDB 中运行时出现错误,则
授予的最高分数将为 2 分
SPOOL 命令和/或 ‧
PL/SQL
技术
使用 ‧
视图 ‧ SET
ECHO 或
此类作品不会被评分(请参阅本简介的第 5 页)
最多 10 分 ‑ Git 使用得当: ‧ 12 次推送获得的分数显示出清
晰的结果
正确使用Git 10分
本单元未涵盖的任务 2 中 SQL 语
法的使用
最终作业分数计算
Machine Translated by Google