Tuesday, August 20, 2019
Types Of Database Management Systems
Types Of Database Management Systems As we know databases are being used more than ever before to store and to access information. Due to the ease of maintenance and outstanding performance of databases, the growth of database technologies has been increasing rapidly. Moreover DBMS had thrived over World Wide Web. Different web-applications are retrieving the stored data and the answers are displayed in a formatted form using web languages like XML. This essay talks about the different Data Models for databases, and discusses their relative strengths and weaknesses. I will present the most common approaches for data modelling that are used by DBMSs (RDBMS, OODBMS, ORDBMS and XML ) giving a quick introduction to each of them we will compares and contrasts the approach treating them comparatively. DATA MODELS Database Model can be categorized according to the data structures and operators they present to the user. (Bloor, 2003) (1) E-R Model (2) Hierarchical Data Model (3) Network Data Mode (4) Semi Structured Data Model (5) Relational Data Model (RDBMS) (6) Object Oriented Data Model (OODBMS) (7) Object Relational Data Model (ORDBMS) (8) Semi-structured data (XML) Among all data models mentioned below, relational model followed by object oriented and object relational models enjoyed most popularity, we are going to define one by one and at the same time we are going to show their advantages and disadvantages. RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS) In RDBMS, all the data is in the form of simple columns and rows in a table. Each table is an individual and independent entity and we need not to use any physical pointers or physical links to connect the entities like what we used to have in network and hierarchical models. All data is maintained in the form of tables consisting of rows and columns. Data in two tables is related through common columns. Operators are provided for operating on rows in tables. Because of this, querying becomes very easy. This was one of the main reasons for the relational model to become more popular with programmers. The RDBMS structures data into relations (tables) which form a two-dimensional representation of the data into rows and columns. A relation contains tuples (rows) and each tuple represents a distinct record in the table. A tuple consists of a set of unorganized attributes (columns) providing detail for the record. Rows are assigned a unique identifier, also known as a primary key, by which the record can be accessed, manipulated, and referenced by other tables or applications. Columns store the attributes of a record, more commonly known as fields, and each attribute is assigned a data type. Structured Query Language (SQL) is identified and accepted as the standard query language and transaction mechanism for RDBMS. SQL queries can be used to access and return data from tables, define records and their attributes, and to view data from multiple tables through operations such as a join.(Dolk, 1998) Two of the most popular examples of RDBMS currently on the market are Oracle and Microsoft Access. Advantages of RDBMS In RDBMS system, the tables are simple, data is easier to understand and communicate with others. RDBMS is flexible, users do not have to use predefined keys to input information. Automatic optimization of searching is possible in RDBMS Structure Query language (SQL) is easier to learn and implement. It supports large and very large databases. RDBMS are more productive because SQL is easier to learn. This allows users to spend more time inputting instead of learning. Disadvantages RDBMS Not much efficient and effective integrated support. Do not have enough storage area to handle data such as images, digital and audio/video. Relational tables are flat and do not provide good support for nested structures, such as sets and arrays. And also certain kinds of relationships, such as sub-typing between database objects are hard to represent in this model. RDBMS technology did not take advantage of Object oriented programming concept, which is very popular because of its approach. All the data must be in the form of tables where relationships between entities are defined by values. 2.2 OBJECT ORIENTED DATABASE MANAGEMENT SYSTEM (OODBMS) As you are aware, web and Internet usage is rapidly increasing nowadays. To meet the challenge of the web and to overcome the limitations of RDBMS, OODBMS was developed. OODBMS stands for Object oriented database management system, which we can define as; it is a combination of Object Oriented Programming and Relational Database Management System. (Fong, 1997) Inheritances, data encapsulation, object identity, and polymorphism are the main characteristics of object-oriented programming. By defining new objects, we can develop solutions to complex problems in inheritance. Objects are related and shared within a network and have an independent identity. The object identity (OID) works behind the scenes to ensure the uniqueness of the tuples, which is invisible to the users. Moreover, no limitations are required on the values. If we take the same thing in RDBMS, then we have to worry about uniquely identifying tuples by their values and making sure that no two tuples have the same primary key values. On the other hand, polymorphism and dynamic binding are useful to create objects to provide solutions to the complex ones and to avoid coding for every object. These objects may be transient or persistent. By persistent object we mean the permanent object stored inside the database to survive the execution of data process and in order to eventually reuse it in another process. OODB deals with these objects in a uniform manner. To create, update, delete or to retrieve the persistent data, data definition language and data manipulation languages are important in OODBMS. These languages are also useful to define a database, including creating, altering and dropping tables and to ensure the integrity constraints in tables. Object Query Language (OQL) is the standard query language for OODBMS. OQL uses syntax similar to SQL and is rarely used since the basic functionality of queries in intrinsic to object-oriented programming languages.(Chaterjee, 2005) Advantages of OODBMS More semantic information Support for complex objects Extensibility of data types May improve performance with efficient caching Versioning Reusability Inheritance speeds development and application Potential to integrate DBMSs into single environment Disadvantages OODBMS Strong opposition from the established RDBMSs Lack of theoretical foundation Throwback to old pointer systems Lack of standard ad hoc query language Lack of business data design and management tools Steep learning curve Low market presence Lack of compatibility between different OODBMSs 2.3 OBJECT RELATIONAL DATABASE MANAGEMENT SYSTEM (ORDBMS) Object Relational Database Management System (ORDBMS) is an extended development of existing relational database system. To overcome the certain limitations and to increase the performance level, and to achieve the benefits of relational model and object model, ORDBMS technology evolved by combining the relational databases and object oriented concepts. We can incorporate our custom data types, functions, operators and methods with the database and we can store images, geographical information and multimedia objects such as audio and video, it allows us to raise the level of abstraction at which we want to view the problem domain. In ORDBMS limited support of object oriented features, mostly to new data types. Moreover, it supports abstract data types (ADTs) and complex relationships. ORDBMSs have the same query centric approach to data management as we have in RDBMS. Through declarative SQL statements, we can handle the data access and there is no procedural or object-at-a-time, navigational interface. ORDBMS allows us to continue using our existing systems, without having to make major changes. In simple words, we can say that ORDBMSs synthesize the features of RDBMSs with the best ideas of OODBMSs. (Cigler, 1999) Advantages of ORDBMS Ability to query complex applications and ability to handle large and complex applications Reduced Network Traffic queries and complex instructions can be executed on the server (as opposed to clients) Application and Query Performance Parallel server technology can be employed Software Maintenance data and methods are stored on the server and makes maintenance easier Integrated Data and Transaction Management. The database engine handles all transaction integrity, backup, etc., issues Disadvantages of ORDBMS Modeling and processing support of complex objects and their versions, large objects, semantic-rich relationships, etc. is only rudimentary or even missing in current ORDBMSs ORDBMSs have to be complemented by adequate client-side data management and long-running design transactions encapsulating the client processing model, in order to provide satisfactory support for technical applications Low performance in web applications 2.4 XML To understand XML is important to understand its roots as a markup language documents. The term trademark is any element in a document that it is not intended to be part of the printed output.. In an electronic document processing a markup language is a formal description of what is contained in the document, which part is brand and what the brand stands for. As well as database systems evolved from the physical processing of files to provide a logical isolation, the markup language specification developed from the instructions indicating how to print parts of the document for the contents.. Such functional brand allows the document to have different formats in different situations. It also helps different parts of a long document, or different pages in a large Web site, have a uniform format. The brand works also helps automatic extraction of key parts of the documents. For the family of markup languages in which includes XML makes the form of tags enclosed in angle brackets . Labels are used in pairs, and defining the beginning and end of the portion of document to which the label refers. Compared to storing data in a database, the XML representation may seem inefficient, since tag names are repeated throughout the document. However, despite this disadvantage, an XML representation has significant advantages when used for data exchange, for example, part of a message. First, the presence of tags makes the message is self documenting, Second, the document format is not rigid. The ability to recognize and ignore the unexpected labels allows the format of the data evolve over time without invalidating existing applications. Finally, since the XML format is widely accepted there are a variety of tools available to aid processing, including search software and database tools. As is the dominant language SQL to query relational data in XML is becoming the dominant format for data exchange. Where Object Databases have Object Query Language (OQL), XML Databases have XQuery which is a W3C standard. XQuery covers the major functionality from former language proposals like XML-QL, XQL, OQL and the SQL standard. (Dodds, 2010) Advantages of XML Heterogeneity: Where each record can contain different data fields. Extensibility: Where new types of data can be added at will and dont need to be determined in advance. Flexibility: Where data fields can vary in size and configuration from instance to instance. It often requires no or little work during XML Schema evolution. Disadvantages of XML Mapping your XML format to a relational schema leads to a large number of tables. Your XML Schema is highly variable or tends to change over time. Annotating an XML Schema can be complex, if the schema itself is complex. Using XML as your database will work fine as long as your datasets stay relatively small. Once your data grows to the point where it will not all fit in memory, you will probably start seeing serious performance degradation. RDBMS, OBJECT ORIENTED and XML DATA MODELS COMPARATION AND CONTRAST 3.1 COMPARING RDBMS and OODBMS Relational databases have as their objective to ensure data independence. Normalized data are separated from processing and the processing corresponding to satisfying informational requirements need not be totally pre-defined, thus accepting ad-hoc requirements too. Object oriented databases have as their main objective encapsulation, being stored together with the data and the methods. They are inseparable. It is said that we have to do with an independence of classes and not with an independence of data. An OODBMS and not an RDBMS is needed when in the reference applications we have to do with complex data. The object oriented database markets will continue to develop, but they will still (represent) only a fraction of the traditional databases. It is appreciated that RDMSs hold the largest part of the largest part of the data-bases. But the prospect is that they will still co-exist for a long time future with the OODBS 3.2 COMPARING RDBMS with the ORDBMS An ORDBMS is a relational DBMS with SQL3 extensions. SQL3 extensions include: row types, user-defined types and user-defined routines, polymorphism, inheritance, reference types and object identity, collection types (ARRAYs), new language constructs that make SQL computationally complete, triggers and support for language objects. A RDBMS is characterized by simplicity and increased stability as compared to an ORDBMS, and this fact confers it the quality of being easily used. A mechanism to plug in any user defined index structure provides the highest level of flexibility. Both DBMSs are characterized by simplicity of development owing to the fact that it provides independence of data from applications good for simple relationships. RDBMS is a mature software product while ORDBMS is an immature product (extensions are new, thy are still being de-fined and are relatively unproven. 3.3 COMPARING OODBMS with ORDBMS OODBMSs and ORDBMSs both support user-defined ADTs, structured types, object identity and reference types, and in-heritance; They both support a query language for manipulating collection types; ORDBMSs support an extended form of SQL, and OODBMSs support ODL/OQL; ORDBMSs consciously try to add OODBMS features to an RDBMS, and OODBMS in their turn have developed query languages based on relational query languages; Both OODBMSs and ORDBMSs provide DBMS functionality such as concurrency control and recovery; OODBMSs try to add DBMS functionality to a programming language, whereas ORDBMSs try to add richer data types to a relational DBMS 3.4 XML AND OODBMS XML data does not need to be instantiated as objects in OO code in order to be processed and presented to users. Instead, XML data can be decorated and enriched with tags, and these tags can be processed and understood XML Schema may seem very OO-like at the first glance, but in fact it is missing some important OO-like capabilities. For instance, there is no element-level polymorphism. OO programming is intended to optimize the programmer, not the value or usefulness of the data. XML, on the other hand, is intended to optimize the data. If you use XQuery with XML for all data representations, and never write any OO code, you optimize the datas usefulness and accessibility, because data in XML can be accessed and processed by almost any software on the market. Data in an object database cant. 3.5 XML AND RDBMS. Many developers in the search for greater flexibility think their options are limited to the relational model. Some think that store everything in XML format, reducing the difference between object-oriented applications and relational databases. The relational model is limited, limits are needed to meet the data integrity. In XML, the data structure is more relaxed but it exists. XML schemas are very volatile business, but very stable in other situations. Not being able to find a structure that adapts to a problem of a company, does not mean that this structure does not exist. XML model should be used if the data are scarce, this is to have many unknowns, or columns (fields) do not apply to all rows (records). The solution to this problem is to introduce subtypes or implement an open scheme in the relational model. Introducing subtypes can lead to many new tables, with an open schema solution in the relational model can lead to dynamic and complex SQL statements. An XML-based solution might be best. Conclusions From my point of view the future of Internet-based business applications is dependent on their ability to exchange information between different data stores or database systems. Every day more data such as images, digital and audio/video data types need to be transported from one application to another one through the Net. Because relational databases store data as two-dimensional tables, they are not ideally suited for data manipulation, since data itself may be expressed in the form of complex structures, object-oriented languages appears to be much more efficient, expressing data as objects with rich features including inheritance, polymorphism and encapsulation for maintaining relationships between objects.. However, large amounts of data across the world are still typically stored in RDBMS; when the data from an object-oriented world is persisted in a two-dimensional table format; hierarchical relationships between objects arent preserved, making persistence and recovery of data a complex task. The addition of an OODBMS in the RDBMS environment may require modifications in the existing databases in order to enable communication and data access among them. Moreover, the retrieval and search in many cases wouldnt be efficient as we expect. As we have seen in my document XMLs express purpose is to provide a mechanism for the expression of data structures so it might be a big opportunity to unify the technology providing the bridge between these two kinds of persistence systems and makes it unnecessary for example object and relational databases solutions of direct conversion between one another. Here we realise that despite the differences, the RDBMS and OODBMS could live in agreement whit XML and offer their advantages for todays e-business solutions.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.