What is Data?
In simple words, data can be facts related to any object in consideration. For example, your name, age, height, weight, etc. are some data related to you. A picture, image, file, pdf, etc. can also be considered data.
WHAT IS A DATABASE?
In computing, a database is an organized collection of data stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modeling techniques.
A database is a systematic collection of data. They support electronic storage and manipulation of data. Databases make data management easy.
Let us discuss a database example: An online telephone directory uses a database to store data of people, phone numbers, and other contact details. Your electricity service provider uses a database to manage billing, client-related issues, handle fault data, etc.
Let us also consider Facebook. It needs to store, manipulate, and present data related to members, their friends, member activities, messages, advertisements, and a lot more. We can provide a countless number of examples for the usage of databases.
WHAT IS RELATIONAL DATABASE?
A relational database is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970. A software system used to maintain relational databases is a relational database management system
A relational database is a type of database that stores and provides access to data points that are related to one another. Relational databases are based on the relational model, an intuitive, straightforward way of representing data in tables. In a relational database, each row in the table is a record with a unique ID called the key. The columns of the table hold attributes of the data, and each record usually has a value for each attribute, making it easy to establish the relationships among data points.
A relational database example
Here’s a simple example of two tables a small business might use to process orders for its products. The first table is a customer info table, so each record includes a customer’s name, address, shipping and billing information, phone number, and other contact information. Each bit of information (each attribute) is in its own column, and the database assigns a unique ID (a key) to each row. In the second table—a customer order table—each record includes the ID of the customer that placed the order, the product ordered, the quantity, the selected size and color, and so on—but not the customer’s name or contact information.
These two tables have only one thing in common: the ID column (the key). But because of that common column, the relational database can create a relationship between the two tables. Then, when the company’s order processing application submits an order to the database, the database can go to the customer order table, pull the correct information about the product order, and use the customer ID from that table to look up the customer’s billing and shipping information in the customer info table. The warehouse can then pull the correct product, the customer can receive timely delivery of the order, and the company can get paid.
Structure Of Relational Databases
The relational model means that the logical data structures—the data tables, views, and indexes—are separate from the physical storage structures. This separation means that database administrators can manage physical data storage without affecting access to that data as a logical structure. For example, renaming a database file does not rename the tables stored within it.
The distinction between logical and physical also applies to database operations, which are clearly defined actions that enable applications to manipulate the data and structures of the database. Logical operations allow an application to specify the content it needs, and physical operations determine how that data should be accessed and then carries out the task.
To ensure that data is always accurate and accessible, relational databases follow certain integrity rules. For example, an integrity rule can specify that duplicate rows are not allowed in a table in order to eliminate the potential for erroneous information entering the database.
What to look for when selecting a relational database
The software used to store, manage, query, and retrieve data stored in a relational database is called a relational database management system (RDBMS). The RDBMS provides an interface between users and applications and the database, as well as administrative functions for managing data storage, access, and performance.
Several factors can guide your decision when choosing among database types and relational database products. The RDBMS you choose will depend on your business needs. Ask yourself the following questions:
- What are our data accuracy requirements? Will data storage and accuracy rely on business logic? Does our data have stringent requirements for accuracy (for example, financial data and government reports)?
- Do we need scalability? What is the scale of the data to be managed, and what is its anticipated growth? Will the database model need to support mirrored database copies (as separate instances) for scalability? If so, can it maintain data consistency across those instances?
- How important is concurrency? Will multiple users and applications need simultaneous data access? Does the database software support concurrency while protecting the data?
- What are our performance and reliability needs? Do we need a high-performance, high-reliability product? What are the requirements for query-response performance? What are the vendor’s commitments for service level agreements (SLAs) or unplanned downtime?
Benefits of relational database management system
The simple yet powerful relational model is used by organizations of all types and sizes for a broad variety of information needs. Relational databases are used to track inventories, process ecommerce transactions, manage huge amounts of mission-critical customer information, and much more. A relational database can be considered for any information need in which data points relate to each other and must be managed in a secure, rules-based, consistent way.
Relational databases have been around since the 1970s. Today, the advantages of the relational model continue to make it the most widely accepted model for databases.
WHAT IS OBJECT ORIENTED DATABASE?
An object oriented database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are table-oriented. Object–relational databases are a hybrid of both approaches
An object-oriented database (OODBMS) or object database management system (ODBMS) is a database that is based on object-oriented programming (OOP). The data is represented and stored in the form of objects. OODBMS are also called object databases or object-oriented database management systems. A database is a data storage. A software system that is used to manage databases is called a database management system (DBMS). There are many types of database management systems such as hierarchical, network, relational, object-oriented, graph, and document
Object database management systems (ODBMSs) are based on objects in object-oriented programing (OOP). In OOP, an entity is represented as an object and objects are stored in memory. Objects have members such as fields, properties, and methods. Objects also have a life cycle that includes the creation of an object, use of an object, and deletion of an object. OOP has key characteristics, encapsulation, inheritance, and polymorphism. Today, there are many popular OOP languages such as C++, Java, C#, Ruby, Python, JavaScript, and Perl. The idea of object databases was originated in 1985 and today has become common for various common OOP languages, such as C++, Java, C#, Smalltalk, and LISP. Common examples are Smalltalk is used in GemStone, LISP is used in Gbase, and COP is used in Vbase. Object databases are commonly used in applications that require high performance, calculations, and faster results. Some of the common applications that use object databases are real-time systems, architectural & engineering for 3D modeling, telecommunications, and scientific products, molecular science, and astronomy.
FEATURES OF OBJECT ORIENTED DATABASE
What is object-oriented database and its main features?
In object-oriented programming, everything is an object, and many objects are quite complex, having different properties and methods. An object-oriented database management system works in concert with an object-oriented programming language to facilitate the storage and retrieval of object-oriented data.
Advantages of Object Databases
ODBMS provide persistent storage to objects. Imagine creating objects in your program and saving them as it is in a database and reading back from the database. In a typical relational database, the program data is stored in rows and columns. To store and read that data and convert it into program objects in memory requires reading data, loading data into objects, and storing it in memory. Imagine creating a class in your program and saving it as it is in a database, reading back and start using it again.Object databases bring permanent persistent to objects. Objects can be stored in persistent storage forever. In typical RDBMS, there is a layer of object-relational mapping that maps database schemas with objects in code. Reading and mapping an object database data to the objects is direct without any API or OR tool. Hence faster data access and better performance. Some object database can be used in multiple languages. For example, Gemstone database supports C++, Smalltalk and Java programming languages.
Drawbacks of Object Databases
- Object databases are not as popular as RDBMS. It is difficult to find object DB developers.
- Not many programming language support object databases.
- RDBMS have SQL as a standard query language. Object databases do not have a standard.
- Object databases are difficult to learn for non-programmers.
Popular Object Databases
Here is a list of some of the popular object databases and their features.
Cache
InterSystems’s Caché is a high-performance object database. Caché database engine is a set of services including data storage, concurrency management, transactions, and process management. You can think of the Caché engine as a powerful database toolkit. Caché is also a full-featured relational database. All the data within a Caché database is available as true relational tables and can be queried and modified using standard SQL via ODBC, JDBC, or object methods. Caché is one of the fastest, most reliable, and most scalable relational databases. Cache offers the following features,
- The ability to model data as objects (each with an automatically created and synchronized native relational representation) while eliminating both the impedance mismatch between databases and object-oriented application environments as well as reducing the complexity of relational modeling,
- A simpler, object-based concurrency model
- User-defined data types
- The ability to take advantage of methods and inheritance, including polymorphism, within the database engine
- Object-extensions for SQL to handle object identity and relationships
- The ability to intermix SQL and object-based access within a single application, using each for what they are best suited
- Control over the physical layout and clustering used to store data in order to ensure the maximum performance for applications
Cache offers a broad set of tools, which include,
- ObjectScript, the language in which most of Caché is written.
- Native implementations of SQL, MultiValue, and Basic.
- A well-developed, built-in security model
- A suite of technologies and tools that provide rapid development for database and web applications
- Native, object-based XML and web services support
- Device support (such as files, TCP/IP, printers)
- Automatic interoperability via Java, JDBC, ActiveX, .NET, C++, ODBC, XML, SOAP, Perl, Python, and more
- Support for common Internet protocols: POP3, SMTP, MIME, FTP, and so on
- A reusable user portal for your end users
- Support for analyzing unstructured data
- Support for Business Intelligence (BI)
- Built-in testing facilities
KEY DIFFERENCES BETWEEN RELATIONAL DATABASE AND OBJECT ORIENTED DATABASE SYSTEMS
RDBMS and OODBMS are database management systems. RDBMS uses tables to represent data and their relationships whereas OODBMS represents data in form of objects similar to Object Oriented Programming.
Following are the important differences between RDBMS and OODBMS.
Sr. No. | Key | RDBMS | OODBMS |
---|---|---|---|
1 | Definition | RDBMS stands for Relational DataBase Management System. | OODBMS stands for Object Oriented DataBase Management System. |
2 | Data Management | Data is stored as entities defined in tabular format. | Data is stored as objects. |
3 | Data Complexity | RDBMS handles simple data. | OODBMS handles large and complex data. |
4 | Term | An entity refers to collection of similar items having same definition. | An class refers to group of objects having common relationships, behaviors and properties. |
5 | Data Handling | RDBMS handles only data. | OODBMS handles both data and functions operating on that data. |
6 | Objective | To keep data independent from application program. | To implement data encapsulation. |
7 | Key | A primary key identifies in object in a table uniquely. | Object Id, OID represents an object uniquely in group of objects. |
Drop your comment