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)
