OBJECT-DATABASE SYSTEMS 1 Loreto Bravo WEAKNESS of RDBMSS

Total Page:16

File Type:pdf, Size:1020Kb

OBJECT-DATABASE SYSTEMS 1 Loreto Bravo WEAKNESS of RDBMSS OBJECT-DATABASE SYSTEMS 1 Loreto Bravo WEAKNESS OF RDBMSS | Poor support for complex data: y New database applications need more & better support for complex data. | Poor representation of ‘real world’ entities y normalization generally leads to the creation of relations that do not corresponds to entities in the ‘real world’. | Semantic overloading: y No mechanism to distinguish between entities and relationships, y No mechanism to distinguish between different relationships. | Limited Operations y fixed set of operations such as set and tuple – oriented operations | Impedance mismatch 2 y difficulties associated to using RDBMS with an OO-language NEW DATABASE APPLICATIONS NEEDS | New applications need to handle complex data: y Computer-aided design (CAD): data relating to mechanical and electrical design (buildings, IC circuits, etc.) y Computer-aided software engineering (CASE): stages of the software development lifecycle planning. y Geographic Databases y Multimedia Databases | Richer data types needed: images, audio, video, geographical data, text | Need for inheritance | Need for query languages that can handle complex data types 3 DEVELOPMENT OF OBJECT DATABASE SYSTEMS | Two paths: y Object-Oriented Database Systems: | Alternative to relational databases | For domains in which objects play a central role | Very influenced by object-oriented programming languages | Adding DBMS functionality to an object-oriented programming language environment | Standards: | ODL: Object Definition Language | OQL: Object Query Language y Object-Relational Database Systems | Extension of RDMS to handle objects | SQL3 extends SQL to support object-relational model of data 4 OBJECT-ORIENTED DATABASE SYSTEMS (OODBMS) 5 Loreto Bravo OBJECT ORIENTED CONCEPTS | User defined data-types: y Rich collection of types y Classes, which are types that may include methods, which are procedures that are applicable to objects belonging to the class. | Object Identity: each object has a unique identifier, independent of its value y Two objects with the same attributes are still distinguishable | Inheritance: there is a class hierarchy and classes can inherit properties of classes above it. | Encapsulation: structure of an object is not visible to the external world y Only operations defined by methods can be applied over objects | All these concepts apply also for OODBMS 6 OODBMS | Extend the concepts of OO programming languages (C++, Java, etc) to include persistence y In OO-programas objects only exist at execution time y In OODBMS this is modified so that objects can be preserved indefinitely, unless changed by the user. | Standards: y Object-oriented data model: ODL (object definition language) y Object-oriented query language: OQL (object query language) 7 OBJECT DEFINITION LANGUAGE (ODL) | Basic design paradigm in ODL: y Model objects and their properties. | Class=Interface+Implementation y ODL defines the interface Interface <name> { attributes: <type> <name>; relationships <range type> <name>; methods (in, out, inout, exceptions)} y The implementation will depend on the language (C++, Smalltalk or Java) used in the OODBMS 8 TYPES IN ODL | Basic types: y Atomic types (e.g., string, integer, …) y Enumeration types (Monday, Tuesday, Wednesday ….) | Constructors: can be applied without limitations. y Set: (1, 5, 6) y Bag: (1, 1, 5, 6, 6 ) y List: (1, 5, 6, 1, 6 ) y Array: Integer[17] | Examples: y Struct: (string name, string address) y Struct: (name: “John”, childrenAges: bag (1,1,2,2)) 9 EXAMPLE WITH METHOD Interface Movie { (extent Movies key title) attribute string title; relationship Set <Star> stars inverse Star::starredIn; float lengthInHours raises(noLengthFound); starNames (out Set <String>); otherMovies (in Star, out Set<Movie>) raises (noSuchStar); } 10 BANKING EXAMPLE 1 Ss# name amount loandid address type customer borrower loans Belongs-to Customer-of branch branchid location Keys: ss#, loanid, branchid Cardinality constraint: each loan belongs to a single branch 11 BANKING EXAMPLE (II) interface Customer { attribute string name; attribute integer ss#; attribute Struct Addr {string street, string city, int zip} address; relationship Set<Loans> borrowed inverse Loans::borrower; relationship Set<Branch> has-account-at inverse Branch::patrons; key(ss#) } | Structured types have names and bracketed lists of field- type pairs. | Relationships have inverses. | An element from another class is indicated by < class > or :: 12 | Form a set type with Set<type>. LOANS EXAMPLE (III) interface loans { attribute real amount; attribute int loanid; attribute Enum loanType {house, car, general} type; relationship Branch belongs-to inverse Branch::loans-granted; relationship Set<Customer> borrower inverse Customer::borrowed; key(loanid) } | Enumerated types have names and bracketed lists of values. 13 BANK EXAMPLE (IV) interface Branch { attribute integer branchid; attribute Struct Customer::Addr location; relationship Set<Loans> loans-granted inverse Loans::belongs-to; relationship Set<Customer> patrons inverse Customer::has-account-at; key(branchid); } | Note reuse of Addr type defined in Customer. 14 TYPES OF RELATIONSHIPS | The Banking example shows many-many and many-to- one relationships | All ODL relationships are binary. y Many-many relationships have Set<…> for the type of the relationship and its inverse. y Many-one relationships have Set<…> in the relationship of the “one” and just the class for the relationship of the “many.” y One-one relationships have classes as the type in both directions. 15 is-a relationship INHERITANCE interface Instructor:Person ( extent Instructors ) { attribute long salary; attribute string rank; attribute Degrees degrees; relationship Department dept inverse Department::instructors; relationship set<Course> teaches inverse Course::taught_by; long works_for (); short courses ( in string dept_name ); }; 16 ANOTHER EXAMPLE (FROM ULLMAN CS145) Names for the names of the structure and class Bar { attributes enumeration attribute string name; attribute Struct Addr {string street, string city, int zip} address; attribute Enum Lic { FULL, BEER, NONE } license; relationship Set<Beer> serves inverse Beer::servedAt; } The :: operator connects The type of relationship serves a name on the right to the is a set of Beer objects. context containing that name, on the left. 17 ANOTHER MULTIPLICITY EXAMPLE class Beer { attribute string name; attribute string manf; relationship Set<Bar> servedAt inverse Bar::serves; } husband and wife are one-one and inverses class Drinker { of each other. attribute … ; relationship Drinker husband inverse wife; relationship Drinker wife inverse husband; relationship Set<Drinker> buddies inverse buddies; } buddies is many-many and its own inverse. Note no :: needed 18 if the inverse is in the same class. OQL: OBJECT QUERY LANGUAGE | OQL is the object-oriented query standard. | It uses ODL as its schema definition language. | Types in OQL are like ODL’s. | Set(Struct) and Bag(Struct) play the role of relations. SELECT can construct new objects, arbitrary structures FROM tuple variables can range over any collection; may have subqueries. WHERE pretty much the same as in SQL 19 PATH EXPRESSIONS | Path expressions are needed in order to access components of objects. y Attributes: | a.p is the value of the attribute p of a y Relationships: | a.p is the object or collection of objects related to a by p. y Methods: | a.p is the result of applying p to a (perhaps with a parameter). | Also possible to have longer expressions: y a.father.wife.child.father.wife…. 20 SELECT-FROM-WHERE IN OQL (simple) Example: SELECT s.name FROM Movies m, m.stars s WHERE m.title = “Sleepless in Seattle” Note: this looks a lot more procedural than SQL. 21 COMPLICATIONS IN THE FROM CLAUSE SELECT a.phoneNumber FROM Movies m, (SELECT m.address FROM m.stars WHERE m.city=“Los Angeles”) AS a WHERE m.title = “Sleepless in Seattle” The FROM clause can contain arbitrary subqueries that return collections. 22 COMPLEX OUTPUT TYPES The SELECT clause can create complex structures: SELECT Struct: (address: a, phoneNumber: a.phoneNumber) FROM Movies m, (SELECT m.address FROM m.stars WHERE m.city=“Los Angeles”) AS a WHERE m.title = “Sleepless in Seattle” 23 OTHER FEATURES OF OQL | Ordering of the results y ORDER BY m.title, m.year. | Quantifier expressions: y FOR ALL x IN S : C(x) y EXISTS x IN S:C(x) | Aggregation, grouping and HAVING clauses. | Set operators: UNION, INTERSECT, EXCEPT (different if operating on bags or sets). | Remove duplicates: SELECT DISTINCT. 24 INTERFACE WITH HOST LANGUAGE | OQL is much more tightly integrated with the host language. | OQL produces objects (of various types). y One can simply assign the objects as values to variables with the appropriate types. y No need for special interface. | ELEMENT: turns a bag of one element into the single element: y var1 = ELEMENT (SELECT m FROM Movies m WHERE title=“sleepless in Seattle”); 25 HANDLING SETS OR BAGS | First: turn them into lists (using ORDER BY). | Then: use host language operations to go through them. | Example: movieList = SELECT m FROM Movies m WHERE m.year > 1990 ORDER BY m.title, m.year; numberOfMovies = COUNT (movieList); for (i=0; i < numberOfMovies; i++) { movie = movieList[i]; … } 26 EXAMPLE | Schema one relation Tour (S, E, C ) meaning: y company C offers a tour from city S to city E. | Query: find for every city, the companies giving tours of itself. SELECT [S: x.S C: (SELECT y.C FROM y in Tour WHERE x.E=y.S and x.S=y.E) ] FROM x in Tour 27 EXAMPLE
Recommended publications
  • 20140620075114!12305
    Enhancement of Open Source Monitoring Tool for Small Footprint Databases Dissertation Submitted in partial fulfillment of the requirements for the degree of Master of Technology in Computer Science and Engineering Submitted by Sukh Deo Roll No. 123050061 Under the Guidance of Prof. Deepak B. Phatak Department of Computer Science and Engineering Indian Institute of Technology Bombay Powai, Mumbai, India 400076 June, 2014 Dissertation Approval Certificate Department of Computer Science and Engineering Indian Institute of Technology, Bombay The dissertation entitled \Enhancement of Open Source Monitoring Tool for Small Footprint Databases", submitted by Sukh Deo (Roll No: 123050061) is approved for the degree of Master of Technology in Computer Science and Engineering from Indian Institute of Technology, Bombay. Prof. Deepak B. Phatak Dept. of CSE, IIT Bombay Supervisor Internal Examiner External Examiner Place: IIT Bombay, Mumbai Date: June, 2014 Declaration I declare that this written submission represents my ideas in my own words and where other's ideas or words have been included, I have adequately cited and referenced the original sources. I also declare that I have adhered to all principles of academic honesty and integrity and have not misrepresented or fabricated or falsified any idea/data/fact/source in my submission. I un- derstand that any violation of the above will be cause for disciplinary action by the Institute and can also evoke penal action from the sources which have thus not been properly cited or from whom proper permission has not been taken when needed. Signature Name of Student Roll number Date 3 Acknowledgement I would like to thank my guide, Prof.
    [Show full text]
  • LIST of NOSQL DATABASES [Currently 150]
    Your Ultimate Guide to the Non - Relational Universe! [the best selected nosql link Archive in the web] ...never miss a conceptual article again... News Feed covering all changes here! NoSQL DEFINITION: Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-source and horizontally scalable. The original intention has been modern web-scale databases. The movement began early 2009 and is growing rapidly. Often more characteristics apply such as: schema-free, easy replication support, simple API, eventually consistent / BASE (not ACID), a huge amount of data and more. So the misleading term "nosql" (the community now translates it mostly with "not only sql") should be seen as an alias to something like the definition above. [based on 7 sources, 14 constructive feedback emails (thanks!) and 1 disliking comment . Agree / Disagree? Tell me so! By the way: this is a strong definition and it is out there here since 2009!] LIST OF NOSQL DATABASES [currently 150] Core NoSQL Systems: [Mostly originated out of a Web 2.0 need] Wide Column Store / Column Families Hadoop / HBase API: Java / any writer, Protocol: any write call, Query Method: MapReduce Java / any exec, Replication: HDFS Replication, Written in: Java, Concurrency: ?, Misc: Links: 3 Books [1, 2, 3] Cassandra massively scalable, partitioned row store, masterless architecture, linear scale performance, no single points of failure, read/write support across multiple data centers & cloud availability zones. API / Query Method: CQL and Thrift, replication: peer-to-peer, written in: Java, Concurrency: tunable consistency, Misc: built-in data compression, MapReduce support, primary/secondary indexes, security features.
    [Show full text]
  • Daten Als Objekte Speichern Mit Db4o, Eine Objektorientierte Datenbank
    Daten als Objekte speichern mit db4o, eine objektorientierte Datenbank Matthias Bordach Universitaet Siegen [email protected] ABSTRACT 2. DER ODMG STANDARD[1] Die Hausarbeit befasst sich mit der Datenbanktechnologie Verschiedene Ans¨atze fur¨ eine Datenbank auf objektorientier- db4o. Das objektorientierte Speicherkonzept zeichnet sie als ter Basis erforderten einen Standard. Diesen Standard ent- einen Vertreter der NO-SQL-Familie aus. Auf eine theoreti- wickelte eine Arbeitsgruppe der Object Management Group sche Einfuhrung¨ in den Standard ODMG folgt eine praktische (OMG). 1993 wurde die erste Version ver¨offentlicht mit dem Vorstellung der Datenbankfunktionalit¨at. Die Funktionen Namen The Object Data Standard ODMG. Die Arbeitsgrup- werden mit Beispielen gestutzt,¨ die in Java geschrieben sind. pe uberarbeitete¨ und erweiterte das Dokument in den fol- Abfrage- und Speichermethoden werden ebenso erkl¨art wie genden Jahren. Inhalt und Ziel des Dokuments ist eine Stan- die Realisierung von Beziehungen zwischen Objekten und darddefinition von Konzepten fur¨ die Anbindung eines objek- das Handling von Schema Evolution. Der Leser wird nach torientierten Datenbankmanagementsystems an die gew¨ahlte der Lekture¨ in der Lage sein, eine einfache Datenbank mit Programmiersprache. In Version 3 wird den Sprachen C++, db4o zu programmieren. Smalltalk und Java jeweils ein eigenes Kapitel fur¨ die Schnitt- stellenumsetzung gewidmet. Generell definiert die ODMG das Object Model, Objektspezifikationssprachen und die an die 1. EINLEITUNG SQL angelehnte Object Query Language (OQL). Es werden Die Idee einer Datenbank, die Objekte ohne ein aufwendiges Standardausdrucke¨ festgelegt fur¨ die Datenbankinstanziie- Mapping in ein anderes Datenmodell speichern kann, wurde rung, -nutzung (open, close), Transaktionen (commit) und erstmals in den 80er Jahren des letzten Jahrhunderts in kon- Mehrfachzugriff (Locks).
    [Show full text]
  • Mobile Application Development Quick Start Guide
    AT&T Developer Program Mobile Application Development Quick Start Guide White Paper Revision 1.1 Revision Date 3/13/2008 © 2008 AT&T Knowledge Ventures This document and the information contained herein (collectively, the "Information") is provided to you (both the individual receiving this document and any legal entity on behalf of which such individual is acting) ("You" and "Your") by AT&T, on behalf of itself and its affiliates ("AT&T") for informational purposes only. AT&T is providing the Information to You because AT&T believes the Information may be useful to You. The Information is provided to You solely on the basis that You will be responsible for making Your own assessments of the Information and are advised to verify all representations, statements and information before using or relying upon any of the Information. Although AT&T has exercised reasonable care in providing the Information to You, AT&T does not warrant the accuracy of the Information and is not responsible for any damages arising from Your use of or reliance upon the Information. You further understand and agree that AT&T in no way represents, and You in no way rely on a belief, that AT&T is providing the Information in accordance with any standard or service (routine, customary or otherwise) related to the consulting, services, hardware or software industries. AT&T DOES NOT WARRANT THAT THE INFORMATION IS ERROR-FREE. AT&T IS PROVIDING THE INFORMATION TO YOU "AS IS" AND "WITH ALL FAULTS." AT&T DOES NOT WARRANT, BY VIRTUE OF THIS DOCUMENT, OR BY ANY COURSE OF PERFORMANCE, COURSE OF DEALING, USAGE OF TRADE OR ANY COLLATERAL DOCUMENT HEREUNDER OR OTHERWISE, AND HEREBY EXPRESSLY DISCLAIMS, ANY REPRESENTATION OR WARRANTY OF ANY KIND WITH RESPECT TO THE INFORMATION, INCLUDING, WITHOUT LIMITATION, ANY REPRESENTATION OR WARRANTY OF DESIGN, PERFORMANCE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, OR ANY REPRESENTATION OR WARRANTY THAT THE INFORMATION IS APPLICABLE TO OR INTEROPERABLE WITH ANY SYSTEM, DATA, HARDWARE OR SOFTWARE OF ANY KIND.
    [Show full text]
  • Enhancement of the Performance of Monitoring Tool for Small Footprint
    Enhancement of The Performance of Monitoring Tool for Small Footprint Databases MTP Stage-I Report Submitted in partial fulfillment of the requirements for degree of Master of Technology Under guidance of Prof. Deepak B. Phatak Submitted By Sukh deo Rolla No: 123050061 Department of Computer Science and Engineering Indian Institute of Technology Bombay, Mumbai 1 Acknowledgement I would like to extremely thanks my guide, Prof. Deepak B. Phatak, for the consistent directions and guidance throughout the project. Because of his consistent encouragement and right directions, we are able to do this project work. I would like to thanks Mr. Nagesh Karmali for his continuous inputs in my work. I would also like to thank every one else who supported me in this work. 2 Abstract Nowadays, mobile devices are not only use for basic purpose like call, but many different purpose and different applications. We can say mobile de- vices are sibling of personal computers. Mobile device usage patterns are very different as compared to conventional PCs, as the devices are targeted for general users. Mobile devices have some great features, e.g., light weight and efficiency, but it has some drawback like small memory and battery is- sues. Peoples want to use many applications, due to growing the number of purposes, but it challenges to manage the many application in mobile device. Performance of mobile device depends on how to managing our applications and its data. There is a need to measure the performance of various com- monly used applications. Our work start with simple question: does storage affect the performance of mobile device? What kinds of database requires for mobile device? What are the parameter to measure the performance of databases? How to measure the performance of mobile device and its possible tools.
    [Show full text]
  • Relational and Object-Oriented Databases
    Relational and Object-Oriented Databases by Willi-Hans Steeb International School for Scientific Computing Contents 1 What is a table? 1 1.1 Introduction . 1 1.2 Examples . 5 1.3 Tables in Programs . 8 1.4 Table and Relation . 33 2 Structured Query Language 35 2.1 Introduction . 35 2.2 Integrity Rules . 38 2.3 SQL Commands . 39 2.3.1 Introduction . 39 2.3.2 Aggregate Function . 40 2.3.3 Arithmetic Operators . 40 2.3.4 Logical Operators . 40 2.3.5 SELECT Statement . 41 2.3.6 INSERT Command . 45 2.3.7 DELETE Command . 46 2.3.8 UPDATE Command . 47 2.3.9 CREATE TABLE Command . 48 2.3.10 DROP TABLE Command . 51 2.3.11 ALTER TABLE Command . 52 2.4 Set Operators . 53 2.5 Views . 60 2.6 Primary and Foreign Keys . 62 2.7 Datatypes in SQL . 63 2.8 Joins . 66 2.9 Stored Procedure . 71 2.10 MySQL Commands . 72 2.11 Cursors . 73 2.12 PL and SQL . 75 2.13 ABAP/4 and SQL . 76 2.14 Query Processing and Optimization . 77 i 3 Normal Forms 83 3.1 Introduction . 83 3.2 Anomalies . 87 3.3 Example . 89 3.4 Fourth and Fifth Normal Forms . 93 4 Transaction 101 4.1 Introduction . 101 4.2 Data Replication . 107 4.3 Locks . 108 4.4 Deadlocking . 111 4.5 Threads . 117 4.5.1 Introduction . 117 4.5.2 Thread Class . 119 4.5.3 Example . 121 4.5.4 Priorities . 123 4.5.5 Synchronization and Locks .
    [Show full text]
  • Testování Embedded Databázových Systémů Benchmarking of Embedded Database Systems
    VŠB – Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Testování embedded databázových systémů Benchmarking of Embedded Database Systems 2018 David Tabor Rád bych na tomto místě poděkoval vedoucímu bakalářské práce Ing. Petrovi Chovancovi, Ph. D. za odborné vedení a pomoc při realizaci této práce. Abstrakt Cílem této bakalářské práce je vytvořit univerzální testovací rozhraní pro měření výkonu em- bedded databázových systémů v závilosti na zvoleném indexu, čili datové struktuře. Testo- vací rozhraní bude navrženo tak, aby jej bylo možno jednoduchou implementací doplnit o další embedded databázové systémy. Testy budou probíhat nad zvolenými embedded databázovými systémy, zvolenou datovou strukturou a kolekcí dat, která bude generována nebo nahrána z ex- terního souboru a budou uživatele informovat prodstřednictvím webového rozhraní o stavu a průběhu. Historie testů bude ukládána v lokální databázi pro následné vyhodnocení. Klíčová slova: Embedded databázové systémy, RadegastDB, SQLite, MySQL, Firebird SQL, SQL CE, Sekvenční pole (Halda), B-strom, R-strom, Hašovací tabulka Abstract The aim of this bachelor thesis is to create a universal test interface for measuring the perfor- mance of embedded database systems depending on the selected index, i.e. the data structure. The test interface will be designed to be complemented with other embedded database systems by simple implementation. Tests will run over selected embedded database systems, a selected data structure and a data collection that will be generated or loaded from an external file and will inform users via the web interface about status and progress. The history of the tests will be stored in a local database for subsequent evaluation. Key Words: Embedded database systems, RadegastDB, SQLite, MySQL, Firebird SQL, SQL CE, Sequential array (Heap), B-tree, R-tree, Hash table Obsah Seznam použitých zkratek a symbolů 9 Seznam obrázků 10 Seznam tabulek 11 1 Úvod 12 2 Datové struktury RadegastDB 13 2.1 Sekvenční pole .
    [Show full text]
  • Autonomous Horizons: the Way Forward Is a Product of the Office Air University Press 600 Chennault Circle, Bldg 1405 of the US Air Force Chief Scientist (AF/ST)
    Autonomous Horizons The Way Forward A vision for Air Force senior leaders of the potential for autonomous systems, and a general framework for the science and technology community to advance the state of the art Dr. Greg L. Zacharias Chief Scientist of the United States Air Force 2015–2018 The second volume in a series introduced by: Autonomous Horizons: Autonomy in the Air Force – A Path to the Future, Volume 1: Human Autonomy Teaming (AF/ST TR 15-01) March 2019 Air University Press Curtis E. LeMay Center for Doctrine Development and Education Maxwell AFB, Alabama Chief of Staff, US Air Force Library of Congress Cataloging-in-Publication Data Gen David L. Goldfein Names: Zacharias, Greg, author. | Air University (U.S.). Press, publisher. Commander, Air Education and Training | United States. Department of Defense. United States Air Force. Command Title: Autonomous horizons : the way forward / by Dr. Greg L. Zacha- Lt Gen Steven L. Kwast rias. Description: First edition. | Maxwell Air Force Base, AL : AU Press, 2019. “Chief Scientist for the United States Air Force.” | Commander and President, Air University Lt Gen Anthony J. Cotton “January 2019.” |Includes bibliographical references. Identifiers: LCCN 2018061682 | ISBN 9781585662876 Commander, Curtis E. LeMay Center for Subjects: LCSH: Aeronautics, Military—Research—United States. | Doctrine Development and Education United States. Air Force—Automation. | Artificial intelligence— Maj Gen Michael D. Rothstein Military applications—United States. | Intelligent control systems. | Autonomic
    [Show full text]
  • The O/R Problem: Mapping Between Relational and Object-Oriented
    The O/R Problem: Mapping Between Relational and Object-Oriented Methodologies CIS515 Strategic Planning for Database Systems Ryan Somma StudenID: 9989060874 [email protected] Introduction Relational databases are set of tables defining the columns of the rows they contain, which are also conceptualized as relations defining the attributes of the tuples they store. Relational Database Management Systems (RDBMS) abstract the normalized relational structures underlying the system away from the user, allowing them to focus on the specific data they wish to extract from it. Through queries, they provide users the capability of joining sets in relations into reports, transforming data into information. Through normalization, they eliminate redundancy, ensuring there is only one source for each data element in the system, and improve integrity through relationships based on data keys and validation (Rob and Coronel, 2009). Although there are alternatives to RDBMS‟s, the top five database management systems for 2004 to 2006 were all relational (Olofson, 2007). Object orientation is a “set of design and development principles based on conceptually autonomous computer structures known as objects.” Object-oriented programming (OOP) takes related data elements and functions, known as properties and methods, and encapsulates them into objects that may interact with other objects via messaging or act upon themselves. This strategy reduces complexity in the system, hiding it within objects that are easier to understand as concepts rather than exposing their workings within a morass of procedural code. Additionally, OOP promotes reuse of coding solutions with classes, which are built to model a generalized set of properties and methods that are implemented in object instances, which reuse the class code.
    [Show full text]
  • CS317 File and Database Systems
    CS317 File and Database Systems http://dilbert.com/strips/comic/1995-10-11/ Lecture 14 – OODBMS and UML Concepts November 9, 2015 Sam Siewert Reminders PLEASE FILL OUT COURSE EVALUATIONS ON CANVAS [5 points bonus on Assignment #6] Assignment #6, DBMS Project of Your Interest – POSTED – Work with your Chosen Team – Self-Directed – Autonomy, Mastery, Purpose and Life-long Learning and Requires Some Research on Your Part Assignment #4 & #5 Grading In Progress Assignment #6 Assessed with Final Grading Sam Siewert 2 Interdisciplinary Nature of DBMS CS332 – C++ & Java Final Lecture – Week 14 SE300/310 – OOA/OOD/OOP File Operating Systems Systems Programming Security Languages DBMS (SQL, OOP) Storage Networking ? (SAN, NAS, DAS) (Clusters, DR, Analytics Data Client/Server) Big MySQL Connectors CS332 – “R” C/C++, Java, … Sam Siewert 3 OODBMS and UML Concepts CHAPTER 27 Sam Siewert 4 Next Generation Database Systems First Generation DBMS: Network and Hierarchical – Required complex programs for even simple queries. – Minimal data independence. – No widely accepted theoretical foundation. Second Generation DBMS: Relational DBMS – Helped overcome these problems. Third Generation DBMS: OODBMS and ORDBMS. [NoSQL] Pearson Education © 2014 5 History of Data Models Pearson Education © 2014 6 Object-Oriented Data Model No one agreed object data model. One definition: Object-Oriented Data Model (OODM) – Data model that captures semantics of objects supported in object-oriented programming. Object-Oriented Database (OODB) – Persistent and sharable collection of objects defined by an ODM. Object-Oriented DBMS (OODBMS) – Manager of an ODB. OMG [Object Management Group], CORBA Pearson Education © 2014 7 Object-Oriented Data Model Zdonik and Maier present a threshold model that an OODBMS must, at a minimum, satisfy: – It must provide database functionality.
    [Show full text]
  • 2007 Javaonesm Conference Word “BENEFIT” Is in Green Instead of Orange
    there are 3 cover versions: Prospect 1 (Java) It should say “... Save $200!” on the front and back cover. The first early bird pricing on the IFC and IBC should be “$2,495”, and the word “BENEFIT” is in orange. ADVANCE CONFERENCE GUIDE Prospect 2 (Non-Java) The front cover photo and text is different from Prospect 1. The text of the introduction Last Chance to Save $200! Register by April 4, 2007, at java.sun.com/javaone paragraphs on the IFC is also different, the 2007 JavaOneSM Conference word “BENEFIT” is in green instead of orange. Features Java Technology, Open Source, Web 2.0, Emerging Technologies, and More Don’t miss this year’s newly expanded content. Advance your development skills with hundreds of expert-led, in-depth technical sessions in nine tracks over four days: The back cover and the IBC are the same as Consumer Technologies | Java™ SE | Desktop | Java EE | Java ME Prospect 1. The Next-Generation Web | Open Source | Services and Integration | Tools and Languages How to navigate this brochure and easily find what you need... Alumni For other information for Home Conference Overview JavaOnePavilion this year’s Conference, visit java.sun.com/javaone. It should say “... Save $300!” on the front Registration Conference-at-a-Glance Special Programs and back cover. The first early bird pricing on Hyperlinks Bookmark Buttons Search Click on any of the underlined Use the bookmark tab to Click on the buttons at the top Pull down from the Edit menu and the IFC and IBC should be “$2,395”, and the links to visit specific web sites.
    [Show full text]
  • Embedded Database for Remote Process Management System
    Embedded Database for Remote Process Management System {tag} {/tag} IJCA Proceedings on International Conference on Emerging Frontiers in Technology for Rural Area (EFITRA-2012) © 2012 by IJCA Journal EFITRA - Number 4 Year of Publication: 2012 Authors: Kalyani N. Satone Madhuri M . Pal {bibtex}efitra1030.bib{/bibtex} Abstract This paper investigates embedded databases for the MicroBaseJ project. The paper aims at the development of an integrated database and a user interface for a typical 3G mobile phone with Java MIDP2 capability. One of the key objectives is to target a generic solution. A number of commercial sectors could benefit from this solution such as horticulture, building management, pollution/water management, industry etc. Four embedded databases based on J2ME have been investigated. Two of the four have been evaluated and analyzed. The size of processed data is limited to 20000 records when using the wireless toolkit simulator and 11000 records when using a mobile phone. 1 / 3 Embedded Database for Remote Process Management System Refer ences - Mobile and World, &quot;Subscriber statistics end Q1 2007,&quot; 2007. - S. Ravi, M. Chathish, and H. Prasanna, &quot;WAP AND SMS BASED EMERGING TECHNIQUES FOR REMOTEMONITORING AND CONTROL OF A PROCESS PLANT,&quot; in ICSP&apos;04. 2004 7th International Conference, 2004, pp. 2672-2675. - K. Hung and Y. Zhang, &quot;Implementation of a WAP-Based Telemedicine System for Patient Monitoring,&quot; Information Technology in Biomedicine, vol. IEEE Transations on vol. 7, pp. 101-107, June 2003. - M. Nikolova, F. Meijs, and P. Voorwinden, &quot;Remote Mobile Control of Home appliances,&quot; Consumer Electronis, vol.
    [Show full text]