Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

DATABASE SYSTEMS LAB

(BS-DS-2A)

NAME : SAMEER KHOWAJA


REG- NO : DS-221039
YEAR : SPRING 2022
ASSIGNMENT NO 4
CREATE THE FOLLOWING TABLES AND SHOW THEIR STRUCTURES:

Employee(employeeID, firstName, lastName, hiringDate, deptID, jobID),


Department(deptID, deptName, locationID),
Job(jobID, jobTitle, salary),
Location(locationID, city, country).
Job IDs should have the format “ENG123” for an engineer, “MAN456” for a manager etc.
It is not necessary that all employees may be assigned a department or that a department may have employees.
It is also not necessary that each designation may be filled.
SQL queries:

CREATE TABLE Location (


locationID INT PRIMARY KEY AUTO_INCREMENT,
city VARCHAR(50) DEFAULT 'Karachi',
country VARCHAR(50) DEFAULT 'Pakistan'
);
CREATE TABLE Department (
deptID INT PRIMARY KEY AUTO_INCREMENT,
deptName VARCHAR(50) NOT NULL,
locationID INT,
FOREIGN KEY (locationID) REFERENCES Location(locationID)
);

CREATE TABLE Job (


jobID VARCHAR(10) PRIMARY KEY,
jobTitle VARCHAR(50) NOT NULL,
salary DECIMAL(10, 2)
);
CREATE TABLE Employee (
employeeID INT PRIMARY KEY AUTO_INCREMENT,
firstName VARCHAR(50) NOT NULL,
lastName VARCHAR(50) NOT NULL,
hiringDate DATE,
deptID INT,
jobID VARCHAR(10),
FOREIGN KEY (deptID) REFERENCES Department(deptID),
FOREIGN KEY (jobID) REFERENCES Job(jobID)
);
Output:

2. ENSURE THAT ALL NUMERICAL IDS INCREMENT AUTOMATICALLY. SHOW THE RELEVANT TABLE
STRUCTURES.

NOTE: TASK 2 for auto increment has been done already in task 1.
SQL Queries:

INSERT INTO Employee (firstName, lastName, hiringDate, deptID, jobID)


VALUES ('Hannan', 'Ali', '2022-01-01', 1, 'ENG123'),
('Sameer', 'Rizvi', '2022-02-01', 2, 'MAN456'),
('Yousuf', 'Shehzad', '2022-03-01', 3, 'ADM789'),
('Faizan', 'Khan', '2022-04-01', 4, NULL);

INSERT INTO Department (deptName, locationID)


VALUES ('Engineering', 1),
('Management', 2),
('Administration', NULL),
('Marketing', 1);

INSERT INTO Job (jobID, jobTitle, salary)


VALUES ('ENG123', 'Engineer', 50000),
('MAN456', 'Manager', 80000),
('ADM789', 'Administrator', NULL);
INSERT INTO Location (city, country)
VALUES ('Karachi', 'Pakistan'),
('Lahore', 'Pakistan'),
('Islamabad', 'Pakistan');

3. SET THE LOCATION FIELD TO HOLD THE VALUE “KARACHI, PAKISTAN” UNLESS OTHERWISE
SPECIFIED. SHOW THE RELEVANT TABLE STRUCTURES.

SQL QUERY:

ALTER TABLE Location


ALTER COLUMN city SET DEFAULT 'Karachi';

4. INSERT AT LEAST 4 RELEVANT RECORDS IN EACH TABLE. DISPLAY ALL THE DATA.

ALREADY ENTERED DATA IN FIRST STEP

Table No 1: EMPLOYEES
TABLE NO 2: Department

TABLE NO 3: JOB
TABLE NO 4:

5. ENSURE THAT EMPLOYEE NAMES, DEPARTMENT NAMES AND JOB TITLES ARE NEVER EMPTY.
SHOW THE RELEVANT TABLE STRUCTURES.

ALTER TABLE Employee


MODIFY firstName VARCHAR(50) NOT NULL,
MODIFY lastName VARCHAR(50) NOT NULL;
ALTER TABLE Department
MODIFY deptName VARCHAR(50) NOT NULL;
ALTER TABLE Job
MODIFY jobTitle VARCHAR(50) NOT NULL;

6. DELETE ANY LOCATION AND ENSURE THAT ALL DEPARTMENTS AT THAT LOCATION HAVE THEIR
LOCATIONS SET TO NULL. SHOW ALL RELEVANT QUERIES, TABLE STRUCTURES, AND DATA.

DELETE FROM Location


WHERE locationID = 2;
UPDATE Department
SET locationID = NULL
WHERE locationID = 2;

You might also like