Part 3: Object-Oriented Database Management Systems
|
|
- Shon Brown
- 5 years ago
- Views:
Transcription
1 OODBMS 1/61 Part 3: Object-Oriented Database Management Systems Thomas Neumann
2 OODBMS 2/61 Literature R. Catell et al. The Object Data Standard: ODMG 3.0 Morgan Kaufmann, 2000 A. Kemper and G. Moerkotte. Object-Oriented Database Management: Applications in Engineering and Computer Science Prentice Hall, 1994 M. Stonebreaker. Object-Relational DBMSe: The Next Great Wave Morgan Kaufmann, 1996
3 OODBMS 3/61 Introduction Object-Oriented programming Why not relational? OODBMS ODMG 3.0 OQL Object-Relational DB Overview
4 OODBMS 4/ Introduction most currently used DBMSs relational assume large sets of uniform data not suited for heavily structured data OODBMSs can handle these firms don t want to switch relational DBMS become object-relational as compromise
5 OODBMS 5/ Object-oriented programming imperative languages Assembler, Fortran, C etc. sequence of commands performs operations on data object-oriented languages Smalltalk, C++, Java etc. object: combination of code and data offer an interface, hide the implementation concentrates on the algorithms
6 OODBMS 6/ Object-oriented programming (2) higher level of abstraction concentrates on behavior of objects (ADTs) easier code reuse better maintainable
7 OODBMS 7/ OOP - data encapsulation E.g. class Stack { private... public void push ( Object o ) ; public Object pop ( ) ; } objects define behavior implementation not visible implementation can easily be changed
8 OODBMS 8/ OOP - inheritance/substitutability class F i l e { public s t r i n g getpath ( ) ; } class NFAFile extends F i l e { public s t r i n g g e t S e r v e r ( ) ; } NFSFile has all features of File NFSFile can be used where File is expected code for File can handle different files code can be reused
9 OODBMS 9/ OOP - polymorphism E.g. class Container { public int g e t S i z e ( ) ; } class L i s t extends Container { public int g e t S e r v e r ( ) ; } derived class can change behavior still same interface substitutability allows generic programming
10 OODBMS 10/ Why not relational? RDBMSs store data in tables operate on sets of uniform data similar to records in imperative languages OOP usually uses more complex data RDBMS cannot store that efficient
11 OODBMS 11/61 E.g. 3 entities: Vehicle Car is-a Vehicle Bicycle is-a Vehicle Problems: which relations? queries about all vehicles? redundancy? 3.2 Generalization
12 OODBMS 12/61 E.g.3 entities PostalCode Address contains PostalCode Firm contains Address Problems different relations? different entities? contained in different entities? queries? 3.3 Aggregation
13 OODBMS 13/61 E.g. Person.Phone Car.ColorsPossible Database.Administrators Problems not supported by RDBMS must use relations cumbersome performance 3.4 Set-valued data
14 OODBMS 14/61 E.g. coordinates distance rotate translate Problems only UDTs/UDFs not complex objects separate from application cumbersome 3.5 Behavior
15 OODBMS 15/ Impedence Mismatch RDBMSs interpret data in terms of sets applications interpret data in terms of (linked) records data access has to be mapped cumbersome performance
16 OODBMS 16/ OODBMS stores application data native data access eliminates I/O code blurs the distinction between application and DBMS natural storage for OO languages
17 OODBMS 17/ OODBMS (2) Wanted features (not all OODBMSs provided all of them) persistent objects representation independence transactions queries client/server Persistent languages provide a subset
18 OODBMS 18/ Persistent objects - OID (1) In a relational database: employee name floor Smith 2 After department name floor Marketing 1 Research 2 update department set f l o o r=f l o o r +1 Smith works in Marketing. linking using values identity through contents
19 OODBMS 19/ Persistent objects - OID (2) In an object-oriented database employee department OID name floor OID name department oid 2 Marketing 1 oid 1 Smith oid 3 oid 3 Research 2 After an update Smith still works in Research. linking using a unique id object identity object independent of values
20 OODBMS 20/ Persistent objects - OODBMS vs. RDBMS A rough comparison: OODB object type (extent) OID SQL tuple relation key RDBMSs think in (multi-)sets OODBMSs think in distinct objects a key is unique in a single relation an OID is unique in the whole database
21 OODBMS 21/ Persistent objects - API application objects map directly to database objects database access is transparent database ensures pointer consistency persistence either explicit or by reachability
22 OODBMS 22/ Representation independence objects not BLOBs database knows the schema application vs. internal representation different programming languages little endian vs. big endian
23 OODBMS 23/61 As relational databases: ACID atomicity consistency isolation durability 4.4 Transactions
24 OODBMS 24/ Queries in RDBMSs data is accessed using queries in OODBMSs queries not required direct navigation possible but queries easier to use queries more efficient
25 OODBMS 25/ Client/server application and database separated optional network connection multi-user prevents some naive implementation techniques
26 OODBMS 26/ ODMG 3.0 industry standard for OODBMSs version , ODL to describe objects OQL as query language language bindings for C++, Smalltalk and Java currently only Java binding commonly used
27 OODBMS 27/ Developing general applications for OODBMSs 1. analysis/conceptual/logical design 2. physical database design in ODL 3. ODL is used to create code for application language 4. application language accesses objects via ODMG API 5. user code and generated code compiled and links Pros: language independent, rich semantics Cons: generated code, somewhat inconvenient
28 OODBMS 28/ Developing Java applications for OODBMSs 1. analysis/conceptual/logical design 2. physical database design directly in Java 3. application uses objects like normal Java objects 4. application compiled 5. database features by post-processing.class files Pros: convenient, no generated code Cons: no formal specification, language dependent, less semantics
29 OODBMS 29/ ODL - example module traffic { class Vehicle { }; class Car : Vehicle (extent cars) { attribute long kms; relationship Person owner inverse Owner::cars; // Operations }; class Person (extent persons) { attribute string name; attribute date birth; relationship set<car> cars inverse Car::owner; }; }
30 OODBMS 30/ ODL specifies data types replaces explicit create table also specifies relationships more semantically rich than for example Java operations can also be specified would require code in database (wishful thinking)
31 OODBMS 31/61 ODL specification: 5.7 ODMG Java API - example (1) class Node { attribute long value; attribute Node left; attribute Node right; };
32 OODBMS 32/61 generate Java code: 5.7 ODMG Java API - example (2) public class Node { public int value; public Node left; public Node right; static Node createsometree(); // User code static void traverse(node root); // User code }; // Some DB specific code...
33 OODBMS 33/ ODMG Java API - example (3) public class StoreTree { public static final void main(string[] args) { try { Implementation impl=mydb.getimplementation(); Database db=impl.newdatabase(); db.open( test,database.open READ WRITE); Transaction trans=impl.newtransaction(); trans.begin(); db.bind(createsometree(), root ); trans.commit(); db.close(); } catch (Exception e) { e.printstacktrace(); } } }
34 OODBMS 34/ ODMG Java API - example (4) public class RetrieveTree { public static final void main(string[] args) { try { Implementation impl=mydb.getimplementation(); Database db=impl.newdatabase(); db.open( test,database.open READ ONLY); Transaction trans=impl.newtransaction(); trans.begin(); traverse((node)db.lookup( root )); trans.commit(); db.close(); } catch (Exception e) { e.printstacktrace(); } } }
35 OODBMS 35/ ODMG - Interface public interface Implementation { Transaction newtransaction(); Database newdatabase(); OQLQuery newoqlquery(); DList newdlist(); DBag newdbag(); // Some more for collections and helpers } abstraction from the actual implementation allows to change the DBMS easily
36 OODBMS 36/61 public interface Transaction { void begin(); void abort(); void checkpoint(); void commit(); void lock(object o,int mode); // Some more } 5.9 ODMG - Transaction interface for transaction management every database operations requires an active transaction
37 OODBMS 37/ ODMG - Database public interface Database { void open(string name,int mode); void close(); void checkpoint(); void bind(object o,string name); Object lookup(string name); void unbind(string name); void makepersistent(object o); void deletepersistent(object o); } interface to the database handles actual manipulation
38 OODBMS 38/61 public interface OQLQuery { void create(string oql); void bind(object parameter)); Object execute(); } OQL interface allows parameter binding result depends on query 5.11 ODMG - OQLQuery
39 OODBMS 39/ ODMG - collections persistent collections DSet/DBag/DList/DArray/DMap base class DCollection implement java.util.{set List Map} additional set operations suited for database storage
40 OODBMS 40/ OQL declarative query language standard query language for OODBMSs aims to be similar to SQL cleaner language can handle set value attributes pointer chasing
41 OODBMS 41/ simple OQL 5 Smith 6*7 Doesn t require a select statement, any expression can be used
42 OODBMS 42/ path expressions car car.owner car.owner.birth.year car.owner.birth-today() Requires a join in SQL. An OODBMS is free to use a join or not.
43 OODBMS 43/ object creation Person(name: Smith birth:today()) struct(year:2002 month:10 day:28) bag(1,2,2,3,4) set(1,2,3,4) list(4,3,6,3)
44 OODBMS 44/ UNDEFINED assume that car.owner is nil. then car.owner.birth results in UNDEFINED. any comparison with UNDEFINED is false any other operation results in an exception check for undefined: is undefined(car.owner.birth)
45 OODBMS 45/ aggregation min, max, avg and sum can be used with sets of numbers count can be used for any set E.g. avg(cars.kms) count(persons)
46 OODBMS 46/ select-from-where select from where p persons p p.name= Smith Result: bag<person> select distinct p from persons p where p.name= Smith Result: set<person>
47 OODBMS 47/ syntax variations The following expressions are equivalent: select distinct p from persons p where p.name= Smith select distinct p from p in persons where p.name= Smith select distinct p from persons as p where p.name= Smith
48 OODBMS 48/ joins and nested queries select distinct p,(select avg(kms) from p.cars) from persons p, (select c from cars c where c.kms>100000) as c where c in p.cars joins as in SQL nested queries more powerful nesting allowed at any place
49 OODBMS 49/ quantifiers select from where select from where p persons p exists c in p.cars: c.kms> p persons p for all c in p.cars: c.kms<10000
50 OODBMS 50/ set comparisons (select from where <= (select from where p persons p exists c in p.cars: c.kms>100000) p persons p p.birth.year<1970) <= tests for subset also possible: <, =, >, >=
51 OODBMS 51/ collection operations (select from where intersect (select from where p persons p exists c in p.cars: c.kms>100000) p persons p p.birth.year<1970) also possible: union, except can be used for any collection
52 OODBMS 52/ grouping select from p (select p as p, sum(select kms from p.cars) as kms from persons p) group by many: kms> normal: (10000<=kms) and (kms<=100000) few: kms<10000 Result type: set<struct(many: bool, normal: bool, few: bool, partition: bag<person>)>
53 OODBMS 53/61 definition: 6.14 named queries define select from where drivers(min) as p persons p (select sum(kms) from p.cars)>=min usage: select p from p in drivers(100000) where p.birth.year > 1980
54 OODBMS 54/ object-relational DBMSs currently RDBMSs are used OO features would be nice / are required object-relational DBMS offer some OO features currently each vendor provides its own features SQL-99 tries to standardize currently OO features are very limited
55 OODBMS 55/ UDTs create type coord as long decimal(8,4), lat decimal(8,4) not final method distance(c coord) returns decimal(8,4); Usage: create table cities ( name varchar(100), pos coord); insert into cities values( Mannheim,coord(9.29,49.29));
56 OODBMS 56/ Methods for UDTs create method distance ( c coord) returns decimal (8,4) deterministic contains sql for coord... Usage select from where a.name, b.name cities a, cities b a.pos.distance(b.pos)<50 and a.name<b.name
57 OODBMS 57/61 create table positions of coord ref is oid; create table cities ( name varchar(100), pos ref(coord)); 7.4 Typed tables based on UDTs insert into positions values(9.24,49.29) insert into cities select Mannheim,p from positions p where p.lat==9.24 and p.long=49.29; elements of positions are objects of their own
58 OODBMS 58/ Inheritance with UDTs create type hcoord under coord as height decimal(8,4), not final; inherits all properties of coord limited substitutability no (dynamic) polymorphism
59 OODBMS 59/ Distinct types create type EURO as decimal (8,2) final create type USD as decimal (8,2) final no automatic conversion explicit casts required
60 OODBMS 60/ Further UDT features create table... under... create cast create ordering create transform (host language interface)
61 OODBMS 61/61 Summary OODBMS allow efficient handling of structured data comfortable API and query functionality ORDBMS as compromise between OODBMS and RDBMS future RDBMS will be OR, OO features will increase
Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their
Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their products. These companies are promoting a new, extended version
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database Extensions to SQL ODMG Object Model and the Object Definition Language ODL Object Database Conceptual
More informationChapter 11 Object and Object- Relational Databases
Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational
More information3. Object-Oriented Databases
3. Object-Oriented Databases Weaknesses of Relational DBMSs Poor representation of 'real world' entities Poor support for integrity and business rules Homogenous data structure Limited operations Difficulty
More informationChapter 12 Object and Object Relational Databases
Chapter 12 Object and Object Relational Databases - Relational Data Model - Object data model (OODBs) - Object-relational data models Traditional data models -network - hierarchical - relational They lack
More informationObject Query Standards by Andrew E. Wade, Ph.D.
Object Query Standards by Andrew E. Wade, Ph.D. ABSTRACT As object technology is adopted by software systems for analysis and design, language, GUI, and frameworks, the database community also is working
More informationITCS Jing Yang 2010 Fall. Class 16: Object and Object- Relational Databases (ch.11) References
ITCS 3160 Jing Yang 2010 Fall Class 16: Object and Object- Relational Databases (ch.11) Slides come from: References Michael Grossniklaus, Moira Norrie (ETH Zürich): Object Oriented Databases (Version
More informationSystems Analysis and Design in a Changing World, Fourth Edition. Chapter 12: Designing Databases
Systems Analysis and Design in a Changing World, Fourth Edition Chapter : Designing Databases Learning Objectives Describe the differences and similarities between relational and object-oriented database
More informationDATABASE TECHNOLOGY - 1DL124
1 DATABASE TECHNOLOGY - 1DL124 Summer 2007 An introductury course on database systems http://user.it.uu.se/~udbl/dbt-sommar07/ alt. http://www.it.uu.se/edu/course/homepage/dbdesign/st07/ Kjell Orsborn
More informationCourse Content. Object-Oriented Databases. Objectives of Lecture 6. CMPUT 391: Object Oriented Databases. Dr. Osmar R. Zaïane. University of Alberta 4
Database Management Systems Fall 2001 CMPUT 391: Object Oriented Databases Dr. Osmar R. Zaïane University of Alberta Chapter 25 of Textbook Course Content Introduction Database Design Theory Query Processing
More informationChapter 6 Object Persistence, Relationships and Queries
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 6 Object Persistence, Relationships and Queries Object Persistence
More informationAdvanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs
Object Oriented Database Chapter 13 1 Object DBMSs Underlying concepts: Freely sharing data across processing routines creates unacceptable data dependencies All software should be constructed out of standard,
More informationObject-Relational and Nested-Relational Databases Dr. Akhtar Ali
Extensions to Relational Databases Object-Relational and Nested-Relational Databases By Dr. Akhtar Ali Lecture Theme & References Theme The need for extensions in Relational Data Model (RDM) Classification
More informationORDBMS - Introduction
ORDBMS - Introduction 1 Theme The need for extensions in Relational Data Model Classification of database systems Introduce extensions to the basic relational model Applications that would benefit from
More informationIntroduction. Example Databases
Introduction Example databases Overview of concepts Why use database systems Example Databases University Data: departments, students, exams, rooms,... Usage: creating exam plans, enter exam results, create
More informationCh. 21: Object Oriented Databases
Ch. 21: Object Oriented Databases Learning Goals: * Learn about object data model * Learn about o.o. query languages, transactions Topics: * 21.1 * 21.2 * 21.3 * 21.4 * 21.5 Source: Ch#21, Bertino93, Kim
More informationODMG 2.0: A Standard for Object Storage
Page 1 of 5 ODMG 2.0: A Standard for Object Storage ODMG 2.0 builds on database, object and programming language standards to give developers portability and ease of use by Doug Barry Component Strategies
More informationCOURSE 11. Object-Oriented Databases Object Relational Databases
COURSE 11 Object-Oriented Databases Object Relational Databases 1 The Need for a DBMS On one hand we have a tremendous increase in the amount of data applications have to handle, on the other hand we want
More informationOf Objects and Databases: A Decade of Turmoil Michael J. Carey, David J. DeWitt. Discussion by: Shervin Presentation by: Roland
Of Objects and Databases: A Decade of Turmoil Michael J. Carey, David J. DeWitt Discussion by: Shervin Presentation by: Roland Background Michael J. Carey - DBMS performance improvements, EXODUS - OO DBMS
More informationCHAPTER 2 LITERATURE REVIEW
CHAPTER 2 LITERATURE REVIEW 2.0 OVERVIEW This literature review is initially done on OOP, RDBMS, OODBMS and ORDBMS in terms of their basic concept and capability. Later on, their inter-relationship, pros
More informationIntroduction: OO principles. Introduction: OO principles. 3 Object Oriented Database Systems. 3.1 Introduction: Why OO Databases
Introduction: OO principles 3 Object Oriented Database Systems 3.1 Introduction 3.2 The ODMG data model 3.3 OQL in a nutshell 3.4 Persistence Architectures 3.5 The Object Protocol Model OO DB model: see
More informationHands-on immersion on Big Data tools
Hands-on immersion on Big Data tools NoSQL Databases Donato Summa THE CONTRACTOR IS ACTING UNDER A FRAMEWORK CONTRACT CONCLUDED WITH THE COMMISSION Summary : Definition Main features NoSQL DBs classification
More informationW5.L2. Week 5, Lecture 2
W5.L2 Week 5, Lecture 2 Part 1: ODMG and ODMG s s object model Part 2: Introduction to Object Definition Language (ODL) Part 3: Introduction to Object-Relational Database Management Systems (OR-DBMS) M.
More informationConcepts of Programming Languages
Concepts of Programming Languages Lecture 10 - Object-Oriented Programming Patrick Donnelly Montana State University Spring 2014 Patrick Donnelly (Montana State University) Concepts of Programming Languages
More informationDatabases. Jörg Endrullis. VU University Amsterdam
Databases Jörg Endrullis VU University Amsterdam Databases A database (DB) is a collection of data with a certain logical structure a specific semantics a specific group of users Databases A database (DB)
More informationRekayasa Perangkat Lunak 2 (IN043): Pertemuan 8. Data Management Layer Design
Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 8 Data Management Layer Design Data Management Layer Focus on how to manage data are stored that can be handled by the programs that run the system, including:
More informationAuthor's Prepublication Version
OBJECT DATA MODELS Susan D. Urban Arizona State University http://www.public.asu.edu/~surban Suzanne W. Dietrich Arizona State University http://www.public.asu.edu/~dietrich SYNONYMS ODB (Object Database),
More informationLecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction
Lecture 13: Object orientation Object oriented programming Introduction, types of OO languages Key concepts: Encapsulation, Inheritance, Dynamic binding & polymorphism Other design issues Smalltalk OO
More informationCS558 Programming Languages
CS558 Programming Languages Winter 2017 Lecture 7b Andrew Tolmach Portland State University 1994-2017 Values and Types We divide the universe of values according to types A type is a set of values and
More informationChapter 13. Object-Oriented Databases (from E&N and my editing)
Chapter 13 Object-Oriented Databases (from E&N and my editing) Introduction Traditional Data Models : Hierarchical, Network (since mid- 60 s), Relational (since 1970 and commercially since 1982) Object
More informationMIS Database Systems.
MIS 335 - Database Systems http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database systems concepts Designing and implementing a database application Life of a Query in a Database
More informationObject Database Standards, Languages, and Design
Object Database Standards, Languages, and Design Chapter 21 March 24, 2008 ADBS: OODB 1 Announcement HW 3: 10% Due 2 nd of June. Quiz 3 3% On Saturday May 11 Chapter 21 March 24, 2008 ADBS: OODB 2 Chapter
More informationBIS Database Management Systems.
BIS 512 - Database Management Systems http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database systems concepts Designing and implementing a database application Life of a Query
More informationObject-Oriented Languages and Object-Oriented Design. Ghezzi&Jazayeri: OO Languages 1
Object-Oriented Languages and Object-Oriented Design Ghezzi&Jazayeri: OO Languages 1 What is an OO language? In Ada and Modula 2 one can define objects encapsulate a data structure and relevant operations
More informationCopyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 21 1
Slide 21 1 Chapter 21 Object Database Standards, Languages, and Design Chapter 21Outline 1 Overview of the Object Model ODMG 2 The Object Definition Language DDL 3 The Object Query Language OQL 4 Overview
More informationChapter 21 9/4/2012. Object Database Standards, Languages, and Design. Chapter 21Outline. Chapter Objectives. ODMG Objects and Literals
Chapter 21 Object Database Standards, Languages, and Design Copyright 2004 Pearson Education, Inc. Chapter 21Outline 21.1 Overview of the Object Model ODMG 21.2 The Object Definition Language DDL 21.3
More informationEfficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd.
Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB Marc Stampfli Oracle Software (Switzerland) Ltd. Underestimation According to customers about 20-50% percent
More informationStoring Java Objects in any Database
Storing Java Objects in any Database Raimund K. Ege High Performance Database Research Center School of Computer Science, Florida International University University Park, Miami, FL 33199 E-mail:ege@cs.fiu.edu
More informationJava Basics. Object Orientated Programming in Java. Benjamin Kenwright
Java Basics Object Orientated Programming in Java Benjamin Kenwright Outline Essential Java Concepts Syntax, Grammar, Formatting, Introduce Object-Orientated Concepts Encapsulation, Abstract Data, OO Languages,
More informationDatabase Fundamentals Chapter 1
Database Fundamentals Chapter 1 Class 01: Database Fundamentals 1 What is a Database? The ISO/ANSI SQL Standard does not contain a definition of the term database. In fact, the term is never mentioned
More informationConcepts for Object-Oriented Databases
Concepts for Object-Oriented Databases Chapter 20 March 24, 2008 ADBS: OODB 1 Chapter Outline Overview of O-O Concepts O-O Identity, Object Structure and Type Constructors Encapsulation of Operations,
More informationNoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre
NoSQL systems: introduction and data models Riccardo Torlone Università Roma Tre Leveraging the NoSQL boom 2 Why NoSQL? In the last fourty years relational databases have been the default choice for serious
More informationInheritance. OOP components. Another Example. Is a Vs Has a. Virtual Destructor rule. Virtual Functions 4/13/2017
OOP components For : COP 3330. Object oriented Programming (Using C++) http://www.compgeom.com/~piyush/teach/3330 Data Abstraction Information Hiding, ADTs Encapsulation Type Extensibility Operator Overloading
More informationSTUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING
OBJECT ORIENTED PROGRAMMING STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING 1. Object Oriented Programming Paradigms 2. Comparison of Programming Paradigms 3. Basic Object Oriented Programming
More informationCS511 Design of Database Management Systems
Announcements CS511 Design of Database Management Systems HW incremental release starting last Sun. Class will reschedule next week: time: Wednesday Tuesday 5pm, place: 1310 DCL Lecture 05: Object Relational
More informationToday s lecture. CS 314 fall 01 C++ 1, page 1
Today s lecture Midterm Thursday, October 25, 6:10-7:30pm general information, conflicts Object oriented programming Abstract data types (ADT) Object oriented design C++ classes CS 314 fall 01 C++ 1, page
More informationChapter 13 Object Oriented Programming. Copyright 2006 The McGraw-Hill Companies, Inc.
Chapter 13 Object Oriented Programming Contents 13.1 Prelude: Abstract Data Types 13.2 The Object Model 13.4 Java 13.1 Prelude: Abstract Data Types Imperative programming paradigm Algorithms + Data Structures
More informationObject-relational Databases. Extend relational databases with OO features
Object-relational Databases Extend relational databases with OO features 1 Recently seen (Meijer, Bierman: CACM 4/11) SQL Children point to parents Closed world Entities have identity (extensional) Necessarily
More informationCPS 506 Comparative Programming Languages. Programming Language
CPS 506 Comparative Programming Languages Object-Oriented Oriented Programming Language Paradigm Introduction Topics Object-Oriented Programming Design Issues for Object-Oriented Oriented Languages Support
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
More informationSQL Interview Questions
SQL Interview Questions SQL stands for Structured Query Language. It is used as a programming language for querying Relational Database Management Systems. In this tutorial, we shall go through the basic
More informationTransparent Java access to mediated database objects
Transparent Java access to mediated database objects Mattias Bendtsen & Mats Björknert Thesis for the Degree of Master of Science Majoring in Computer Science, 10 credit points Spring 2001 Department of
More informationODMG Object Programming Language Bindings
ODMG Object Programming Language Bindings 1 Objectives Implement the abstract model mapping concepts mapping types mapping collections Adapt the model whenever necessary some concepts are not supported
More informationScott Meder Senior Regional Sales Manager
www.raima.com Scott Meder Senior Regional Sales Manager scott.meder@raima.com Short Introduction to Raima What is Data Management What are your requirements? How do I make the right decision? - Architecture
More informationRelational Databases
Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 49 Plan of the course 1 Relational databases 2 Relational database design 3 Conceptual database design 4
More informationUse of Inheritance Feature in Relational Database Development
Use of Inheritance Feature in Relational Database Development 1 A.V.Saurkar, 2 Prof. A.R. Itkikar 1,2 Department of Computer Science & Engineering Sipna s COET, SGBAU, Amravati (MH), India Abstract Currently
More informationInheritance and Substitution (Budd chapter 8, 10)
Inheritance and Substitution (Budd chapter 8, 10) 1 2 Plan The meaning of inheritance The syntax used to describe inheritance and overriding The idea of substitution of a child class for a parent The various
More informationIntroduction. Course Overview Evolution and History of Database Management Systems Requirements of Object-Oriented Database Management Systems
Object-Oriented Oriented Databases Introduction Course Overview Evolution and History of Database Management Systems Requirements of Object-Oriented Database Management Systems 1 Organisation Michael Grossniklaus
More informationMappings and Queries. with. Hibernate
Mappings and Queries with Hibernate Mappings Collection mapping Mapping collection of values e.g. holidays, months Association mapping Mapping of relationships between two objects e.g. Account and AccountOwner
More informationObject Persistence Techniques - A Study of Approaches, Benefits, Limits and Challenges
Volume * No.*, 2014 Object Persistence Techniques - A Study of Approaches, Benefits, Limits and Challenges Clarence J M Tauro Deparment of Computer Science Christ University, Bangalore, India Ritesh Kumar
More informationCSC 533: Organization of Programming Languages. Spring 2005
CSC 533: Organization of Programming Languages Spring 2005 Language features and issues variables & bindings data types primitive complex/structured expressions & assignments control structures subprograms
More informationPROGRAMMING IN C++ COURSE CONTENT
PROGRAMMING IN C++ 1 COURSE CONTENT UNIT I PRINCIPLES OF OBJECT ORIENTED PROGRAMMING 2 1.1 Procedure oriented Programming 1.2 Object oriented programming paradigm 1.3 Basic concepts of Object Oriented
More informationDatabasesystemer, forår 2006 IT Universitetet i København. Forelæsning 9: Mere om SQL. 30. marts Forelæser: Esben Rune Hansen
Databasesystemer, forår 2006 IT Universitetet i København Forelæsning 9: Mere om SQL 30. marts 2006 Forelæser: Esben Rune Hansen Today s lecture Subqueries in SQL. Set operators in SQL. Security and authorization
More informationConstructs in Oracle
11. Object-Relational Constructs in Oracle 11-1 Part 11: Object-Relational References: Constructs in Oracle Jeffrey D. Ullman: Object-Relational Features of Oracle [http://infolab.stanford.edu/ ullman/fcdb/oracle/or-objects.html]
More informationThe functions performed by a typical DBMS are the following:
MODULE NAME: Database Management TOPIC: Introduction to Basic Database Concepts LECTURE 2 Functions of a DBMS The functions performed by a typical DBMS are the following: Data Definition The DBMS provides
More informationCS317 File and Database Systems
CS317 File and Database Systems http://dilbert.com/strips/comic/1995-10-11/ Lecture 5 More SQL and Intro to Stored Procedures September 24, 2017 Sam Siewert SQL Theory and Standards Completion of SQL in
More informationCOP 3330 Final Exam Review
COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time
More informationBonus Content. Glossary
Bonus Content Glossary ActiveX control: A reusable software component that can be added to an application, reducing development time in the process. ActiveX is a Microsoft technology; ActiveX components
More informationLecture 6 Introduction to Objects and Classes
Lecture 6 Introduction to Objects and Classes Outline Basic concepts Recap Computer programs Programming languages Programming paradigms Object oriented paradigm-objects and classes in Java Constructors
More informationProgramming Languages 2nd edition Tucker and Noonan"
Programming Languages 2nd edition Tucker and Noonan" Chapter 13 Object-Oriented Programming I am surprised that ancient and Modern writers have not attributed greater importance to the laws of inheritance..."
More informationLecture 7: Data Abstractions
Lecture 7: Data Abstractions Abstract Data Types Data Abstractions How to define them Implementation issues Abstraction functions and invariants Adequacy (and some requirements analysis) Towards Object
More informationIntroduction to Databases Object and Object-Relational Databases
Introduction to Databases Object and Object-Relational Databases Prof. Beat Signer Department of Computer Science Vrije Universiteit Brussel http://vub.academia.edu/beatsigner 2 December 2005 Impedance
More informationObject-Relational Modeling
Object-Relational Modeling Holger Pirk Holger Pirk Object-Relational Modeling 1 / 44 Purpose of this Lecture Introduce Object-Relational-Mapping Understand the problem it solves Understand the problems
More informationB.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1
Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished
More informationChapter 11. Categories of languages that support OOP: 1. OOP support is added to an existing language
Categories of languages that support OOP: 1. OOP support is added to an existing language - C++ (also supports procedural and dataoriented programming) - Ada 95 (also supports procedural and dataoriented
More informationDatabase Architectures
Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL
More informationII B.Sc(IT) [ BATCH] IV SEMESTER CORE: RELATIONAL DATABASE MANAGEMENT SYSTEM - 412A Multiple Choice Questions.
Dr.G.R.Damodaran College of Science (Autonomous, affiliated to the Bharathiar University, recognized by the UGC)Re-accredited at the 'A' Grade Level by the NAAC and ISO 9001:2008 Certified CRISL rated
More informationChapter 4 Remote Procedure Calls and Distributed Transactions
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationCommunication and Distributed Processing
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationGlossary. abort. application schema
Glossary abort An abnormal termination of a transaction. When a transaction aborts, its changes to the database are erased, and the database is effectively restored to its state as of the moment the transaction
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationComparative Study on Object Persistence Methods
Comparative Study on Object Methods Clarence J M Tauro Christ University Bangalore, India N Ganesan Director (MCA) RICM, Bangalore Ritesh Kumar Sahai Christ University Bangalore, India Sandhya Rani A Christ
More informationObject oriented databases a natural part of object oriented software development? Bachelor thesis in computer science. By Anders Carlsson
Object oriented databases a natural part of object oriented software development? Bachelor thesis in computer science By Anders Carlsson Anders Carlsson, anders@actk.net Revision 1.5 January 2003 Supervisor
More informationInformatica 3 Syntax and Semantics
Informatica 3 Syntax and Semantics Marcello Restelli 9/15/07 Laurea in Ingegneria Informatica Politecnico di Milano Introduction Introduction to the concepts of syntax and semantics Binding Variables Routines
More informationCharacter Stream : It provides a convenient means for handling input and output of characters.
Be Perfect, Do Perfect, Live Perfect 1 1. What is the meaning of public static void main(string args[])? public keyword is an access modifier which represents visibility, it means it is visible to all.
More informationProject # 1: Database Programming
Project # 1: Database Programming CSE462 Database Concepts Demian Lessa Department of Computer Science and Engineering State University of New York, Buffalo February 21, 2011 Outline 1 Database Programming
More informationSTARCOUNTER. Technical Overview
STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation
More informationFunctional Programming. Big Picture. Design of Programming Languages
Functional Programming Big Picture What we ve learned so far: Imperative Programming Languages Variables, binding, scoping, reference environment, etc What s next: Functional Programming Languages Semantics
More informationVolume 5 Issue 3 (2017) ISSN International Journal of Advance Research and Innovation IJARI
Software Professionals use Object Oriented data modeling instead of traditional relational data modeling Vijay Singh Department of Computer Science, KIT, Kanpur (UP) India Article Info: Article history:
More informationWhat is Data? ANSI definition: Volatile vs. persistent data. Data. Our concern is primarily with persistent data
What is Data? ANSI definition: Data ❶ A representation of facts, concepts, or instructions in a formalized manner suitable for communication, interpretation, or processing by humans or by automatic means.
More informationWhat is Data? Volatile vs. persistent data Our concern is primarily with persistent data
What is? ANSI definition: ❶ A representation of facts, concepts, or instructions in a formalized manner suitable for communication, interpretation, or processing by humans or by automatic means. ❷ Any
More informationTopic 3 Object Relational Database
Topic 3 Object Relational Database Limitation of Relational Data Model Uniformity Large number of similarly structure data Record orientation Basic data consists of fixed length records Small data items
More informationSQL STRUCTURED QUERY LANGUAGE
STRUCTURED QUERY LANGUAGE SQL Structured Query Language 4.1 Introduction Originally, SQL was called SEQUEL (for Structured English QUery Language) and implemented at IBM Research as the interface for an
More informationVALLIAMMAI ENGINEERING COLLEGE
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK B.E. - Electrical and Electronics Engineering IV SEMESTER CS6456 - OBJECT ORIENTED
More information2.1. Concepts for Object Databases
UNIT -- 2 UNIT II -- OBJECT AND OBJECT RELATIONAL DATABASES Concepts for Object Databases: Object Identity Object structure Type Constructors Encapsulation of Operations Methods Persistence Type and Class
More informationChapter 1 Getting Started
Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationObject Oriented Database
Object Oriented Database Group 4 Mathieu Metz Palani Kumaresan Napa Gavinlertvatana Kristine Pei Keow Lee Prabhu Ramachandran Outline Object definitions Object Structures Object-oriented concepts OODBS
More informationOutline. Chapter 4 Remote Procedure Calls and Distributed Transactions. Remote Procedure Call. Distributed Transaction Processing.
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationAbstraction עזאם מרעי המחלקה למדעי המחשב אוניברסיטת בן-גוריון
Abstraction עזאם מרעי המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 Tools for Programming Complex Software Fundamentally, people use only a few simple tools to create, understand, or manage complex systems
More information