Sunday, July 28, 2013

The Disadvantages and Weaknesses of Relational Database And RDBMS

Previous about the advantages and benefit, now about disadvantages and weaknesses of relational database and RDBMS.


Relational databases are widely used in many industries to store financial records, keep track of inventory and to keep records on employees. In a relational database, information is stored in tables (often called relations) which help organize and structure data. Even though they are widely used, relational databases have some drawbacks.

Relational databases allow users to search and retrieve sets of data, called tables, based on relationships between individual pieces of data. Despite advantages such as optimization over large sets of information and access tools such as Structured Query Language (SQL), relational databases also come with their own disadvantages.

1. Cost
One disadvantage of relational databases is the expensive of setting up and maintaining the database system. In order to set up a relational database, you generally need to purchase special software. If you are not a programmer, you can use any number of products to set up a relational database. It does take time to enter in all the information and set up the program. If your company is large and you need a more robust database, you will need to hire a programmer to create a relational database using Structured Query Language (SQL) and a database administrator to maintain the database once it is built. Regardless of what data you use, you will have to either import it from other data like text files or Excel spreadsheets, or have the data entered at the keyboard. No matter the size of your company, if you store legally confidential or protected information in your database such as health information, social security numbers or credit card numbers, you will also have to secure your data against unauthorized access in order to meet regulatory standards.

2. Abundance of Information
Advances in the complexity of information cause another drawback to relational databases. Relational databases are made for organizing data by common characteristics. Complex images, numbers, designs and multimedia products defy easy categorization leading the way for a new type of database called object-relational database management systems. These systems are designed to handle the more complex applications and have the ability to be scalable.

3. Stuctured Limits
Some relational databases have limits on field lengths. When you design the database, you have to specify the amount of data you can fit into a field. Some names or search queries are shorter than the actual, and this can lead to data loss.

4. Isolated Databases
Complex relational database systems can lead to these databases becoming "islands of information" where the information cannot be shared easily from one large system to another. Often, with big firms or institutions, you find relational databases grew in separate divisions differently. For example, maybe the hospital billing department used one database while the hospital personnel department used a different database. Getting those databases to "talk" to each other can be a large, and expensive, undertaking, yet in a complex hospital system, all the databases need to be involved for good patient and employee care.

5. Restrictions on Data Types
Relational databases come with restraints as to what data types they can store. Complex data types such as 3D images or abstract data objects are not available to store under a relational database. Data types available to a database include numbers, characters (letters), dates and times, or Boolean (true/false) values.

6. Complexity
Relational databases can quickly become complex when the amount of data grows and the relations between pieces of data become more complicated. Furthermore, SQL, while a powerful tool for accessing data from a relational database, is limited in how it accesses data with complicated relationships. Also, representing complex forms of data requires breaking the data into simpler data types that the database supports (such as numbers, letters, and Boolean values). Recombining these values to reconstruct the original data adds to the complexity of the system.

Source :
Anni Martin - eHow