How create procedure to retrieve data from three tables with user inserted data

Course Queries Syllabus Queries 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Syllabus Queries related to Course Queries. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago


I have three tables DEPARTMENTSSEMESTER and SUBJECTS

CREATE TABLE DEPARTMENTS
(
    D_ID INT PRIMARY KEY identity(1, 1),
    department_name VARCHAR(50) NOT NULL
);

CREATE TABLE SEMESTER
(
    D_ID INT FOREIGN KEY REFERENCES departments(D_ID),
    sem_id INT PRIMARY KEY identity(1, 1),
    semester INT CHECK
        (semester BETWEEN 1 AND 8) NOT NULL
);

CREATE TABLE SUBJECTS
(
    D_ID INT FOREIGN KEY REFERENCES departments(D_ID),
    sem_id INT FOREIGN KEY REFERENCES semester(sem_id),
    sub_id INT PRIMARY KEY identity(1, 1),
    sub_name VARCHAR(50),
    syllabus VARBINARY(MAX),
    exam_format VARBINARY(MAX)
);

If user insert department_name in DEPARTMENTS table and semester from semester table then how to get sub_name from subject

profilepic.png
manpreet 2 years ago

Firstly, your design is wrong. you don't need to have a reference from Subject to Departments because Department is accessible through Semester and the D_Id in Subject is redundant, IMHO.

Second, what is your criteria for retrieving subject?

Select Sub_Name
from Subjects as sbj
inner join Departments as dpt on sbj.D_Id = dpt.D_Id
inner join Semester as smt on sbj.sem_id = smt.sem_id
where (YOUR CRITERIA)

This is basically the general correlation among your tables, so you could specify the conditions and list of fields to be retrieved.

However it's best to rectify your design first and then access department through Semester :

inner join Departments as dpt on smt.D_Id = dpt.D_Id

thereby you're gonna use the dependency in semester rather than subjects!

p.s.

if the department in subject is different from the on in semester then your layout is good as it is, but if they're same thing then you can get rid of the latter


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.