Database Management System is a software package that has been designed to create and maintain shared collection of logically related data. A Database Management System generally facilitates the processes of Defining, Constructing and Manipulating of data. In addition to that it provides various background services including transaction management, disaster recovery and security. Data management has become a high priority issue in modern business management. Therefore to support that, database management systems providers improving their products using innovative technologies.
Flat File System
A Flat File is a database that stores the data in a plain text file. Each line of the file stores a single value. Each field is separated by delimiters such as commas or tabs. Although it can have multiple tables, it cannot have multiple relations as the Relational Databases have.
The main advantage of Relational Database over the Flat File System is that the proper organization of data that has. A relational database also defines the relationships between those tables. In the relational databases, queries are used to fetch data with the help of the indexes. The relational database technology makes the databases efficient, lighter and faster. Some of the advantages of the relational databases are;
- Bringing tables together using relations
- Provides a structure query language (SQL) to define and manipulate data.
Object Relational Model: It is also a relational data model but with object orientation in it. It reduces the gap between the conceptual data modeling techniques and object-relational mapping.
An Object Oriented database is a combination of objects in a persistent storage which holds information. It is quite similar to the object oriented languages. It can be named as the fifth-generation database technology that was began to develop in mid 80’s. The real world entities are represented like an object in the Object Oriented Data Model.
It is a database system that can be used to utilize the advantages of the databases. It is usually structured to optimize online analytical processing and data warehouse applications. The multidimensional database can receive data from a variety of relational databases and structure the information into categories and sections that can be accessed in number of different ways.
There are several tasks done by the DBMS. It accepts various logical requests from various other DBMS sub systems. Then convert those requests into their physical equivalent and actually access the database and data dictionary as they exist on a storage device.
Data definition and manipulation
In Structured query languages, they have four different operations mainly to operate data. They are Select (Retrieve data from a table/tables), insert (insert data to the tables), update (update a certain field of a column) and delete (delete rows). In addition to them there are several other commands for creating, dropping databases, etc…
The database administration means the maintaining the functionalities and managing the DBMS. There are 3 main types of Administration. They are
- Operation Administration
- Development Administration
- Application Administration
There comes several tools for the database administration and they are called as native tools.
Security: The security of data is the most important thing. A DBMS allows to let several users to access the database up to several extends. In addition to that the DBMS allows setting passwords. In addition to that the DBMS allows setting passwords. Encrypting the data is another security feature provided by the advanced DBMS.
Disaster recovery: Database Management Systems allows its users to maintain backups. It makes easy to recover when there is a crash of data. In addition to that most of the DBMS provide role back to a previous state in order to undo transactions in a given period..
Indexing: Indexing makes the operations such as insert and update easy. The data is ordered randomly and the way how it was ordered is described by the logic Indexing speed up manipulation of data since it keep a summary of mata date and it make the SQL engine to access the required data without searching whole database.However indexing doesn’t seep duo the data manipulation in the case the query is conditional, like ‘select name from student where age<10’. In such a scenario SQL engine must go through whole table regardless of the indexed data.
Advantages of Using A DBMS
- Application programs are independent of data representation and data storage details.
- Data is stored and accessed efficiently including the support of very large files and index structures.
- Centralize administration of data shared among many users.
- Let users feel the data is accessed only by him at that time.
Selecting an appropriate DBMS is an important decision in any software application. An inappropriate application in DBMS will result system instability and lower performance. In the software development context is similar to below cases it’s recommended to not to use a DBMS.
- Single-user applications PC applications.
- Non mission critical systems.
- Non security critical systems.
- If the application handles low volume of data
- In low resource environments. (Ex: Mobile Devices)
Current Database Management Systems
There are several Database Management Systems have been introduced as it became much popular. Some of the most popular databases are MySQL, Microsoft SQL Server, Oracle, Dataphore etc, and they have their own unique features. Considering them software developers can use them for their projects.
- Oracle has many advanced functions such as Real Cluster, Flush back recovery etc.
- Oracle DBA and developer cost higher to hire and train. Oracle price is higher and charge you 22% support/maintains every year.
- For very complicated store procedure, Oracle runs faster.
- Oracle runs on many platforms. SQL Server only runs on Windows.
- If you have a big database needs running on powerful Unix or IBM server, with complicated application. Oracle is a good choice.
- Mysql replication works well for backup services and scaling out purposes are available.
- In Mysql master-slave replication model, changes only flow from master to slaves.
- T-SQL (Transaction SQL) enhancements
- CLR (Common Language Runtime)
Although the Database Management Systems have been very much developed, there are some areas yet to be developed. The areas like integrating structured and unstructured data, virtual access of data, and simplifying data management through greater automation and intelligence can be developed more than now they are. A research site estimates that more than 90% of all business data in enterprises is unstructured, but only 5% of unstructured data is stored in databases. The DBMS will address this challenge by supporting all kinds of data and content in its native form with much tighter integration, while sustaining high performance in the future as the experts expect. In the next few years, DBMS technology and middleware will also evolve to support information fabric, virtual access to heterogeneous data.In addition to those, there will be a growth in e-Commerce and enterprise portals. Demand for commodity front-end database servers will increase and the market for the open source DBMS will be much higher than now.Mobile database suites will be a very good trend in the future and it will enable to access the databases located in the mobile phones.
- IBIBO masters. (2007, November 07). What is flatfile system. Retrieved May 07, 2010, from IBIBO: http://sawaal.ibibo.com/computers-and-technology/what-flat-file-system-198192.html
- Fundamentals of Database. In e. &. navathe, Fundamentals of Database,4th Eddition. Pearson Education, Inc.
- Yuhanna, N. (2005, September 29). The Future Of DBMS Technology. Retrieved May 07, 2010, from www.forrester.com: http://www.forrester.com/rb/Research/future_of_dbms_technology/q/id/37181/t/2
- insidetech.monster.com. (2009). Retrieved May 2010, from Get a Database Administrator Job: http://insidetech.monster.com/nfs/insidetech/attachment_images/0002/0929/database-250-2_crop380w.jpg