首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要一些帮助来设计桌子

我需要一些帮助来设计桌子
EN

Stack Overflow用户
提问于 2011-05-12 22:28:55
回答 2查看 75关注 0票数 1

我想为大学管理系统设计一个表,为此我创建了一个表(CollegeDetails),它存储了学院代码(唯一的关键字),学院名称,提供的课程( EEE,ECE,CSE…)…

CollegeDetails

代码语言:javascript
复制
CollegeCode   CollegeName   CourseOffered
--------------------------------------------
1000          xyz           EEE,ECE,CSE
1001          ABC           MECH,AERO,EEE

在这里我面临一个问题。每个学院都包含许多课程,例如.xyz学院提供5门课程,abc学院提供8门课程…。但是我不能在单个表中存储,所以我创建了两个表CollegeDetails和CourseOffered…。

CollegeDetails

代码语言:javascript
复制
CollegeCode   CollegeName
--------------------------
1000          xyz

CourseOffered

代码语言:javascript
复制
CollegeCode   CourseOffer
-------------------------
1000          EEE 
1000          ECE
1001          EEE

但是CourseOffered表正在被复制(两个列)。请帮助解决这个…。我使用的是oracle 10g…。

EN

回答 2

Stack Overflow用户

发布于 2011-05-12 22:37:01

将副本排除在courseoffered表之外的一个快速技巧是在collegecode和courseoffer上创建一个唯一的复合索引:

代码语言:javascript
复制
CREATE UNIQUE INDEX <index_name> ON courseoffered(collegecode, courseoffer);

这对您多次插入相同键的过程/逻辑问题没有任何作用,但是当您尝试插入重复项时,将索引放在它上面肯定会指出问题所在。

票数 1
EN

Stack Overflow用户

发布于 2011-05-12 22:53:44

您可以通过创建课程表,然后链接到CourseOffered表中的课程PK来进一步规范化它。这样,您就可以存储课程名称,例如“‘EEE”,在一个地方。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5979547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档