基本上,我的小组和我必须为3NF以下的用户视图创建标准化,现在所有的用户视图都是针对Seneca College Daycare,总共有5个用户视图,每个用户视图都有很多东西,但是主要是用户视图1-4是关于孩子,父母和工人,userview 5是付款表单。
例如:用户视图1
CHILDREN
NAME OHIP# DATE OF BIRTH ALLERGY(S) TYLENOL PERMITTED
Kevin 5334447772 Nov 2, 1999 Penicillin, Egg Yes
Mary 4333445355 Sept 4, 1997 Egg Yes
我们的3NF归结为(我的伴侣所做的)
表格[F_ID,校园,签名,日期P]
注册[R_ID,L_Name,F_Name,Relation,Apt,PosC,Hphone,Wphone, E_Call,OHIP]
地址[PosC,地址,城市]
FormReg [F_ID,R_ID,日期]
RegOAA [R_ID,OAA_ID,关系]
OAA [OAA_ID,F_Name,L_Name,HPhone,WPhone]
儿童[OHIP,L_Name,F_Name,Birth,Allergys,Tylenol]
userview 2
http://i.imgur.com/4yEkqvZ.jpg?1(太多细节要粘贴在这里,所以我上传了prnt scrn)
现在我所说的3nf是
3NF
ChildDetail [Campus, Child#, ChildName, ChildBday, Allergy]
Manager [Manager#, Manager]
Supervisor [Supervisor#, Supervisor]
Worker [ChildWrkrs#, ChildWrkrs]
Family [Fam#, FamPhone#]
然而,我的合作伙伴说我们仍然应该使用他从Userview 1中提出的OHIP主键
他想出了这个
StaffAssign [Campus,Manager_ID,L_Name,F_Name]
房间[RoomNum,RDescrip]
Room_Staff [校园,RoomNum,Staff_ID,OHIP]
员工[Staff_ID,L_Name,F_Name,Occupation]
儿童[OHIP,L_Name,F_Name,Allergie,Birth,F_ID,E_Call]
现在,根据我的理解,如果我的理解是正确的,我们就不能使用用户视图中不存在的属性,对吧?所以从用户视图1中取出OHIP并将其添加到用户视图2应该不起作用,对吗?
我们一直在谈论它,不幸的是我们无法联系到我们的教授,所以我希望有人能够在这里提供帮助。
谢谢。
答案 0 :(得分:0)
所以我发现只要符合某些条件,就有可能。
如果您拥有来自不同用户视图的属性,只要主键相同,它们就可以合并。这成为一种累积设计。
这种情况的一个例子如下:
1ST USER VIEW – OLD CUMULATIVE DESIGN
Part[Part#, description, unit_price, qty_on_hand]
Order_part[Order#, part#, sold_quantity, sold_price]
FK order# order
FK part# part
ORDER[order#, ordDate, cust#]
FK cust# customer
CUSTOMER[Cust#, cName]
NEW CUMULATIVE DESIGN
PART[Part#, description, class, price, qty_on_hand]
CLASS[Class, class_desc]
ORDER_PART[ Part#, order#, quantity, quotedPrice]
ORDER[ ord#, ordDate, cust#]
CUSTOMER[cust#, cName, street, city, zip, prov, country, balance, creditLimit, rep#]
REP [Rep#, rName, com_perct]
正如您在示例中所看到的,PART字段具有相同的数据,但是,在新设计中,您将看到“class”作为附加条件。这没关系,因为在另一个用户视图中,Parts表有一个额外的属性定义为'class',主键没有改变,所以所有这一切,我们将旧设计与找到的新信息合并,并创建一种新的累积设计。
因此,只要条件得到满足,就可以完成“转移/使用”或者更确切地将先前用户视图中的属性合并到另一个用户视图中(只要它们是相关的,并且主键是相同的)。 / p>
修改强> 另外,只是为了做笔记,即使用户视图中不存在属性,也可以创建自己的属性。
例如,您填写表格,有很多标准可供使用,但表格可以提交到许多地方,只要您在那里注册,每个地点都可以使用,你可以创建一个允许您跟踪每个表单的属性,“registration_id”作为示例。