1

I am currently working with a MySQL database table structure. I found a table structure online but i am not sure how to duplicate the exact tables structure. These tables share foreign keys and index with each other. I have attached a link that shows the tables are setup in the model I would like to duplicate. I am requesting help in creating a query that will create all tables with their correlated data. LINK- TABLE STRUCTURE

Foreign keys

semester_id
faculty_id
schedule_id
section_id
class_id
major_minor_id
0

1 Answer 1

1
CREATE TABLE event
(
    ID INT,
    event_description VARCHAR(30),
    event_heading  VARCHAR(30),
    event_photo BLOB,
    event_datetime  VARCHAR(30),
    CONSTRAINT event_pk PRIMARY KEY (ID)
);

CREATE TABLE semester
(
    ID INT,
    Semester_Name VARCHAR(25),
    CONSTRAINT sem_pk PRIMARY KEY (ID),
    CONSTRAINT sem_uq UNIQUE (semester_Name)
);

CREATE TABLE Major_Minor
(
    ID INT,
    Major_Minor_Name VARCHAR(30),
    Major_Minor_Description VARCHAR(50),
    CONSTRAINT mm_pk PRIMARY KEY (ID),
    CONSTRAINT mm_uq UNIQUE (Major_Minor_Name)
);

CREATE TABLE class
(
    ID INT,
    class_caption VARCHAR(30),
    class_name VARCHAR(30),
    class_description VARCHAR(30),
    class_credit_hours INT,
    CONSTRAINT cc_pk PRIMARY KEY (ID),
    CONSTRAINT cc_uq UNIQUE (class_caption)
);

CREATE TABLE Major_Class_br
(
    ID INT, 
    Class_ID INT,
    Major_Minor_ID INT,
    CONSTRAINT mbr_pk PRIMARY KEY (ID), 
    CONSTRAINT cc_fk1 FOREIGN KEY (Class_ID) REFERENCES class(ID),
    CONSTRAINT cc_fk2 FOREIGN KEY (Major_Minor_ID) REFERENCES Major_Minor(ID)
);

CREATE TABLE Faculty
(
    ID INT,
    faculty_fName VARCHAR(30),
    faculty_lname VARCHAR(30),
    faculty_bio VARCHAR(100),
    faculty_pic_path  VARCHAR(30),
    CONSTRAINT f_pk PRIMARY KEY (ID),
    CONSTRAINT cc_uq UNIQUE (faculty_fName, faculty_lname)
);

CREATE TABLE Faculty_Titles
(
    ID INT,
    faculty_ID INT,
    faculty_title VARCHAR(30),
    CONSTRAINT ft_pk PRIMARY KEY (ID),
    CONSTRAINT ft_fk1 FOREIGN KEY (faculty_ID) REFERENCES Faculty(ID)
);

CREATE TABLE Faculty_Education
(
    ID INT,
    faculty_ID INT,
    faculty_ed VARCHAR(30),
    CONSTRAINT fe_pk PRIMARY KEY (ID),
    CONSTRAINT fe_fk1 FOREIGN KEY (faculty_ID) REFERENCES faculty(ID)
);

CREATE TABLE Section
(
    ID INT, 
    Class_ID INT,
    faculty_ID INT,
    section_number INT,
    section_callnumber INT,
    CONSTRAINT ss_pk PRIMARY KEY (ID),  
    CONSTRAINT ss_fk1 FOREIGN KEY (Class_ID) REFERENCES class(ID),
    CONSTRAINT ss_fk2 FOREIGN KEY (faculty_ID) REFERENCES faculty(ID)
);

CREATE TABLE Schedule
(
    ID INT,
    Semester_ID INT,
    schedule_start_time DATETIME,
    schedule_end_time DATETIME,
    schedule_monday TINYINT(1),
    schedule_tuesday TINYINT(1),
    schedule_wednesday TINYINT(1),
    schedule_thursday TINYINT(1),
    schedule_friday TINYINT(1),
    CONSTRAINT sc_pk PRIMARY KEY (ID),
    CONSTRAINT sc_fk1 FOREIGN KEY (Semester_ID) REFERENCES semester(ID)
);

CREATE TABLE Office_Hours
(
    ID INT, 
    faculty_ID INT,
    schedule_ID INT,
    CONSTRAINT oh_pk PRIMARY KEY (ID),  
    CONSTRAINT oh_fk1 FOREIGN KEY (schedule_ID) REFERENCES Schedule(ID),
    CONSTRAINT oh_fk2 FOREIGN KEY (faculty_ID) REFERENCES faculty(ID)
);

CREATE TABLE sched_sect_br
(
    ID INT, 
    schedule_ID INT,
    section_ID INT,
    room_number INT,
    CONSTRAINT ssb_pk PRIMARY KEY (ID), 
    CONSTRAINT ssb_fk1 FOREIGN KEY (schedule_ID) REFERENCES Schedule(ID),
    CONSTRAINT ssb_fk2 FOREIGN KEY (section_ID) REFERENCES Section(ID)
);
Sign up to request clarification or add additional context in comments.

2 Comments

How would you suggest I can populate the tables properly through a query? LINK-QUESTION
my friend did you see my new QUESTION

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.