0% found this document useful (0 votes)
4 views13 pages

dbms_assignment2_231CS249

The document outlines the creation of several database tables including DOCTORS, ROOM, PATIENT, TEST_DIAGNOSIS, Department, Course, Branch, Student, Branch_Course, Enrolls, Trains, Passengers, and Reservations. It includes SQL commands for inserting data, demonstrating various constraints such as primary key, foreign key, and check constraints, as well as examples of SQL queries to retrieve data. Additionally, it highlights potential violations of constraints through specific insert attempts.

Uploaded by

rudransh1896
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views13 pages

dbms_assignment2_231CS249

The document outlines the creation of several database tables including DOCTORS, ROOM, PATIENT, TEST_DIAGNOSIS, Department, Course, Branch, Student, Branch_Course, Enrolls, Trains, Passengers, and Reservations. It includes SQL commands for inserting data, demonstrating various constraints such as primary key, foreign key, and check constraints, as well as examples of SQL queries to retrieve data. Additionally, it highlights potential violations of constraints through specific insert attempts.

Uploaded by

rudransh1896
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

1.

CREATE TABLE DOCTORS(d_id INT PRIMARY KEY, name varchar(30) NOT NULL, salary INT NOT NULL
CHECK (salary > 0), specification varchar(30) NOT NULL);

CREATE TABLE ROOM(r_id INT PRIMARY KEY, room_type varchar(30) NOT NULL);

CREATE TABLE PATIENT(p_id INT PRIMARY KEY, r_id INT NOT NULL, d_id INT NOT NULL, p_name
varchar(30) NOT NULL, city varchar(30) NOT NULL, contact BIGINT NOT NULL UNIQUE, FOREIGN KEY
(r_id) REFERENCES ROOM(r_id), FOREIGN KEY (d_id) REFERENCES DOCTORS(d_id));

CREATE TABLE TEST_DIAGNOSIS(p_id INT NOT NULL, diagno INT NOT NULL, diag_details TEXT NOT
NULL, FOREIGN KEY (p_id) REFERENCES PATIENT(p_id));

INSERT INTO DOCTORS VALUES (201, 'Dr. Ramesh', 80000, 'Cardiologist'), (202, 'Dr. Sinha', 75000,
'Neurologist'), (203, 'Dr. Mehta', 85000, 'Orthopedic'), (204, 'Dr. Gupta', 78000, 'Dermatologist'),
(205, 'Dr. Joshi', 82000, 'General Physician');

INSERT INTO ROOM VALUES

-> (101, 'Private'),

-> (102, 'Semi-Private'),

-> (103, 'General'),

-> (104, 'ICU'),

-> (105, 'Deluxe');


INSERT INTO PATIENT VALUES (1, 101, 201, 'Rahul Sharma', 'Delhi', '9876543210'), (2, 102, 202, 'Anita
Verma', 'Mumbai', '9876543211'), (3, 103, 203, 'Suresh Kumar', 'Bangalore', '9876543212'), (4, 104,
204, 'Neha Gupta', 'Chennai', '9876543213'), (5, 105, 205, 'Amit Roy', 'Kolkata', '9876543214');

INSERT INTO TEST_DIAGNOSIS VALUES (1, 301, 'Blood test'), (2, 302, 'MRI Scan'), (3, 303, 'X-Ray'), (4,
304, 'Skin Biopsy'), (5, 305, 'ECG');

a.

b.

Demonstrating Primary Key Constraint (Each value in primary key column must be unique and not
NULL)

Attempting to insert duplicate primary key (Violation)

INSERT INTO PATIENT VALUES(1, 105, 205, 'Atharv', 'Hyderabad', 12334567890);

Demonstrating Foreign Key Constraint (A referenced key must exist in the primary table)

Attempting to insert a non-existent patient ID in TEST_DIAGNOSIS (Violation)

INSERT INTO TEST_DIAGNOSIS VALUES(10, 310, 'ECG');

INSERT INTO DOCTORS VALUES(208, 'Dr. Ahuja', NULL, 'Oncologist');


COLUMN LEVEL CONSTRAINTS: PRIMARY KEY, NOT NULL, UNIQUE, CHECK etc.

Ex. INSERT INTO PATIENT VALUES(1, 105, 205, 'Atharv', 'Hyderabad', 12334567890);

TABLE LEVEL CONSTRAINTS: COMPOSITE PRIMARY KEYS , FOREIGN KEY etc.

INSERT INTO TEST_DIAGNOSIS VALUES(10, 310, 'ECG');

c.

DOMAIN CONSTRAINT:

INSERT INTO DOCTORS VALUES (206, 'Dr. Rakesh', 'Hello', 'Cardiologist');

ENTITY INTEGRITY CONSTRAINT:

INSERT INTO PATIENT VALUES (NULL, 106, 206, 'Rohit Mishra', 'Pune', 9876543200);

KEY CONSTRAINT VIOLATION:

INSERT INTO ROOM VALUES(101, 'General');

REFERENCIAL INTEGRITY VIOLATION:

INSERT INTO TEST_DIAGNOSIS VALUES(10, 310, 'Ultrasound');

2.
CREATE TABLE Department(Dno INT PRIMARY KEY, Dname varchar(20));
CREATE TABLE Course(Ccode varchar(20) PRIMARY KEY, Cname varchar(20), Credits INT, Dno INT,
FOREIGN KEY (Dno) REFERENCES Department(Dno));

CREATE TABLE Branch(Bcode varchar(20) PRIMARY KEY, Bname varchar(20), Dno INT, FOREIGN KEY
(Dno) REFERENCES Department(Dno));

CREATE TABLE Student(Rollno INT PRIMARY KEY, Name varchar(20), Dob DATE, Gender varchar(20),
Doa DATE, Bcode varchar(20), FOREIGN KEY (Bcode) REFERENCES Branch(Bcode));

CREATE TABLE Branch_Course(Bcode varchar(20), FOREIGN KEY (Bcode) REFERENCES Branch(Bcode),


Ccode varchar(20), FOREIGN KEY (Ccode) REFERENCES Course(Ccode), Semester INT, PRIMARY KEY
(Bcode, Ccode, Semester));

CREATE TABLE Enrolls(Rollno INT, FOREIGN KEY (Rollno) REFERENCES Student(Rollno), Ccode
varchar(20), FOREIGN KEY (Ccode) REFERENCES Course(Ccode), Grade varchar(2), PRIMARY
KEY(Rollno , Ccode));

INSERT INTO Department VALUES (1, 'Mathematics'), (2, 'Computer Science');

INSERT INTO Branch VALUES ('CDS', 'Data Science', 1),('AI', 'Artificial Intell.', 1)

-> ;

INSERT INTO Branch VALUES ('CSE', 'Computer Science', 2);

INSERT INTO Course VALUES ('CS101', 'DBMS', 4, 2),

-> ('CS102', 'DDS', 3, 2),

-> ('MA101', 'Linear Algebra', 4, 1),

-> ('MA102', 'Calculus', 3, 1);

INSERT INTO Branch_Course VALUES ('CDS', 'MA101', 2),

-> ('AI', 'MA102', 1),

-> ('AI', 'CS101', 4),

-> ('CSE', 'CS101', 4),

-> ('CSE', 'CS102', 3),


-> ('AI', 'CS102', 2);

INSERT INTO Student VALUES (215, 'Atharv', '2006-01-25', 'male', '2023-07-06', 'CSE'),

-> (253, 'John', '2003-12-17', 'male', '2023-07-14', 'CDS'),

-> (252, 'John', '2003-12-17', 'male', '2022-03-14', 'CDS'),

-> (212, 'Von', '2005-05-12', 'female', '2024-01-01', 'AI'),

-> (245, 'Jenn', '2004-09-19', 'female', '2023-04-21', 'CSE'),

-> (234, 'Alice', '2005-03-01', 'female', '2022-01-23', 'AI');

INSERT INTO Enrolls VALUES (215, 'MA101', 'AA'),

-> (253, 'MA102', 'AB'),

-> (252, 'CS101', 'BB'),

-> (212, 'CS101', 'BA'),

-> (245, 'CS102', 'CC'),

-> (234, 'MA101', 'AB'),

-> (215, 'CS102', 'AA'),

-> (253, 'CS101', 'CC'),

-> (252, 'MA102', 'AB'),

-> (212, 'CS102', 'BB'),

-> (245, 'MA102', 'AA'),

-> (234, 'CS102', 'AB');


a.

SELECT Student.Rollno, Student.Name, Student.Dob, Student.Gender, Student.Doa, Student.Bcode,


Department.Dno

-> FROM Student

-> JOIN Branch ON Student.Bcode = Branch.Bcode

-> JOIN Department ON Branch.Dno = Department.Dno;


b.

SELECT * FROM Branch WHERE Dno = 1;

c.

SELECT Cname FROM Course

-> JOIN Branch_Course ON Course.Ccode = Branch_Course.Ccode

-> WHERE Course.Dno = 1 AND Branch_Course.Semester = 2;

d.

SELECT Student.Rollno, Student.Name, Enrolls.Grade

-> FROM Student

-> JOIN Enrolls ON Student.Rollno = Enrolls.Rollno;


e.

SELECT Student.Rollno, Student.Name, Student.Dob, Student.Gender, Student.Doa, Student.Bcode

-> FROM Student

-> JOIN Enrolls ON Student.Rollno = Enrolls.Rollno;


3.
a.

CREATE TABLE Trains(train_id INT PRIMARY KEY, train_name varchar(30), source varchar(30),
destination varchar(30), departure_time DATETIME, arrival_time DATETIME);

CREATE TABLE Passengers(PNR_Number INT PRIMARY KEY, name varchar(30), age INT, gender
varchar(30));

CREATE TABLE Reservations(reservation_id INT PRIMARY KEY, train_id INT, FOREIGN KEY (train_id)
REFERENCES Trains(train_id), PNR_Number INT, FOREIGN KEY (PNR_Number) REFERENCES
Passengers(PNR_Number), reservation_date DATE, seat_number INT);

ALTER TABLE Trains

-> MODIFY train_name varchar(30) NOT NULL,

-> MODIFY source varchar(30) NOT NULL,

-> MODIFY destination varchar(30) NOT NULL,

-> MODIFY departure_time DATETIME NOT NULL,

-> MODIFY arrival_time DATETIME NOT NULL;

ALTER TABLE Passengers

-> MODIFY name varchar(30) NOT NULL,

-> MODIFY age INT NOT NULL,

-> MODIFY gender varchar(30) NOT NULL;


ALTER TABLE Reservations

-> MODIFY train_id INT NOT NULL,

-> MODIFY PNR_Number INT NOT NULL,

-> MODIFY reservation_date DATE NOT NULL,

-> MODIFY seat_number INT NOT NULL UNIQUE;

ALTER TABLE Passengers ADD CONSTRAINT check_age CHECK (age > 0);

INSERT INTO Trains VALUES

-> (1, 'Express1', 'Mangalore', 'Bangalore', '2025-02-01 06:30:00', '2025-02-01 12:00:00'),

-> (2, 'Express2', 'Mangalore', 'Bangalore', '2025-02-01 09:00:00', '2025-02-01 14:30:00'),

-> (3, 'Express3', 'Delhi', 'Mumbai', '2025-02-01 10:00:00', '2025-02-01 18:00:00'),

-> (4, 'Express4', 'Chennai', 'Hyderabad', '2025-02-01 08:00:00', '2025-02-01 14:00:00'),

-> (5, 'Express5', 'Mangalore', 'Bangalore', '2025-02-01 11:00:00', '2025-02-01 16:30:00'),

-> (6, 'Express6', 'Kolkata', 'Delhi', '2025-02-01 07:30:00', '2025-02-01 22:00:00');

INSERT INTO Passengers VALUES

-> (579854, 'Rajesh Kumar', 65, 'male'),

-> (965741, 'Anita Sharma', 45, 'female'),


-> (965742, 'Suresh Reddy', 70, 'male'),

-> (579858, 'Priya Patel', 30, 'female'),

-> (579857, 'Vikram Singh', 66, 'male'),

-> (579856, 'Sunita Verma', 40, 'female');

INSERT INTO Reservations VALUES

-> (5001, 1, 579854, '2025-02-01', 202),

-> (5002, 2, 965741, '2025-02-01', 210),

-> (5003, 3, 965742, '2025-02-01', 213),

-> (5004, 4, 579858, '2025-02-01', 223),

-> (5005, 5, 579857, '2025-02-01', 267),

-> (5006, 6, 579856, '2025-02-01', 220);

b.

SELECT Passengers.PNR_Number, Passengers.name, Passengers.age, Passengers.gender

-> FROM Passengers

-> JOIN Reservations ON Passengers.PNR_Number = Reservations.PNR_Number

-> JOIN Trains ON Reservations.train_id = Trains.train_id

-> WHERE Passengers.age >= 60 AND Passengers.gender = 'male'

-> AND Trains.source = 'Mangalore' AND Trains.destination = 'Bangalore';


c.

SELECT * FROM Trains

-> WHERE source = 'Mangalore' AND destination = 'Bangalore'

-> AND departure_time BETWEEN '2025-02-01 06:00:00' AND '2025-02-01 10:00:00';

d.

SELECT Passengers.name, Reservations.seat_number FROM Passengers

-> JOIN Reservations ON Passengers.PNR_Number = Reservations.PNR_Number

-> WHERE Passengers.PNR_Number IN (579854, 965741);

e.

ALTER TABLE Passengers MODIFY gender ENUM('male', 'female', 'other') NOT NULL;

DOMAIN CONSTRAINT:

INSERT INTO Passengers VALUES(579800, 'John Doe', 35, 'Unknown');


ENTITY INTEGRITY CONSTRAINT;

INSERT INTO Passengers VALUES (NULL, 'Joe Root', 28, 'male');

KEY CONSTRAINTS:

INSERT INTO Trains VALUES (1, 'Superfast1', 'Mumbai', 'Chennai', '2025-02-01 05:00:00', '2025-02-01
15:00:00');

REFERENTIAL INTEGRITY:

INSERT INTO Reservations VALUES (5007, 10, 1001, '2025-02-01', 230);

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy