获取数据库到1NF或2NF-mysql

获取数据库到1NF或2NF-mysql,mysql,database-design,normalization,database-schema,Mysql,Database Design,Normalization,Database Schema,如何以更好的1NF或2NF形式获取此mysql数据库 我尽力删除冗余数据。“Prof_Dept”中似乎仍有冗余数据,架构看起来很奇怪。一个系怎么能由教授的孩子(有教授在里面)来建立?这意味着没有“科学系”。你会储存 professor john's science department professor john's physics department professor tom's physics department etc 我想这些桌子应该是 Professor Departmen

如何以更好的1NF或2NF形式获取此mysql数据库


我尽力删除冗余数据。“Prof_Dept”中似乎仍有冗余数据,架构看起来很奇怪。一个系怎么能由教授的孩子(有教授在里面)来建立?这意味着没有“科学系”。你会储存

professor john's science department
professor john's physics department
professor tom's physics department
etc
我想这些桌子应该是

Professor
Department
   <bridge between the two> (Professor_Dept)
Course
   (this hangs off the bridge table, since the combination
    defines the Course instructor [professor] and department)

从一门课程中,你已经通过FK知道它与哪个教授和系有关。

我不信任任何不公开文件名的文件宿主。即使这样也不可靠。如果你需要帮助,请在问题中发布相关信息。这实际上不是家庭作业,而是我正在做的项目。所以你说的是(4)个表格:教授、系、教授系和课程?@Richard-我本来有这个,但是,当我为课程表输入虚拟数据时,实现了冗余,例如:课程:COM 310,然后是第二条记录COM 420,等等。COM部分被反复重复。不管怎样,要摆脱这个?这是我将DeptName放在一个单独的表中(例如COM part)的部分原因。@Richard-如果在整个数据库中反复列出COM,COM,COM,这将违反2NF:@woopie table structure added我的问题是,在同一个表中反复调用COM是否会产生问题?
Professor: id, name, e.g. "John"
Department: id, name, e.g. "COM"
Professor_Dept: id, professor_id (FK), department_id (FK), modified_date
Course: Professor_Dept_id (FK), number, course_modified