Мне нужна помощь в оформлении стола - PullRequest
1 голос
/ 12 мая 2011

Я хотел бы разработать таблицу для системы mgmt для колледжа, для которой я создал таблицу (CollegeDetails) таким образом, чтобы в ней хранился код колледжа (уникальный ключ), название колледжа, предлагаемый курс (EEE, ECE, CSE…)…

CollegeDetails

CollegeCode   CollegeName   CourseOffered
--------------------------------------------
1000          xyz           EEE,ECE,CSE
1001          ABC           MECH,AERO,EEE

Здесь я столкнулся с проблемой.В каждом колледже есть много курсов, например, .xyz College предлагает 5 курсов, а ABC College предлагает 8 курсов ... Но я не могу хранить в одной таблице, поэтому я создал две таблицы CollegeDetails и CourseOffered….

CollegeDetails

CollegeCode   CollegeName
--------------------------
1000          xyz

CourseOffered

CollegeCode   CourseOffer
-------------------------
1000          EEE 
1000          ECE
1001          EEE

Но таблица CourseOffered дублируется (оба столбца).Пожалуйста, помогите решить это ...Я использую оракул 10 г ...

Ответы [ 2 ]

1 голос
/ 12 мая 2011

Вы можете еще больше нормализовать его, создав таблицу Courses, затем связав ее с PK Courses в вашей таблице CourseOffered. Таким образом, вы сохраняете название курса, например, 'EEE', в одном месте.

1 голос
/ 12 мая 2011

Быстрый способ избежать дублирования в таблице предложенного курса состоит в том, чтобы создать уникальный составной индекс для кода колледжа и предложения курса:

CREATE UNIQUE INDEX <index_name> ON courseoffered(collegecode, courseoffer);

Это ничего не решает при любых проблемах процесса / логики, которые возникают при вставкеодин и тот же ключ несколько раз, но указание на него индекса, безусловно, укажет на вас, когда вы попытаетесь вставить дубликат, и, следовательно, в чем проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...