Database Management System (DBMS) Database is acollection of interrelated data where data can be easily accessed, managed and updated. For example, consider a school department that maintains records of the students such as student's name, age, address, class etc. These all records are related with student which are stored in a database. Database management System is a collection of data and set of programs to access the data. (wikipedia) It allows creation, definition and manipulation of database. DBMS provides protection and enhances security to database. Some examples for popular DBMS are MySQL, Oracle, Sybase, Microsoft Access and IBM DB2.(Database technology)
Applications of DBMS
Banking: Banks usedatabase for maintaining customer accounts, loans, and other transactions.
Finance: It uses database for storing information such as sales, stocks, bonds etc
Airlines: Airlines use online database for reservation, arrival and departure of the planes, schedule information etc.
Education: Schools, colleges,and universities use database to keep the record of students, course details, registration, examination details, result etc.(Book)
E-commerce: It uses online databases for buying and selling of products, online transaction processing, internet marketing etc.
Telecommunications: Telecommunication department uses database to store information about telephone numbers, details of calls, generated bills etc.
Sales: it uses databases to store product details, transaction and customer details.(Book)
Human resources: Organizations use databases to store information about employees, salaries, tax, salary checks etc.(Book)
Credit card transactions: It is used to keep track of purchases on credit cards for generating statements. Advantages of DBMS
Controlling Data Redundancy:Data redundancy is defined as the precence of more than one same type of record of data in a database. In DBMS, all data is stored in a single database file and that recorded data is placed in the database.
Data Sharing: Data can be shared by authorized users of the organization among other multiple users. Many users can be authorized to access the same data simultaneously. The remote users also can share the same data.(mrbool)
Enforcing Data Integrity:Data integrity is much easier in this approach. In adatabase, data is stored in the tables. A single database contains multiple tables which makeeasier to retrieve and update the data.
Data Security: Data security refers protection of the database from unauthorized access. The DBMS ensures access of the database through authorized channel. DBMS provides security such as one cannot enter into database without giving username and password.
Ease of application development:Applications should be developed in accordance to user requirements. The other issues such as data integrity, security etc are handled by DBMS itself which makes application development easier.(mrbool)
Multiple userinterfaces: DBMS provides different types of user interfaces such as application program interfaces, graphical user interfaces which include form style and menu driven interfaces.(prittytimes) Form style interface provides user interaction with forms and menu driven interface provides user interaction with list of options called as menus.(mrbool)
Backup and recovery: Most of the DBMS’s provide a backup and recovery subsystem which automatically creates backup.Data can be restored if data is lost due to hardware or software failure.
Data Independence: Data Independence keeps data separated from all programs that make use of it. In DBMS, database and application programs are separated from each other and we can easily change the database structure without modifying the application program.(mrbool)
Reduced Maintenance: It can be easily maintainable due to centralized nature of the system. Disadvantages of DBMS
Cost of Data Conversion: When computer file based system replaced with database system, it must be converted to database file. It is difficult to convert data file into database, we have to concern with database designers along with application programmers and also we should use software which costs lot of money for developing the software.(mrbool)
Cost of Hardware and Software: We need high speed of data processor and large memory size to run DBMS software and DBMS is also costly.
Complexity: Database system creates additional complexity and requirements. DBMS is extremely complex piece of software.(mrbool) The operation of database system with several users and databases is quite costly and demanding.
Size: DBMS is large software due to its complexity and breadth functionality. It occupies large space of disk and large memory to run the efficiently and effictively.
Higher impact of failure: In most of the organizations, all data stored in a single database. (mrbool) Since all users and applications rely on the availability of the DBMS. If database is damaged due to electric failure or database corruption data may lost forever.(mrbool)
Cost of staff training: DBMS is complex database system which is required to train the users all levels of DBMS including programming, application development etc , which is costly as organization has to pay lot of amount for training staff to run the DBMS.(mrbool) Characteristics of DBMS
Complex relationship is reduced between data in a database.
Enforces user defined rules and ensures data sharing.
Different avalilable interfaces helps user to manipulate the data.
Integrated database helps to understand the relationship between data stored in different applications.
It provides automatic backup and recovery procedures.
Provides clear and logical view of process that manipulates data
DBMS Architecture The basic client/server architecture was developed to deal with large number of PCs, work stations, database servers, web servers and other components in a network.(mrbool) The client/server architecture consists of many PCs and work stations which are connected via network. (mrbool)A client is a user machine which provides user interface and local processing.(Introduction to Database Syatem) The second approach is two-tier architecture, was taken by some object-oriented DBMSs, where divided DBMS between client and server in more integrated way. The server level may include data storage on disk pages, recovery and buffering of disk pages and other functions. (mrbool) The client level may include user interface, interaction with programming language compiler, recovery across multiple servers and other functions. It is simplicity and compatibility with existing system.(mrbool)
Three-tier Architecture Three tier architecture adds intermediate layer between the client and server as shown below.
The middle layer is also called as application server or sometimes web server depending on the application. This tier uses business roles that are used to access data from the server. For user application, tier works as view of the database. The intermediate tier accepts requests from the client, processes the request and sends the commands to database server.(mrbool)
The database tier includes data management services which give result for client via middle tier. Security is the best in the three-tier architecture because the middle tier protects the database tier. Reference: