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