Limitations of the relational model

advertisement
Limitations of the relational model
Limitations of the relational model
1
Limitations of the relational model
Overview
 application areas for which the relational model
is inadequate - reasons
 drawbacks of relational DBMSs
2
Limitations of the relational model
Areas needing advanced database systems
 both in terms of structure of data and of operations to
be performed on data




computer aided design (CAD)
computer aided manufacturing (CAM)
computer aided software engineering (CASE)
office information systems, multimedia systems and digital
publishing
 geographic information systems
 etc.
3
Limitations of the relational model
CAD
 what is CAD?
 do you think CAD needs database systems?
 imagine you were going to use a relational DBMS
(e.g. Postgres) to support a CAD application; what
difficulties do you think you wold encounter?
4
Limitations of the relational model
CAD - characteristics | insufficiency of relational
database systems
characteristic
problem
designs - large number of types
(millions, sometimes); small
number of instances
designs - many interdependencies
between subsystems
not suitable for relational model;
why?
design evolves through time implications must be propagated;
some actions cannot be ‘a priori’
foreseen
interdependency  integrity
constraint; the relational model
does not provide sufficient
support for integrity constraints
schema evolution plus integrity
constraints modifications based
on the new schema
5
Limitations of the relational model
CAD - characteristics | insufficiency of relational
database systems
characteristic
updates are far reaching; one
change (usually) affects a large
number of objects
design alternatives; versions
co-operative engineering = many
staff work in parallel on multiple
versions of the same product; the
end product must be consistent
and co-ordinated
problem
integrity constraints
no support
no support
6
Limitations of the relational model
CAD and relational databases
 could you solve any of the problems mentioned,
basing your solution solely on features of
relational database systems?
 the answer is yes, but some of the features you
are using in your solutions are (probably) not
implicit in the relational model
7
Limitations of the relational model
CAM
 similar to CAD but more data processing required
 monitoring
 control
 possibly, both in real time
8
Limitations of the relational model
CASE - characteristics that make it
unsuitable for the relational model
 (large) data relating to the stages of the software
development lifecycle
 co-operative engineering
 concurrent sharing of project design, code and
documentation;
 dependencies between components must be tracked
 project management
 scheduling
 cost estimation
 progress monitoring
9
Limitations of the relational model
Office Information Systems and Digital
Publishing
characteristic
wide range of data types (e.g.
multimedia types: pictures,
sound, video)
data is shared (retrieve and
update) among many users;
problem
not supported; data cannot be
stored or it cannot be
accessed “inside”
the simple locking of a whole
document - not sufficient;
some versioning system may
be required
10
Limitations of the relational model
Geographic information systems
 spatial information - not supported by
relational DBMSs
11
Limitations of the relational model
Drawbacks of relational databases








poor representation of real world entities
semantic overloading
poor support for integrity constraints
homogeneous data structure
limited operations
difficulty in handling recursive queries
impedance mismatch
other problems ...
12
Limitations of the relational model
Poor representation of real world objects
 normalisation -> fragmentation
 relations that have no correspondent in the real world
 to infer information -> joins -> very costly
 poor semantics
 everything is a RELATION (see next slide)
13
Limitations of the relational model
Semantic overloading
 no distinction between entity and relationship; no
distinction between different types of relations (e.g. “has” “is
the parent of”, “has the address”, “is located”, “earns”)
 result: this semantic cannot be expressed (e.g. be build into the
operators)
 there is very little meaning in relations (i.e. the systems
“knows” very little of the data it contained); what solutions to
increase the semantics exist?
 domains - provided by the relational model, but not fully supported
by relational DBMSs
 keys - provided and supported
 support for enterprise integrity constraints …?
14
Limitations of the relational model
Poor support for integrity constraints
 integrity  validity and consistency
 entity integrity + referential integrity + domains
 many systems do not fully support -> build them into applications
-> effort + inconsistencies
 integrity is expressed in terms of constraints (rules that the database
must comply with)
 the constraint checking mechanism is simple
 degree of compliance; categories of integrity constraints ...
 what does it mean must comply with?
 what is the logical model? must be deduced from the DB? the DB must
be consistent with them?must be true of the DB?
 the relational model does not support enterprise integrity constraints
 SQL provides support for constraints as part of the DB def.
15
Limitations of the relational model
Homogeneous data structure
 horizontal and vertical homogeneity





too restrictive
real world objects have a more complex structure
result: unnatural structures + many joins (inefficient)
example: composite parts
on the other hand, this symmetric structure is one of the
strengths of the relational model (why?)
 binary large objects (BLOB)
 are allowed
 typically, they are references to files, therefore some
advantages provided by DBMSs may be lost (e.g. security)
 their inner structure cannot be accessed
16
Limitations of the relational model
Limited set of operations
 only a fix set operations
 tuple oriented
 set oriented
 not sufficient for many applications (e.g. geographic
information systems - distance, area, …)
 no new operations cannot be specified
 some DBMSs allow for type extensibility
17
Limitations of the relational model
Difficulty in handling recursive queries
Staff_no
Manager_staff_no
Staff_no
Manager_staff_no
S5
S4
S3
S2
S1
S4
S3
S2
S1
NULL
S5
S5
…
S5
S4
…
S3
S3
S2
S1
S4
S3
…
S1
S3
…
S2
S1
S1
NULL
Transitive closure
18
Limitations of the relational model
Impedance mismatch
 SQL92 lacks computational completeness
 solution: embedded SQL
 drawback of solution: impedance mismatch
 mixing different paradigms
 SQL: set based operators
 high level programming languages: record based
(or even less) (example C)
 conversion to records needed (inefficient!)
 type mismatch
 solution by Date: build set level facilities in high level
programming languages
19
Limitations of the relational model
Other problems
 other problems also exist
 no support for long lived transactions (not inherent to the relational
model)
 schema amendments - difficult
 poor navigational access
 therefore, other approaches might be needed
20
Limitations of the relational model
Conclusions
 first generation DBMSs
 1060s-1970s
 two approaches: hierarchical and network
 main problems: complex programs needed to be written to
answer simple queries (navigational databases); minimal data
independence; no widely accepted theoretical foundations
 second generation
 1970 - Codd’s paper
 1970-1980 - many experimental relational DBMSs
 now: over 100 commercial DBMSs (some stretch the definition
of a relational DBMS)
 third generation … (“to be continued”)
21
Download