Professional Documents
Culture Documents
th
Generation
Programming
Languages
By: Meisam Mousavi (116722)
Presentation Overview
Additional Components
Page 1 Of 33
5 Classes Of
Programming Languages
First Generation
Machine Language
Second Generation
Assembly Language
Third Generation
Fourth Generation
Fifth Generation
4th Generation
Programming Languages
A fourth-generation programming
History Of 4GL
The term 4GL was according to James Martin first
Page 4 Of 33
Why 4GL?
Programming effort
They can be easily learnt since there are
relatively few commands, functions and
structures.
Page 5 Of 33
Why 4GL?
The time it takes to develop software
Additional Components
Some 4GLs have integrated tools which allow for
the easy specification of all the required
information.
Page 8 Of 33
4GL In Action
Database query languages:
SQL
Oracle SQL*Plus
Progress 4GL
AVS
APE
Iris Explorer
Data-stream languages:
Screen painters and generators:
Oracle Forms
Page 10 Of 33
4GL In Action
Report Generators:
Oracle Reports
LINC
GEMBase
BuildProfessional
Informix-4GL
Focus
Metafont
RPG-II
S
IDL-PV/WAVE
Gauss
Mathematica
Page 11 Of 33
Oracle
As A 4GE
Page 12 Of 33
FOURTH GENERATION
ENVIRONMENT (4GE) ?
In order to provide an environment
4GE Components
Typical 4GE components:
END-USER QUERY LANGUAGE (e.g. SQL),
SCREEN FORMATTER (e.g. Oracle's
screen painter in SQL*Forms),
REPORT GENERATOR.
Page 14 Of 33
4GE Components
DATA DICTIONARY :
Page 15 Of 33
DBMS Rules
The database management system
performs two functions:
Page 16 Of 33
Oracle as a 4GE
SQL*Plus Allows users to create and manipulate tables using SQL.
SQL*Forms An interactive applications generator for creating advanced,
forms-based applications.
SQL*Loader A module to simplify the process of the entry of large
quantities of data into tables.
SQL*Report A module for generating complex reports.
SQL*Menu A module to enable the coordination of forms by an
interactive menuing system.
SQL*DD Design Dictionary - a structured system to monitor and control
the development from the initial analysis to running and maintenance.
EASY*SQL An interface for inexperienced users of SQL using a mouse
and screen graphics.
SQL*Calc An Excel compatible spreadsheet that may use database data;
the spreadsheet cells can call SQL statements.
SQL*Graph Provides a graphical representation of data retrieved from
the database.
SQL*Text A module for creating a forms interface to large text databases.
Page 17 Of 33
SQL
Page 18 Of 33
Select
Create View
Update Commands
Insert
Delete
Update
Page 19 Of 33
Page 20 Of 33
where:
Page 21 Of 33
Modification of the
Database
Delete all account records at the Perryridge branch
delete from account
where branch-name = Perryridge
Increase all accounts with balances over $10,000 by 6%, all other
accounts receive 5%.
update account
set balance = balance 1.06
where balance > 10000
Page 22 Of 33
maximum length n.
int. Integer (a finite subset of the integers that is machine-dependent).
smallint. Small integer (a machine-dependent subset of the integer
domain type).
numeric(p,d). Fixed point number, with user-specified precision of p
digits, with n digits to the right of decimal point.
real, double precision. Floating point and double-precision floating
point numbers, with machine-dependent precision.
float(n). Floating point number, with user-specified precision of at
least n digits.
Null values are allowed in all the domain types. Declaring an attribute
to be not null prohibits null values for that attribute.
create domain construct in SQL-92 creates user-defined domain types
create domain person-name char(20) not null
Page 23 Of 33
time 09:00:30.75
Page 24 Of 33
Entity Management
Commands
An SQL relation is defined using the create table command:
create table branch
(branch-name
char(15) not null,
branch-city
char(30),
assets integer)
The drop table command deletes all information about the dropped
relation from the database.
Page 25 Of 33
Embedded SQL
The SQL standard defines embeddings of SQL in a variety of
programming languages such as Pascal, PL/I, Fortran, C,
and Cobol.
Dynamic SQL
Allows programs to construct and submit SQL queries at run
time.
Microsoft
English Query
Page 28 Of 33
How it works?
Page 30 Of 33
References
Page 31 Of 33
Thanks
For
Attention!
Page 32 Of 33