Database is a collection of related data and data is a collection of facts and figures that can be processed to produce information.
A Database Management System (DBMS) is a collection of programs that enable users to create and maintain a database as well as interact with the user, other applications and the database itself to capture and analyze data.
CHARACTERISTICS:
Self-describing nature of a database system
Insulation between programs and data, and data abstraction
Support of multiple users of the data
Sharing of data and multiuser transaction processing
ARCHITECTURE:
The design of a DBMS depends on its architecture. It can be centralized or decentralized or hierarchical. The architecture of a DBMS can be seen as either single tier or multi-tier. An n-tier architecture divides the whole system into related but independent n modules, which can be independently modified, altered, changed, or replaced.
A 3-tier architecture separates its tiers from each other based on the complexity of the users and how they use the data present in the database. It is the most widely used architecture to design a DBMS.
Database (Data) Tier: At this tier, the database resides along with its query processing languages. We also have the relations that define the data and their constraints at this level.
Application (Middle) Tier: At this tier reside the application server and the programs that access the database. For a user, this application tier presents an abstracted view of the database. End-users are unaware of any existence of the database beyond the application. At the other end, the database tier is not aware of any other user beyond the application tier. Hence, the application layer sits in the middle and acts as a mediator between the end-user and the database.
User (Presentation) Tier: End-users operate on this tier and they know nothing about any existence of the database beyond this layer. At this layer, multiple views of the database can be provided by the application. All views are generated by applications that reside in the application tier. Multiple-tier database architecture is highly modifiable, as almost all its components are independent and can be changed independently
Advantages of using the DBMS approach:
Controlling redundancy
Restricting unauthorized access
Providing storage structure for efficient query processing
Providing backup and recovery
Proving multiple user interfaces
Representing complex relationships among data
Enforcing integrity constraints
Disadvantages of using the DBMS approach:
Danger of a overkill
Complexity
Qualified personnel
Lower efficiency
Cost
TYPES OF DATABASE MODEL:
HIERARCHICAL DATABASE: A DBMS is said to be hierarchical if the relationships among data in the database are established in such a way that one data item is present as the subordinate of another one. Here subordinate means that items have parent- child relationships among them. Direct relationships exist between any two records that are stored consecutively. The data structure “tree” is followed by the DBMS to structure the database. No backward movement is possible/allowed in the hierarchical database.
NETWORK DATABASE: A DBMS is said to be a Network DBMS if the relationships among data in the database are of type many-to-many. The relationships among many-to-many appears in the form of a network. Thus the structure of a network database is extremely complicated because of these many-to-many relationships in which one record can be used as a key of the entire database. A network database is structured in the form of a graph that is also a data structure.
RELATIONAL DATABASE: A DBMS is said to be a Relational DBMS or RDBMS if the database relationships are treated in the form of a table. There are three keys on relational DBMS 1) relation 2) domain 3) attributes. A network means it contains fundamental constructs sets or records. Sets contains one to many relationship, records contains fields statistical table that is composed of rows and columns is used to organize the database and its structure and is actually a two dimension array in the computer memory. A number of RDBMSs are available, some popular examples are Oracle, Sybase, Ingress, Informix, Microsoft SQL Server, and Microsoft Access.