Database Systems – Lab 09
Database Systems Lab (CS-250 )
Namal University Mianwali
Faculty of Computer Science
Lab Instructor Ms. Asiya Batool Dated 08-05-2024
Name Roll No
Max Marks 25 Obtained Marks
Lab 09 – Lab Manual
Note:
• Underline represent primary key, * represents a foreign key.
Write SQL queries for the following task.
Task 1 Create the database named ‘students_data’.
Solution CREATE DATABASE Students_data;
Create the following tables in the students_data database:
STUDENT (ROLLNO, NAME, DEPARTMENTCODE, DOB, EMAIL, ADDRESS)
COURSE (CCODE (not null, auto increment), CNAME, DEPARTMENTCODE)
Task 2
ENROLL (ROLLNO* (not null), COURSECODE* (not null), SEMESTER, GRADE (size=2)
TEXTBOOK (COURSECODE, SEMESTER, BOOK_ISBN*)
BOOKDETAILS (BOOK_ISBN (not null), TITLE, PUBLISHER, AUTHOR)
mysql> CREATE TABLE STUDENT (
RollNo INT PRIMARY KEY,
Name VARCHAR(255),
DepartmentCode VARCHAR(255),
DOB DATE,
Email VARCHAR(255),
Solution Address VARCHAR(255)
);
mysql> CREATE TABLE COURSE (
CCODE INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
CNAME VARCHAR(255),
Database Systems – Lab 09
DEPARTMENTCODE VARCHAR(255)
);
mysql> CREATE TABLE BOOKDETAILS (
BOOK_ISBN VARCHAR(255) NOT NULL PRIMARY KEY,
TITLE VARCHAR(255),
PUBLISHER VARCHAR(255),
AUTHOR VARCHAR(255)
);
mysql> CREATE TABLE TEXTBOOK (
COURSECODE VARCHAR(255),
SEMESTER INT,
BOOK_ISBN VARCHAR(255),
FOREIGN KEY (BOOK_ISBN) REFERENCES BOOKDETAILS(BOOK_ISBN)
);
mysql> CREATE TABLE Enrollment (
RollNo INT ,
CourseCode INT ,
Semester VARCHAR(20),
Grade VARCHAR(2),
PRIMARY KEY (RollNo, CourseCode),
FOREIGN KEY (RollNo) REFERENCES STUDENT(ROLLNO),
FOREIGN KEY (CourseCode) REFERENCES COURSE(CCODE)
);
Task 3 Add a column named “PRICE” in bookdetails.
Solution mysql> ALTER TABLE BOOKDETAILS ADD PRICE VARCHAR(255);
Task 4 Drop the column ADDRESS in student table.
Solution mysql> ALTER TABLE STUDENT DROP ADDRESS;
Add columns named as STREET, CITY, and COUNTRY in student table. Use TINYTEXT datatype
Task 5
for all columns.
mysql> ALTER TABLE STUDENT
ADD (STREET TINYTEXT,
Solution
CITY TINYTEXT,
COUNTRY TINYTEXT);
Database Systems – Lab 09
Task 6 Change the data type of STREET, CITY and COUNTRY to VARCHAR.
mysql> ALTER TABLE STUDENT
MODIFY COLUMN STREET VARCHAR(255),
Solution
MODIFY COLUMN CITY VARCHAR(255),
MODIFY COLUMN COUNTRY VARCHAR(255);
Task 7 Add a not null constraint to ROLLNO of student table.
mysql> ALTER TABLE STUDENT
Solution
MODIFY COLUMN ROLLNO INT NOT NULL;
Task 8 Make ROLLNO as primary key of student table.
mysql> ALTER TABLE STUDENT
Solution
MODIFY COLUMN ROLLNO INT NOT NULL PRIMARY KEY;
Task 9 Make COURSECODE and SEMESTER as primary key of textbook table.
mysql> ALTER TABLE TEXTBOOK
Solution
ADD PRIMARY KEY(COURSECODE,SEMESTER);
Task 10 Add foreign key constraint to COURSECODE of textbook table.
mysql> ALTER TABLE TEXTBOOK
ADD CONSTRAINT
Solution
FOREIGN KEY (COURSECODE)
REFERENCES COURSE(CCODE);
Add a check constraint in GRADE column in enroll table to restrict that it can hold only (A+, A, B+,
Task 11
B, C, D, F).
mysql> ALTER TABLE ENROLLMENT ADD CONSTRAINT CHECK (GRADE IN ('A+', 'A', 'B+',
Solution
'B', 'C', 'D', 'F'));
Task 12 Rename the column DOB in student table as BIRTHDATE.
mysql> ALTER TABLE STUDENT
Solution
RENAME COLUMN DOB TO BIRTHDATE;
Task 13 Add a unique constraint on EMAIL column of student table
mysql> ALTER TABLE STUDENT
Solution
ADD CONSTRAINT UNIQUE (EMAIL);
Database Systems – Lab 09
Task 14 Set the starting value of CCODE in the course table to 101.
mysql> ALTER TABLE COURSE
Solution
AUTO_INCREMENT = 101;
Task 15 Set the default value of COUNTRY in student table as ‘Pakistan’
mysql < ALTER TABLE STUDENT
Solution
ALTER COLUMN COUNTRY SET DEFAULT 'Pakistan';
Task 16 Show structures of all tables in ‘students_data’ database (add query and screenshots).
DESCRIBE STUDENT;
Solution
DESCRIBE COURSE;
DESCRIBE ENROLLMENT;
Database Systems – Lab 09
DESCRIBE TEXTBOOK;
DESCRIBE BOOKDETAILS;
Task 17 Show list of constraints on all tables in ‘students_data’ database (add query and screenshots).
DESCRIBE STUDENT;
Solution
Database Systems – Lab 09
DESCRIBE COURSE;
DESCRIBE ENROLLMENT;
DESCRIBE TEXTBOOK;
Database Systems – Lab 09
DESCRIBE BOOKDETAILS;
Submission Guidelines:
• Submission Deadline : 12th May, 2024 11:59 pm.
• Save your file as “yourname_rollno_lab9” and submit the PDF file over QOBE.
• Late Submission will result in marks deduction.
• Plagiarism will lead to 0 marks.
THE END