Lecture 8 Current Trends in Database Systems
|
Progression of Database Technology
a. Data Models
b. Database Hardware
c. User Interfaces
Query by Form
Natural Language
d. Program Interfaces
e. Presentation and Display
Business Graphics, Integrating Image Technology
f. Nature of Processing
Object-Oriented Model
Object Structure
An object has associated with :
- A set of variables that contain the data for the object. The
value of each variable is itself an object.
- A set of messages to which the object responds.
- A method, which is a body of code to implement each message. A method
returns a value as the response to the message.
Class Hierarchy
A class object includes:
- A set-valued variable whose value is the set of all objects that are
instances of the class.
- Implementation of a method for the message new, which creates
a new instances of the class.
Multiple Inheritance
Object Identity
Forms of identity:
- Value. A data value is used for identity. This is the form of
identity used in relational systems.
- Name. A user-supplied name is used for identity. This is the
form of identity typically used for variables in procedures. Each variable
is given a name that uniquely identifies the variable regardless of the
value it contains.
- Built-in. A notion of identity is built into the data model
or programming language, and no user-supplied identifier is required. This
is the form of identify used in object-oriented systems.
Degree of permanence of identity:
- Intraprogram. Identity persists only during the execution of
a single program or query. Examples of intraprogram identity are variable
names in programming languages and tuple identifiers in SQL.
- Interprogram. Identity persists from one program execution to
another. Examples of interprogram identity are relation names in a relational
query language such as SQL.
- Persistent. Identity persist not only among program executions
but also among structural reorganizations of the data. Relations in SQL
do not have persistent identity, since a database reorganization may result
in a new database scheme with relations with new names. It is the persistent
form of identity that is required for object-oriented systems.
Object Containment
Physical Organization
Objects are typically represented as follows:
- Certain classes are treated as basic building-block classes that are
implement directly by the computer system. Typically, the basic classes
correspond to the standard programming language data types such as integer,
float, character, and string.
- Instances of classes that are not basic are represented as follows:
- Variables are represented by fields of a record type. Each field contains
either the object value itself, for instances of the basic classes, or
the object identifier for instances of nonbasic classes.
- Set-valued variables are represented by a linked list of the objects
that are members of the set.
Highly specialized data types:
- Text data. Text is usually treated as a byte string manipulated
by editors and formatters.
- Audio data. Audio data is typically a digitized, compressed
representation of speech that is handled by separated application software.
- Video and graphical data. Video data may be represented as a
bit map or as a set of lines, boxes, and other geometric objects. Although
some graphical data is often managed within the database system itself,
special application software is used for many cases.
Object-Oriented Queries
Scheme Modification
Modifications:
- Create or drop a relation.
- Add or delete attributes from a relation scheme.
The complication arises from two sources:
- Complex changes. The types of modification that can be made
to an object-oriented scheme are more complex than those can be made to
a relational database scheme.
- Frequent changes. The applications that motivate the user of
the object-oriented model require frequent scheme changes. Design applications
often involve the alteration of the structure of the item being designed.
To illustrate the complexity of object-oriented schema modification,
we list several types of modification below:
- Addition of a new class. The addition of a new class in an object-oriented
database involves more than the addition of a relation scheme involved
in a relational database. The new class must be placed in the class/subclass
hierarchy or DAG, and inheritance issues must be resolved. If the new class
is not a leaf node in the hierarchy or DAG, subclasses of the new class
may need to inherit variables or methods from the new class. The same applies
to sub-subclasses, and so on.
- Deletion of a class. The deletion of a class in an object-oriented
database requires several operations. Inheritance of variables and methods
by subclasses of the deleted class must be reexamined. Any changes to a
subclass may need to be propagated to sub-subclasses, and so on. Instances
of the deleted class must be made instances of another class, typically
a parent of deleted class.
- Modification of a class definition. A new variable or method
may be defined or a variable or method definition may be deleted. As for
the above cases, the definition of subclasses may be affected.
- Repositioning of classes in the hierarchy or DAG. Any restructuring
of the class hierarchy of DAG has consequences on inheritance by old and
new subclasses of the repositioned class.
Among the techniques used to reduce the overhead of scheme
modification are:
- Modification on access. When an object is accessed, its structure
is compared with the current definition of its class. Any necessary changes
are made before the object is made available. As a result, the overhead
of scheme modification is spread over the accesses to objects.
- Versions of schemes. Rather than requiring that an object be
modified to conform to the current definition of its class, old versions
of the class definition are retained for access to old objects. The maintenance
of multiple versions imposes space overhead. It also complicates the coding
of methods because of the need to handle multiple versions of the class
definition.
Emerging Database Applications
a. Engineering Design and Manufacturing
CAD systems
b. Office Information Systems
Office-by-Example
c. Decision Support Systems (DSSs)
in Office Systems
d. Statistical and Scientific Database Management
Micro and Macro SSDBs
Database, Knowledge Bases, and Expert Systems
Knowledge:
- Structural knowledge
- General procedural knowledge
- Application-specific knowledge
- Enterprise-directing knowledge
Specific objectives of a knowledge-based management
systems are:
1. To provide the usual database management system services to both
the database and the knowledge base, including the efficient organization
of large amounts of data, fast data access, concurrency control, integrity
rule checking, transaction management, security enforcement, physical and
logical independence, and so on.
2. To provide better user interfaces, including using natural language
for queries.
3. To use knowledge-based query optimization, including use of integrity
rules, database statistics, and meta-knowledge for single queries.
4. To extend optimization to multiple queries by recognizing common
subexpressions and remembering query results.
5. To maintain consistency by semantic integrity checking using rule-based
or logic-based techniques from artificial intelligence.
Architecture of Knowledge-Based Management systems
1. Adding some database features to an expert system. Most expert systems
store a very limited amount of data which fits in main memory during processing.
However, they can be enhanced to provide simple database features, such
as data manipulation and data access strategies.
2. Adding some intelligence to a database management system.
3. Incorporating a database management system within an expert system.
4. Loose coupling of an expert system and a database management system.
5. Tight coupling of an expert system and an external database management
system.
Emerging Technologies and Needed Research
a. Multimedia Database Technology
multimedia document management with image, audio, and text information
packaged as documents; CAD output containing drawings, pictures, and functional
specifications of some design objects; image databases
b. Distributed and Federated Database Technology
c. Extensible DBMs
full-functionality approach
d. Sematic Database Technology
Needed Future Research and Development
a. User Interface
customized languages; alternative paradigms for accessing databases;
natural language interface in multiple languages
b. Database Integration
integrating schemas of local databases into a global schema, mapping
actual data from the local schema to the global schema, and mapping queries
again the global schema into queries again local schemas
c. Interface with Software Engineering Technology
design databases; application generation from high-level specification;
software tools; prototyping
d. Interface with Artificial Intelligence Technology
e. Database Machines Architecture
f. Interface with Programming Language Technology
Future integration of methods in Databases:
- Software Engineering
- Artificial Intelligence
- Programming Languages
- Distributed Systems
- Multimedia databases
[Top][Learning Units]
[Previous][Next]