Database Technology - postgresql

General Tech Technology & Software 2 years ago

0 1 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Technology & Software related to General Tech. 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 (1)

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

 

I am quite new to postgresql. Could any expert help me solve this problem please.

Consider the following PostgreSQL tables created for a university system recording which students take which modules:

CREATE TABLE module (id bigserial, name text);
CREATE TABLE student (id bigserial, name text);
CREATE TABLE takes (student_id bigint, module bigint);
  1. Rewrite the SQL to include sensible primary keys.

    CREATE TABLE module
    (
    m_id bigserial,
    name text,
    CONSTRAINT m_key PRIMARY KEY (m_id)
    );
    
    CREATE TABLE student
    (
    s_id bigserial,
    name text
    CONSTRAINT s_key PRIMARY KEY (s_id)
    );
    
    CREATE TABLE takes
    (
    student_id bigint,
    module bigint,
    CONSTRAINT t_key PRIMARY KEY (student_id)
    );

Given this schema I have the following questions:

  1. Write an SQL query to count how many students are taking DATABASE.

    SELECT COUNT(name) 
    FROM student
    WHERE module = 'DATABASE' AND student_id=s_id 
  2. Write an SQL query to show the student IDs and names (but nothing else) of all student taking DATABASE

    SELECT s_id, name
    FROM Student, take 
    WHERE module = 'DATABASE' AND student_id = s_id
  3. Write an SQL query to show the student IDs and names (but nothing else) of all students not taking DATABASE.

    SELECT s_id, name
    FROM Student, take 
    WHERE student_id = s_id AND module != 'DATABASE'

Above are my answers. Please correct me if I am wrong and please comment the reason. Thank you for your expertise.

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.