Search This Blog

21.7.10

A UPOU Discussion Thread RE: Do we need computers to have a DBMS?

Do we need computers to have a DBMS?
by Al Francis Librero - Thursday, 17 June 2010, 08:26 AM


I'm reposting a seemingly simple question brought up by one of my students the last time I handled this course.

Do we need computers to have a DBMS? Do we really need to have software and hardware to have a DBMS? Can't a piece of paper qualify as a DBMS, however crude it may be? I would like to think that it can be for the following reasons:

* A piece of paper can help me organize my data
* I can add data
* I can delete data (with an eraser)
* I can edit data (erase and write over it)
* I can search data by reading one row at a time
* I can secure it by keeping it in my drawer
* I can back it up by photocopying it

Doesn't that make a piece of paper a DBMS?

In fact, for some databases (take a grocery list for example) a piece of paper is a more efficient DBMS than one stored on a computer.


My initial reaction, was duhh... but it still generated a lengthy discussion, as an actual answer proved to be more complicated than it seemed for many of my students back then.

So, anyone want to take a shot at this?

Re: Do we need computers to have a DBMS?
by Jose Arnaldo Dris - Wednesday, 16 June 2010, 12:04 PM

Following are some of the reasons why a DBMS would be preferred over a (Simple) File System (an example of which are the [collective] piece(s) of paper):

Features of DBMS that cannot be provided with a (Simple) File System

1. Data Consistency

2. Controlled Redundancy

3. Program-Data Independence

4. Integrity Enforcement

5. Concurrency Control

6. Backup and Recovery

7. Security and Privacy

8. Multiple Views of Data

Advantages of Database Systems (= DB + DBMS + Application Programs)

1. It helps make data management more efficient and effective.

2. Its query language (e.g. SQL) allows quick answers to ad hoc queries.

3. It provides end users better access to more and better-managed data.

4. It promotes an integrated view of [the] organization's operations -- [the] "big picture".

5. It reduces the probability of inconsistent data.

Additional Advantages

1. Performance

2. Expandability/Flexibility

3. Reduced Application Development Time

4. Enforcement of Standards

5. Economies of Scale

The Price You Pay!! [Disadvantages]

1. High initial cost

2. High overhead

3. Not special-purpose

When is DBMS Inappropriate?

1. Database is small and has simple structure.

2. Applications are simple and special-purpose.

3. Applications with real-time requirements.

4. Concurrent, multi-user access to data is not needed.

Reference:

Re: Do we need computers to have a DBMS?
by Al Francis Librero - Wednesday, 16 June 2010, 01:55 PM
That's nice. But can you cite actual instances or scenarios?

Re: Do we need computers to have a DBMS?
by Jose Arnaldo Dris - Wednesday, 16 June 2010, 07:30 PM

Some Instances/Scenarios (from the same lecture6.pdf file on Database Systems):

What is Wrong With a File System?

Structural and Data Dependence

– Structural Dependence

A change in any file’s structure requires the modification of all programs using that file.

– Data Dependence

A change in any file’s data characteristics requires changes in all data access programs.

– Significance of data dependence is the difference between the data logical format and the data physical format.

– Data dependence makes file systems extremely cumbersome from a programming and data management point of view.

Field Definitions and Naming Conventions

– A good (flexible) record definition anticipates reporting requirements by breaking up fields into their components.

• Example:

– Customer Name - Last Name, First Name, Initial

– Customer Address - Street Address, City, State

FIELD CONTENTS

CUS_LNAME Customer last name

CUS_FNAME Customer first name

CUS_INITIAL Customer initial

CUS_AREACODE Customer area code

CUS_PHONE Customer phone

CUS_ADDRESS Customer street address or box number

CUS_CITY Customer city

CUS_STATE Customer state

– Selecting proper field names is very important.

• Names must be as descriptive as possible within restrictions.

• Naming must reflect designer’s documentation needs and user’s reporting and processing requirements.

Data Redundancy

- Uncontrolled data redundancy sets the stage for:

– Data Inconsistency (lack of data integrity)

– Data anomalies

• Insertion anomalies

• Deletion anomalies

• Modification anomalies

A Specific Example

CUSTOMERS

Name Street City Number Balance
Smith Maple Queens 900 55
Shiver North Bronx 556 100000
Shiver North Bronx 647 896
Hughes Sidehill Brooklyn 801 9867
Hughes Sidehill Brooklyn 647 203

1. What if savings and checking account records are managed in separate files?
2. How does one retrieve customers living within 78733 zip code?
3. First of all how do we include zip code in the database?
4. What happens if two customers withdraw funds from an account at the same time?
5. Why should payroll personnel have access to customer accounts?
6. How do we make sure that the balance in checking accounts never goes below $25?
7. What if the system goes down while you are depositing into your account?
8. Customer is always interested in his/her own account, manager is always interested in the total assets, ....

Hence, the importance of a DBMS, which would be very appropriate for such scenarios...

No comments: