ahe*_*ang 1 database normalization
我想将我的桌子标准化为所有3NF我相信以下所有内容都在3NF,因为没有传递性.如果我错了,请澄清一下
CUSTOMERS(custID,custName,custAddress,custDOB,custEmail)
EMPLOYEES(empID,empName,empPhone,empAddress,BranchName)
假设是每个员工在多个分支机构工作,每个分支机构有一个或多个员工
假设是每个员工在多个分支机构工作,每个分支机构有一个或多个员工
但这不是你建模的.在您的关系中,对分支机构和员工具有功能依赖性.
要理解这一点,让我们考虑一下如何代表在您的关系中的多个分支机构工作的员工.唯一的方法是拥有相同员工信息的多行,只有BranchName字段不同.那个根本不在分支机构工作的员工(比如CEO)怎么样,那么那个员工没有任何行,他就完全消失了!
让我们打破这一点.
BRANCHES(branchID, BranchName)
EMPLOYEES(empID, empName, empPhone, empAddress)
Run Code Online (Sandbox Code Playgroud)
但现在我们需要在两者之间进行多对多的通信.使用连接表的首选方法是使用连接表.
BRANCHES_EMPLOYEES(branchID, empID)
Run Code Online (Sandbox Code Playgroud)