A Database Management System (DBMS) is a software package
designed to store and manage database.
The advantages of using DBMS:
Before the concept of DBMS has been created, people open a "file" to
get data and store data in a file.
Q1: If you can store data in a file, why do
you need a database system?
- Abstraction ( i.e. Data Independence) - Users do not need to
know how data stored internally (how data physical stored).
- Reduced application development time - DBMS has concurrent control and
crash recovery, users / programmers do not need to write a program to take
care them.
- Data integrity and security - If you try to update the data that violate
the rules, you will be rejected by the DBMS.
Q2: Assume that you need a database system, what should
a database system have? i.e. What is a database system able to do?
- query language
- maintain security (Restrict who can use what)
- reliability (Backup/crash recovery)
- integrity ( How to specify rules such that system automatically checks
consistent with data type and data value, e.g. 0 < gpa <= 4.0)
- concurrency (multiple users, e.g. ATM problem)
- physical organization (The data must be operated fast. How you
organize the data on disk, Index or B-tree, will change the performance of
operations.)
- optimization (Change the way to query and save a few seconds on getting a
set of data..)