Introduction to Database management systems, Lecture notes of Database Programming

Introduction of the database management systems and deals about sql query

Typology: Lecture notes

2022/2023

Uploaded on 03/01/2023

kal-getachew
kal-getachew 🇪🇹

4 documents

1 / 56

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Object Oriented
Database Systems
Chapter 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38

Partial preview of the text

Download Introduction to Database management systems and more Lecture notes Database Programming in PDF only on Docsity!

Object Oriented

Database Systems

Chapter 1

Objectives

 Advanced database applications.

 Unsuitability of RDBMSs for advanced database

applications.

 Object-oriented concepts.

 Problems of storing objects in relational database.

 The next generation of database systems.

 Basics of object-oriented database analysis and

design.

Advanced Database Applications

 Computer-Aided Software Engineering (CASE): is the

implementation of computer facilitated tools and

methods in software development.

 Network Management Systems

 Office Information Systems (OIS) and Multimedia

Systems

 Digital Publishing

 Geographic Information Systems (GIS)

 Interactive and Dynamic Web sites

 Other applications with complex and interrelated

objects and procedural data.

Weaknesses of RDBMSs

 Poor Representation of “Real World” Entities

Normalization leads to relations that do not correspond to entities in “real world”.

 Semantic Overloading

Relational model has only one construct for representing data and data relationships: the relation.Even difficult to differentiate between multiple relationships among two relationsRelational model is semantically overloaded****.

 Limited Operations

RDBMs only have a fixed set of operations which cannot be extended.

 Difficulty Handling Recursive Queries

Extremely difficult to produce recursive queries, that is, queries about relationships that a relation has with itself

Example - Recursive Query

  • Assuming we have a recursive

relationship in a table named category.

  • Getting the sub categories of a given

category is difficult.

  • Example. Look at the following schema

and try to solve the above problem.

Category( catID, catName,parentCatId)

 Other Problems with RDBMSs

o Transactions are generally short-lived and concurrency control protocols not suited for long-lived transactions. o Schema changes are difficult. o RDBMSs are poor at navigational access.

BASIS RDBMS OODBMS

Long Form Stands for Relational DatabaseManagement System.^ Stands for Object Orientedl DatabaseManagement System.

Way of storing data Stores data in Entities, defined as tables hold specific information. Stores data as Objects.

Data Complexity Handles comparatively simpler data. Handles larger and complex data thanRDBMS.

Grouping Entity type refers to the collection of entity that share a common definition.

Class describes a group of objects that have common relationships, behaviors, and also have similar properties.

Data Handeling RDBMS stores only data. Stores data as well as methods to use it.

Main Objective Data Independece from applicationprogram. Data Encapsulation.

Key A Primary key distinctively identifies anobject in a table..

An object identifier (OID) is an unambiguous, long-term name for any type of object or entity.

Difference Between RDBMS and OODBMS:

Object-Oriented Concepts

 Abstraction, encapsulation, information hiding.

 Objects and attributes.

 Object identity.

 Methods and messages.

 Classes, subclasses, super classes, and

inheritance.

 Overloading.

 Polymorphism and dynamic binding.

Abstraction

 Process of identifying essential aspects

of an entity and ignoring unimportant

properties ( details).

 Concentrate on what an object is and

what it does, before deciding how to

implement it.

Object

 Uniquely identifiable entity that contains

both the attributes that describe the state of a real-world object and the actions associated with it.

 Definition very similar to that of an entity,

however, object encapsulates both state

and behavior; an entity only models state.

Attributes

Contain current state of an object.

 Attributes can be classified as simple or complex.

 Simple attribute can be a primitive type such as

integer, string, etc., which takes on literal values.

 Complex attribute can contain collections and/or

references to other objects.

 Reference attribute represents relationship.

 An object that contains one or more complex

attributes is called a complex object.

Object Identity - Implementation

 In RDBMS, object identity is value-based: primary

key is used to provide uniqueness.

 Primary keys do not provide type of object identity

required in OO systems:  key only unique within a relation, not across entire system;  key generally chosen from attributes of relation, making it dependent on object state.

 Programming languages use variable names and

pointers/virtual memory addresses, which also compromise

object identity.

 In C/C++, OID is physical address in process memory space,

which is too small - scalability requires that OIDs be valid

across storage volumes, possibly across different

computers.

 Further, when object is deleted, memory is reused, which

may cause problems.

 OID can never be reused even when an object is deleted