Database Management Systems 1 Removed
Database Management Systems 1 Removed
1: E-R Model
Analyze the problem carefully and come up with the entities in it. Identify what data has
to be persisted in the database. This contains the entities, attributes etc. Identify the
primary keys for all the entities. Identify the other keys like candidate keys, partial keys,
if any.
Example: Entities: 1. BUS 2. Ticket 3. Passenger
Relationships: 1. Reservation 2. Cancellation
PRIMARY KEY ATTRIBUTES: Ticket ID (Ticket Entity) ;Passport ID (Passenger
Entity) ; Bus_NO (Bus Entity)
Apart from the above mentioned entities you can identify more. The above mentioned are
few.
Note: The student is required to submit a document by writing the Entities andKeys to
the lab teacher.
Source
Bus
Bus
Destination
Department
Reservatio
Sex
Ticket No
Ticket Date of
Source
Departure
Age
Note: The student is required to submit a document by drawing the E-RDiagram to the
lab teacher.
3: Relational Model
Represent all the entities (Strong, Weak) in tabular fashion. Represent relationships in a
tabular fashion. There are different ways of representing relationships as tables based on
the cardinality. Represent attributes as columns in tables or as tables based on the
requirement. Different types of attributes (Composite, Multi-valued, and Derived) have
different way of representation.
Example: E-R diagram for bus
Example: The passenger tables look as below. This is an example. You can add more
attributes based on your E-R model. This is not a normalized table.
Passenger
Name Age Sex Address Passport Id
4: Normalization
Database normalization is a technique for designing relational database tables to
minimize duplication of information and, in so doing, to safeguard the database against
certain types of logical or structural problems, namely data anomalies.
For example, when multiple instances of a given piece of information occur in a table,
the possibility exists that these instances will not be kept consistent when the data within
the table is updated, leading to a loss of data integrity.
Passportid Ticketid
A table that is sufficiently normalized is less vulnerable to problems of this kind, because
its structure reflects the basic assumptions for when multiple instances of the same
information should be represented by a single instance only.
For the above table in the First normalization we can remove the multi valued attribute.
Ticket_id and place it in another table along with the primary key of passenger.
First Normal Form: The above table can be divided into two tables as shown below.
Passenger
Name Age Sex Address Passport ID
You can do the second and third normal forms if required. Anyhow Normalized tables
are given at the end.
tables, altering the database, dropping tables and databases If not required. You will also
try truncate, rename commands etc.
Example for creation of a normalized “Passenger” table.
CREATE TABLE Passenger (Passport_id INTEGER PRIMARY KEY, Name
VARCHAR (50) Not NULL, Age Integer Not NULL, Sex Char, Address VARCHAR
(50) Not NULL);
Similarly create all other tables.
Note: Detailed creation of tables is given at the end.
7: Querying
In this week you are going to practice queries (along with sub queries) using ANY, ALL,
IN, Exists, NOT EXISTS, UNION, INTERSECT, Constraints etc.
Practice the following Queries:
1. Display unique PNR_no of all passengers.
2. Display all the names of male passengers.
3. Display the ticket numbers and names of all the passengers.
4. Display the source and destination having journey time more than 10 hours.
5. Find the ticket numbers of the passengers whose name start with ‘A‘and ends
with ‘H‘.
6. Find the names of passengers whose age is between 30 and 45.
7. Display all the passengers names beginning with ‘A‘
8. Display the sorted list of passengers names
MAX and MIN), GROUP BY, HAVING and Creation and dropping of Views.
Write a Query to display the Information present in the Passenger and cancellation tables.
Hint: Use UNION Operator.
Find number of tickets booked for each PNR_no using GROUP BY CLAUSE. Hint: Use
GROUP BY on PNR_No.
Find the number of tickets booked in each class where the number of seats is greater than
1. Hint: Use GROUP BY, WHERE and HAVING CLAUSES.
10: Triggers
In this week you are going to work on Triggers. Creation of insert trigger, delete trigger,
update trigger. Practice triggers using the above database.
Eg: CREATE TRIGGER updcheck BEFORE UPDATE ON passenger FOR
EACH ROW
BEGIN
IF NEW.TickentNO > 60 THEN SET New.Tickent no
= Ticket no;
ELSE
SET New.Ticketno = 0; END IF;
END;
11: Procedures
In this session you are going to learn Creation of stored procedure, Execution of
procedure and modification of procedure. Practice procedures using the above database.
Eg:CREATE PROCEDURE myProc ()
BEGINage>=40; End;
12: Cursors
In this week you need to do the following: Declare a cursor that defines a result set.
Open the cursor to establish the result set. Fetch the data into local variables as needed
from the cursor, one row at a time. Close the cursor when done
CREATE PROCEDURE myProc (in_customer_id INT) BEGIN
DECLARE v_id INT;
DECLARE c1 CURSOR FOR SELECT stdId, stdFirstname FROM students WHERE
stdId=in_customer_id;
OPEN c1;
FETCH c1 into v_id, v_name; Close c1;
END;
Tables
BUS
Bus No: Varchar: PK (Public key) Source: Varchar Destination: Varchar
Passenger
PPNO: Varchar(15) : PK Name: Varchar(15) Age : int (4) Sex:Char(10) : Male / Female
Address: VarChar(20)
Passenger_Tickets
PPNO: Varchar(15): PK Ticker_No: Numeric(9)
Reservation
PNR_No: Numeric(9) : FK Journey_date : datetime(8) No_of_seats : int (8)
Address: Varchar (50) Contact_No: Numeric (9) -->should not be less than 9 and should
not accept any other character other than Integer Status: Char (2): Yes / No
Cancellation
PNR_No: Numeric(9) : FK Journey_date : datetime(8) No_of_seats : int (8) Address :
Varchar (50) Contact_No: Numeric (9) --> Should not be less than 9 and Should not
accept any other character other than Integer Status: Char (2) : Yes / No
Ticket
Ticket_No: Numeric (9): PK Journey_date: datetime(8) Age : int (4) Sex:Char(10) : Male
/ Female Source : Varchar Destination : Varchar Dep_time : Varchar
TEXT BOOKS
1. Rick F.Vander Lans, "Introduction to SQL", Pearson education.
2. B.Rosenzweig and E.Silvestrova,"Oracle PL/SQL", Pearson education.
REFERENCES
1. M.Mc Laughlin,"Oracle Database 11g PL/SQL Programming", TMH.
2. J.J.Patrick,"SQL Fundamentals", Pearson Education
3. Steven Feuerstein,"Oracle PL/SQL Programming", SPD.
4. Dr.P.S.Deshpande, "SQL & PL/SQL for Oracle 10g", Black Book, Dream Tech.
Course Outcomes:
At the end of the course, students will be able to
1. Design and implement a database schema for a given problem.
2. Generate queries on a database using SQL commands.
3. Declare and enforce integrity constraints on a database using a state-of-the-art
RDBMS.
4. Make use of procedures for data accessing and manipulations.
CO- PO Mapping
CO1 3 3 3 2 3 2 3 3
CO2 3 3 3 3 3 3 3 3
CO3 3 3 3 2 3 2 3 3
CO4 3 3 3 3 3 3 3 3
Objectives:
Outcomes:
INDEX
S. No Topic Page no
1 Introduction SQL-SQL*Plus 1
4 Tables 14
5 My SQL Installation 16
7 Key Constrains-Normalization 32
8 Aggregate functions 52
9 Joins 78
10 Views 82
11 Index 87
12 PL/ SQL 90
13 Exception handling 98
14 Triggers 101
15 Cursors 104
18 Extra-programs 121
INTRODUCTION
It cannot demonstrate the overall data model for the enterprise because of the non-
availability of actual data at the time of designing the data model.
Network Model
It supports the One-To-One and One-To-Many types only. The basic objects in this model are
Data Items, Data Aggregates, Records and Sets.
Relational Model
Features of an RDBMS
The ability to create multiple relations and enter data into them
An attractive query language
An RDBMS product has to satisfy at least Seven of the 12 rules of Codd to be accepted
as a full- fledged RDBMS.
RDBMS is acronym for Relation Database Management System. Dr. E. F. Codd first
introduced the Relational Database Model in 1970. The Relational model allows data to be
represented in a simple row- column. Each data field is considered as a column and each record is
considered as a row. Relational Database is more or less similar to Database Management S ystem.
In relational model there is relation between their data elements. Data is stored in tables. Tables
have columns, rows and names. Tables can be related to each other if each has a column with a
common type of information. The most famous RDBMS packages are Oracle, Sybase and
Informix.
1 Rahul Satelite
2 Sachin Ambawadi
3 Saurav Naranpura
1 78 89 94
2 54 65 77
3 23 78 46
Here, both tables are based on students details. Common field in both tables is Rollno. So we
can say both tables are related with each other through Rollno column.
Degree of Relationship
One to One (1:1)
The Degree of Relationship indicates the link between two entities for a specified
occurrence of each.
One student has only one Rollno. For one occurrence of the first entity, there can be, at the most
one related occurrence of the second entity, and vice-versa.
1M
As per the Institutions Norm, One student can enroll in one course at a time however, in one
course, there can be more than one student.
For one occurrence of the first entity there can exist many related occurrences of the second
entity and for every occurrence of the second entity there exists only one associated occurrence
of the first.
The major disadvantage of the relational model is that a clear-cut interface cannot be determined.
Reusability of a structure is not possible. The Relational Database now accepted model on which
major database system are built.
Some basic rules have to be followed for a DBMS to be relational. They are known as Codd’s
rules, designed in such a way that when the database is ready for use it encapsulates the
relational theory to its full potential. These twelve rules are as follows.
E. F. Codd Rules
1. The Information Rule
All information must be store in table as data values.
2. The Rule of Guaranteed Access
Every item in a table must be logically addressable with the help of a table name.
According to the rule the system must support data definition, view definition, data
manipulation, integrity constraints, authorization and transaction management
operations.
This rule indicates that all the data manipulation commands must be
operational on sets of rows having a relation rather than on a single row.
Application programs must remain unimpaired when any changes are made in
storage representation or access methods.
The changes that are made should not affect the user’s ability to work with
the data.The change can be splitting table into many more tables.
Oracle8 and later versions are supported object-oriented concepts. A structure once created can be
reused is the fundamental of the OOP’s concept. So we can say Oracle8 is supported Object
Relational model, Object - oriented model both. Oracle products are based on a concept known as
a client-server technology. This concept involves segregating the processing of an application
between two systems. One performs all activities related to the database (server) and the other
performs activities that help the user to interact with the application (client). A client or front-end
database application also interacts with the database by requesting and receiving information from
database server. It acts as an interface between the user and the database.
The database server or back end is used to manage the database tables and also respond to
client requests.
Introduction to ORACLE
ORACLE is a powerful RDBMS product that provides efficient and effective solutions for
major database features. This includes:
Controlled availability
Compatibility
Connectivity
An ORACLE database system can easily take advantage of distributed processing by using its
Client/ Server architecture. In this architecture, the database system is divided into two parts:
The client executes the database application that accesses database information and interacts with
the user.
The server executes the ORACLE software and handles the functions required for
concurrent, shared data access to ORACLE database.
ROADWAY TRAVELS
“Roadway Travels” is in business since 1977 with several buses connecting different places
in India. Its main office is located in Hyderabad.
Reservations
Ticketing
Cancellations
Reservations :
Cancellations are also directly handed at the booking office. Cancellation charges
will be charged.
Wait listed tickets that do not get confirmed are fully refunded.
7
Downloaded by Kelvin Munene ([email protected])
lOMoARcPSD|7444512
AIM: Analyze the problem and come with the entities in it. Identify what Data has to be
persisted in the databases.
The Following are the entities:
1 .Bus
2. Reservation
3. Ticket
4. Passenger
5. Cancellation
Bus
Reservation (Entity)
Contact No Bus No
No-of-Seats
Journey date
Address
PNR NO
Reservation
Ticket :(Entity)
Dep- Time
Source
Age
Sex
Journey date
Destination
Ticket No
Bus No
Ticket
Passenger:
Contact NO
Age
Sex
PNR NO
Name
Ticket No
Passenger
Cancellation (Entity)
Seat No
Journey date
Contact No
PNR NO
Cancellation
10
Oracle was the first company to release a product that used the English-based Structured Query
Language or SQL. This language allows end users to manipulate information of table(primary
database object). To use SQL you need not to require any programming experience. SQL is a
standard language common to all relational databases. SQL is database language used for storing
and retrieving data from the database. Most Relational Database Management Systems provide
extension to SQL to make it easier for application developer. A table is a primary object of
database used to store data. It stores data in form of rows and columns.
SQL*Plus is an Oracle tool (specific program ) which accepts SQL commands and PL/SQL
blocks and executes them. SQL *Plus enables manipulations of SQL commands and PL/SQL
blocks. It also performs additional tasks such as calculations, store and print query results in the
form of reports, list column definitions of any table, access and copy data between SQL
databases and send messages to and accept responses from the user. SQL *Plus is a character
based interactive tool, that runs in a GUI environment. It is loaded on the client machine. To
communicate with Oracle, SQL supports the following categories of commands:
Before we take a look on above-mentioned commands we will see the data types available in
Oracle.
Oracle Internal Data types
When you create a table in Oracle, a few items should be important, not only do you have to give
each table a name(e.g. employee, customer), you must also list all the columns or fields (e.g.
First_name, Mname, Last_name) associated with the table. You also have to specify what type of
information thattable will hold to the database. For example, the column Empno holds numeric
information. An Oracle database can hold many different types of data.
char(Size) Stores fixed-length character data of length size characters or bytes, depending
on the choice of national character set. Maximum size if determined by the number of bytes
required storing each character with an upper limit of 2000 bytes. Default and minimum size is 1
character or 1 byte, depending on the character set.
Number [p,s] Number having precision p and scale s. The precision p indicates total
number of digit varies from 1 to 38. The scale s indicates number of digit in fraction
part varies from -84 to 127.
Date Stores dates from January 1, 4712 B.C. to December 31, 4712 A.D. Oracle
predefine format of Date data type is DD-MON-YYYY.
12
Raw (Size) Stores binary data of length size. Maximum size is 2000 bytes. One must
have to specify size with RAW type data, because by default it does not specify any size.
Long Raw Store binary data of variable length up to 2GB(Gigabytes). LOBS -
LARGE OBJECTS
LOB is use to store unstructured information such as sound and video clips, pictures upto 4 GB
size.
Varying-width character sets are not supported. Maximum size is 4GB. Stores
national character set data.
BLOB To store a Binary Large Object such a graphics, video clips and sound files.
Maximum size is 4GB.
BFILE Contains a locator to a large Binary File stored outside the database. Enables
byte stream I/O access to external LOBs residing on the database server. Maximum
size is 4GB.Apart from oracle internal data types, user can create their own data type,
which is used in database and other database object. We will discuss it in the later part.
13
The following are tabular representation of the above entities and relationships
BUS:
COLOUMN NAME DATA TYPE CONSTRAINT
Source varchar2(20)
Destination varchar2(20)
Reservation:
COLOUMN NAME DATA TYPE CONSTRAINT
No-of-seats integer(8)
Address varchar2(50)
14
Ticket:
COLOUMN NAME DATA TYPE CONSTRAINT
Passenger:
COLOUMN NAME DATA TYPE CONSTRAINT
Name varchar2(15)
Age integer(4)
Sex char(10) (Male/Female)
Contact no Number(9) Should be equal to 10 numbers
and not allow other than
numeric
Cancellation:
COLOUMN NAME DATA TYPE CONSTRAINT
Journey-date Date
Seat no Integer(9)
Contact_No Number(9) Should be equal to 10 numbers
and not allow other than
numeric
15
Step1 1
Make sure you already downloaded the MySQL essential 5.0.45 win32.msi file. Double
click on the .msi file.
Step2 2
This is MySQL Server 5.0 setup wizard. The setup wizard will install MySQL Server 5.0
release 5.0.45 on your computer. To continue, click next.
Step3 3
Choose the setup type that best suits your needs. For common program features select Typical
and it’s recommended for general use. To continue, click next.
16
Step4 4
Step5 5
The program features you selected are being installed. Please wait while the setup wizard
installs MySQL 5.0. This may take several minutes.
17
Step6
To continue, click next.
Step7 7
To continue, click next.
18
Step8 8
Wizard Completed. Setup has finished installing MySQL 5.0. Check the configure
the MySQL server now to continue. Click Finish to exit the wizard
d.
Step9 9
The configuration wizard will allow you to configure the MySQL Server 5.0 server instance.
19
Step10 10
Select a standard configuration and this will use a general purpose configuration for the
server that can be tuned manually. To continue, click next.
Step11 11
20
Check on the install as windows service and include bin directory in windows path.
To continue, click next.
Step12 12
Please set the security options by entering the root password and confirm retype the password.
continue, click next.
Step13 13
21
Step14 14
Processing configuration in progress.
22
Step15 15
Configuration file created. Windows service MySQL5 installed. Press finish to close
the wizard.
23
The data definition language is used to create an object, alter the structure of an object and also
drop already created object. The Data Definition Languages used for table definition can be
classified into following:
Table is a primary object of database, used to store data in form of rows and columns.
It is created using following command:
Example:
SQL> create table Bus(Bus_No varchar(5), source varchar(20),
destination varchar(20),CouchType varchar2(10),fair number);
Table Created.
create table for the object-relation feature we will discuss it afterwards.
Desc command
Describe command is external command of Oracle. The describe command is used to view the
FAIR NUMBER
24
Test Outputs:
Date:
Reservation Table:
Test Output:
25
Cancellation Table:
26
Test Output:
Assignment Evaluation
Signature
27
Ticket Table:
SQL> create table Ticket(Ticket_No Numeric(9) primary key, age number(4), sex char(4)
Not null, source varchar(2), destination varchar(20), dep_time varchar(4));
Table created.
SQL> desc Ticket
Name Null? Type
----------------------------------------- -------- ----------------------------
TICKET_NO NOT NULL NUMBER(9)
AGE NUMBER(4)
SEX NOT NULL CHAR(4)
SOURCE VARCHAR2(2)
DESTINATION VARCHAR2(20)
DEP_TIME VARCHAR2(4)
Test Output:
Date:
tigator).
\
Alteration of Table
Addition of Column(s)
Addition of column in table is done using:
28
Deletion of Column
Test output:
29
For Example,
SQL>Alter Table Emp_master set unused column comm;
Test output:
Test output:
30
Modify option is used with Alter table_ when you want to modify any existing column.
Table altered.
Test output:
31
Truncate Table
Or
Constraints
Column Level
Table Level
Example
SQL> create table Ticket ( Ticket_No Numeric(9) , age number(4), sex char(4) Not
null, source varchar(2), destination varchar(20), dep_time varchar(4));
Table created.
Test Output:
32
Check Constraint
Test Output:
33
Unique Constraint
Example:
SQL> create table Ticket(Ticket_No Numeric(9) unique, age number(4), sex char(4) l,
source varchar(2), destination varchar(20), dep_time varchar(4));
Test Output:
34
1 row created.
Test Outpu:
Date:
Example:
SQL> create table vendor_master (ven_code varchar(5), ven_name varchar(20), venadd1
varchar(15), venadd2 varchar(15),vencity varchar(15), constraint pr_com primary key
(ven_code,ven_name));
Table created.
Test Output:
35
Exercise: Apply primary key with alter command on project number of University Database
36
Example:
SQL> create table Passenger(PNR_NO Numeric(9) references reservation , Ticket_NO
Numeric(9) references ticket, Name varchar(20), Age Number(4), Sex char(10), PPNO
varchar(15));
Table created.
Test Output:
SQL> alter table reservation add constraint fk_icode foreign key (busno) references
bus(bus_no);
Table altered.
Test Output:
37
Exercise:Apply Foregin Key Constriant with alter on professor SSN with Department No
Remember that when we add constraint at table level foreign key keyword is must.
a) Insert command
1 row created.
SQL> /
SQL>/
38
SQl>/
SQL>/
SQL> /
39
SQL> /
SQL> /
40
41
SQL> select empno, ename from emp_master where hiredate = ‘1-jan- 00’;
Test Output:
42
SQL>Select*from passenger;
Test Output:
43
DROP Table
create table <table name> as select <columnname(s)> from <existing table name>;
Example
Syntax:
Example
SQL> insert into emp_copy(nm) (select name from emp_master);
Test Output:
44
Syntax
Example:
Table Renamed.
Test Output:
45
46
Example:
SQL> select order_no from order_master union all select order_no from
order_detail.
Test Output:
Test Output:
47
Minus :
Example:
SQL> select order_no from order_master minus select order_no from order_detail;
Test Output:
48
EXAMPLE QUERIES:
1. Display Unique PNR_NO of all Passengers
4. Display the source and destination having journey time more than 10 hours.
SQL> select source, destination from Ticket where Journey_Dur>10;
Test Output:
49
SQL> select Ticket_NO from Passenger where Name like'S%'and name like'%N'; Test Output:
SQL> select Name from Passenger where age between 20 and 40;
Test Output:
50
Test Output:
51
AIM: Practice Queries using Aggregate functions, Group By, Having Clause and Order
Clause.
1) Avg (Average): This function will return the average of values of the column specified in
the argument of the column.
Example:
SQL> select avg(comm) from emp_master;
Test Output:
2) Min (Minimum):
Example:
3) Max (Maximum):
52
Example:
SQL>select max(salary) from emp_master;
Test Output:
5) Count: Syntax:
Count(*) Count(column
name) Count(distinct
column name
Example:
53
54
Group By Clause
Example:
SQL>select deptno,count(*) from emp_master group by deptno;
Test Output:
Having Clause
Example
SQL> select deptno,count(*) from emp_master group by deptno having Deptno is not null;
Test Output:
Example:
SQL> select empno,ename,salary from emp_master order by salary;
Test Output:
55
Example:
SQL> select salary+comm net_sal from emp_master;
Test Output:
56
Test Output:
57
Comparison Operators:
Example:
SQL> select * from emp_master where salary between 5000 and 8000;
Test Output:
IN Operator:
LIKE Operator:
Test Output:
58
OR Operator:
SQL>select * from emp_master where salary > 5000 or comm < 750;
Test Output:
59
60
1) Initcap (Initial Capital): This String function is used to capitalize first character of the
input string.
Syntax: initcap(string)
Example:
2) Lower: This String function will convert input string in to lower case.
Syntax: Lower(string)
Example:
SQL> select lower(‘AZURE’) from dual;
Test Output:
61
Syntax:Upper(string)
Example:
SQL> select upper(‘azure’) from dual;
Test Output:
Example:
SQL>select ltrim(‘azuretech’,’azure’) from dual;
Test Output:
62
Example:
SQL>select rtrim(‘azuretrim’,’trim’) from dual;
Test Output:
6) Translate:
Example:
SQL>select translate(‘abcde’,’xaybzcxdye’,’tanzmulrye’) from dual;
Test Output:
63
Example:
SQL> select replace(‘jack and jue’,’j’,’bl’) from dual;
Test Output:
8) Substr:
Example:
SQL>select substr (‘azuretechnology’,4,6) from dual;
Test Output:
9) Chr:
Syntax: Chr(number)
Test Output:
64
Syntax: Lpad(String,length,pattern)
Example:
Sql > select lpad(‘Welcome’,15,’*’) from dual;
Test Output:
Example:
65
Test Output:
13) Decode:
Syntax: Select decode(column name,if,then,if,then_ ..) from <tablename>;
Example:
SQL> select deptno,decode(deptno,10, ‘Sales’, 20, ‘Purchase’, ‘Account’)
DNAME from emp_master;
Test Output:
Test Output:
66
Numeric Functions:
1) Abs (Absolute):
Syntax: Abs(Negetive Number)
Example:
SQL> select Abs(-10) from dual;
Test Output:
Example:
Test Output:
Example:
SQL>select Floor(45.3) from dual;
Test Output:
67
4) Power:
Syntax: Power(Number, Raise)
Example:
SQL>Select power (5,2) from dual;
Test Output:
Example:
SQL>select Mod(10,3) from dual;
Test Output:
68
69
Date Function:
1) Add_Months:
Syntax: Add_Months(Date,no.of Months)
Example:
SQL> select Add_Months(sysdate,2) from dual;
Test Output:
2) Last_day:
Syntax: Last_day(Date)
Example:
SQL> select sysdate, last_day(sysdate) from dual;
Test Output:
70
3) Months_Between:
Syntax: Months_Between(Date1,Date2)
Example:
Test Output:
4) Next_Day:.
Syntax: Next_Day(Date,Day)
Example:
Test Output:
5) Round:
Syntax: Round (Date, [fmt])
Example:
SQL>Select round(‘4-sep-01’,’day’) ounded_ from dual;
Test Output:
71
6) Trunc (Truncate):
Syntax: Trunc(Date,[fmt])
Example:
SQL>Select Trunc(‘4-sep-01’,’day’) runcated_ from dual;
Test Output:
Conversion Functions:
To_Number(
) To_Char()
To_Date()
To_Number:
Example:
SQL>Select to_number(‘50’) from dual;
Test Output:
72
Syntax: To_char(no,[fmt])
Example:
SQL> select to_char(17145,’$099,999’) har_ from dual;
Test Output:
Syntax: To_char(Date,[fmt])
Example:
SQL>select to_char(hiredate, ‘month dd yyyy’) ireDate_ from emp_master
where salary = 10000;
Test Output:
3) To_Date:
73
Syntax: To_date(char,[fmt])
Example:
SQL>select to_date(’27 January 2000’,’dd/mon/yy’) ate_ from dual;
Test Output:
74
75
76
77
Simple Join :
Example:
SQL> select * from order_master , order_detail where Order_master.order_no =
order_detail.order_no;
Test Output:
SQL> select a.*, b.* from itemfile a, order_detail b where a.max_level< b.qty_ord
and a.itemcode = b.itemcode;
Test Output:
Example:
SQL> select a.ename, a.salary, b.ename, b.salary from emp a, emp b where a.mgr = b.empno;
Test Output:
Outer Join :
Example:
SQL> select * from order_master a, order_detail b where a.order_no = b.order_no(+);
Test Output:
Example:
SQL> select * from order_master where order_no = (select order_no from order_detail where
order_no = ‘O001’);
Test Output:
79
SQL> select * from order_master where order_no = (select order_no from order_detail);
Test Output:
SQL> select * from order_master where order_no in(select order_no from order_detail);
Test Output:
80
itemrate =250);
Test Output:
81
Views
Syntax:Create View <View_Name> As Select statement;
Example:
SQL>Create View EmpView As Select * from Employee;
View created.
Syntax:Select columnname,columnname from <View_Name>;
Example:
For insert/modify:
Test Output:
82
For delete:
Test Output:
View defined from Multiple tables (Which have been created with a Referencing
clause):
Syntax for creating a Master/Detail View (Join View):
SQL>Create View EmpDept_Vw As
View created.
Test Output:
83
Test Output:
84
SQL>Create View EmpCk As Select * from Employee Where Deptno=10 WithCheck Option;
Test Output:
Test Output:
SQL> create view v1 as select * from Passenger full natural join Reservation; View
created.
a) INSERT
86
table.
Test Output:
Client_no ROWID
87
Test Output:
Test Output:
89
PL/SQL Block
declare
<declaration of variables, constants, function, procedure,
cursor etc.>;
begin
<executable statement(s)>;
exception
<exception handling>;
end;
/
Example
Begin
Insert into emp(empno,ename) values(100,’Shruti’);
Insert into emp(empno,ename) values(101,’Yesha’);
End;
/
Test Output:
90
Example
Write a pl/sql program welcome
Test Output:
91
Example
Write a pl/sql program To get the area of the circle provided the radius is given.
Test Output:
92
Example
Write a pl/sql program To get the name and salary of specified employee.
Test Output:
Example
Write a pl/sql program To get the name and salary of specified employee using %type attribute.
Test Output:
93
Example
Write a pl/sql program To get the name and salary of specified employee
using %type attribute
Test Output:
94
Example
Write a pl/sql program Accept Number from a User and display Hello message if the entered
number is Positive.
Test Output:
Write a pl/sql program to Display Salary of a specified employee increasing by 500 if its salary
Write a pl/sql program to Accept number from a user and find out whether it is Odd or Even.
Test Output:
Write a pl/sql program to Accept employee number from a user and increase its salary depends on
the current salary as follows.
Salary Increment
96
Test Output:
Test Output:
Exception Handling
Example
Write a PL/SQL Block to accept employee name from a user if it is exist display its salar y
otherwise display appropriate message using exception handling.
Test Output:
98
Write a PL/SQL Block to display the salary of that employee whose age is 45 year otherwise dis-
99
Example
Write a PL/SQL Block to insert add one row in employee table with employee number and
name.Display appropriate message using exception handling on duplication entry of employee
number.
Test Output:
100
Example
Create or replace trigger upperdname before insert or update
on dept for each row
Test Output:
101
Examples:
Create of insert trigger, delete trigger and update trigger.
Test Output:
SQL> @trigger
Trigger created.
102
103
104
105
106
Aim:
a) To write a Cursor to display the list of Male and Female Passengers.
Test Output:
Test Output:
107
108
Test Output:
109
Example
Make a procedure, which will accept a number and return it’s Square.
Test Output:
110
Example
Create a Procedure, which receives employee number and display emplo yee
name, Designation and salary.
SQL>exec empdata(1051)
Test output:
Example
Write a PL/SQL block, which will use a user-defined procedure, which accept employee
number and return employee name and department name in a out parameter.
Test output:
111
Example
Create a procedure, which receives department number and get total Salary of that
Test output:
Example
Write procedure to accept Department number and display Name, Designation and Age of
each employee belonging to such Department.
Test output:
112
Signature of the
incharge
Date:
SQL>exec dept_list(20);
Test output:
Example
Create a procedure, which will accept Deptno and Display no of employee under different
grade.
Test output:
113
SQL>exec empcount(30);
Test output:
114
Example
Create a function to get cube of passed number
Test output:
Example
Write a Function to find out maximum salary for the passed designation.
Test output:
115
116
Example
Write a Function to find out Total salary for the passed department Name.
Test output:
Example
Write a function to check whether passed number is Odd or Even.
Test output:
117
118
Example
Write a Function to find out total annual income for the employee, who’s number we passed.
Test output:
Test output:
119
Example
Create a function, which receives three arguments, first two as a number and third as a
arithmetic.
Test output:
120
Additional Experiments:
1. Create relations for the following schemas and write queries for retrieving
data. Student(sid,sname,address)
Course(cid,cname,fee)
Enrolled(cid,sid,doj)
manages(did,eid,day)
3. Create relations for the following schemas and write quaries for
retrieving. Professor ( SSN,Nmae,Age,Rank)
4. Create relations for the following schemas and write queries for retrieving
data. and apply key constraints
5. Create relations for the following schemas and write queries for
retrieving data. and apply key constraints
Sailors
(sid,sname,rating,age)
Boats( bid,bname,color)
Reserves(sid,bid,day)
6. Create relations for the following schemas and write queries for retrieving
data. and apply key constraints
Flights(flno,from,to,distance,departs,arrives)
Aircraft(aid,anme,cruisingrange)
Certified(eid,aid)
Employees(eid,enmae,salary)
121
JAVA PROGRAMMING
LABORATORY MANUAL
B.TECH
(II YEAR – II SEM)
(2016-17)
Objectives:
Outcomes:
Upon successful completion of this course, the students will be able to:
• Able to analyze the necessity for Object Oriented Programming
paradigm and over structured programming and become familiar with
the fundamental concepts in OOP.
• Demonstrate an ability to design and develop java programs, analyze,
and interpret object oriented data and report results.
• Demonstrate an ability to design an object oriented system,
AWT components or multithreaded process as per needs and
specifications.
• Demonstrate an ability to visualize and work on laboratory and
multidisciplinary tasks like console and windows applications both for
standalone and Applets programs
INDEX
Page
S.No List of programs
no
Write a java program to find the Fibonacci series using recursive and non
1. 1
recursive functions
2. Write a java program to multiply two given matrices. 3
Write a java program that reads a line of integers and displays each integers and
3. 5
the sum of all integers use String Tokenizer
4. Write a java program that checks whether a given string is palindrome or not 6
A) Write an applet program that displays a simple message 7
5.
B)Write a Java program compute factorial value using Applet 8
Write a java program that works as a simple calculator. Use a Grid Layout to
6. arrange Buttons for digits and for the + - * % operations. Add a text field to 11
display the result.
7. Write a Java program for display the exception in a message dialog box 14
Write a Java program that implements a multi-thread application that has three
8. 16
threads
A)Write a java program that connects to a database using JDBC 18
B)Write a java program to connect to a database using JDBC and insert values
9. into it 19
C): Write a java program to connect to a database using JDBC and delete
20
values from it
10. Write a java program to simulate a traffic light 22
Write a java program to create an abstract class named shape that contains an
empty method named number of sides (). Provide three classes named
11. trapezoid, triangle and Hexagon such that each one of the classes extends the 24
class shape. Each one of the class contains only the method number of sides ()
that shows the number of sides in the given geometrical figures.
12. Write a java program to display the table using labels in Grid layout 26
14. Write a Java program loads phone no, name from a text file using hash table 30
Implement the above program to load phone no, name from database instead
15. of text file 31
Write a Java program that takes tab separated data from a text file and inserts
16. them into a database. 33
17. Write a Java program that prints the meta-data of a given table 35
PROGRAM -1 Date:
Aim: Write a java program to find the Fibonacci series using recursive and non
recursive functions
Program:
//Class to write the recursive and non recursive functions.
class fib
{
int a,b,c;
// Non recursive function to find the
Fibonacci series. void nonrecursive(int n)
{
a=0;
b=1;
c=a+b;
System.out.print(b);
while(c<=n)
{
System.out.print(c);
a=b;
b=c;
c=a+b;
}
}
// Recursive function to find the Fibonacci
series. int recursive(int n)
{
if(n==0)
return (0);
if(n==1)
return (1);
else
return(recursive(n-1)+recursive(n-2));
}
}
// Class that calls recursive and non recursive functions
. class fib1
{
public static void main(String args[])
{
int n;
// Accepting the value of n at run
time. n=Integer.parseInt(args[0]);
System.out.println("the recursion using non recursive is"); // Creating object for
the fib class.fib f=new fib();
// Calling non recursive function of
fib class. f.nonrecursive(n);
System.out.println("the recursion using recursive is"); ffor(int i=0;i<=n;i++)
{
// Calling recursive function of fib class. int
F1=f.recursive(i); System.out.print(F1);
}
}
}
1|Page
EXERCISE:
1. Write a java program to print the multiplication table .
2.Write a java program to find the Factorial of a given integer using recursive and
non recursive functions
2|Page
PROGRAM -2 Date:
Aim: Write a java program to multiply two given matrices.
// Class to find multiplication
of matrices. class matri
{
public static void main(String args[])
{
// Accept the number of rows and columns at
run time. int m=Integer.parseInt(args[0]);
int n=Integer.parseInt(args[1]);
// Initialize the arrays.
int a[][]=new int[m][n]; int b[][]=new int[m][n]; int c[][]=new int[m][n]; int i=2;
// Loop to accept the values into a
matrix. for(int j=0;j<m;j++)
{for(int k=0;k<n;k++)
{
a[j][k]=Integer.parseInt(args[i]);
i++;
}
}
// Loop to accept the values into
b matrix. for(int j=0;j<m;j++)
{
for(int k=0;k<n;k++)
{
b[j][k]=Integer.parseInt(args[i]);
i++;
}
}
// Loop to multiply two matrices .
for(int j=0;j<m;j++)
{
for(int k=0;k<n;k++)
{
c[j][k]=0;
for(int l=0;l<m;l++)
{
c[j][k]=c[j][k]+(a[j][l]*b[l][k]);
}
}
}
// Loop to display the result
. for(int j=0;j<m;j++)
{
for(int k=0;k<n;k++)
{
System.out.print(c[j][k]);
}
System.out.println();
}
}
}
3|Page
4|Page
PROGRAM -3 Date:
Aim: Write a java program that reads a line of integers and displays each integers
and the sum of all integers use String Tokenizer. Program:
// Class to accept integers and find the sum using StringTokenizer //class.
public class TokenTest1
{
public static void main( String args[] )
{
// Accept the values at run time.
Scanner scanner = new Scanner( System.in );
System.out.println( "Enter sequence of integers (with space between them) and
press Enter" );
// Getting the count of integers that were
entered. String digit = scanner.nextLine();
// Creating object of StringTokenizer class.
StringTokenizer tokens = new StringTokenizer( digit); int i=0,dig=0,sum=0,x;
// Loop to determine the tokens and find the
sum. while ( tokens.hasMoreTokens() )
{
String s=tokens.nextToken(); dig=Integer.parseInt(s);
System.out.print(dig+""); sum=sum+dig;
}
6|Page
PROGRAM -5 A) Date:
EXERCISE:1.Write an applet program that accepts an integer and display the factorial of
a given integer. 2Write an applet program that accepts an integer and display the prime
numbers up to that given integer.
7|Page
PROGRAM -5 B Date:
Aim: Write a Java program compute factorial value using Applet
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class FactorialApplet extends Applet implements ActionListener
{
/*<applet code="FactorialApplet" height=300 width=300>
</applet>*/
Label l1,l2;
TextField t1,t2;
Button b1;
public void init()
{
setLayout(new FlowLayout(FlowLayout.LEFT));
l1=new Label("Enter the value:");
add(l1);
t1=new TextField(10);
add(t1);
l2=new Label("Factorial value is:");
add(l2);
t2=new TextField(10);
add(t2);
b1=new Button("Compute");
add(b1);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
if((e.getSource())==b1)
{
int value=Integer.parseInt(t1.getText());
int fact=factorial(value);
t2.setText(String.valueOf(fact));
}
}
int factorial(int n)
{
if(n==0)
return 1;
else
return n*factorial(n-1);
}
}
8|Page
Exercise: write an applet program for displaying the circle in green color.
9|Page
PROGRAM -6 Date:
Aim: Write a java program that works as a simple calculator. Use a Grid Layout to arrange
Buttons for digits and for the + - * % operations. Add a text field to display the result.
Program:
import javax.swing.*;
import javax.swing.JOptionPane; import
java.awt.*; import java.awt.event.*;
n7.addActionListener(this);
n8=new JButton("8");
panel.add(n8);
n8.addActionListener(this);
n9=new JButton("9");
10 | P a g e
panel.add(n9);
n9.addActionListener(this);
div=new JButton("/");
panel.add(div);
div.addActionListener(this);
n4=new JButton("4");
panel.add(n4);
n4.addActionListener(this);
n5=new JButton("5");
panel.add(n5);
n5.addActionListener(this);
n6=new JButton("6");
panel.add(n6);
n6.addActionListener(this);
mul=new JButton("*");
panel.add(mul);
mul.addActionListener(this);
n1=new JButton("1");
panel.add(n1);
n1.addActionListener(this);
n2=new JButton("2");
panel.add(n2);
n2.addActionListener(this);
n3=new JButton("3");
panel.add(n3);
n3.addActionListener(this);
minus=new JButton("-");
panel.add(minus);
minus.addActionListener(this);
dot=new JButton(".");
panel.add(dot);
dot.addActionListener(this);
n0=new JButton("0");
panel.add(n0); n0.addActionListener(this);
equal=new JButton("=");
panel.add(equal);
equal.addActionListener(this);
plus=new JButton("+");
panel.add(plus);
plus.addActionListener(this);
add(panel);
}
// Implementing method in ActionListener.
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==n1)
assign("1");
else if(ae.getSource()==n2)
assign("2");
else if(ae.getSource()==n3)
assign("3");
else if(ae.getSource()==n4)
11 | P a g e
assign("4");
else if(ae.getSource()==n5)
assign("5");
else if(ae.getSource()==n6)
assign("6");
else if(ae.getSource()==n7)
assign("7");
else if(ae.getSource()==n8)
assign("8");
else if(ae.getSource()==n9)
assign("9");
else if(ae.getSource()==n0)
assign("0");
else if(ae.getSource()==dot)
{
if(((result.getText()).indexOf("."))==-1) result.setText(result.getText()+"."); }
else if(ae.getSource()==minus)
{
preRes=Double.parseDouble(result.getText()); lastCommand="-";
result.setText("0");
}
else if(ae.getSource()==div)
{
preRes=Double.parseDouble(result.getText());
lastCommand="/";
result.setText("0");
}
else if(ae.getSource()==equal)
{
secVal=Double.parseDouble(result.getText());
if(lastCommand.equals("/"))
res=preRes/secVal;
else if(lastCommand.equals("*"))
res=preRes*secVal;
else if(lastCommand.equals("-"))
res=preRes-secVal;
else if(lastCommand.equals("+"))
res=preRes+secVal;
result.setText(" "+res); lastCommand="=";
}
else if(ae.getSource()==mul)
{
preRes=Double.parseDouble(result.getText());
lastCommand="*";
result.setText("0");
}
else if(ae.getSource()==plus)
{
preRes=Double.parseDouble(result.getText());
lastCommand="+";
result.setText("0");
}
}
12 | P a g e
}
Calculator.html:
<applet code="Calculator" width=200 height=300> </applet>
13 | P a g e
PROGRAM -7 Date:
14 | P a g e
}
}
15 | P a g e
PROGRAM -8 Date:
Aim: Write a Java program that implements a multi-thread application that has three threads
Program:
}
System.out.println(name+""+"exiting");
}
}
// Class that takes the thread name and run the main
thread. class multithread
{
public static void main(String args[
]) { // Creating child threads.
new NewThread("one"); new NewThread("two");
new NewThread("three");
// Block that may generate the
exception. try
{
for(int i=5;i>0;i--)
{
System.out.println("main thread"+i);
Thread.sleep(10000);
}
}
16 | P a g e
17 | P a g e
PROGRAM -9 A) Date:
Aim: Write a java program that connects to a database using JDBC
Program:
import java.sql.Connection;
import java.sql.DriverManager;
public class PostgreSQLJDBC
{
public static void main(String args[])
{
Connection c = null;
try {
Class.forName("org.postgresql.Driver");
c = DriverManager .getConnection("jdbc:postgresql://localhost:5432/testdb",
"postgres", "123");
} catch (Exception e) { e.printStackTrace();
System.err.println(e.getClass().getName()+":
"+e.getMessage()); System.exit(0);
}
System.out.println("Opened database successfully");
}
}
18 | P a g e
Program
B): Write a java program to connect to a database using JDBC and insert values into it
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class PostgreSQLJDBC
{
public static void main(String args[])
{
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.postgresql.Driver");
c = DriverManager
.getConnection("jdbc:postgresql://localhost:5432/testdb",
"manisha", "123");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
String sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
+ "VALUES (1, 'Paul', 32, 'California',
20000.00 );"; stmt.executeUpdate(sql);
stmt.close();
c.commit();
c.close();
} catch (Exception e) {
System.err.println( e.getClass().getName()+": "+ e.getMessage()
); System.exit(0);
}
System.out.println("Records created successfully");
}
}
19 | P a g e
Program
C): Write a java program to connect to a database using JDBC and delete values
from it import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
stmt = c.createStatement();
String sql = "DELETE from COMPANY where
ID=2;"; stmt.executeUpdate(sql);
c.commit();
ResultSet rs = stmt.executeQuery( "SELECT * FROM COMPANY;"
); while ( rs.next() ) {
20 | P a g e
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println( "ID = " + id );
System.out.println( "NAME = " + name );
System.out.println( "AGE = " + age );
System.out.println( "ADDRESS = " + address );
System.out.println( "SALARY = " + salary );
System.out.println();
}
rs.close();
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName()+": "+ e.getMessage()
); System.exit(0);
}
System.out.println("Operation done successfully");
}
}
21 | P a g e
22 | P a g e
EXERCISE:
Write a java program that lets the user select one the three options: IT, CSE or ECE.
When a radio button is selected, the radio button is turned on and only one option can be
on at a time no option is on when program starts.
23 | P a g e
Aim: Write a java program to create an abstract class named shape that contains an empty
method named number of sides (). Provide three classes named trapezoid, triangle and
Hexagon such that each one of the classes extends the class shape. Each one of the class
contains only the method number of sides () that shows the number of sides in the given
geometrical figures.
Program:
}
}
// Class that create objects and call
the method. class ShapeDemo
{
public static void main(String args[])
{
Trapezoid obj1 = new Trapezoid();
Triangle obj2 = new Triangle();
Hexogon obj3 = new Hexogon();
obj1.numberOfSides();
obj2.numberOfSides();
obj3.numberOfSides(); }
}
24 | P a g e
25 | P a g e
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
public class TableDemo extends JFrame
{
int i=0;
int j=0;
Object TabData[][]=new Object[5][2];
JTable mytable;
FileInputStream fr;
DataInputStream in;
public TableDemo()
{
String str=" ";
Container contentpane=getContentPane();
contentpane.setLayout(new BorderLayout());
final String[] Column={","};
try
{
FileInputStream fr=new FileInputStream("table.txt");
DataInputStream in=new DataInputStream(fr);
if((str=in.readLine())!=null)
{
StringTokenizer s=new StringTokenizer(str,",");
while(s.hasMoreTokens())
{
for(int k=0;k<2;k++)
{
Column[k]=s.nextToken();
}
}
}
while((str=in.readLine())!=null)
{
StringTokenizer s=new StringTokenizer(str,",");
while(s.hasMoreTokens())
{
for(j=0;j<2;j++)
{
TabData[i][j]=s.nextToken();
}
i++;
}
}
}catch(Exception e)
{
System.out.println(e.getMessage());
}
26 | P a g e
mytable=new JTable(TabData,Column);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED; int
h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
JScrollPane scroll=new JScrollPane(mytable,v,h);
contentpane.add(scroll,BorderLayout.CENTER);
}
public static void main(String args[])
{
TableDemo t=new TableDemo();
t.setSize(300,300);
t.setVisible(true);
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
27 | P a g e
28 | P a g e
repaint();
}
mouseevent.html:
EXERCISE:
1.Write a java program for handling KEY BOARD events.
29 | P a g e
Exercise:
Write a Java program loads list of student names and roll numbers from a text file
30 | P a g e
stmt = c.createStatement();
String sql = "CREATE TABLE COMPANY " +
"(ID INT PRIMARY KEY NOT NULL," +
" NAME TEXT NOT NULL, " +
" AGE INT NOT NULL, " +
" ADDRESS CHAR(50), " +
" SALARY REAL)";
stmt.executeUpdate(sql);
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName()+": "+ e.getMessage()
); System.exit(0);
}
System.out.println("Table created successfully");
}
}
Three test outputs:
31 | P a g e
/**
* Creating a buffered reader to read the
file */
BufferedReader bReader = new BufferedReader( new
FileReader(dataFileName));
String
line; /**
* Looping the read block until all lines in the file
are read. */
while ((line = bReader.readLine()) != null) {
/**
* Splitting the content of tabbed separated
line */
String datavalue[] = line.split("\t");
String value1 = datavalue[0];
String value2 = datavalue[1];
int value3 = Integer.parseInt(datavalue[2]);
double value4 = Double.parseDouble(datavalue[3]);
/**
* Printing the value read from file to the
console */
System.out.println(value1 + "\t" + value2 + "\t" + value3 + "\t"
+ value4);
}
bReader.close();
}
32 | P a g e
Exercise:
Write a program to reverse the specified n number of characters from the given text file
and insert the data into database.
33 | P a g e
}else{
System.out.println("Could not Get Connection");
}
}
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try {
con = DriverManager.getConnection(url, userid,
password); } catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
return con;
}
34 | P a g e
Exercise: Write a Java program that prints the meta-data of a given hash table.
35 | P a g e