我想为大学管理系统设计一个表格,为此我创建了一个表格(CollegeDetails),它存储了大学代码(唯一键),学院名称,课程提供(EEE,ECE,CSE) ...)...
CollegeCode CollegeName CourseOffered
--------------------------------------------
1000 xyz EEE,ECE,CSE
1001 ABC MECH,AERO,EEE
我在这里面临一个问题。每个学院都包含许多课程,例如.xyz学院提供5门课程,abc学院提供8门课程...但我无法存储在一张桌子中,因此我创建了两个表CollegeDetails和CourseOffered .......
CollegeCode CollegeName
--------------------------
1000 xyz
CollegeCode CourseOffer
-------------------------
1000 EEE
1000 ECE
1001 EEE
但CourseOffered表正在重复(两列)。请帮助解决这个问题....我正在使用oracle 10g ....
答案 0 :(得分:1)
快速破解将重复数据保留在课程表中是为了在大学代码和课程上创建一个独特的综合索引:
CREATE UNIQUE INDEX <index_name> ON courseoffered(collegecode, courseoffer);
对于你多次插入同一个键的进程/逻辑问题没有任何作用,但是当你尝试插入一个副本时,将索引放在它上肯定会指出它,因此问题出在哪里
答案 1 :(得分:1)
您可以通过创建Courses表,然后链接到CourseOffered表中的Courses PK来进一步规范化它。这样,您就可以存储课程名称,例如'EEE',在一个地方。