Você está na página 1de 53

A Record work done in

DATABASE MANAGEMENT SYSTEMS LAB


M.Tech (Computer Science and Technology) II Semester

by B V A N S S PRABHAKAR RAO Regd. No. 2071317020005

Dept. of Computer Science & Systems Engineering COLLEGE OF ENGINEERING (A) ANDHRA UNIVERSITY VISAKHAPATNAM

2071317020005

DEPARTMENT OF COMPUTER SCIENCE AND SYSTEMS ENGINEERING

COLLEGE OF ENGINEERING

ANDHRA UNIVERSITY
VISAKHAPATNAM

CERTIFICATE
Regd. No.

This is to certify that it is a bonafide record work done by Mr. B V A N S S PRABHAKARA RAO of M.Tech. in Computer Science and Technology (II Semester) during the year 2007-2008 in Database Management Systems Lab

LECTURER-IN-CHARGE DEPARTMENT

HEAD OF THE

EXTERNAL EXAMINER

Table of Contents 1. Abstract 2. Problem Analysis 3. About Oracle 4. ER Modeling 5. Data Dictionary 6. Functional Dependencies 7. Normalization 8. DDL Commands 9. DML Commands 10. Sample Queries

ABSTRACT
Computers are used in every part of the human society. They are used to maintain large databases and perform computations in many firms and institutions. Our project presents one example of the basic application required to aid in the easy maintenance of a hostel database which involves efficient management of large amounts of data. The Hostel Management System is mainly designed to meet the needs of the users in an efficient way by giving full details of the hostel accommodations and food facilities. This provides all the necessary information about hostel i.e. categories of blocks, rooms, capacity of rooms and cost details to the end users. It has separate blocks provided for both men and women. It provides the booking facility to the users and the hiring details of rooms and payment details of each and every customer is updated in the database. It also provides food details such as cost per day for food every day.

PROBLEM ANALYSIS
Generally in colleges the information about students in Hostels is maintained in the form of files and records and the data is updated in the records manually. This makes the retrieval of data from records inefficient as it involves huge complexity in maintaining them. The payment transactions involve some complexity and the data updating also involves more time. Hence there is a need of developing a computerized software that provides all the facilities according to the user requirements that gets updated whenever new categories of information is included and which makes user easier to know his payment transactions and other details as and when required. The system should be developed in such a way that it satisfies the following constraints: To improve security and performance. Improve overall system stability.
5

Add missing functionality into the system. Clarify estimations for resolving existing implementing new features.

problems

and

ABOUT ORACLE
Introduction to Oracle It is a client server RDBMS developed by Oracle Corporation Inc. USA. It is used for sorting and managing data using relational model. Oracle server manages data in the database. User accesses server using SQL commands. These commands are received by oracle server and processed in three phases namely: a) Parse b) Execute c) Fetch The users receive the data in the logical view not being aware of the physical storage mechanism. Oracles role in client/server computing is
6

a) Database is stored on the server in the network. b) The back end on the server manages the database. c) User accesses the data through some applications, called as front end. d) The client and server may belong to distant platforms. Features of Oracle: a) Largest database support: Oracle supports largest database, potentially hundreds of GB. b) Data concurrence: Oracle supports concurrent access to database by multiple users. It automatically locks and unlocks rows to maintain integrity of data. c) Partitioning: It has improved performance by portioning. A table can be divided into a number of pieces called as partitions, based on the value of one or more columns. d) Data types portability: Oracle software can be ported to different OS(s) and works same on all. e) Enforce integrity: Oracle allows users to define business rules and enforce them. These need not be re-included at application level. f) Data security: Oracle provides security in different levels such as system level and object level. g) Support for client server environment: Oracle allows the process to be split between the client and the server. Oracle server does all database management and interaction is done by the client. h) Improved parallelism:
7

It has tremendous improvement in the area of parallelism. i) New index types: New types of indexes like bitmap indexes make the data search much faster by reducing the number of index entries in the index. This also forms a part of data warehousing.

SQL COMMANDS
These commands are used to handle the data stored in the backend. They are broadly classified into four categories: a) DDL (Data Definition Language):

Help us to create and modify the definition of the data structures. CREATE ALTER DROP TRUNCATE b) DML (Data Manipulation Language): Help us to manipulate the data stored in the backend. INSERT UPDATE DELETE c) DCL (Data Control Language): These commands control the transaction, in terms of confirming and canceling. GRANT REVOKE d) TCL (Transaction Control Language): These commands control the transaction, in terms of confirming and canceling. COMMIT ROLLBACK SAVEPOINT

ER Modeling : In ER Diagrams the emphasis is on representing the schemas rather than the instances. This is more useful in database design because
9

a database schema changes rarely, whereas the contents of the entity sets change frequently. In addition, the schema is usually easier to display than the extension of a database, because it is much smaller. Notations for ER diagrams: Symbol Meaning Entity Weak Entity Relationship

Identifying Relationship

____ _______

Attribute

Key Attribute _____ Multivalued Attribute

_____ Symbol
10

Composite Attribute Meaning

E1 E1

RR

E E2 E2 2

Derived Attribute _____ Total Participation of E2 in R

____1____ in R

_ N________

Cardinality Ratio 1:N for E1:E2

(min,max ) on

Structural constraint (min,max) participation of E in R

EER Modeling : The EER (Enhanced Entity-Relationship) model includes all the modeling concepts of the ER model. In addition, it includes the concepts of subclass and superclass and the related concepts of specialization and generalization. Another concept includes in the EER model is that of a category or union type, which is used to represent a collection of objects that is the union of objects of different entity types. Associated with these concepts is the important mechanism of attribute and relationship inheritance.

11

12

DATA DICTIONARY
1. STUDENT TABLE: ATTRIBUTES SID SNAME DEPOSIT DUE YEAROFSTUDY PASSWORD 2. BLOCK TABLE: ATTRIBUTES BID BNAME NUMBEROFROOMS 3. ROOM TABLE: ATTRIBUTES RID BID CAP CPM 4. MESS TABLE: ATTRIBUTES MID BID TIMING MENU COST

DESCRIPTION
Specifies Student identity number Specifies Student Name Specifies deposited amount Specifies student due amount Specifies the year of study of the student Specifies the password of the student

DESCRIPTION
Specifies block id Specifies block name Specifies total number of rooms

DESCRIPTION
Specifies room id Specifies block id Specifies capacity of the room Specifies cost per month

DESCRIPTION
Specifies mess id Specifies block id Specifies timings Specifies menu Specifies cost in Rs.

5. ALLOTTED TABLE: ATTRIBUTES SID RID BID DOJ DOL

DESCRIPTION
Specifies student id Specifies room id Specifies block id Specifies date of joining Specifies date of leaving

6. ACCOUNTS TABLE: ATTRIBUTES SID AMOUNTPAID DAY 7. BILL TABLE: ATTRIBUTES BILLID SID QTY ITEM DATA TYPES Specifies bill id Specifies student id Specifies quantity Specifies the item

DESCRIPTION
Specifies student id Specifies amount paid by the student Specifies the day

8. MESSEMPLOYEE TABLE: ATTRIBUTES EMPID ENAME 9. MANAGER TABLE: ATTRIBUTES LOGINID PASSWORD

DESCRIPTION
Specifies the employee id Specifies the employee name

DESCRIPTION
Specifies the login id Specifies password

14

10. WARDEN TABLE: ATTRIBUTES EMPID ENAME DOJ

DESCRIPTION
Specifies the employee id Specifies the employee name Specifies the date of joining

11. WORKSFOR TABLE: ATTRIBUTES WORKERID CHIEFWARDENID

DESCRIPTION
Specifies worker id Specifies chief WARDEN id

DATABASE TABLES:
1. STUDENT TABLE: ATTRIBUTES SID SNAME DEPOSIT DUE YEAROFSTUDY PASSWORD DATA TYPES NUMBER VARCHAR2(20) NUMBER NUMBER VARCHAR2(25) VARCHAR2(20) CONSTRAINTS PRIMARY KEY NOT NULL NOT NULL ----NOT NULL UNIQUE

2. BLOCK TABLE: ATTRIBUTES BID BNAME NUMBEROFROOMS DATA TYPES NUMBER VARCHAR2(20) NUMBER CONSTRAINTS PRIMARY KEY NOT NULL NOT NULL

3. ROOM TABLE: ATTRIBUTES DATA TYPES CONSTRAINTS RID NUMBER PRIMARY KEY FOREIGN KEY REFERENCES BID NUMBER TO BLOCK(BID) CAP NUMBER NOT NULL CPM NUMBER NOT NULL

16

4. MESS TABLE: ATTRIBUTES DATA TYPES MID NUMBER BID TIMING MENU COST CONSTRAINTS PRIMARY KEY PRIMARY KEY, FOREIGN KEY NUMBER REFERENCES BLOCK(BID) VARCHAR2(15) NOT NULL VARCHAR2(20) NOT NULL NUMBER NOT NULL

5. ALLOTTED TABLE: ATTRIBUTES DATA TYPES CONSTRAINTS SID NUMBER PRIMARY KEY PRIMARY KEY, FOREIGN KEY RID NUMBER REFERENCES ROOM(RID) FOREIGN KEY REFERENCES BID NUMBER ROOM(BID) DOJ DATE NOT NULL DOL DATE ---------6. ACCOUNTS TABLE: ATTRIBUTES DATA TYPES CONSTRAINTS PRIMARY KEY, FOREIGN KEY SID NUMBER REFERENCES STUDENT(SID) AMOUNTPAID NUMBER NOT NULL DAY DATE PRIMARY KEY 7. BILL TABLE: ATTRIBUTES DATA TYPES BILLID NUMBER SID QTY ITEM CONSTRAINTS PRIMARY KEY FOREIGN KEY REFERENCES NUMBER STUDENT(SID) NUMBER NOT NULL VARCHAR2(20) NOT NULL

8. MESSEMPLOYEE TABLE:

ATTRIBUTES EMPID ENAME

DATA TYPES NUMBER VARCHAR2(20)

CONSTRAINTS PRIMARY KEY NOT NULL

9. MANAGER TABLE: ATTRIBUTES LOGINID PASSWORD DATA TYPES NUMBER VARCHAR2(20) CONSTRAINTS PRIMARY KEY NOT NULL

10. WARDEN TABLE: ATTRIBUTES EMPID ENAME DOJ DATA TYPES NUMBER VARCHAR2(20) DATE CONSTRAINTS PRIMARY KEY NOT NULL NOT NULL

11. WORKSFOR TABLE: ATTRIBUTES DATA TYPES CONSTRAINTS PRIMARY KEY REFERENCES WORKERID NUMBER WARDEN(EMPID) PRIMARY KEY REFERENCES CHIEFWARDENID NUMBER WARDEN(EMPID)

18

Relation Schema of Hostel Management System

1. STUDENT (SID, SNAME, DEPOSIT, DUE, YEAROFSTUDY, PASSWORD) 2. BLOCK(BID, BNAME, NUMBEROFROOMS) 3. ROOM(RID, BID, CAP, CPM) 4. MESS(MID, BID, TIMING, MENU , COST) 5. ALLOTTED(SID, RID, BID, DOJ, DOL) 6. ACCOUNTS(SID, AMOUNTPAID, DAY) 7. BILL(BILLID, SID, QTY, ITEM, DAY)

8. MESSEMPLOYEE(EMPID, ENAME) 9. MANAGER(LOGINID, PASSWORD) 10. WARDEN(EMPID, ENAME, DOJ)

11. WORKSFOR(WORKERID, CHIEFWARDENID)

Identifying the Functional Dependencies of Relations


Functional Dependency: A functional dependency is a constraint between two sets of attributes from the database. Suppose that our relational database schema has n attributes A1,A2,..An; let us think of the whole database as being described by a single universal relation schema R={A1,A2,An}. We do not imply that we will actually store the database as a single universal table; we use this concept only in developing the formal theory of data dependencies. A functional dependency, denoted by X Y, between two sets of attributes X and Y that are subsets of R specifies a constraint on the possible tuples that can from a relation state r of R. The constraint is that, for any two tuples t1 and t2 in r that have t1[X]=t2[X], they must also have t1[Y]=t2[Y].

Functional Dependency in Student Relation:

20

STUDENT SID SNAME DEPOSIT DUE YEAROFSTUDY PASSWORD

The sid is the key attribute and remaining are the non-key attributes. Using sid, we can identify non-key attributes.

Functional Dependency in Block Relation:


BLOCK BID BNAME NUMBEROFROOMS

Functional Dependency in Room Relation:


ROOM RID BID CAP CPM

Functional Dependency in Mess Relation:


MESS MID BID TIMING MENU COST

Functional Dependency in Allotted Relation:


ALLOTTED SID RID BID DOJ DOL

Functional Dependency in Accounts Relation:


ACCOUNTS SID AMOUNTPAID DAY

Functional Dependency in Bill Relation:


BILL BILLID SID QTY ITEM DAY

Functional Dependency in MessEmployee Relation:


MESSEMPLOYEE EMPID ENAME

Functional Dependency in Manager Relation:


MANAGER LOGINID PASSWORD

Functional Dependency in WARDEN Relation:


WARDEN

22

EMPID

ENAME

DOJ

Functional Dependency in WorksFor Relation:


WORKSFOR WORKERID CHIEFWARDENID

NORMALIZATION Normalization is most important concept of Relational Database Management Systems (RDBMS). It is basically a formalization of simple issues. It has practical applications in the flow of database design. The primary goal of normalization is focusing on time dependent properties and to remove redundant information.

When there are more than one table in database system, then in that conditions the problem of organizing the data becomes much more complex. It is helpful to have data model of how the data is organized into files and how these files are related to one another. The model includes a list of fields in each record type, the keys that are used to access the records, and how the records in one file are related to records in another file. Normalization is the systematic, reversible transformation of data model to remove logical structures, which the non-key data items are functionally dependent on their keys. Normalization is done in series of steps, each of which leaves the model in a specific normal form. Each normal form includes all the constraints of the previous normal forms, there are several levels if normal form, Boyce-Coded Normal form, Fourth Normal form and Fifth Normal form. First Normal Form (1 NF): First normal form is achieved when a record is designed to be fixed length. This is accomplished by removing the repeated group and creating a separate file or relation containing the repeated group. The original new record is interrelated by a common data item. 28 A relation R is the First Normal Form if and only if all the underlying domains contain atomic values. To go from 1NF to 2NF, the analyst must remove any partially dependent attributes from their 1NF entity and create a new entity. After that, copy that part of the identifier of the original entity (on which the removed attributes are dependent) into the new entity. Second Normal Form (2NF): Second normal form is achieved when record is in the first normal form and each item in the recode is fully dependent on the primary record key for identification of data item is fully dependent if its values are uniquely associated with a specific data items. To achieve second normal form, every data item in the record that is not dependent on the primary key of the record should be removed and used to form a separate relation. Third Normal Form (3NF): In order to be in Third Normal Form, a relation must first fulfill the requirements to be in Second Normal Form. Additionally, all
24

attributes that are not dependent upon the primary key must be eliminated. Examples: The following table is NOT in Third Normal Form: University Andhra University Annamalai University Berhampur University City Visakhapatnam Annanagar Berhampur State AP Tamilnadu Orissa ZIP 530003 632002 420003

In this example, the city and state are dependent upon the ZIP code. To place this table in 3NF, two separate tables would be created -one containing the company name and ZIP code and the other containing city, state, ZIP code pairings. This may seem overly complex for daily applications and indeed it may be. Database designers should always keep in mind the tradeoffs between higher level normal forms and the resource issues that complexity creates.

Student:
STUDENT (SID, PASSWORD) SNAME, DEPOSIT, DUE, YEAROFSTUDY,

STUDENT (S, SN, D, DU, Y, P) S {SN, D, DU, Y, P}

Inference: This schema is in 1st NF

Block:
BLOCK(BID, BNAME, NUMBEROFROOMS) BLOCK(B, BN, N) B {B,N} If Block name is unique

{B,N}

Inference: This schema is in 3rd NF

Room:
ROOM(RID, BID, CAP, CPM) ROOM(R, B, C, CP) {R,B} {C, CP}

Inference: This schema is in 3rd NF

Mess:
MESS(MID, BID, TIMING, MENU, COST) MESS(M, B, T, M, C) {M,B} {T,M,C}

Inference: This schema is in 3rd NF

Allotted:
ALLOTTED(SID, RID, BID, DOJ, DOL) ALLOTTED(S, R, B, DJ, DL) {S,B,R} {DJ,DL}

Inference: This schema is in BCNF

Accounts:
ACCOUNTS(SID, AMOUNTPAID, DAY) ACCOUNTS(S, A, D)

26

{A, D}

Inference: This schema is in BCNF

Bill:
BILL(BILLID, SID, QTY, ITEM, DAY) BILL(B, S, Q, I, D) B {S,Q,I, D}

Inference: This schema is in 3rd NF

MessEmployee:
MESSEMPLOYEE(EMPID, ENAME) EMPID ENAME

Inference: This schema is in BCNF

Manager:
MANAGER(LOGINID, PASSWORD) LOGINID PASSWORD

Inference: This schema is in BCNF

WARDEN:
WARDEN(EMPID, ENAME, DOJ) WARDEN(E, EN, D) E {EN, D}

Inference: This schema is in 3rd NF

WorksFor:
WORKSFOR(WORKERID, CHIEFWARDENID) WORKERID CHIEFWARDENID

Inference: This schema is in BCNF

DDL COMMANDS
1. STUDENT TABLE CREATION: SQL> CREATE TABLE STUDENT (SID NUMBER, SNAME VARCHAR2(20) NOT NULL, DEPOSIT NUMBER NOT NULL, DUE NUMBER, YEAROFSTUDY VARCHAR2(25) NOT NULL, PASSWORD VARCHAR2(20) UNIQUE, PRIMARY KEY(SID)); Table created. SQL> DESC STUDENT Name Null? --------------------------------------------------------------------------------------SID NOT NULL SNAME NOT NULL VARCHAR2(20) DEPOSIT NOT NULL DUE YEAROFSTUDY NOT NULL VARCHAR2(25) PASSWORD VARCHAR2(20) Type -------NUMBER NUMBER NUMBER

2.

BLOCK TABLE CREATION:

28

SQL> CREATE TABLE BLOCK (BID NUMBER, BNAME VARCHAR2(20) NOT NULL, NUMBEROFROOMS NUMBER NOT NULL, PRIMARY KEY(BID)); Table created. SQL> DESC BLOCK Name Null? Type ----------------------------------------------------------------------------------------------BID NOT NULL NUMBER BNAME NOT NULL VARCHAR2(20) NUMBEROFROOMS NOT NULL NUMBER

3.

ROOM TABLE CREATION: SQL> CREATE TABLE ROOM (RID NUMBER, BID NUMBER, CAP NUMBER NOT NULL, CPM NUMBER NOT NULL, PRIMARY KEY (RID, BID), FOREIGN KEY(BID) REFERENCES BLOCK(BID)); Table created. SQL> DESC ROOM Name Null? Type ----------------------------------------------------- -------------------------------------RID NOT NULL NUMBER BID NOT NULL NUMBER CAP NOT NULL NUMBER CPM NOT NULL NUMBER

4.

MESS TABLE CREATION: SQL> CREATE TABLE MESS (MID NUMBER, BID NUMBER, TIMING VARCHAR2(15) NOT NULL, MENU VARCHAR2(20) NOT NULL, COST NUMBER NOT NULL, PRIMARY

KEY(BID, MID, MENU), FOREIGN KEY(BID) REFERENCES BLOCK(BID)); Table created. SQL> DESC MESS Name Null? Type ----------------------------------------------------- -------------------------------------MID NOT NULL NUMBER BID NOT NULL NUMBER TIMING NOT NULL VARCHAR2(15) MENU NOT NULL VARCHAR2(20) COST NOT NULL NUMBER

5. ALLOTTED TABLE CREATION: SQL> CREATE TABLE ALLOTTED (SID NUMBER, RID NUMBER, BID NUMBER, DOJ DATE NOT NULL, DOL DATE, PRIMARY KEY(SID, RID), FOREIGN KEY(SID) REFERENCES STUDENT(SID), FOREIGN KEY(RID, BID) REFERENCES ROOM(RID, BID)); Table created. SQL> DESC ALLOTTED Name Null? ----------------------------------------------------- -------30 Type

------------------------------SID RID BID DOJ DOL 6.

NOT NULL NOT NULL NOT NULL

NUMBER NUMBER NUMBER DATE DATE

ACCOUNTS TABLE CREATION: SQL> CREATE TABLE ACCOUNTS (SID NUMBER, AMOUNTPAID NUMBER NOT NULL, DAY DATE NOT NULL, PRIMARY KEY(SID, DAY), FOREIGN KEY(SID) REFERENCES STUDENT(SID)); Table created. SQL> DESC ACCOUNTS Name Null? Type ----------------------------------------------------- -------------------------------------SID NOT NULL NUMBER AMOUNTPAID NOT NULL NUMBER DAY NOT NULL DATE

7. BILL TABLE CREATION: SQL> CREATE TABLE BILL (BILLID NUMBER, SID NUMBER, QTY NUMBER NOT NULL, ITEM VARCHAR2(20) NOT NULL, DAY DATE NOT NULL, PRIMARY KEY(BILLID), FOREIGN KEY(SID) REFERENCES STUDENT(SID));

Table created. SQL> DESC BILL Name Null? Type ----------------------------------------------------- -------------------------------------BILLID NOT NULL NUMBER SID NUMBER QTY NOT NULL NUMBER ITEM NOT NULL VARCHAR2(20) DAY NOT NULL DATE 8. MESSEMPLOYEE TABLE CREATION: SQL> CREATE TABLE MESSEMPLOYEE (EMPID NUMBER, ENAME VARCHAR2(20) NOT NULL, PRIMARY KEY(EMPID)); Table created. SQL> DESC MESSEMPLOYEE Name Null? Type ----------------------------------------------------- -------------------------------------EMPID NOT NULL NUMBER ENAME NOT NULL VARCHAR2(20) 9. MANAGER TABLE CREATION: SQL> CREATE TABLE MANAGER (LOGINID NUMBER, PASSWORD VARCHAR2(20) NOT NULL, PRIMARY KEY(LOGINID)); Table created. SQL> DESC MANAGER Name Null? Type ----------------------------------------------------- -------------------------------------LOGINID NOT NULL 32

NUMBER PASSWORD VARCHAR2(20)

NOT NULL

10. WARDEN TABLE CREATION: SQL> CREATE TABLE WARDEN (EMPID NUMBER, ENAME VARCHAR2(20) NOT NULL, DOJ DATE NOT NULL, PRIMARY KEY(EMPID)); Table created. SQL> DESC WARDEN Name Null? Type -----------------------------------------------------------------------------------------EMPID NOT NULL NUMBER ENAME NOT NULL VARCHAR2(20) DOJ NOT NULL DATE 11. WORKSFOR TABLE CREATION: SQL> CREATE TABLE WORKSFOR (WORKERID NUMBER, CHIEFWARDENID NUMBER, PRIMARY KEY(WORKERID, CHIEFWARDENID), FOREIGN KEY(WORKERID) REFERENCES WARDEN(EMPID), FOREIGN KEY(CHIEFWARDENID) REFERENCES WARDEN(EMPID)); Table created. SQL> DESC WORKSFOR Name Null? Type -----------------------------------------------------------------------------------------WORKERID NOT NULL NUMBER CHIEFWARDENID NOT NULL NUMBER SQL> SELECT * FROM TAB;

TNAME TABTYPE CLUSTERID ------------------------------ ------- --------ACCOUNTS TABLE ALLOTTED TABLE BILL TABLE BLOCK TABLE MANAGER TABLE MESS TABLE MESSEMPLOYEE TABLE ROOM TABLE STUDENT TABLE WARDEN TABLE WORKSFOR TABLE 11 rows selected.

DML COMMANDS
1. INSERT DATA INTO STUDENT TABLE: SQL> INSERT INTO STUDENT VALUES (&SID, '&SNAME', &DEPOSIT, &DUE, '&YEAROFSTUDY', '&PASSWORD'); Enter value for sid: 101 Enter value for sname: PRABHAKAR Enter value for deposit: 1000 Enter value for due: 25 Enter value for yearofstudy: 2008 Enter value for password: RAJ old 1: INSERT INTO STUDENT VALUES (&SID, '&SNAME', &DEPOSIT, &DUE, '&YEAROFSTUDY', '&PASSWORD') new 1: INSERT INTO STUDENT VALUES (101, 'PRABHAKAR', 1000, 25, '2008', 'RAJ') 1 row created. SQL> / Enter value for sid: 102 Enter value for sname: TIRUMULA Enter value for deposit: 2000 Enter value for due: 56 Enter value for yearofstudy: 2008 Enter value for password: KIS old 1: INSERT INTO STUDENT VALUES (&SID, '&SNAME', &DEPOSIT, &DUE, '&YEAROFSTUDY', '&PASSWORD') 34

new 1: INSERT INTO STUDENT VALUES (102, 'TIRUMULA', 2000, 56, '2008', 'KIS') 1 row created. SQL> / Enter value for sid: 103 Enter value for sname: ARJUN Enter value for deposit: 3000 Enter value for due: 789 Enter value for yearofstudy: 2008 Enter value for password: PRIN old 1: INSERT INTO STUDENT VALUES (&SID, '&SNAME', &DEPOSIT, &DUE, '&YEAROFSTUDY', '&PASSWORD') new 1: INSERT INTO STUDENT VALUES (103, 'ARJUN', 3000, 789, '2008', 'PRIN') 1 row created. SQL> / Enter value for sid: 105 Enter value for sname: AYESHA Enter value for deposit: 2000 Enter value for due: 47 Enter value for yearofstudy: 2008 Enter value for password: MUS old 1: INSERT INTO STUDENT VALUES (&SID, '&SNAME', &DEPOSIT, &DUE, '&YEAROFSTUDY', '&PASSWORD') new 1: INSERT INTO STUDENT VALUES (105, 'AYESHA', 2000, 47, '2008', 'MUS') 1 row created. SQL>INSERT INTO STUDENT VALUES (&SID, '&SNAME', &DEPOSIT, &DUE, '&YEAROFSTUDY', '&PASSWORD'); Enter value for sid: 106 Enter value for sname: RAVI Enter value for deposit: 1500 Enter value for due: 253 Enter value for yearofstudy: 2008 Enter value for password: SAT old 1: INSERT INTO STUDENT VALUES (&SID, '&SNAME', &DEPOSIT, &DUE, '&YEAROFSTUDY', '&PASSWORD')

new 1: INSERT INTO STUDENT VALUES (106, 'RAVI', 1500, 253, '2008', 'SAT') 1 row created. 2. INSERT DATA INTO BLOCK TABLE: SQL>INSERT INTO BLOCK VALUES (&BID, '&BNAME', &NUMBEROFROOMS); Enter value for bid: 41 Enter value for bname: NAGARJUNA Enter value for numberofrooms: 45 old 1: INSERT INTO BLOCK VALUES (&BID, '&BNAME', &NUMBEROFROOMS) new 1: INSERT INTO BLOCK VALUES (41, 'NAGARJUNA', 45) 1 row created.

SQL> / Enter value for bid: 51 Enter value for bname: VENKATESWARA Enter value for numberofrooms: 50 old 1: INSERT INTO BLOCK VALUES (&BID, '&BNAME', &NUMBEROFROOMS) new 1: INSERT INTO BLOCK VALUES (51, 'VENKATESWARA', 50) 1 row created. SQL> / Enter value for bid: 61 Enter value for bname: SRIKRISHNADEVARAYA Enter value for numberofrooms: 60 old 1: INSERT INTO BLOCK VALUES (&BID, '&BNAME', &NUMBEROFROOMS) new 1: INSERT INTO BLOCK VALUES (61, 'SRIKRISHNADEVARAYA', 60) 1 row created.

36

SQL> / Enter value for bid: 71 Enter value for bname: PADMAVATHI Enter value for numberofrooms: 35 old 1: INSERT INTO BLOCK VALUES (&BID, '&BNAME', &NUMBEROFROOMS) new 1: INSERT INTO BLOCK VALUES (71, 'PADMAVATHI', 35) 1 row created. 3. INSERT DATA INTO ROOM TABLE: SQL> INSERT INTO ROOM VALUES (&RID, &BID, &CAP, &CPM); Enter value for rid: 01 Enter value for bid: 41 Enter value for cap: 04 Enter value for cpm: 1200 old 1: INSERT INTO ROOM VALUES (&RID, &BID, &CAP, &CPM) new 1: INSERT INTO ROOM VALUES (01, 41, 04, 1200) 1 row created. SQL> / Enter value for rid: 02 Enter value for bid: 51 Enter value for cap: 04 Enter value for cpm: 1225 old 1: INSERT INTO ROOM VALUES (&RID, &BID, &CAP, &CPM) new 1: INSERT INTO ROOM VALUES (02, 51, 04, 1225) 1 row created. SQL> / Enter value for rid: 03 Enter value for bid: 61 Enter value for cap: 06 Enter value for cpm: 1175 old 1: INSERT INTO ROOM VALUES (&RID, &BID, &CAP, &CPM)

new 1: INSERT INTO ROOM VALUES (03, 61, 06, 1175) 1 row created. SQL> / Enter value for rid: 04 Enter value for bid: 71 Enter value for cap: 03 Enter value for cpm: 1250 old 1: INSERT INTO ROOM VALUES (&RID, &BID, &CAP, &CPM) new 1: INSERT INTO ROOM VALUES (04, 71, 03, 1250) 1 row created. SQL> / Enter value for rid: 02 Enter value for bid: 71 Enter value for cap: 03 Enter value for cpm: 1250 old 1: INSERT INTO ROOM VALUES (&RID, &BID, &CAP, &CPM) new 1: INSERT INTO ROOM VALUES (02, 71, 03, 1250) 1 row created. SQL> / Enter value for rid: 03 Enter value for bid: 41 Enter value for cap: 04 Enter value for cpm: 1175 old 1: INSERT INTO ROOM VALUES (&RID, &BID, &CAP, &CPM) new 1: INSERT INTO ROOM VALUES (03, 41, 04, 1175) 1 row created. 4. INSERT DATA INTO MESS TABLE: SQL> INSERT INTO MESS VALUES (&MID, &BID, '&TIMING', '&MENU', &COST); Enter value for mid: 410 Enter value for bid: 41 Enter value for timing: 8AM 38

Enter value for menu: IDLY Enter value for cost: 8 old 1: INSERT INTO MESS VALUES (&MID, &BID, '&TIMING', '&MENU', &COST) new 1: INSERT INTO MESS VALUES (410, 41, '8AM', 'IDLY', 8) 1 row created. SQL> / Enter value for mid: 410 Enter value for bid: 41 Enter value for timing: 1PM Enter value for menu: MEAL Enter value for cost: 15 old 1: INSERT INTO MESS VALUES (&MID, &BID, '&TIMING', '&MENU', &COST) new 1: INSERT INTO MESS VALUES (410, 41, '1PM', 'MEAL', 15) 1 row created. SQL> / Enter value for mid: 410 Enter value for bid: 41 Enter value for timing: 7PM Enter value for menu: DINNER Enter value for cost: 15 old 1: INSERT INTO MESS VALUES (&MID, &BID, '&TIMING', '&MENU', &COST) new 1: INSERT INTO MESS VALUES (410, 41, '7PM', 'DINNER', 15) 1 row created. SQL> / Enter value for mid: 510 Enter value for bid: 51 Enter value for timing: 8AM Enter value for menu: PURI Enter value for cost: 10 old 1: INSERT INTO MESS VALUES (&MID, &BID, '&TIMING', '&MENU', &COST)

new 1: INSERT INTO MESS VALUES (510, 51, '8AM', 'PURI', 10) 1 row created. SQL> / Enter value for mid: 610 Enter value for bid: 61 Enter value for timing: 1PM Enter value for menu: MEAL Enter value for cost: 15 old 1: INSERT INTO MESS VALUES (&MID, &BID, '&TIMING', '&MENU', &COST) new 1: INSERT INTO MESS VALUES (610, 61, '1PM', 'MEAL', 15) 1 row created. SQL> / Enter value for mid: 710 Enter value for bid: 71 Enter value for timing: 7PM Enter value for menu: DINNER Enter value for cost: 12 old 1: INSERT INTO MESS VALUES (&MID, &BID, '&TIMING', '&MENU', &COST) new 1: INSERT INTO MESS VALUES (710, 71, '7PM', 'DINNER', 12) 1 row created. 5. INSERT DATA INTO ALLOTTED TABLE: SQL> INSERT INTO ALLOTTED VALUES (&SID, &RID, &BID, '&DOJ', '&DOL'); Enter value for sid: 101 Enter value for rid: 1 Enter value for bid: 41 Enter value for doj: 01-JUN-2008 Enter value for dol: 01-SEP-2008 old 1: INSERT INTO ALLOTTED VALUES (&SID, &RID, &BID, '&DOJ', '&DOL') new 1: INSERT INTO ALLOTTED VALUES (101, 1, 41, '0140

JUN-2008', '01-SEP-2008') 1 row created. SQL> / Enter value for sid: 102 Enter value for rid: 1 Enter value for bid: 41 Enter value for doj: 05-JUN-2008 Enter value for dol: 03-SEP-2008 old 1: INSERT INTO ALLOTTED VALUES (&SID, &RID, &BID, '&DOJ', '&DOL') new 1: INSERT INTO ALLOTTED VALUES (102, 1, 41, '05JUN-2008', '03-SEP-2008') 1 row created. SQL> / Enter value for sid: 103 Enter value for rid: 2 Enter value for bid: 51 Enter value for doj: 01-JUN-2008 Enter value for dol: 02-SEP-2008 old 1: INSERT INTO ALLOTTED VALUES (&SID, &RID, &BID, '&DOJ', '&DOL') new 1: INSERT INTO ALLOTTED VALUES (103, 2, 51, '01JUN-2008', '02-SEP-2008') 1 row created. SQL> / Enter value for sid: 105 Enter value for rid: 2 Enter value for bid: 71 Enter value for doj: 01-JUN-2008 Enter value for dol: 05-SEP-2008 old 1: INSERT INTO ALLOTTED VALUES (&SID, &RID, &BID, '&DOJ', '&DOL') new 1: INSERT INTO ALLOTTED VALUES (105, 2, 71, '01JUN-2008', '05-SEP-2008') 1 row created.

SQL> / Enter value for sid: 106 Enter value for rid: 3 Enter value for bid: 61 Enter value for doj: 01-JUN-2008 Enter value for dol: 05-SEP-2008 old 1: INSERT INTO ALLOTTED VALUES (&SID, &RID, &BID, '&DOJ', '&DOL') new 1: INSERT INTO ALLOTTED VALUES (106, 3, 61, '01JUN-2008', '05-SEP-2008') 1 row created. 6. INSERT DATA INTO ACCOUNTS TABLE: SQL> INSERT INTO ACCOUNTS VALUES (&SID, &AMOUNTPAID, '&DAY'); Enter value for sid: 101 Enter value for amountpaid: 6850 Enter value for day: 01-SEP-2008 old 1: INSERT INTO ACCOUNTS VALUES (&SID, &AMOUNTPAID, '&DAY') new 1: INSERT INTO ACCOUNTS VALUES (101, 6850, '01SEP-2008') 1 row created. SQL> / Enter value for sid: 102 Enter value for amountpaid: 6582 Enter value for day: 02-SEP-2008 old 1: INSERT INTO ACCOUNTS VALUES (&SID, &AMOUNTPAID, '&DAY') new 1: INSERT INTO ACCOUNTS VALUES (102, 6582, '02SEP-2008') 1 row created. SQL> / Enter value for sid: 103 Enter value for amountpaid: 4500 Enter value for day: 06-AUG-2008 42

old 1: INSERT INTO ACCOUNTS VALUES (&SID, &AMOUNTPAID, '&DAY') new 1: INSERT INTO ACCOUNTS VALUES (103, 4500, '06AUG-2008') 1 row created. SQL> / Enter value for sid: 105 Enter value for amountpaid: 5500 Enter value for day: 06-SEP-2008 old 1: INSERT INTO ACCOUNTS VALUES (&SID, &AMOUNTPAID, '&DAY') new 1: INSERT INTO ACCOUNTS VALUES (105, 5500, '06SEP-2008') 1 row created. SQL> / Enter value for sid: 106 Enter value for amountpaid: 3572 Enter value for day: 01-AUG-2008 old 1: INSERT INTO ACCOUNTS VALUES (&SID, &AMOUNTPAID, '&DAY') new 1: INSERT INTO ACCOUNTS VALUES (106, 3572, '01AUG-2008') 1 row created. 7. INSERT DATA INTO BILL TABLE: SQL>INSERT INTO BILL VALUES (&BILLID, &SID, &QTY, '&ITEM', '&DAY'); Enter value for billid: 20801 Enter value for sid: 101 Enter value for qty: 15 Enter value for item: IDLY Enter value for day: 01-JUN-2008 old 1: INSERT INTO BILL VALUES (&BILLID, &SID, &QTY, '&ITEM', '&DAY') new 1: INSERT INTO BILL VALUES (20801, 101, 15, 'IDLY', '01-JUN-2008')

1 row created. SQL> / Enter value for billid: 200801 Enter value for sid: 102 Enter value for qty: 45 Enter value for item: MEAL Enter value for day: 01-AUG-2008 old 1: INSERT INTO BILL VALUES (&BILLID, &SID, &QTY, '&ITEM', '&DAY') new 1: INSERT INTO BILL VALUES (200801, 102, 45, 'MEAL', '01-AUG-2008') 1 row created. SQL> / Enter value for billid: 200802 Enter value for sid: 103 Enter value for qty: 50 Enter value for item: MEAL Enter value for day: 01-SEP-2008 old 1: INSERT INTO BILL VALUES (&BILLID, &SID, &QTY, '&ITEM', '&DAY') new 1: INSERT INTO BILL VALUES (200802, 103, 50, 'MEAL', '01-SEP-2008') 1 row created. SQL> / Enter value for billid: 200803 Enter value for sid: 105 Enter value for qty: 12 Enter value for item: MEAL Enter value for day: 01-SEP-2008 old 1: INSERT INTO BILL VALUES (&BILLID, &SID, &QTY, '&ITEM', '&DAY') new 1: INSERT INTO BILL VALUES (200803, 105, 12, 'MEAL', '01-SEP-2008') 1 row created. SQL> / 44

Enter value for billid: 20802 Enter value for sid: 106 Enter value for qty: 54 Enter value for item: MEAL Enter value for day: 01-SEP-2008 old 1: INSERT INTO BILL VALUES (&BILLID, &SID, &QTY, '&ITEM', '&DAY') new 1: INSERT INTO BILL VALUES (20802, 106, 54, 'MEAL', '01-SEP-2008') 1 row created.

8. INSERT DATA INTO MESSEMPLOYEE TABLE: SQL>INSERT INTO MESSEMPLOYEE VALUES (&EMPID, '&ENAME'); Enter value for empid: 4101 Enter value for ename: A L RAO old 1: INSERT INTO MESSEMPLOYEE VALUES (&EMPID, '&ENAME') new 1: INSERT INTO MESSEMPLOYEE VALUES (4101, 'A L RAO') 1 row created. SQL> / Enter value for empid: 5101 Enter value for ename: B L SRIHARI old 1: INSERT INTO MESSEMPLOYEE VALUES (&EMPID, '&ENAME') new 1: INSERT INTO MESSEMPLOYEE VALUES (5101, 'B L SRIHARI') 1 row created. SQL> /

Enter value for empid: 6101 Enter value for ename: S K REDDY old 1: INSERT INTO MESSEMPLOYEE VALUES (&EMPID, '&ENAME') new 1: INSERT INTO MESSEMPLOYEE VALUES (6101, 'S K REDDY') 1 row created. SQL> / Enter value for empid: 7101 Enter value for ename: SUSHMA old 1: INSERT INTO MESSEMPLOYEE VALUES (&EMPID, '&ENAME') new 1: INSERT INTO MESSEMPLOYEE VALUES (7101, 'SUSHMA') 1 row created.

9. INSERT DATA INTO MANAGER TABLE: SQL>INSERT INTO MANAGER VALUES (&LOGINID, '&PASSWORD'); Enter value for loginid: 2801 Enter value for password: XYZ old 1: INSERT INTO MANAGER VALUES (&LOGINID, '&PASSWORD') new 1: INSERT INTO MANAGER VALUES (2801, 'XYZ') 1 row created. SQL> / Enter value for loginid: 2841 Enter value for password: ABC old 1: INSERT INTO MANAGER VALUES (&LOGINID, '&PASSWORD') new 1: INSERT INTO MANAGER VALUES (2841, 'ABC') 46

1 row created. SQL> / Enter value for loginid: 2851 Enter value for password: MNO old 1: INSERT INTO MANAGER VALUES (&LOGINID, '&PASSWORD') new 1: INSERT INTO MANAGER VALUES (2851, 'MNO') 1 row created. 10. INSERT DATA INTO WARDEN TABLE: SQL> INSERT INTO WARDEN VALUES (&EMPID, '&ENAME', '&DOJ'); Enter value for empid: 8101 Enter value for ename: S P UMAPATHI Enter value for doj: 01-JUN-2006 old 1: INSERT INTO WARDEN VALUES (&EMPID, '&ENAME', '&DOJ') new 1: INSERT INTO WARDEN VALUES (8101, 'S P UMAPATHI', '01-JUN-2006') 1 row created.

SQL> / Enter value for empid: 7151 Enter value for ename: DUTTA I G Enter value for doj: 01-JUN-2007 old 1: INSERT INTO WARDEN VALUES (&EMPID, '&ENAME', '&DOJ') new 1: INSERT INTO WARDEN VALUES (7151, 'DUTTA I G', '01-JUN-2007') 1 row created. 11. INSERT INTO WORKSFOR &CHIEFWARDENID); VALUES (&WORKERID,

QUERIES
1. Total amount collected from students in academic year 2007 and 2008: SELECT SUM(AMOUNTPAID) FROM ACCOUNTS WHERE DAY BETWEEN '12-JUN-2007' AND '16-SEP-2008' ;

48

2. List of Students who left hostel in year 2007: SELECT S.SNAME ,A.DOL FROM STUDENT S,ALLOTTED A WHERE TO_CHAR(A.DOL,'YYYY')='2007'AND S.SID=A.SID; 3. Total Students who stayed in hostel from 2002-2007: SELECT S.SNAME FROM STUDENT S, ALLOTTED A WHERE TO_CHAR(A.DOJ, 'YYYY') BETWEEN '2002' AND '2007' AND TO_CHAR(A.DOL,'YYYY') BETWEEN '2002' AND '2007' AND A.SID=S.SID; 4. Average mess bill for month of July: SELECT AVG(B.QTY*M.COST) FROM BILL B, MESS M WHERE B.ITEM=M.MENU AND TO_CHAR(DAY,'MON-YYYY')='JUL-2007'; 5. Mess Bill Generation: SELECT SUM(B.QTY * M.COST) FROM BILL B,MESS M WHERE B.DAY BETWEEN '12-FEB-2008' AND '25-FEB-2008' AND B.ITEM=M.MENU; 6. Total Bill Generation: SELECT (R.CPM+ (SELECT SUM (B.QTY*M.COST) FROM BILL B, MESS M WHERE B.DAY BETWEEN '12-FEB-2008' AND '25-FEB-2008' AND B.ITEM=M.MENU)) FROM ALLOTED A, ROOM R WHERE A.SID=16 AND A.RID=R.RID;

7. Display Student list.

SQL> SELECT * FROM STUDENT; SID SNAME DEPOSIT DUE YEAROFSTUDY PASSWORD --------- -------------------- --------- --------- --------------------------------------------------101 PRABHAKAR 1000 25 2008 RAJ 102 TIRUMULA 2000 56 2008 KIS 103 ARJUN 3000 789 2008 PRIN 105 AYESHA 2000 47 2008 MUS 106 RAVI 1500 253 2008 SAT 8. Display Block list. SQL> SELECT * FROM BLOCK; BID BNAME NUMBEROFROOMS --------- -------------------- -------------------------41 NAGARJUNA 45 51 VENKATESWARA 50 61 SRIKRISHNADEVARAYA 60 71 PADMAVATHI 35 9. Display Room details. SQL> SELECT * FROM ROOM; RID BID CAP CPM --------- --------- --------- ------1 41 4 1200 2 51 4 1225 3 61 6 1175 4 71 3 1250 2 71 3 1250 3 41 4 1175 6 rows selected.

50

10. Display Mess details. SQL> SELECT * FROM MESS; MID BID TIMING MENU COST ------------- --------- --------------- -------------------- --------410 41 8AM IDLY 8 410 41 1PM MEAL 15 410 41 7PM DINNER 15 510 51 8AM PURI 10 610 61 1PM MEAL 15 710 71 7PM DINNER 12 6 rows selected. 11. Display Allotted room details. SQL> SELECT * FROM ALLOTTED; SID RID BID DOJ DOL --------- --------- --------- --------- --------101 1 41 01-JUN-08 01-SEP-08 102 1 41 05-JUN-08 03-SEP-08 103 2 51 01-JUN-08 02-SEP-08 105 2 71 01-JUN-08 05-SEP-08 106 3 61 01-JUN-08 05-SEP-08 12. Display Accounts details. SQL> SELECT * FROM ACCOUNTS; SID AMOUNTPAID DAY ------------ ---------- --------101 6850 01-SEP-08 102 6582 02-SEP-08

103 105 106

4500 06-AUG-08 5500 06-SEP-08 3572 01-AUG-08

13. Display Bill details. SQL> SELECT * FROM BILL; BILLID SID QTY ITEM DAY -------------- --------- --------- -------------------- --------20801 101 15 IDLY 01-JUN-08 200801 102 45 MEAL 01-AUG-08 200802 103 50 MEAL 01-SEP-08 200803 105 12 MEAL 01-SEP-08 20802 106 54 MEAL 01-SEP-08 14. Display Mess-Employee details. SQL> SELECT * FROM MESSEMPLOYEE; EMPID ENAME --------- -------------------4101 A L RAO 5101 B L SRIHARI 6101 S K REDDY 7101 SUSHMA 15. Display Manager Table details. SQL> SELECT * FROM MANAGER; LOGINID PASSWORD --------- -------------------2801 XYZ 2841 ABC 52

2851

MNO

16. Display WARDEN Table details. SQL> SELECT * FROM WARDEN; EMPID ENAME DOJ --------- -------------------- ------------------------8101 S P UMAPATHI 01-JUN-06 7151 DUTTA I G 01-JUN-07

Você também pode gostar