0% found this document useful (0 votes)
257 views

Chapter 26

Uploaded by

Bicycle Thief
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
257 views

Chapter 26

Uploaded by

Bicycle Thief
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 46

Copyright © 2016 Ramez Elmasri and Shamkant B.

Navathe
CHAPTER 26

Enhanced Data Models:


Introduction to Active,
Temporal, Spatial, Multimedia,
and Deductive Databases
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe
26.1 Active Database Concepts and
Triggers
 Database systems implement rules that specify
actions automatically triggered by certain events
 Triggers
 Technique for specifying certain types of active
rules
 Commercial relational DBMSs have various
versions of triggers available
 Oracle syntax used to illustrate concepts

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 3


Generalized Model for Active
Databases and Oracle Triggers
 Event-condition-action (ECA) model
 Event triggers a rule
 Usually database update operations
 Condition determines whether rule action should
be completed
 Optional
 Action will complete only if condition evaluates to
true
 Action to be taken
 Sequence of SQL statements, transaction, or
external program
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 4
Example
 Events that may cause a change in value of
Total_sal attribute
 Inserting new employee
 Changing salary
 Reassigning or deleting employees

Figure 26.1 A simplified COMPANY database used for active rule examples

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26-5


Example (cont’d.)
 Condition to be evaluated
 Check that value of Dno attribute is not NULL
 Action to be taken
 Automatically update the value of Total_sal

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26-6


Figure 26.2 Specifying active rules as triggers in Oracle notation (a) Triggers for
automatically maintaining the consistency of Total_sal of DEPARTMENT

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26-7


Figure 26.2 (cont’d.) Specifying active rules as triggers in Oracle notation (b)
Trigger for comparing an employee’s salary with that of his or her supervisor

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26-8


Design and Implementation Issues
for Active Databases
 Deactivated rule
 Will not be triggered by the triggering event
 Activate command
 Makes the rule active again
 Drop command
 Deletes the rule from the system
 Approach: group rules into rule sets
 Entire rule set can be activated, deactivated, or
dropped

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 9


Design and Implementation Issues
for Active Databases (cont’d.)
 Timing of action
 Before trigger executes trigger before executing
event that caused the trigger
 After trigger executes trigger after executing the
event
 Instead of trigger executes trigger instead of
executing the event
 Action can be considered separate transaction
 Or part of same transaction that triggered the rule

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 10


Design and Implementation Issues
for Active Databases (cont’d.)
 Rule consideration
 Immediate consideration
 Condition evaluated as part of same transaction
 Evaluate condition either before, after, or instead of
executing the triggering event
 Deferred consideration
 Condition evaluated at the end of the transaction
 Detached consideration
 Condition evaluated as a separate transaction

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 11


Design and Implementation Issues
for Active Databases (cont’d.)
 Row-level rule
 Rule considered separately for each row
 Statement-level rule
 Rule considered once for entire statement
 Difficult to guarantee consistency and termination
of rules

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 12


Examples of Statement-Level Active
Rules in STARBURST

Figure 26.5 (continues) Active rules using statement-level


semantics in STARBURST notation
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 13
Examples of Statement-Level Active
Rules in STARBURST (cont’d.)

Figure 26.5 (cont’d.) Active rules using statement-level


semantics in STARBURST notation

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 14


Potential Applications for Active
Databases
 Allow notification of certain conditions that occur
 Enforce integrity constraints
 Automatically maintain derived data
 Maintain consistency of materialized views
 Enable consistency of replicated tables

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 15


Triggers in SQL-99

Figure 26.6 Trigger T1 illustrating the syntax for defining triggers in SQL-99

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 16


26.2 Temporal Database Concepts
 Temporal databases require some aspect of time
when organizing information
 Healthcare
 Insurance
 Reservation systems
 Scientific databases
 Time considered as ordered sequence of points
 Granularity determined by the application

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 17


Temporal Database Concepts
(cont’d.)
 Chronon
 Term used to describe minimal granularity of a
particular application
 Reference point for measuring specific time
events
 Various calendars
 SQL2 temporal data types
 DATE, TIME, TIMESTAMP, INTERVAL, PERIOD

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 18


Temporal Database Concepts
(cont’d.)
 Point events or facts
 Typically associated with a single time point
 Time series data
 Duration events or facts
 Associated with specific time period
 Time period represented by start and end points
 Valid time
 True in the real world

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 19


Temporal Database Concepts
(cont’d.)
 Transaction time
 Value of the system clock when information is
valid in the system
 User-defined time
 Bitemporal database
 Uses valid time and transaction time
 Valid time relations
 Used to represent history of changes

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 20


Temporal Database Concepts
(cont’d.)

Figure 26.7 Different types of temporal relational databases (a) Valid time database
schema (b) Transaction time database schema (c) Bitemporal database schema

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 21


Temporal Database Concepts
(cont’d.)

Figure 26.8 Some tuple versions in the valid time relations EMP_VT and DEPT_VT

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 22


Temporal Database Concepts
(cont’d.)
 Types of updates
 Proactive
 Retroactive
 Simultaneous
 Timestamp recorded whenever change is applied
to database
 Bitemporal relations
 Application requires both valid time and
transaction time

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 23


Temporal Database Concepts
(cont’d.)
 Implementation considerations
 Store all tuples in the same table
 Create two tables: one for currently valid
information and one for the rest
 Vertically partition temporal relation attributes into
separate relations
 New tuple created whenever any attribute updated
 Append-only database
 Keeps complete record of changes and
corrections

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 24


Temporal Database Concepts
(cont’d.)
 Attribute versioning
 Simple complex object used to store all temporal
changes of the object
 Time-varying attribute
 Values versioned over time by adding temporal
periods to the attribute
 Non-time-varying attribute
 Values do not change over time

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 25


Figure 26.10 Possible ODL schema for a temporal valid time EMPLOYEE_VT
object class using attribute versioning
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 26
Temporal Database Concepts
(cont’d.)
 TSQL2 language
 Extends SQL for querying valid time and
transaction time tables
 Used to specify whether a relation is temporal or
nontemporal
 Temporal database query conditions may involve
time and attributes
 Pure time condition involves only time
 Attribute and time conditions

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 27


Temporal Database Concepts
(cont’d.)
 CREATE TABLE statement
 Extended with optional AS clause
 Allows users to declare different temporal options
 Examples:
 AS VALID STATE<GRANULARITY> (valid time
relation with valid time period)
 AS TRANSACTION (transaction time relation with
transaction time period)
 Keywords STATE and EVENT
 Specify whether a time period or point is
associated with valid time dimension
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 28
Temporal Database Concepts
(cont’d.)
 Time series data
 Often used in financial, sales, and economics
applications
 Special type of valid event data
 Event’s time points predetermined according to
fixed calendar
 Managed using specialized time series
management systems
 Supported by some commercial DBMS packages

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 29


26.3 Spatial Database Concepts
 Spatial databases support information about
objects in multidimensional space
 Examples: cartographic databases, geographic
information systems, weather information
databases
 Spatial relationships among the objects are
important
 Optimized to query data such as points, lines,
and polygons
 Spatial queries

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 30


Spatial Database Concepts (cont’d.)
 Measurement operations
 Used to measure global properties of single
objects
 Spatial analysis operations
 Uncover spatial relationships within and among
mapped data layers
 Flow analysis operations
 Help determine shortest path between two points

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 31


Spatial Database Concepts (cont’d.)
 Location analysis
 Determine whether given set of points and lines lie
within a given polygon
 Digital terrain analysis
 Used to build three-dimensional models

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 32


Spatial Database Concepts (cont’d.)

Table 26.1 Common types of analysis for spatial data

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26-33


Spatial Database Concepts (cont’d.)
 Spatial data types
 Map data
 Geographic or spatial features of objects in a map
 Attribute data
 Descriptive data associated with map features
 Image data
 Satellite images
 Models of spatial information
 Field models
 Object models
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 34
Spatial Database Concepts (cont’d.)
 Spatial operator categories
 Topological operators
 Properties do not change when topological
transformations applied
 Projective operators
 Express concavity/convexity of objects
 Metric operators
 Specifically describe object’s geometry
 Dynamic spatial operators
 Create, destroy, and update

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 35


Spatial Database Concepts (cont’d.)
 Spatial queries
 Range queries
 Example: find all hospitals with the Metropolitan
Atlanta city area
 Nearest neighbor queries
 Example: find police car nearest location of a crime
 Spatial joins or overlays
 Example: find all homes within two miles of a lake

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 36


Spatial Database Concepts (cont’d.)
 Spatial data indexing
 Grid files
 R-trees
 Spatial join index
 Spatial data mining techniques
 Spatial classification
 Spatial association
 Spatial clustering

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 37


26.4 Multimedia Database Concepts
 Multimedia databases allow users to store and
query images, video, audio, and documents
 Content-based retrieval
 Automatic analysis
 Manual identification
 Color often used in content-based image retrieval
 Texture and shape
 Object recognition
 Scale-invariant feature transform (SIFT) approach

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 38


Multimedia Database Concepts
(cont’d.)
 Semantic tagging of images
 User-supplied tags
 Automated generation of image tags
 Web Ontology Language (OWL) provides concept
hierarchy
 Analysis of audio data sources
 Text-based indexing
 Content-based indexing

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 39


26.5 Introduction to Deductive
Databases
 Deductive database uses facts and rules
 Inference engine can deduce new facts using rules
 Prolog/Datalog notation
 Based on providing predicates with unique names
 Predicate has an implicit meaning and a fixed
number of arguments
 If arguments are all constant values, predicate
states that a certain fact is true
 If arguments are variables, considered as a query or
part of a rule or constraint

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 40


Prolog Notation and The Supervisory
Tree

Figure 26.11 (a) Prolog notation (b) The supervisory tree

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26-41


Introduction to Deductive Databases
(cont’d.)
 Datalog notation
 Program built from basic objects called atomic
formulas
 Literals of the form p(a1,a2,…an)
 p is the predicate name
 n is the number of arguments for predicate p
 Interpretations of rules
 Proof-theoretic versus model-theoretic
 Deductive axioms
 Ground axioms
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 42
Introduction to Deductive Databases
(cont’d.)

Figure 26.12 Proving a new fact

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26-43


Introduction to Deductive Databases
(cont’d.)
 Safe program or rule
 Generates a finite set of facts
 Nonrecursive query
 Includes only nonrecursive predicates

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 44


Use of Relational Operations

Figure 26.16
Predicates for
illustrating
relational operations

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26-45


26.6 Summary
 Active databases
 Specify active rules
 Temporal databases
 Involve time concepts
 Spatial databases
 Involve spatial characteristics
 Multimedia databases
 Store images, audio, video, documents, and more
 Deductive databases
 Prolog and Datalog notation
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 26- 46

You might also like