Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I am creating these two tables: CREATE TABLE COURSE_SECTION ( Csecid NUMBER(8) C

ID: 3637293 • Letter: I

Question

I am creating these two tables:
CREATE TABLE COURSE_SECTION
(
Csecid NUMBER(8) CONSTRAINT COURSE_SELECTION_NUMBER_pk PRIMARY Key,
Cid NUMBER(6) NOT NULL CONSTRAINTS COURSE_SELECTION_Cid_fk REFERENCES COURSE,
Termid NUMBER(5) NOT NULL CONSTRAINTS COURSE_SELECTION_Termid_fk REFERENCES TERM,
Secnum NUMBER(2) NOT NULL,
Fid NUMBER(4) CONSTRAINTS COURSE_SELECTION_Fid REFERENCES FACULTY,
Day VARCHAR2(10),
Locid NUMBER(5) CONSTRAINTS COURSE_SELECTION_Locid REFERENCES LOCATION,
Maxenrl NUMBER(4) NOT NULL,
Currenrl NUMBER(4) NOT NULL
);



CREATE TABLE ENROLLMENT
(
Sid Number(5) CONSTRAINTS ENROLLMENT_Sid_fk REFERENCES STUDENT,
Csecid NUMBER(8) CONSTRAINTS ENROLLMENT_csecid_fk REFERENCES COURSE_SECTION,
Grade CHAR(1) CHECK(Grade IN ('A', 'B', 'C', 'D', 'F', 'I', 'W')),
cONSTRAINTS ENROLLMENT_Sid_Csecid PRIMARY KEY (Sid, Csecid)
);

but when I try to run this INSERT INTO STATEMENT I Get an error

INSERT INTO ENROLLMENT
VALUES (100, 1000, 'A' );
INSERT INTO ENROLLMENT
VALUES (100, 1003, 'A' );
INSERT INTO ENROLLMENT
VALUES (101, 1000, 'C' );
INSERT INTO ENROLLMENT
VALUES (102, 1000, 'C' );
INSERT INTO ENROLLMENT
VALUES (102, 1001, NULL );
INSERT INTO ENROLLMENT
VALUES (102, 1003, 'I' );


Explanation / Answer

Make sure that course_section table has csecid values of 1000,1001 and 1003. Since csecid is a foreign key on ENROLLEMENT table which is referencing csecid on COURSE_SECTION table , you cannot insert a row with any csecid into child table(ENROLLMENT) without having the same id in the parent table (COURSE_SECTION). Hope this helps.