COMP23111数据库系统课程2简介第二个课程允许您首先规范化信息源以告知数据库的设计。您的设计将使用MySQL实现。然后你要创建一个使用PHP和MySQL与数据库交互的应用程序。信息源中没有足够的信息所以你将不得不在规范化阶段之后做出假设,例如信息源中没有指示为参加测验的用户存储分数,但在设计和实施时应将其纳入。A部分:您将获取信息源(见下页)并规范化为3NF,以创建关联关系和其中的属性。B部分:创建一个关系模式,清楚地标识关系、属性和任何约束。部分C:实施您的设计时要注意您的字段的数据类型和任何参考行为ns用于更新或删除相关表中的数据的外键。D部分:使用PHP和MySQL为您的数据库创建应用程序和前端。应用程序应该:?允许用户注册?允许员工或学生用户登录?允许员工用户创建、更新或删除测验或该测验的相关问题?允许用户从可用的测验中进行选择并参加该测验(如果测验设置为可用)?允许用户查看任何已参加的测验以及他们在这些测验中的分数E部分:?创建一个存储过程,显示学生姓名和他们取得低于以下成绩的测验分数40%?创建一个触发器,当员工用户删除测验时,将记录员工ID、测验ID和当前日期和时间。下面的信息源是报告规范化部分的信息源片段。…如何构建报告下面我们为您提供了一个总体结构然而,这仅供参考,您应该使用标题和副标题适当地组织您的报告。封面(您的姓名、评估标题、模块代码、日期)目录A部分:标准化介绍部分UNFP解释您为UNF做了什么的一两段然后您的UNF表1NF解释您为1NF做了什么的一两段然后您的1NF关系2NF解释您做了什么的一两段对于2NF然后你的2NF关系3NF一段或两个解释你为3NF做了什么然后你的3NF关系部分B:关系模式介绍部分你的模式部分C:实现部分介绍用于实现你的模式的MySQL语句部分D:应用部分介绍用户指南如何使用你的应用程序,您可能希望包含屏幕截图。注意:虽然我们希望您尝试使用户界面令人愉悦,但您在本节中的评分主要基于功能以及与数据库的交互。E部分:存储过程和触发器部分介绍用于创建存储过程和触发器的MySQL报告(PDF格式)提交截止日期可在黑板上获得评分/标记A部分:规范化[≈29%]UNF的适当细节和表示1NF的适当细节和表示2NF的适当细节和表示3NF的适当细节和表示B部分:关系模式[≈12%]Well-presentedSchemaSchema的正确性从原始信息源进行的更改/假设的标识,例如包括存储分数、用户密码等。这是您的设计,因此您应该包括您认为合适的内容并提供一些理由.注意:不要返回并根据此处的假设更改A部分。C部分:实施[≈15%]MySQL语句的正确性6%]报告的介绍(结构合理,标题适当等)问题与解答GTA如何运行课程作业以进行评分??GTA将使用虚拟机运行应用程序。您应该确保在虚拟机中测试应用程序,以便它按预期运行。我可以使用NodeJS、Flask、JavaSpring、GoLang等现代技术开发应用程序吗??不使用任何框架。评估脚本旨在测试您在课程的某些方面,并且其中内置的任何限制都是有意的。但是,如果您愿意,您可以在前端使用Bootstrap框架。是否为va授予任何标记数据整理??必须将数据正确输入数据库。应该使用验证来减少数据输入过程中的错误数量。我应该使用什么类型的验证??我建议你看看不同的验证技术,用户捕获的任何数据都应该被验证,作为我们期望的指南:o唯一值,去年问了一个问题“如果用户尝试使用相同的用户名注册作为现有用户,是否应考虑到这一点?”。答复:我们希望此处进行一些验证,通知用户用户名已被使用,并让用户可以选择尝试另一个用户名。o类型验证,输入的数据类型是否正确?例如,如果输入的是姓氏,则您不会期望输入数字。o非空值——如果数据库中的任何字段都有NOTNULL约束,则验证应确保用户为任何字段输入一个值具有此约束的字段。o范围检查通常用于数字字段。您可以使用范围检查的一个示例是当用户在配置测验选项时设置测验持续时间。无效输入可能是持续时间小于1(学生完成测验不到一分钟似乎有点不公平)。o当用户只能从有效的选择列表中输入一个选择时,使用受限选择,一个明显的例子可能是询问用户他们希望参加哪个测验。他们的用户只能输入存在的测验。o格式通常是最有用的验证检查并且有很多应用。您将看到诸如检查有效邮政编码、电子邮件地址、课程代码等示例。格式检查本质上是检查字符串是否与特定模式匹配,并且通常使用正则表达式来实现。我应该使用客户端还是服务器端验证??HTML5为客户端提供了不错的功能去验证(例如正则表达式),HTML5不提供的任何内容通常都可以由JavaScript提供。但是,您不应假定用户使用的是HTML5或JavaScript,因此服务器端验证也可用于这些情况。课程作业2要求备份数据库。这个备份是我们在phpMyAdmin上导出数据库时得到的.sql文件吗??是的,您需要包含数据库文件。这可以在phpMyAdmin中使用导出功能或使用mysql命令mysqldump来实现。我们还需要为实际参加测验的学生实施前端吗?-这似乎超出了课程范围并且可能需要一些时间(例如,如果您不熟悉PHP)?是的,您还需要为参加测验的用户实现一个前端。我不同意它超出了课程范围,因为它涉及选择数据、插入数据(即他们的答案/分数)和更新数据a(即,如果您的设计仅存储给定测验的最后一次尝试)。想问一下3NF形式和关系模式是否应该与我们将用于在应用程序中实现数据库的相同。我的意思是,如果我们想为应用程序更改/添加一些东西到数据库中,我们没有从信息源中推断出来,我们是否也应该更改3NF和关系模式。?当您实施数据库时,它将是与关系方案不同,因为信息源不会捕获所有内容。?没有要求根据实际实施的数据库重做A部分的规范化。一名工作人员可以编辑另一名工作人员的测验吗?或者是当员工登录时,他们只能查看和编辑他们专门创建的测验。?这完全是您的选择。您可以添加功能以允许创建测验的工作人员选择分配给w或不允许其他员工更改测验(尽管这不是必需的)。我们是否可以在开始规范化过程之前做出假设?例如,我们是否允许在信息源中添加我们自己的属性,而不是现有的属性??更好地规范给定信息源中的内容。您能否澄清我们是否会在网站外观上标记,或者您将标记网站的功能??用户界面不必看起来很棒。我们对与数据库的交互感兴趣;然而,为什么不应用一点CSS呢?尝试使界面变得更好一点会得到一点点赞誉,但并不多——将你的精力集中在功能上,如果你有时间,让它看起来更好。我认为3NF是2NF的子集,2NF是1NF的子集等等。如果我能马上想出3NF版本,我是否必须回溯并使sa变得更糟了解前面的部分还是这可以算作所有部分??您需要展示您对从UNF到3NF的每个规范化阶段的理解。我们可以使用html/css为我们的应用程序创建我们的应用程序登录页面等吗?在使用php从数据库中添加/删除/提取数据时??是的,这是预期的。如果你愿意,你也可以使用一些JavaScript。WX:codehelp
