Database
A Database is a structured collection of data which is managed to meet the needs of a community of users. The structure is achieved by organizing the data according to a database model. The model in most common use today is the relational model. Other models such as the hierarchical model and the network model use a more explicit representation of relationships (see below for explanation of the various database models).
A great deal of the internal engineering of a DBMS, however, is independent of the data model, and is concerned with managing factors such as performance, concurrency, integrity, and recovery from hardware failures. In these areas there are large differences between products.
Database tables/indexes are typically stored in memory or on hard disk in one of many forms, ordered/unordered flat files, ISAM, heaps, hash buckets or B+ trees.The most commonly used are B+ trees and ISAM.
Ideally, the database software should enforce the ACID rules, summarized here:
* Atomicity: Either all the tasks in a transaction must be done, or none of them. The transaction must be completed, or else it must be undone (rolled back).
* Consistency: Every transaction must preserve the integrity constraints — the declared consistency rules — of the database. It cannot place the data in a contradictory state.
* Isolation: Two simultaneous transactions cannot interfere with one another. Intermediate results within a transaction are not visible to other transactions.
* Durability: Completed transactions cannot be aborted later or their results discarded. They must persist through (for instance) restarts of the DBMS after crashes
In practice, many DBMS's allow most of these rules to be selectively relaxed for better performance.
Concurrency control is a method used to ensure that transactions are executed in a safe manner and follow the ACID rules. The DBMS must be able to ensure that only serializable, recoverable schedules are allowed, and that no actions of committed transactions are lost while undoing aborted transactions .
What are the Benefits?
i) Information as you want it -
Think of your relational database as a container embracing all your shared data. Customers, contacts, suppliers, product information, sales history … Everything you and your enterprise uses on a regular basis.
Add a user friendly and interactive front end and roll it out.
You will then have consistent information for all to share, secure and in just one location, easily accessible, able to grow and be easily adapted to your changing needs.
ii) Savings in time and money -
data input costs time and money.
Adding real value to your data is an effective use of time and money.
Information put into a word processing document adds little value, just presentation. A spreadsheet provides more but a relational database will give your data true multi-dimensional depth as well as the presentation capabilites of word processors and the analytical powers of spreadsheets.
iii)A competitive edge - that little bit extra to give you an advantage.
Shared information, how you want it, when you want it and presented in a way to give it meaning.
However large, or small, your business is, the effective use of your time and resources will have an influence on your success.
In distributed environment you would not like your data to be tampered and while using data structure or collection in programming language you will only add more to the security concerns which is not recommended.Addition to this it doesn't take your system resources
(like physical memory of heap) as its organized and maintained on some other system.
So Database has all that has to be done with data in IT system what i mean here is it does have all handy methods we don't have to write a code for it.e.g. if you need no. of Fridays between two dates Oracle has inbuilt functions to do this. while in programming language you have to write several line codes for it.
Hope this solves your issues
Cheers:)