Професионална програма
Loading...
paceva.eva avatar paceva.eva 5 Точки

Table Relations/ 6

Здравейте,

Моля за малко помощ - искарвам само 33 ор 100т. Къде може да е проблема

create table majors(
major_id int primary key not null,
name varchar(50)
);

create table students(
student_id int primary key not null,
student_number varchar(12), 
student_name varchar(50), major_id int,
constraint fk_students_majors foreign key(major_id)
references majors(major_id)
);

create table subjects(
subject_id int primary key not null,
subject_name varchar(50)
);

create table agenda
(student_id int, subject_id int,
constraint fk_agenda_subjects foreign key(subject_id)
references subjects(subject_id),
constraint fk_agenda_students foreign key(student_id)
references students(student_id));

create table payments(
payment_id int primary key not null,
payment_date date, payment_amount decimal(8,2), 
student_id int unique not null,
constraint fk_payments_students foreign key(student_id)
references students(student_id));


 

Пробвах  да махна not null / null и какви ли не други трикове - все си дава 33т.

Мерси 

Тагове:
0
Module: Java DB 15/10/2016 23:16:26
NStankov avatar NStankov 18 Точки
Best Answer

Здравей,

махнах всички NOT NULL and UNIQUE, на таблицата където се прави връзката many_to_many беше забравила да сложиш primary key-a , това ти е вярното решение:

create table majors(
major_id int primary key,
name varchar(50)
);

create table students(
student_id int primary key,
student_number varchar(12),
student_name varchar(50), major_id int,
constraint fk_students_majors foreign key(major_id)
references majors(major_id)
);

create table subjects(
subject_id int primary key,
subject_name varchar(50)
);

create table agenda
(student_id int, subject_id int,
primary key(student_id, subject_id),
constraint fk_agenda_subjects foreign key(subject_id)
references subjects(subject_id),
constraint fk_agenda_students foreign key(student_id)
references students(student_id));

create table payments(
payment_id int primary key,
payment_date date, payment_amount decimal(8,2),
student_id int ,
constraint fk_payments_students foreign key(student_id)
references students(student_id));

0
paceva.eva avatar paceva.eva 5 Точки

Супер много ти благодаря. Сега виждам, че съм забравила да сложа primary key на agenda таблицата. 

Това което не ми я ясно защо not null така обърка нещата? 

0
NStankov avatar NStankov 18 Точки

в условията никъде не се казва, че трябва да не е NULL. Принципно това с UNIQUE ти е вярно и така трябва да бъде, но в Judge е объркано.

0
paceva.eva avatar paceva.eva 5 Точки

а когато декларирам primary key„ не е ли задужително да се декларира. Смисъл като се каже че е primary key  се подразбира, че няма как да няма стойност, но все пак мисля че е донякъде заължително да се сложи.  За изпита утре ще го имам в предвид.

 

Отново много ти благодаря :)

0