limitations of the relational model 1. 2 overview application areas for which the relational model...
TRANSCRIPT
Limitations of the relational model
1
Limitations of the relational model
Limitations of the relational model
2
Overview
application areas for which the relational model is inadequate - reasons
drawbacks of relational DBMSs
Limitations of the relational model
3
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.
Limitations of the relational model
4
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?
Limitations of the relational model
5
CAD - characteristics | insufficiency of relational database systems
characteristic problemdesigns - large number of types(millions, sometimes); smallnumber of instances
not suitable for relational model;why?
designs - many interdependenciesbetween subsystems
interdependency integrityconstraint; the relational modeldoes not provide sufficientsupport for integrity constraints
design evolves through time -implications must be propagated;some actions cannot be ‘a priori’foreseen
schema evolution plus integrityconstraints modifications basedon the new schema
Limitations of the relational model
6
CAD - characteristics | insufficiency of relational database systems
characteristic problemupdates are far reaching; onechange (usually) affects a largenumber of objects
integrity constraints
design alternatives; versions no support
co-operative engineering = manystaff work in parallel on multipleversions of the same product; theend product must be consistentand co-ordinated
no support
Limitations of the relational model
7
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
Limitations of the relational model
8
CAM
similar to CAD but more data processing required monitoring control
possibly, both in real time
Limitations of the relational model
9
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
Limitations of the relational model
10
Office Information Systems and Digital Publishing
characteristic problemwide range of data types (e.g.multimedia types: pictures,sound, video)
not supported; data cannot bestored or it cannot beaccessed “inside”
data is shared (retrieve andupdate) among many users;
the simple locking of a wholedocument - not sufficient;some versioning system maybe required
Limitations of the relational model
11
Geographic information systems
spatial information - not supported by relational DBMSs
Limitations of the relational model
12
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 ...
Limitations of the relational model
13
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)
Limitations of the relational model
14
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 …?
Limitations of the relational model
15
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.
Limitations of the relational model
16
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
Limitations of the relational model
17
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
Limitations of the relational model
18
Difficulty in handling recursive queries
Staff_no Manager_staff_no
S5 S4S4 S3S3 S2S2 S1S1 NULL
Staff_no Manager_staff_no
S5 S4S5 S3… …S5 S1S4 S3… …S3 S2S3 S1S2 S1S1 NULL
Transitive closure
Limitations of the relational model
19
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
Limitations of the relational model
20
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
Limitations of the relational model
21
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”)