more manifestos
play

More manifestos In 1990 Stonebraker responded to Atkinsons 1989 - PowerPoint PPT Presentation

More manifestos In 1990 Stonebraker responded to Atkinsons 1989 database manifesto with The Third-Generation Database System Manifesto with guidelines concerning future development of relational DBMS to allow them to remain dominant DD2471


  1. Object relational databases . . . There are benefits with the relational systems • Simple mathematics • Simple basic data type (the relation) • Efficient indexing • Optimization So, the industry developed an interest to continue with relational systems also for complex/complicated data • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 5 / 24

  2. Object relational databases . . . You have complex data in a number of application areas where people already had acquired good knowledge of RDBMS DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 6 / 24

  3. Object relational databases . . . You have complex data in a number of application areas where people already had acquired good knowledge of RDBMS • multi-media applications for www DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 6 / 24

  4. Object relational databases . . . You have complex data in a number of application areas where people already had acquired good knowledge of RDBMS • multi-media applications for www • medical systems (EKG, X-ray photos, MRI (magnetic ray imaging) DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 6 / 24

  5. Object relational databases . . . You have complex data in a number of application areas where people already had acquired good knowledge of RDBMS • multi-media applications for www • medical systems (EKG, X-ray photos, MRI (magnetic ray imaging) • geografical systems (as well as other spatial systems – managing seismic data, satellite images, . . . ) DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 6 / 24

  6. Object relational databases . . . You have complex data in a number of application areas where people already had acquired good knowledge of RDBMS • multi-media applications for www • medical systems (EKG, X-ray photos, MRI (magnetic ray imaging) • geografical systems (as well as other spatial systems – managing seismic data, satellite images, . . . ) • economical and statistical systems (time series . . . ) • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 6 / 24

  7. Object relational databases . . . Also, the switch to object systems also meant using databases more for persistence in programs than traditional database management DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 7 / 24

  8. Object relational databases . . . Also, the switch to object systems also meant using databases more for persistence in programs than traditional database management There was still a need for systems where you stored information for later use DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 7 / 24

  9. Object relational databases . . . Also, the switch to object systems also meant using databases more for persistence in programs than traditional database management There was still a need for systems where you stored information for later use There was a research project that could form the basis for a new model. And . . . it was already commercial DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 7 / 24

  10. Object relational databases . . . Also, the switch to object systems also meant using databases more for persistence in programs than traditional database management There was still a need for systems where you stored information for later use There was a research project that could form the basis for a new model. And . . . it was already commercial They turned things over again and kept the relation as the basic data type and data structure and created extendible type systems instead. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 7 / 24

  11. Object relational databases . . . Also, the switch to object systems also meant using databases more for persistence in programs than traditional database management There was still a need for systems where you stored information for later use There was a research project that could form the basis for a new model. And . . . it was already commercial They turned things over again and kept the relation as the basic data type and data structure and created extendible type systems instead. This meant higher demands on DBMS manufacturers. There were already stored procedures and BLOBS DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 7 / 24

  12. Object relational databases . . . Also, the switch to object systems also meant using databases more for persistence in programs than traditional database management There was still a need for systems where you stored information for later use There was a research project that could form the basis for a new model. And . . . it was already commercial They turned things over again and kept the relation as the basic data type and data structure and created extendible type systems instead. This meant higher demands on DBMS manufacturers. There were already stored procedures and BLOBS They had to be extended and made more efficient and indexing had to become extendible too DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 7 / 24

  13. Object relational databases . . . Also, the switch to object systems also meant using databases more for persistence in programs than traditional database management There was still a need for systems where you stored information for later use There was a research project that could form the basis for a new model. And . . . it was already commercial They turned things over again and kept the relation as the basic data type and data structure and created extendible type systems instead. This meant higher demands on DBMS manufacturers. There were already stored procedures and BLOBS They had to be extended and made more efficient and indexing had to become extendible too Some architectures for ORDBMS were tested . . . • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 7 / 24

  14. ORDBMS – architectures, wrapper/mapper W M R A A / P P P P E E R R RDBMS Client DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 8 / 24

  15. ORDBMS – architectures, wrapper/mapper W M R A A / P P P P E E R R RDBMS Client • Good use of existing systems • Rapid to implement DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 8 / 24

  16. ORDBMS – architectures, wrapper/mapper W M R A A / P P P P E E R R RDBMS Client • Good use of existing systems • Rapid to implement • Rapid to upgrade DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 8 / 24

  17. ORDBMS – architectures, wrapper/mapper W M R A A / P P P P E E R R RDBMS Client • Good use of existing systems • Rapid to implement • Rapid to upgrade • Performance problems because of the extra mapping DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 8 / 24

  18. ORDBMS – architectures, wrapper/mapper W M R A A / P P P P E E R R RDBMS Client • Good use of existing systems • Rapid to implement • Rapid to upgrade • Performance problems because of the extra mapping • Performance problems because of transformation OO ↔ Relationer • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 8 / 24

  19. ORDBMS – architectures, merge via gateway G A T RDBMS A E P W I A Y Client ODBMS DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 9 / 24

  20. ORDBMS – architectures, merge via gateway G A T RDBMS A E P W I A Y Client ODBMS • Good support for existing RDB DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 9 / 24

  21. ORDBMS – architectures, merge via gateway G A T RDBMS A E P W I A Y Client ODBMS • Good support for existing RDB • Rapid to upgrade from existing system DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 9 / 24

  22. ORDBMS – architectures, merge via gateway G A T RDBMS A E P W I A Y Client ODBMS • Good support for existing RDB • Rapid to upgrade from existing system • Complicated to upgrade DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 9 / 24

  23. ORDBMS – architectures, merge via gateway G A T RDBMS A E P W I A Y Client ODBMS • Good support for existing RDB • Rapid to upgrade from existing system • Complicated to upgrade • Demands efficient gateways DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 9 / 24

  24. ORDBMS – architectures, merge via gateway G A T RDBMS A E P W I A Y Client ODBMS • Good support for existing RDB • Rapid to upgrade from existing system • Complicated to upgrade • Demands efficient gateways • Still gives performance problems in the merge/split part of the API • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 9 / 24

  25. ORDBMS – architectures, universal server Client OR Server ORDB DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 10 / 24

  26. ORDBMS – architectures, universal server Client OR Server ORDB • Universal server • Good support for existing RDB DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 10 / 24

  27. ORDBMS – architectures, universal server Client OR Server ORDB • Universal server • Good support for existing RDB • Simple upgrade from existing system in terms of knowhow DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 10 / 24

  28. ORDBMS – architectures, universal server Client OR Server ORDB • Universal server • Good support for existing RDB • Simple upgrade from existing system in terms of knowhow • Has to be as efficient as RDBMS and as flexible as OODBMS DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 10 / 24

  29. ORDBMS – architectures, universal server Client OR Server ORDB • Universal server • Good support for existing RDB • Simple upgrade from existing system in terms of knowhow • Has to be as efficient as RDBMS and as flexible as OODBMS • Complicated reengineering/new development DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 10 / 24

  30. ORDBMS – architectures, universal server Client OR Server ORDB • Universal server • Good support for existing RDB • Simple upgrade from existing system in terms of knowhow • Has to be as efficient as RDBMS and as flexible as OODBMS • Complicated reengineering/new development • Risk being an inefficient compromise • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 10 / 24

  31. ORDBMS – demands • It must be possible to query, access and manipulate even complex data structures from within SQL without braking traditional RDBMS rules/restrictions. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 11 / 24

  32. ORDBMS – demands • It must be possible to query, access and manipulate even complex data structures from within SQL without braking traditional RDBMS rules/restrictions. • It is not possible to build completely generalised systems and thus it is important to deliver the tools for extending and adapting data type system, index system and optimiser DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 11 / 24

  33. ORDBMS – demands • It must be possible to query, access and manipulate even complex data structures from within SQL without braking traditional RDBMS rules/restrictions. • It is not possible to build completely generalised systems and thus it is important to deliver the tools for extending and adapting data type system, index system and optimiser • Extensions must be pluggable as it isn’t reasonable for DBMS clients to wait until next version or to expect that next version will cover their specific needs. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 11 / 24

  34. ORDBMS – demands • It must be possible to query, access and manipulate even complex data structures from within SQL without braking traditional RDBMS rules/restrictions. • It is not possible to build completely generalised systems and thus it is important to deliver the tools for extending and adapting data type system, index system and optimiser • Extensions must be pluggable as it isn’t reasonable for DBMS clients to wait until next version or to expect that next version will cover their specific needs. • It is not reasonable to expect the manufacturers to deliver a new version for every newly discovered requirement. • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 11 / 24

  35. ORDBMS . . . Some manufacturers have chosen the universal server approach and deliver a DBMS with pluggable modules that well covers a large variety of different customer needs DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 12 / 24

  36. ORDBMS . . . Some manufacturers have chosen the universal server approach and deliver a DBMS with pluggable modules that well covers a large variety of different customer needs Third party manufacturers can deliver modules that are specialized for their field of interest. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 12 / 24

  37. ORDBMS . . . Some manufacturers have chosen the universal server approach and deliver a DBMS with pluggable modules that well covers a large variety of different customer needs Third party manufacturers can deliver modules that are specialized for their field of interest. The extendibility must cover more than just data types as it must be possible to use SQL and to index the new data type items • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 12 / 24

  38. ORDBMS – a peek at history The Stonebraker research team were already commercially successful with Ingres (1980) and had visions. They continued with their next product, Postgres, with extendible type system and an embryo for procedures stored in the database and that executed in DB primary memory. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 13 / 24

  39. ORDBMS – a peek at history The Stonebraker research team were already commercially successful with Ingres (1980) and had visions. They continued with their next product, Postgres, with extendible type system and an embryo for procedures stored in the database and that executed in DB primary memory. The product is nowadays available under GPL and named PostgreSQL as their original query language has been replaced by SQL. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 13 / 24

  40. ORDBMS – a peek at history The Stonebraker research team were already commercially successful with Ingres (1980) and had visions. They continued with their next product, Postgres, with extendible type system and an embryo for procedures stored in the database and that executed in DB primary memory. The product is nowadays available under GPL and named PostgreSQL as their original query language has been replaced by SQL. Illustra, the first GIS system, was built on Postgres and introduced in 1992 with immediate success. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 13 / 24

  41. ORDBMS – a peek at history The Stonebraker research team were already commercially successful with Ingres (1980) and had visions. They continued with their next product, Postgres, with extendible type system and an embryo for procedures stored in the database and that executed in DB primary memory. The product is nowadays available under GPL and named PostgreSQL as their original query language has been replaced by SQL. Illustra, the first GIS system, was built on Postgres and introduced in 1992 with immediate success. Informix bought Illustra in 1996 and refined the system and merged it with their own RDBMS, The result was the first extendible ORDBMS. • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 13 / 24

  42. ORDBMS – a peek at history . . . The rest of the relational database community went crazy. They understood that this was the future. Everybody wanted to be part of the new development. Research project were started. Soon enough many delivered ORDBMS but none as general and sophisticated as the Informix Universal Server. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 14 / 24

  43. ORDBMS – a peek at history . . . The rest of the relational database community went crazy. They understood that this was the future. Everybody wanted to be part of the new development. Research project were started. Soon enough many delivered ORDBMS but none as general and sophisticated as the Informix Universal Server. However, a product is not enough. Informix had enormous management problems and were bought by IBM who continues development of both Informix DBMS and DB2, their own product. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 14 / 24

  44. ORDBMS – a peek at history . . . The rest of the relational database community went crazy. They understood that this was the future. Everybody wanted to be part of the new development. Research project were started. Soon enough many delivered ORDBMS but none as general and sophisticated as the Informix Universal Server. However, a product is not enough. Informix had enormous management problems and were bought by IBM who continues development of both Informix DBMS and DB2, their own product. Then, what exactly is an ORDBMS? What facilities do they have that traditional RDBMS don’t? Let’s take a look at what the larger of the manufacturers have done to their products. • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 14 / 24

  45. ORDBMS – what is new? Binary Large OBject, BLOB , were already in RDBMS, a new “data type”, a binary string that could be several GB in size. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 15 / 24

  46. ORDBMS – what is new? Binary Large OBject, BLOB , were already in RDBMS, a new “data type”, a binary string that could be several GB in size. Strings are not as simple to manage as more complex structures. Its size demands that it is mainly treated as a byte stream. The lack of structure made it important to use extra meta data to clarify its real structure. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 15 / 24

  47. ORDBMS – what is new? Binary Large OBject, BLOB , were already in RDBMS, a new “data type”, a binary string that could be several GB in size. Strings are not as simple to manage as more complex structures. Its size demands that it is mainly treated as a byte stream. The lack of structure made it important to use extra meta data to clarify its real structure. So you cannot formulate queries about BLOBs or their structure. • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 15 / 24

  48. ORDBMS – what’s new . . . ? Operations and algorithms that are necessary to manipulate BLOBs are not possible to implement in a general fashion (for querying) in spite of the fact that we deal with rich, complex and well structured data (images, video, audio, XML, html, . . . documents) DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 16 / 24

  49. ORDBMS – what’s new . . . ? Operations and algorithms that are necessary to manipulate BLOBs are not possible to implement in a general fashion (for querying) in spite of the fact that we deal with rich, complex and well structured data (images, video, audio, XML, html, . . . documents) Mostly we must rely on external programs and, maybe, just to verify that the content is uninteresting. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 16 / 24

  50. ORDBMS – what’s new . . . ? Operations and algorithms that are necessary to manipulate BLOBs are not possible to implement in a general fashion (for querying) in spite of the fact that we deal with rich, complex and well structured data (images, video, audio, XML, html, . . . documents) Mostly we must rely on external programs and, maybe, just to verify that the content is uninteresting. Besides BLOBs, CLOBs (Character Large OBjects) were introduced. Strings have structure so you can search them. DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 16 / 24

  51. ORDBMS – what’s new . . . ? Operations and algorithms that are necessary to manipulate BLOBs are not possible to implement in a general fashion (for querying) in spite of the fact that we deal with rich, complex and well structured data (images, video, audio, XML, html, . . . documents) Mostly we must rely on external programs and, maybe, just to verify that the content is uninteresting. Besides BLOBs, CLOBs (Character Large OBjects) were introduced. Strings have structure so you can search them. Some systems implement other “LOB” types. • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 16 / 24

  52. ORDBMS – what’s new . . . ? Additions apart from BLOB and CLOB • row types (essentially composite attributes) DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 17 / 24

  53. ORDBMS – what’s new . . . ? Additions apart from BLOB and CLOB • row types (essentially composite attributes) • user defined types, procedures and functions DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 17 / 24

  54. ORDBMS – what’s new . . . ? Additions apart from BLOB and CLOB • row types (essentially composite attributes) • user defined types, procedures and functions • polymorphism DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 17 / 24

  55. ORDBMS – what’s new . . . ? Additions apart from BLOB and CLOB • row types (essentially composite attributes) • user defined types, procedures and functions • polymorphism • inheritance DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 17 / 24

  56. ORDBMS – what’s new . . . ? Additions apart from BLOB and CLOB • row types (essentially composite attributes) • user defined types, procedures and functions • polymorphism • inheritance • reference types and object identity DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 17 / 24

  57. ORDBMS – what’s new . . . ? Additions apart from BLOB and CLOB • row types (essentially composite attributes) • user defined types, procedures and functions • polymorphism • inheritance • reference types and object identity • “collections” : ARRAY, SET, LIST, MULTISET DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 17 / 24

  58. ORDBMS – what’s new . . . ? Additions apart from BLOB and CLOB • row types (essentially composite attributes) • user defined types, procedures and functions • polymorphism • inheritance • reference types and object identity • “collections” : ARRAY, SET, LIST, MULTISET • triggers DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 17 / 24

  59. ORDBMS – what’s new . . . ? Additions apart from BLOB and CLOB • row types (essentially composite attributes) • user defined types, procedures and functions • polymorphism • inheritance • reference types and object identity • “collections” : ARRAY, SET, LIST, MULTISET • triggers • recursion (mainly convex hull recursion) DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 17 / 24

  60. ORDBMS – what’s new . . . ? Additions apart from BLOB and CLOB • row types (essentially composite attributes) • user defined types, procedures and functions • polymorphism • inheritance • reference types and object identity • “collections” : ARRAY, SET, LIST, MULTISET • triggers • recursion (mainly convex hull recursion) Let us look at some of it and compare ORDBMS with OODBMS. The examples stem from Postgres • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 17 / 24

  61. ORDBMS – benefits? Stonebraker suggested a classification departing from searchability, multi user support, data complexity and extendibility. searchability / multi−user support RDBMS File systems OODBMS data complexity / exetendibility • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 18 / 24

  62. ORDBMS – benefits . . . ? Adding ORDBMS completes the picture: ORDBMS searchability / multi−user support RDBMS File systems OODBMS data complexity / exetendibility • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 19 / 24

  63. ORDBMS – benefits . . . ? • Reuse DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 20 / 24

  64. ORDBMS – benefits . . . ? • Reuse • Sharing DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 20 / 24

  65. ORDBMS – benefits . . . ? • Reuse • Sharing • Increased productivity (due to the two previous points) DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 20 / 24

  66. ORDBMS – benefits . . . ? • Reuse • Sharing • Increased productivity (due to the two previous points) • You preserve knowledge from RDBMS (probably too expensive to switch) DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 20 / 24

  67. ORDBMS – benefits . . . ? • Reuse • Sharing • Increased productivity (due to the two previous points) • You preserve knowledge from RDBMS (probably too expensive to switch) • SQL ⊂ SQL2 / SQL92 ⊂ SQL3 / SQL99 ( ⊂ SQL4 ) • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 20 / 24

  68. ORDBMS – drawbacks? You apparently introduce complexity (without limit . . . ). DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 21 / 24

  69. ORDBMS – drawbacks? You apparently introduce complexity (without limit . . . ). Critics exist that claim that: • you lose the apparent simplicity of traditional RDBMS DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 21 / 24

  70. ORDBMS – drawbacks? You apparently introduce complexity (without limit . . . ). Critics exist that claim that: • you lose the apparent simplicity of traditional RDBMS • you extend for a marginal group of users (not many use the extensions) DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 21 / 24

  71. ORDBMS – drawbacks? You apparently introduce complexity (without limit . . . ). Critics exist that claim that: • you lose the apparent simplicity of traditional RDBMS • you extend for a marginal group of users (not many use the extensions) • “purists” in OO reject the terminology DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 21 / 24

  72. ORDBMS – drawbacks? You apparently introduce complexity (without limit . . . ). Critics exist that claim that: • you lose the apparent simplicity of traditional RDBMS • you extend for a marginal group of users (not many use the extensions) • “purists” in OO reject the terminology • the world is not relational with “some extra structures” DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 21 / 24

  73. ORDBMS – drawbacks? You apparently introduce complexity (without limit . . . ). Critics exist that claim that: • you lose the apparent simplicity of traditional RDBMS • you extend for a marginal group of users (not many use the extensions) • “purists” in OO reject the terminology • the world is not relational with “some extra structures” • OO-application programs are not as “data centered” as traditional database application programs • DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 21 / 24

  74. PostgreSQL Stonebraker & al. are also beyond the pioneering work with Postgres, that under the name PostgreSQL is free to download and use under GPL DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 22 / 24

  75. PostgreSQL Stonebraker & al. are also beyond the pioneering work with Postgres, that under the name PostgreSQL is free to download and use under GPL Postgre(-s/-SQL) was designed to meet the new industrial demands DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 22 / 24

  76. PostgreSQL Stonebraker & al. are also beyond the pioneering work with Postgres, that under the name PostgreSQL is free to download and use under GPL Postgre(-s/-SQL) was designed to meet the new industrial demands PostgreSQL follows SQL92 “entry level” but they have implemented most of SQL99 (SQL3) though some of it with PostgreSQL-specific syntax which slowly is reworked into the standard syntax DD2471 (Lecture 07) Modern database systems & their applications Spring 2012 22 / 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend