Database design 不同用户视图中的属性是否可以多次使用?
基本上,我和我的小组必须为用户视图创建一个标准化,直到3NF,现在所有的用户视图都是针对塞内卡学院日托中心的,总共有5个用户视图,每个都与许多事情有关,但用户视图1-4主要是关于孩子、家长和员工的,用户视图5是付款形式 例:用户视图1Database design 不同用户视图中的属性是否可以多次使用?,database-design,relational-database,normalization,Database Design,Relational Database,Normalization,基本上,我和我的小组必须为用户视图创建一个标准化,直到3NF,现在所有的用户视图都是针对塞内卡学院日托中心的,总共有5个用户视图,每个都与许多事情有关,但用户视图1-4主要是关于孩子、家长和员工的,用户视图5是付款形式 例:用户视图1 CHILDREN NAME OHIP# DATE OF BIRTH ALLERGY(S) TYLENOL PERMITTED Kevin 5334447772 Nov 2, 1999 Penicillin
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、校园、标志、日期]
寄存器[R_ID、L_名称、F_名称、关系、Apt、PosC、Hphone、Wphone、,
E_呼叫,OHIP]
地址[邮政编码、地址、城市]
FormReg[F_ID,R_ID,日期]
RegOAA[R_ID,OAA_ID,Relation]
OAA[OAA\U ID、F\U名称、L\U名称、HPhone、WPhone]
儿童[OHIP,L_姓名,F_姓名,出生,过敏,泰诺]
用户视图2
(细节太多,无法粘贴到此处,因此我上传了prnt scrn)
现在我要说的第三个F是
3NF
ChildDetail [Campus, Child#, ChildName, ChildBday, Allergy]
Manager [Manager#, Manager]
Supervisor [Supervisor#, Supervisor]
Worker [ChildWrkrs#, ChildWrkrs]
Family [Fam#, FamPhone#]
然而,我的合作伙伴说,我们仍然应该使用他从Userview 1中提出的OHIP主键
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
他想出了这个
StaffAssign[校园、经理ID、L_姓名、F_姓名]
房间[RoomNum,RDescrip]
房间员工[校园,房间编号,员工ID,OHIP]
员工[员工ID、L_姓名、F_姓名、职业]
儿童[OHIP、L_姓名、F_姓名、过敏、出生、F_ID、E_呼叫]
现在,根据我的理解,如果我的理解是正确的,我们不能使用userview中不存在的属性,对吗?所以从userview 1中获取OHIP并将其添加到userview 2中应该不起作用,对吗
我们一直在反复讨论这个问题,不幸的是我们无法联系到我们的教授,所以我希望有人能在这里提供帮助
谢谢。所以我发现这是可能的,只要满足某些条件 如果您有来自不同用户视图的属性,只要主键相同,就可以合并这些属性。这将成为一个累积设计 此类条件的示例如下所示:
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”作为添加的标准。这没关系,因为在一个附加的userview中,Parts表有一个定义为“class”的附加属性,主键没有更改,所以我们所做的就是将旧设计与找到的新信息合并,并创建一个新的累积设计
因此,只要满足条件,“传输/使用”或者更确切地说是合并,就可以将属性从以前的userview转换到另一个userview(只要它们相关,并且主键相同)
编辑
另外,为了便于说明,您还可以创建自己的属性,即使这些属性在Userview中不存在
例如,您在填写表单时,有很多标准可供使用,但该表单可以提交到多个位置,并且每个位置都可以使用,只要您在那里注册,您可以创建一个属性,允许您跟踪每个表单,例如“注册id”