0% found this document useful (0 votes)
21 views15 pages

Company Database DBMS LAB

The document outlines the creation and management of a COMPANY database using SQL, including the design of tables for EMPLOYEE, DEPARTMENT, PROJECT, WORKS_ON, DEPENDENT, and DEPT_LOCATION. It details the schema, SQL commands for creating tables, inserting data, and updating records, along with examples of data manipulation. The document serves as a practical guide for implementing a database management system lab exercise.

Uploaded by

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

Company Database DBMS LAB

The document outlines the creation and management of a COMPANY database using SQL, including the design of tables for EMPLOYEE, DEPARTMENT, PROJECT, WORKS_ON, DEPENDENT, and DEPT_LOCATION. It details the schema, SQL commands for creating tables, inserting data, and updating records, along with examples of data manipulation. The document serves as a practical guide for implementing a database management system lab exercise.

Uploaded by

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

CA- C10P: DATABASE MANAGEMENT SYSTEMS LAB

PART – A

1. Draw E-R diagram and convert entities and relationships to relation table for a given
scenario. Two assignments shall be carried out i.e. consider two different scenarios (eg.
bank, college)
Consider the Company database with following Schema
EMPLOYEE (FNAME, MINIT, LNAME, SSN, BDATE, ADDRESS, SEX, SALARY, SUPERSSN, DNO)
DEPARTMENT (DNAME, DNUMBER,MGRSSN,MSRSTARTDATE)
DEPT_LOCATIONS (DNUMBER, DLOCATION)
PROJECT (PNAME, PNUMBER, PLOCATION, DNUM)
WORKS_ON (ESSN, PNO, HOURS)
DEPENDENT (ESSN, DEPENDENT_NAME, SEX, BDATE, RELATIONSHIP)
The ER conceptual schema diagram for COMPANY database
COMPANY ER schema in to a relational database schema
CREATE TABLE DEPARTMENT
(DNUMBER NUMBER(5) CONSTRAINT pk_dept PRIMARY KEY,
DNAME VARCHAR2 (12),
MGRSTARTDATE DATE);
OUTPUT:

SQL> CREATE TABLE DEPARTMENT


2 (DNUMBER NUMBER(5) CONSTRAINT pk_dept PRIMARY KEY,
3 DNAME VARCHAR2 (12),
4 MGRSTARTDATE DATE);

Table created.

CREATE TABLE EMPLOYEE


(SSN NUMBER(8) CONSTRAINT PK_EMP PRIMARY KEY,
FNAME VARCHAR2 (10),
MNAME VARCHAR2 (10),
LNAME VARCHAR2 (10),
BDATE DATE,
ADDRESS VARCHAR2 (10),
SEX CHAR (1),
SALARY NUMBER(8),
SUPERSSN REFERENCES EMPLOYEE (SSN),
DNO REFERENCES DEPARTMENT (DNUMBER));

OUTPUT:
SQL> CREATE TABLE EMPLOYEE
2 (SSN NUMBER(8) CONSTRAINT PK_EMP PRIMARY KEY,
3 FNAME VARCHAR2 (10),
4 MNAME VARCHAR2 (10),
5 LNAME VARCHAR2 (10),
6 BDATE DATE,
7 ADDRESS VARCHAR2 (10),
8 SEX CHAR (1),
9 SALARY NUMBER(8),
10 SUPERSSN REFERENCES EMPLOYEE (SSN),
11 DNO REFERENCES DEPARTMENT (DNUMBER));

Table created.

--NOTE: Once DEPARTMENT and EMPLOYEE tables are created we must


--alter department table to add foreign constraint MGRSSN using sql command
ALTER TABLE DEPARTMENT
ADD MGRSSN REFERENCES EMPLOYEE (SSN);

OUTPUT:

SQL> ALTER TABLE DEPARTMENT


2 ADD MGRSSN REFERENCES EMPLOYEE (SSN);

Table altered.

DESC EMPLOYEE;
DESC DEPARTMENT;

SQL> DESC EMPLOYEE;


Name Null? Type
----------------------------------------- -------- ----------------------------
SSN NOT NULL NUMBER(8)
FNAME VARCHAR2(10)
MNAME VARCHAR2(10)
LNAME VARCHAR2(10)
BDATE DATE
ADDRESS VARCHAR2(10)
SEX CHAR(1)
SALARY NUMBER(8)
SUPERSSN NUMBER(8)
DNO NUMBER(5)

SQL> DESC DEPARTMENT;


Name Null? Type
----------------------------------------- -------- ----------------------------
DNUMBER NOT NULL NUMBER(5)
DNAME VARCHAR2(12)
MGRSTARTDATE DATE
MGRSSN NUMBER(8)

CREATE TABLE DEPT_LOCATION


(DNUMBER REFERENCES DEPARTMENT (DNUMBER),
DLOCATION VARCHAR2(10),
PRIMARY KEY (DNUMBER, DLOCATION));

OUTPUT:
SQL> CREATE TABLE DEPT_LOCATION
2 (DNUMBER REFERENCES DEPARTMENT (DNUMBER),
3 DLOCATION VARCHAR2(10),
4 PRIMARY KEY (DNUMBER, DLOCATION));

Table created.

DESC DEPT_LOCATION;

OUTPUT:

SQL> DESC DEPT_LOCATION;


Name Null? Type
----------------------------------------- -------- ----------------------------
DNUMBER NOT NULL NUMBER(5)
DLOCATION NOT NULL VARCHAR2(10)

CREATE TABLE PROJECT


(PNUMBER NUMBER(6) CONSTRAINT PK_PROJ PRIMARY KEY,
PNAME VARCHAR2(10),
PLOCATION VARCHAR2(10),
DNUM REFERENCES DEPARTMENT (DNUMBER));

OUTPUT:

SQL> CREATE TABLE PROJECT


2 (PNUMBER NUMBER(6) CONSTRAINT PK_PROJ PRIMARY KEY,
3 PNAME VARCHAR2(10),
4 PLOCATION VARCHAR2(10),
5 DNUM REFERENCES DEPARTMENT (DNUMBER));

Table created.

DESC PROJECT;

OUTPUT:

SQL> DESC PROJECT;


Name Null? Type
----------------------------------------- -------- ----------------------------
PNUMBER NOT NULL NUMBER(6)
PNAME VARCHAR2(10)
PLOCATION VARCHAR2(10)
DNUM NUMBER(5)
WORKS_ON (ESSN, PNO, HOURS)

CREATE TABLE WORKS_ON


(ESSN REFERENCES EMPLOYEE (SSN),
PNUMBER REFERENCES PROJECT(PNUMBER),
HOURS NUMBER (5),
PRIMARY KEY (ESSN, PNUMBER));

OUTPUT:
SQL> CREATE TABLE WORKS_ON
2 (ESSN REFERENCES EMPLOYEE (SSN),
3 PNUMBER REFERENCES PROJECT(PNUMBER),
4 HOURS NUMBER (2),
5 PRIMARY KEY (ESSN, PNUMBER));

Table created.

DESC WORKS_ON;

OUTPUT:
SQL> DESC WORKS_ON;
Name Null? Type
----------------------------------------- -------- ----------------------------
ESSN NOT NULL NUMBER(8)
PNUMBER NOT NULL NUMBER(6)
HOURS NUMBER(2)

CREATE TABLE DEPENDENT (


ESSN NUMBER(6),
DEPENDENT_NAME VARCHAR2(12),
SEX CHAR(1),
BDATE DATE,
RELATIONSHIP VARCHAR2(10),
CONSTRAINT PK_ESSN_DEPENDENT_NAME PRIMARY KEY (ESSN, DEPENDENT_NAME),
CONSTRAINT FK_DEPENDENT_EMPLOYEE FOREIGN KEY (ESSN) REFERENCES
EMPLOYEE(SSN)
);

OUTPUT:
SQL> CREATE TABLE DEPENDENT (
2 ESSN NUMBER(6),
3 DEPENDENT_NAME VARCHAR2(12),
4 SEX CHAR(1),
5 BDATE DATE,
6 RELATIONSHIP VARCHAR2(10),
7 CONSTRAINT PK_ESSN_DEPENDENT_NAME PRIMARY KEY (ESSN, DEPENDENT_NAME),
8 CONSTRAINT FK_DEPENDENT_EMPLOYEE FOREIGN KEY (ESSN) REFERENCES
EMPLOYEE(SSN)
9 );

Table created.

DESC DEPENDENT;

OUTPUT:
SQL> DESC DEPENDENT;
Name Null? Type
----------------------------------------- -------- ----------------------------
ESSN NOT NULL NUMBER(6)
DEPENDENT_NAME NOT NULL VARCHAR2(12)
SEX CHAR(1)
BDATE DATE
RELATIONSHIP VARCHAR2(10)

INSERT INTO DEPARTMENT (DNUMBER, DNAME, MGRSTARTDATE) VALUES


('1','ACCOUNTS','01-JAN-1990');

INSERT INTO DEPARTMENT (DNUMBER, DNAME, MGRSTARTDATE) VALUES


('2','DEVELOPMENT','01-JAN-1998');

INSERT INTO DEPARTMENT (DNUMBER, DNAME, MGRSTARTDATE) VALUES


('3','TESTING','01-JAN-2010');

INSERT INTO DEPARTMENT (DNUMBER, DNAME, MGRSTARTDATE) VALUES


('4','RESEARCH','01-JAN-1995');

INSERT INTO DEPARTMENT (DNUMBER, DNAME, MGRSTARTDATE) VALUES


('5','HR','01-JAN-2000');

INSERT INTO DEPARTMENT (DNUMBER, DNAME, MGRSTARTDATE) VALUES


('6','MARKETING','01-JAN-1980');

COMMIT;
OUTPUT:
SQL> SELECT * FROM DEPARTMENT;

DNUMBER DNAME MGRSTARTD MGRSSN


---------- ------------ --------- ----------
1 ACCOUNTS 01-JAN-90
2 DEVELOPMENT 01-JAN-98
3 TESTING 01-JAN-10
4 RESEARCH 01-JAN-95
5 HR 01-JAN-00
6 MARKETING 01-JAN-80

6 rows selected.

INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1001','KIRAN','M','RAO','BANGALORE','M', 65000,1);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1002','ADITYA','M','NAIR','BANGALORE','M', 45000,2);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1003','AJAY','V','KUMAR','BANGALORE','M', 35000,3);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1004','BALA','R','CHANDAN','BANGALORE','M', 60000,4);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1005','CHANDANA','AN','SHREE','BANGALORE','M', 85000,5);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1006','CHIRU','V','RAHUL','BANGALORE','M', 55000,5);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1007','PINAKHI','S','SHARMA','BANGALORE','M', 35000,4);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1008','HEMA','K','SUNDAR','BANGALORE','M', 50000,2);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1009','MANOJ','K','KUMAR','BANGALORE','M', 45000,2);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1010','MITHUN','HP','REDDY','BANGALORE','M', 55000,2);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1011','PUNITH','B','S','BANGALORE','M', 55000,2);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1012','RAJESH','S','KRISHNA','BANGALORE','M', 45000,3);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1013','SAI','MA','KIRAN','BANGALORE','M', 40000,3);
INSERT INTO EMPLOYEE (SSN, FNAME, MNAME, LNAME, ADDRESS, SEX, SALARY,DNO)
VALUES ('1014','SYED','SUFYIAN','PASHA','BANGALORE','M', 45000,3);
SQL> COMMIT;

Commit complete.

SQL> SELECT * FROM EMPLOYEE;

SSN FNAME MNAME LNAME BDATE ADDRESS S SALARY SUPERSSN


DNO
---------- ---------- ---------- ---------- --------- ---------- - ---------- ---------- ----------
1001 KIRAN M RAO BANGALORE M 65000 1
1002 ADITYA M NAIR BANGALORE M 45000 2
1003 AJAY V KUMAR BANGALORE M 35000 1004 4
1004 BALA R CHANDAN BANGALORE M 60000 4
1005 CHANDANA AN SHREE BANGALORE F 90000 5
1006 CHIRU V RAHUL BANGALORE M 55000 5
1007 PINAKHI S SHARMA BANGALORE F 35000 4
1008 HEMA K SUNDAR BANGALORE M 50000 2
1009 MANOJ K KUMAR BANGALORE M 45000 2
1010 MITHUN HP REDDY BANGALORE M 55000 2
1011 PUNITH B S BANGALORE M 55000 2
1012 RAJESH S KRISHNA BANGALORE M 45000 3
1013 SAI MA KIRAN BANGALORE M 40000 3
1014 SYED SUFYIAN PASHA BANGALORE M 45000 3

14 rows selected.

UPDATE EMPLOYEE SET SEX = ‘F’ WHERE SSN=1005;


UPDATE EMPLOYEE SET SEX = ‘F’ WHERE SSN=1007;

UPDATE DEPARTMENT SET MGRSSN = 1005 WHERE DNUMBER=1;


UPDATE DEPARTMENT SET MGRSSN = 1008 WHERE DNUMBER=2;
UPDATE DEPARTMENT SET MGRSSN = 1014 WHERE DNUMBER=3;
UPDATE DEPARTMENT SET MGRSSN = 1004 WHERE DNUMBER=4;

SQL> SELECT * FROM DEPARTMENT;

DNUMBER DNAME MGRSTARTD MGRSSN


---------- ------------ --------- ----------
1 ACCOUNTS 01-JAN-90 1005
2 DEVELOPMENT 01-JAN-98 1008
3 TESTING 01-JAN-10 1014
4 RESEARCH 01-JAN-95 1004
5 HR 01-JAN-00
6 MARKETING 01-JAN-80
6 rows selected.

UPDATE EMPLOYEE SET MGRSSN = 1014 WHERE DNUMBER=3;

UPDATE EMPLOYEE SET SUPERSSN = 1008 WHERE SSN=1009;


UPDATE EMPLOYEE SET SUPERSSN = 1008 WHERE SSN=1010;
UPDATE EMPLOYEE SET SUPERSSN = 1008 WHERE SSN=1011;
UPDATE EMPLOYEE SET SUPERSSN = 1008 WHERE SSN=1002;
UPDATE EMPLOYEE SET SUPERSSN = 1014 WHERE SSN=1012;
UPDATE EMPLOYEE SET SUPERSSN = 1014 WHERE SSN=1013;

SQL> SELECT * FROM EMPLOYEE;

SSN FNAME MNAME LNAME BDATE ADDRESS S SALARY SUPERSSN DNO


---------- ---------- ---------- ---------- --------- ---------- - ---------- ---------- ----------
1001 KIRAN M RAO BANGALORE M 65000 1
1002 ADITYA M NAIR BANGALORE M 45000 1008 2
1003 AJAY V KUMAR BANGALORE M 35000 1004 4
1004 BALA R CHANDAN BANGALORE M 60000 4
1005 CHANDANA AN SHREE BANGALORE F 90000 5
1006 CHIRU V RAHUL BANGALORE M 55000 5
1007 PINAKHI S SHARMA BANGALORE F 35000 4
1008 HEMA K SUNDAR BANGALORE M 50000 2
1009 MANOJ K KUMAR BANGALORE M 45000 1008 2
1010 MITHUN HP REDDY BANGALORE M 55000 1008 2
1011 PUNITH B S BANGALORE M 55000 1008 2
1012 RAJESH S KRISHNA BANGALORE M 45000 1014 3
1013 SAI MA KIRAN BANGALORE M 40000 1014 3
1014 SYED SUFYIAN PASHA BANGALORE M 45000 3

14 rows selected.

--3

INSERT INTO DEPT_LOCATION VALUES (1, 'BANGALORE');


INSERT INTO DEPT_LOCATION VALUES (2, 'BANGALORE');
INSERT INTO DEPT_LOCATION VALUES (3, 'BANGALORE');
INSERT INTO DEPT_LOCATION VALUES (4, 'BANGALORE');
INSERT INTO DEPT_LOCATION VALUES (5, 'BANGALORE');
INSERT INTO DEPT_LOCATION VALUES (6, 'MYSORE');

SQL> COMMIT;
Commit complete.

SQL> SELECT * FROM DEPT_LOCATION;

DNUMBER DLOCATION
---------- ----------
1 BANGALORE
2 BANGALORE
3 BANGALORE
4 BANGALORE
5 BANGALORE
6 MYSORE

6 rows selected.

--4

INSERT INTO PROJECT VALUES (11,'IOT','BANGALORE','2');


INSERT INTO PROJECT VALUES (22,'CLOUD','BANGALORE','2');
INSERT INTO PROJECT VALUES (33,'BIGDATA','BANGALORE','3');
INSERT INTO PROJECT VALUES (44,'AI','BANGALORE','3');
INSERT INTO PROJECT VALUES (55,'SBI','BANGALORE','1');
INSERT INTO PROJECT VALUES (66,'IAF','BANGALORE','4');
INSERT INTO PROJECT VALUES (77,'STATE-GOV','BANGALORE','5');

SQL> COMMIT;

Commit complete.

SQL> SELECT * FROM PROJECT;

PNUMBER PNAME PLOCATION DNUM


---------- ---------- ---------- ----------
11 IOT BANGALORE 2
22 CLOUD BANGALORE 2
33 BIGDATA BANGALORE 3
44 AI BANGALORE 3
55 SBI BANGALORE 1
66 IAF BANGALORE 4
77 STATE-GOV BANGALORE 5

7 rows selected.
--5

(ESSN REFERENCES EMPLOYEE (SSN),


PNUMBER REFERENCES PROJECT(PNUMBER),
HOURS NUMBER (2),
PRIMARY KEY (ESSN, PNUMBER));

INSERT INTO WORKS_ON VALUES (1001, 11, 100);


INSERT INTO WORKS_ON VALUES (1002, 22, 200);
INSERT INTO WORKS_ON VALUES (1008, 22, 200);
INSERT INTO WORKS_ON VALUES (1009, 33, 300);
INSERT INTO WORKS_ON VALUES (1010, 33, 300);
INSERT INTO WORKS_ON VALUES (1011, 44, 200);
INSERT INTO WORKS_ON VALUES (1012, 55, 200);
INSERT INTO WORKS_ON VALUES (1013, 55, 200);

COMMIT;

SQL> SELECT * FROM WORKS_ON;

ESSN PNUMBER HOURS


---------- ---------- ----------
1001 11 100
1002 22 200
1008 22 200
1009 33 300
1010 33 300
1011 44 200
1012 55 200
1013 55 200

8 rows selected.

--6

CREATE TABLE DEPENDENT (


ESSN NUMBER(6),
DEPENDENT_NAME VARCHAR2(12),
SEX CHAR(1),
BDATE DATE,
RELATIONSHIP VARCHAR2(10),
CONSTRAINT PK_ESSN_DEPENDENT_NAME PRIMARY KEY (ESSN, DEPENDENT_NAME),
CONSTRAINT FK_DEPENDENT_EMPLOYEE FOREIGN KEY (ESSN) REFERENCES
EMPLOYEE(SSN)
);
INSERT INTO DEPENDENT VALUES ('1008','LAKSHMI', 'F','01-JAN-2020','WIFE');
INSERT INTO DEPENDENT VALUES ('1014','SYED A', 'F','01-FEB-2020','WIFE');

You might also like