Crossword Puzzle - Question Words
Crossword Puzzle - Question Words
Crossword Puzzle - Question Words
1.0 INTRODUCTION
Since 1960s, Data Base Management Systems (DBMS) have been widely used in data processing
environment. The support of characteristics such as data sharing, independence, consistency,
integrity is the main reason for its success which traditional file management system does not
inherently offer.
A database system is usually organised according to a data model. In the previous block, we
discussed three most popular models: hierarchical, network and relational. The difference among all
these three models is in the way of organising records, although they are record based. They were
mainly designed to process large amount of relatively simple and fixed format data. DBMS based on
these models along with sophisticated indexing and query optimization techniques have served
business oriented database application especially well.
RDBMSs were originally designed for mainframe computer and business data processing
applications. Moreover, relational systems were optimized for environments with large number of
users who issue short queries. But today's application has moved from centralised mainframe
computer to networked workstation on every desk. These applications include computer aided
design (CAD), multimedia system, software engineering (design of complex project), knowledge
database (to be discussed in unit 3 of this block). These operations require complex operations and
data structure representation. For example, a multimedia database may contain variable length text,
graphics, images, audio and video data. Finally a knowledge base system requires data rich in
semantics.
Existing commercial DBMS, both small and large scale have proven inadequate for these
applications. The traditional database notion of storing data in two-dimensional tables or in
flat files breaks down quickly in the face of complex data structures and data types used in
today's applications.
Research to model and process complex data has gone in two directions:
(a) extending the functionality of RDBMS
(b) developing and implementing OODBMS that is based on object oriented
programming paradigm.
OODBMSs are designed for use in today's application areas such as multimedia, CAD, office
automation, etc. In this unit, we will touch up some of the basic issues related to OODBMS. 5
Emerging Trends in Database
Management System
1.1 OBJECTIVES
The goal of these new DBMS is to support a much wider range of data intensive applications
in engineering, graphic representation-scientific and medical. These new DBMS can also
support new generations of traditional business applications.
6
Introduction to Object Oriented
In general, these applications require the representation of complex data elements as Database Management System
well as complex relationships among them. Users in these environments have found
relational technology inadequate in terms of flexibility, modeling power, and efficiency.
Object
The term object means a combination of dam and program that represents some real-world
entity. For example, consider an employee named Amit; Amit is 25 years old, and his salary
is $25,000. Then Amit may be represented in a computer program as an object. The data part
of this object would be (name: Amit, age: 25, salary: $25,000). The program part of the
object may be a collection of programs (hire, retrieve the data, change age, change salary,
fire. The data part consists of data of any type- For the Amit object, suing is used for the
name, integer for age; and monetary for salary; but in general, even any user-defined type,
such as Employee, may be used. In the Amit object, the name, age, and salary are called
attributes of the object.
Encapsulation
Often, an object is said to encapsulate data and program. This means that the users
cannot see the inside the object but can use the object by calling the program part of
the object. This is not much different from procedure calls in conventional programming;
the users call a procedure by supplying values for input parameters and receive results in
output parameters.
Amit, Ankit and Anup are each an Employee object. The data part of each of these objects
consists of the attributes Name, Age and salary. Each of these Employee objects has the same
program part (hire, retrieve the data, change age, change salary, fire). Each program in the
program part is called a method. The term class refers to the collection of all objects that
have the same attributes and methods. In our example, the Amit, Ankit anti Anup objects
belong to the class Employee since they all have the same attributes and methods. This class
may be used as the type of an attribute of any object. At this lime, there is only one class in
the system namely, the class Employee; and three objects that belong to the class namely
Amit, Ankit and Anup objects.
• If the users define many classes, and each class has many attributes and methods,
the benefit of sharing not only the attributes but also the programs can be dramatic.
The attributes and programs need not be defined and written from scratch. New
classes can be created by adding attributes and methods of existing classes, thereby
reducing the opportunity to introduce new errors to existing classes.
1.5 PROMISES OF OBJECT ORIENTED SYSTEMS
Object-oriented systems make these promises:
• Reduced maintenance
The primary goal of object-oriented development is the assurance that the system
will enjoy a longer life while having far smaller maintenance costs. Because most of
the processes within the system are encapsulated, the behaviours may be reused and
incorporated into new behaviours.
• Real-world modeling
Object-oriented systems tend to model the real world in a more complete fashion
than do traditional methods. Objects are organised into classes of objects, and
objects are associated with behaviours. The model is based on objects rather than on
data and processing.
• Improved reliability
Object-oriented systems promise to be far more reliable than traditional systems,
primarily because new behaviours can be built from existing objects.
9
Emerging Trends in Database database support, object-oriented databases afford the possibility of offering expert system
Management System functionality with much better performance.
Object-oriented databases offer benefits over current hierarchical and relational database models.
They enable support of complex applications not supported well by the other models. They enhance
programmability and performance, improve navigational access, and simplify concurrency control.
They lower the risks associated with referential integrity, and they provide a better user metaphor
than the relational model.
Object-oriented databases by definition allow the inclusion of more of the code (i.e. the object's
methods) in the database itself. This incremental knowledge about the application has a number of
potential benefits of the database system itself, including the ability to optimize query processing and
to control the concurrent execution of transactions.
Since objects contain direct references to other objects, complex data set can be efficiently assembled
using these direct references. The ability to search by direct references significantly improves
navigational access. In contrast, complex data sets in relational databases must be assembled by the
application program using the slow process of joining tables.
For the programmer, one of the challenges in building a database is the data manipulation language
(DML) of the database. DMLs for relational databases usually differ from the programming language
used to construct the rest of the application. This contrast is due to differences in the programming
paradigms and mismatches of type systems. The programmer must learn two languages, two tool sets,
and two paradigms because neither alone has the functionality to build an entire application. Certain
types of programming tools such as application generators and fourth-generation languages (4GLs)
have emerged to produce code for the entire application, thereby bridging the mismatch between the
programming language and the DML, but most of these tools compromise the application programming
process.
With object-oriented databases much of this problem is eliminated. The DML can be extended so that
more of the application can be "written in the DML. Or an object-oriented application language, of
example C++ can be extended Lo be the DML. More or the application can be built into the database
itself. Movement across the programming interface between the databases the application then occurs
in a single paradigm with a common set of tools, Class libraries can also assist the programmer in
speeding the creation of databases. Class libraries encourage reuse of existing code and help to
minimise the cost of later modifications. Programming is easier because the data structures model the
problem more closely. Having the data and procedures encapsulated in a single object makes it less
likely that a change to one object will affect the integrity of other objects in the database.
Concurrency control is also simplified with an object-oriented database. In a relational database, the
application needs to lock each record in each table explicitly because related data re-represented
across a number of tables. Integrity, a key requirement for databases, can be better supported with an
object-oriented database, because the application can lock all the relevant data in one operation.
Referential integrity is better supported in an object-oriented database because the pointers are
maintained and updated by the database itself. Finally, object-oriented databases offer a better user
metaphor than relational databases. The tuple or table, although enabling a well-defined
implementation strategy, is not an intuitive modeling
10
Introduction to Object Oriented
framework, especially outside the domain o f numbers. Objects offer a more natural and Database Management System
encompassing modeling metaphor.
• RDBs force the users to represent hierarchical data (or complex nested data or
compound data) such as bill of materials in terms of tuples in multiple relations.
This is awkward to start with. Further, to retrieve data thus spread out in multiple
relations. RDBs must resort to joins, a generally expensive operation. The data
type of an attribute of an object in OOPLs may be a primitive type or an arbitrary
user-defined type (class). The fact that an object may have an attribute whose value
may be another object naturally leads to nested object representation, which in turn
allow hierarchical data to be naturally (i.e., hierarchically) represented.
• RDBs offer a set of primitive built-in data types for use as domains of columns of
relation, but they do not offer any means of adding user-defined data types. The
built-in data types arc basically all numbers and short symbols. RDBs are not
designed to allow new data types to be added and therefore often require major
surgery to the system architecture and code to add any new data type. Adding a new
data type to a database system means allowing its use as the data type of an attribute -
that is, storage of data of that type, querying, and updating of such data. Object
encapsulation in OOPLs does not impose any restriction on the types of data that the
data may be primitive types or user-defined types. Further, new data types may be
created as new classes, possibly even as subclasses of existing classes, inheriting
their attributes and methods.
• Object encapsulation is the basis for the storage and management of programs as
well as data in the database. RDBs now support stored procedures—that is, they
allow programs to be written in some procedural language and stored in the
database for later loading and execution. However, the stored procedures in RDBs
are not encapsulated with data--.that is, they are not associated with any relation or
any tuple of a relation. Further, since RDBs do not have the inheritance
mechanism, the stored procedures cannot automatically be reused.
The object model supports browsing of object class libraries, which allows the reuse, rather 11
Emerging Trends in Database than the reinvention, of commonly used data elements. Objects in an OODB survive
Management System multiple sessions; they are persistent If you delete an object stored in a relational database,
other objects may be left with references to die deleted one and may now be incorrect The
integrity of the data thus becomes suspect and creates inconsistent versions.
In the relational database, complex objects must be broken up and stored in separate tables.
This can only be done in a sequential procedure with the next retrieval replying on the
outcome of the previous. The relational database does not understand a global request and
thus cannot optimise multiple requests; OQDBs can issue a single message (request) that
contains multiple transactions.
The relational model, however, suffers at least one major disadvantage. It is difficult to
express the semantics of complex objects with only a table model for data storage. Although
relational databases are adequate for accounting or other typical transaction-processing
applications where the data types are simple and few in number, the relational model offers
limited help when data types become- numerous and complex.
Object-oriented databases are favored for applications where the relationships among
elements in the, database carry the key information, Relational databases are favored when
the values of the database elements carry die key information. That is, object-oriented models
capture the structure of the data; relational models organise the data itself. If a record
can be understood in isolation, then the relational database is probably suitable. If a record
makes sense only in the context of other records, then an object-oriented database is more
appropriate.
Engineering and technical applications were the first applications to require databases that
handle complex data types and capture the structure of the data. Applications such as
mechanical and electrical computer-aided design (MCAD and ECAD) have always used
nontraditional forms of data, representing such phenomena as three-dimensional images and
VLSI circuit designs. Currently these application programs store their data in
application-specific file structures. The data-intensiveness of these applications is not only
in the large amount of data that need to be programmed into the database, but in the
complexity of the data itself. In these design-based applications, relationships among
elements in the database carry key information for the user. Functional requirements for
complex cross references, structural dependences, and version management all require a
richer representation than what is provided by hierarchical or relational databases.
Check Your Progress
1. What are the drawbacks of current commercial databases?
………………………………………………………………………………………………….
………………………………………………………………………………………………….
…………………………………………………………………………………………………..
…………………………………………………………………………………………………..
2. What is the meaning of multi-media data?
………………………………………………………………………………………………….
………………………………………………………………………………………………….
…………………………………………………………………………………………………..
…………………………………………………………………………………………………..
3. List few requirements for multi-media data management.
………………………………………………………………………………………………….
………………………………………………………………………………………………….
…………………………………………………………………………………………………..
12
Introduction to Object Oriented
1.9 ALTERNATIVE OBJECT-ORIENTED DATABASE Database Management System
STRATEGIES
There are at least six approaches for incorporating object orientation capabilities in
databases:
1. Novel database data model/data language approach: The most aggressive approach is to
develop entirely new database language and database management system with object
orientation capabilities. Most of the research projects in object-oriented databases have pursued
this approach. In the industry introduces novel DML (Data Manipulation Language) and DDL
(Data Definition Language) constructs for a data model based on semantic and functional data
models.
2. Extending an existing database language with object orientation capabilities: A number of
programming languages have been extended with object-oriented constructs. C++ flavors (an
extension of LISP), and Object Pascal arc examples of this approach in programming
languages. It is conceivable to follow a similar strategy with database languages. Since SQL is
a standard and the most popular database language, the most reasonable solution is to extend
this language with object-oriented constructs, reflecting the object orientation capabilities of
underlying database management system. This approach being pursued by most vendors of
relational systems, as they evolve the next generation products. There have been many such
attempts incorporating inheritance, function composition for nested entities, and even some
support of encapsulation in an SQL framework.
3. Extending on existing object-oriented programming language with database
capabilities: Another approach is to introduce database capabilities to an existing object-
oriented language. The object orientation features abstract data typing, inheritance, object
identity-will already be supported by the object-oriented language. The extensions will
incorporate database features (querying, transaction support, persistence, and so on).
4. Embedding object-oriented database language constructs in a host (conventional)
language: Database languages can be embedded in host programming languages. For example,
SQL statements can be embedded in PL/1 C, FORTRAN and Ada. The types of SQL (that is
relations and rows in relations) are quite different from the type systems of these host
languages. Some object-oriented databases have taken a similar approach with a host language
and an object-oriented database language.
1.10 SUMMARY
During the past decade, object oriented technology has found its way into database user interface,
operating system, programming languages, expert system and the like. Object Oriented database
product is already in the market for several years and several vendors of RDBMS are now
declaring that they will extend their products with object oriented capabilities. In spite of all these
claims there is no wide acceptability of OODBMS because of lack of industry standard. This
technology is still evolving and takes some more time to get fully settled.
Most of the current commercial database systems suffer from an inability to manage
arbitrary types of data, arbitrary large data and data stored on devices other than
magnetic disks. They understand a relatively limited set of data types such as integer,
real data, monetary unit, short strings. Further they are not designed to manage data
stored on such increasingly important storage devices such as CD-ROM and Videodisks.
Broadly, multimedia data means arbitrary data types and data from arbitrary data sources.
Arbitrary data types include the numeric data and short string data supported in conventional
database systems; large unstructured data, such as charts, graphs, tables, and arrays; and
compound documents that are comprised of such data. Arbitrary data
13
Emerging Trends in Database sources include a native database; external (remote) databases; host file base; data input,
Management System storage, and presentation (output) devices; and even data generating and
data-consuming programs (such as a text processing system).
3a) The ability to represent arbitrary data types (including compound documents) and
specification of procedures (programs) that interact with arbitrary data sources.
3b) The ability to query, update, insert and delete multimedia data (including retrieval of
multimedia data via associative search within multimedia data; minimally, text).
3c) The ability to specify and execute abstract operations on multimedia data; for example,
to play, fast forward, pause, and rewind such one-dimensional data as audio and text; to
display, expand and condense such two-dimensional data as a bit-mapped image.
3d) The ability to deal with heterogeneous data sources in a uniform manner; this includes
access to data in these sources and migration of data from one data source to another.
14