Friday, February 22, 2019

Object Oriented Data Model

Object Oriented Data Model:
This data model is method of representing real world objects. It considers each object in the world as objects and isolates it from each other. It groups its related functionalities together and allows inheriting its functionality to other related sub-groups.
It enables us to create classes, organize objects, structure an inheritance hierarchy and call methods of other classes. Besides these, it also provides the facilities associated with standard database systems. The user will create classes, objects, inheritance and so on and the database system will store and manage these objects and classes.
          Let us consider an Employee database to understand this model better. In this database we have different types of employees – Engineer, Accountant, Manager, Clark. But all these employees belong to Person group. Person can have different attributes like name, address, age and phone.


Advantages and Disadvantages:

Advantages:

1.      Enriched modeling capabilities:

The object-oriented data model allows the 'real world' to be modeled more closely. The object, which encapsulates both state and behavior, is a more natural and realistic representation of real-world objects.

2.      Extensibility:

OODBMSs allow new data types to be built from existing types. The ability to factor out common properties of several classes and form them into a superclass that can be shared with subclasses can greatly reduce redundancy within system is regarded as one of the main advantages of object orientation.

3.      Capable of handling a large variety of data types:

Unlike traditional databases (such as hierarchical, network or relational), the object oriented database are capable of storing different types of data, for example, pictures, voice video, including text, numbers and so on.

4.      More expressive query language:

Navigational access from the object is the most common form of data access in an OODBMS. This is in contrast to the associative access of SQL (that is, declarative statements with selection based on one or more predicates). Navigational access is more suitable for handling parts explosion, recursive queries, and so on.

5.      Support for schema evolution:

The tight coupling between data and applications in an OODBMS makes schema evolution more feasible.

6.      Support for long-duration, transactions:

Current relational DBMSs enforce serializability on concurrent transactions to maintain database consistency.

7.      Applicability to advanced database applications:

There are many areas where traditional DBMSs have not been particularly successful, such as, Computer-Aided Design (CAD), Computer-Aided Software Engineering (CASE), Office Information System(OIS), and Multimedia Systems. The enriched modeling capabilities of OODBMSs have made them suitable for these applications.

8.      Improved performance:

There have been a number of benchmarks that have suggested OODBMSs provide significant performance improvements over relational DBMSs. The results showed an average 30-fold performance improvement for the OODBMS over the RDBMS.

Disadvantages of OODBMSs

1. Lack of universal data model: There is no universally agreed data model for an OODBMS, and most models lack a theoretical foundation.
2.  Lack of experience: In comparison to RDBMSs the use of OODBMS is still relatively limited. This means that we do not yet have the level of experience that we have with traditional systems.
3.  Lack of standards: There is a general lack of standards of OODBMSs. We have already mentioned that there is not universally agreed data model.
4.   Competition: Perhaps one of the most significant issues that face OODBMS vendors is the competition posed by the RDBMS and the emerging ORDBMS products.
     5.     Locking at object level may impact performance: Many OODBMSs use locking as               the basis for concurrency control protocol. However, if locking is applied at the object           level, locking of an inheritance hierarchy may be problematic, as well as impacting                 performance.

-profshardulp.patil@gmail.com

Data Model

Data Model:
Data models define how the logical structure of a database is modeled. Data Models are fundamental entities to introduce abstraction in a DBMS. Data models define how data is connected to each other and how they are processed and stored inside the system. A database model is a type of data model that determines the logical structure of a database and fundamentally determines in which manner data can be stored, organized and manipulated. It describes the design of database to reflect entities, attributes, relationship among data, constrains etc.
It involves planning about tables, their columns, mapping between the tables, how they are structured in the physical memory etc. A data model helps to put the real world requirement into a design. This makes the developer to understand the relationship between various objects in the database. It helps to highlight any drawbacks of the plan and correct it at the design stage itself.
The very first data model could be flat data-models, where all the data used are to be kept in the same plane. Earlier data models were not so scientific, hence they were prone to introduce lots of duplication and update anomalies.
Features / Benefits of Data Model:
1.      It provides a means to represent a real world object in to computer – usable form.
2.      It captures and represents associations and relationships among the real world objects.
3.      It defines how the objects in the application interact in logical terms.
4.      It allows the database designer to capture static and dynamic organization and flow of information within a modeled enterprise. 
Depending on the levels of data, data models are divided into 3 categories:
·        Object Based Data Models:
o   Object Oriented Model
o   Entity Relational Model
·        Record based Data models:
o   Relational Data Model
o   Network Data Model
o   Hierarchical Model
       ·        Physical Data Model

-profshardulp.patil@gmail.com

Sunday, February 17, 2019

Functions/ Role of Data Base Administrator:


Functions/ Role of Data Base Administrator:
1.     Schema Definition:
The DBA defines the logical Schema of the database. A Schema refers to the overall logical structure of the database. According to this schema, database will be developed to store required data for an organization.
2.     Makes decisions concerning the content of the database:
It is the DBA's job to decide exactly what information is to be held in the database. In other words, to identify the entities of interest to the enterprise and to identify information to be recorded about those entities.
3.     Plans storage structures and access strategies:
The DBA must also decide how the data is to be represented in the database, and must specify the representation by writing the storage structure definition (using the internal data definition language).
4.    Provides support to users:
It is the responsibility of the DBA to provide support to the users, to ensure that the data they require is available, and to write the necessary external schemas (using the appropriate external data definition language).
5.     Defines security and integrity checks:
DBA is responsible for providing the authorization and authentication checks such that no malicious users can access database and it must remain protected. DBA must also ensure the integrity of the database.
6.    Interprets backup and recovery strategies:
In the event of damage to any portion of the database-caused by human error or a failure in the hardware or supporting operating system - it is essential to be able to repair the data concerned with a minimum of delay and with as little effect as possible on the rest of the system.
The DBA must define and implement an appropriate recovery strategy to recover he database from all types of failures.
7.     Monitoring performance and responding to changes in requirements:
The DBA is responsible for organizing the system as to get the performance that is "best for the organization," and for making the appropriate adjustments as requirements change.

Skills require for DBA:
(1) A good knowledge of the operating system(s)
(2) A good knowledge of physical database design
(3) Ability to perform both DBMS and also operating system performance monitoring and the necessary adjustments.
(4) Be able to provide a strategic database direction for the organization.
(5) Excellent knowledge of backup and recovery scenarios.
(6) Good skills in all tools.
(7) A good knowledge of security management.
(8) A good knowledge of how DBMS acquires and manages resources.
(9) Sound knowledge of the applications at your site.
(10) Experience and knowledge in migrating code, database changes, data and Menus through the various stages of the development life cycle.
(11) A good knowledge of the way enforces data integrity.
(12) A sound knowledge of both database and program code performance tuning.
(13) A DBA should possess a sound understanding of the business.
(14) A DBA should have sound communication skills with management, development teams, vendors, systems administrators and other related service providers.
-profshardulp.patil@gmail.com

Thursday, February 7, 2019

Data Dictionary / Metadata


Data Dictionary / Metadata:
A metadata (also called the data dictionary) is the data about the data. It is the self-describing nature of the database that provides program-data independence. It is also called as the System Catalog. It contains all the information about the data objects.  It is like storing all up-to-date information about the objects like tables, columns, index, constraints, functions etc.
Data Dictionary consists of the following information:
·        Name of the tables in the database
·        Constraints of a table i.e. keys, relationships, etc.
·        Columns of the tables that related to each other
·        Owner of the table
·        Last accessed information of the object
·        Last updated information of the object
Data dictionary is used to actually control the database operation, data integrity and accuracy. Metadata is used by developers to develop the programs, queries, controls and procedures to manage and manipulate the data. Metadata is available to database administrators (DBAs), designers and authorized user as on-line system documentation. This improves the control of database administrators (DBAs) over the information system and the user's understanding and use of the system.
Data dictionary may be either active or passive. An active data dictionary (also called integrated data dictionary) is managed automatically by the database management software. It is consistent with the current structure and definition of the database. Most of the relational database management systems contain active data dictionaries that can be derived from their system catalog.
The passive data dictionary (also called non-integrated data dictionary) is the one used only for documentation purposes. Data about fields, files, people and so on, in the data processing environment are.
Functions of the data dictionary:
•   It defines the data objects of each user in the database. As we know, we cannot remember all the tables, views, constraints, etc., so the user can easily search them when any Data Definition Language (DDL) fired, then the database searches for the data dictionary. The DBMS software updates the object.
   It gives us the report about the data and the resources which the objects are using.
  It allows seeing the tables and views to those users who have the proper rights to access the database. Thus, it controls the access of the database.
Advantages of the data dictionary
   The data dictionary used so that we can remove the duplicity in the data definition.
   As it provides documentation. So it is a valuable reference for any organization.
   It helps the analysts in simplifying the structure so that it can meet the requirement of the data of the system.
     It helps in improving the communication between the user and the system analyst.
   Maximum of the database management system contains the data dictionary as a standard feature.
   Through this, new database administrators can easily understand the database of the system.
   The database administrator can easily track any problem in the database.


-profshardulp.patil@gmail.com