Enhanced Data Models for Advanced Database Applications - PowerPoint PPT Presentation
Enhanced Data Models for Advanced Database Applications
Description:
for large amounts of current only, complex, volatile, structured data, available . Other objects may have dynamic qualities: e.g., ambulances and other vehicles. . – PowerPoint PPT presentation
Number of Views:1267
Avg rating: 5.0/5.0
Slides: 16
Provided by: Chan86
Category:
Tags: advanced | ambulances | applications | data | database | enhanced | models
Transcript and Presenter's Notes
Title: Enhanced Data Models for Advanced Database Applications
- CS 95 Advanced Database Systems
- Handout 8
- for large amounts of current only, complex,
volatile, structured data, available within an
organization
- e.g., Relational Databases
- Enhanced Data Models
- Active
- Temporal
- Spatial
- Multimedia
- Statistical
- Information retrieval
- contain a set of active rules
- Rule is triggered when a particular event occurs.
eg. on an Update operation on a certain table
- The rule may initiate other, or even replacement
operations to be performed on the database
- Usually implemented with triggers, a rule
implementation found in many relational products.
- Such rules may be used to
- notify (someone) whenever a particular condition
occurs
- create audit trails
- enforce integrity constraints
- maintenance of derived data
- maintain consistency of views whenever the base
table structures are modified.
- Syntax summary for specifying triggers in the
Oracle System
- lttriggergt CREATE TRIGGER lttrigger namegt
- (AFTERBEFORE) lttriggering eventsgt ON lttable
namegt
- FOR EACH ROW
- WHEN ltconditiongt
- lttrigger actionsgt
- lttriggering eventsgt lttrigger eventgt OR
lttrigger eventgt
- lttrigger eventgt INSERTDELETEUPDATE OF
ltcolumn namegt, ltcolumn namegt
- lttrigger actiongt ltPL/SQL blockgt
- Even PostgreSQL supports triggers. See the
PostgreSQL Help for more information.
- conventional databases without the 'current only'
constraint
- 'remembers' every value, i.e., when an update
occurs, old value, new value and time of change
all have to be stored in the DB.
- Different systems implement temporal data
differently
- as a minimum a timestamp column is added to each
relation and forms part of the key
- Applications include
- Healthcare where the history of a patient is
important
- Insurance
- Reservation systems
- Scientific databases
- SQL (usually) is extended so a query can provide
an answer from the database at any specified
time. eg What was the status of supplier S1 on
April 1, 1990?
- TSQL standard specifies the TIME PERIOD as a the
standard domain measurement
- A query over a time PERIOD may return many rows
for the same piece of information - one row for
every set of values the information held within
the time period.
- New SQL operations are like CONTAINS, PRECEDES,
SUCCEEDS, OVERLAPS
- Problems DB grows very big very quickly, which
adversely affects performance - dramatically.
- conventional databases with spatial features,
such as support for 3-dimensional objects
- applications
- CAD/CAM
- cartographic (mapping) - 2-D maps plus a
description behind each object (road, bridge,
house etc.)
- meteorological - weather patterns occur in 3-D
- drawing, drafting, etc.
- Some objects may be static e.g., bridge, road
etc. Other objects may have dynamic qualities
e.g., ambulances and other vehicles.
- Even a simple task, such as the distance between
two objects or determining whether two objects
overlap, are difficult SQL queries so new
operators are included to perform these tasks
- hence, spatial databases are often OODBMS
- Types of queries particular to spatial database
are
- Range query e.g., find all hospitals within a
particular distance from a given location.
- Nearest neighbor query e.g., find an object of a
given type closest to a given point.
- Spatial joins or overlays Joins the objects of
two type. e.g., find all cities on a particular
road OR find all homes near a given river.
- PostgreSQL supports many spatial objects,
including point, line, box, circle etc.
- Multimedia databases store data such as images,
audio and video clips and documents.
- Support content-based queries, e.g., retrieve all
video clips with a certain person, or all clips
containing a drag race won by a certain Pro Stock
driver
- Two methods of identifying such content
- Automatic analysis - involves mathematical
analysis and pattern matching of data within the
clip. A different approach is required for video,
audio, image and text. Obviously, this is a very
computative intensive process.
- Manual identification - manual preprocessing
phase obtains such information which is stored
with the clips and can also be used to build
indexes.
- for large amounts of simple, non-volatile,
structured data
- access is via aggregate statements only - SUM,
COUNT, MAX, MIN, AVERAGE, STANDARD DEVIATION etc.
- they protect the identity of the individual
- problems with compromise of the DB.
- i.e., a set of queries that may determine the
identity of an individual.
- Often solved by not allowing results that are
computed from a return of less than n rows.
- Read-only, very large databases
- heavily indexed - indexes take a long time to
update, so the data is not updated in real time.
New data snapshots with their indexes are built
periodically
- e.g., phone lists and search engines
- e.g., AltaVista indexes every word on every web
page in its database
- index consists of word, location within page, URL
- size is . GB (200GB in 1998)