What is a DBMS?
DBMS (or Database Mgmt System).A software for creating and managing large databases efficiently.
.E.g.
-Oracle
-MSAccess
-Sybase
Real Business: What is a DBMS
Database management systems:
Provide efficient and secure access to large amounts of data.
Address problems such as:
How to store the data
How to query data efficiently
How to update the data securely (by multiple users)
Contrast with using file systems for the same task
Database Industry
-Relational databases are a great success of theoretical ideas.
-“Big 3” DBMS companies are among the largest software companies in the world.
-IBM (with DB2) and Microsoft (SQL Server, Microsoft Access) are also important players.
-$20B industry
-Challenged by object oriented DBMS.
Functionality of a DBMS
-Storage management
-Abstract data model
-High level query and data manipulation language
-Efficient query processing
-Transaction processing
-Resiliency: recovery from crashes
-Interface with programming languages
Why Use a DBMS?
-Data independence and efficient access.
-Reduced application development time.
-Data integrity and security.
-Uniform data administration
-Concurrent access and recovery from crashes.
The Study of DBMS
-Several aspects:
=Modeling and design of databases
=Database programming: querying and update operations
=Database implementation
-DBMS study cuts across many fields of Computer Science: OS, languages, AI, Logic, multimedia, theory...
Need for a DBMS
0To be able to appreciate why we need a DBMS, we must look at what are the limitations of the file processing system (FPS) traditionally used for accessing huge amount of data.
-So, what is a FPS?
=One of the ways to store, manipulate and retrieve large files of data.
For example : a savings bank.
Two types of files
Account File
Customer File.
A separate computer program is written to accomplish the following tasks
Debit or Credit an Account
Add a new account.
Find an account balance.
Generate monthly statements.
Each program defines and manages its own data.
Development of the system proceeds as follows:
New application programs must be written as the need arises.
New permanent files are created as required.
Functions of DBMS
Data Abstraction
The major purpose of a database system is to provide users with an abstract view of the system.
The system hides the details of how data is stored and created and maintained.
There are three levels of abstraction:
Physical Level:
Conceptual Level:
View Level:
Three levels of data abstraction
Physical Schema:
-Is concerned with how the data is stored in the computer’s hard-disk.
E.g. index, B-tree, hashing.
-Lowest level of abstraction.
-Complex low-level structures described in detail.
Conceptual Schema:
-Next highest level of abstraction.
-a detailed specification of the overall structural organization of the data.
-Specifically, what data is stored in the database and the relationships among the data (ER Models).
-Database administrator level.
External Schema or User-View Schema:
-Highest level.
-Describes part of the database for a particular group of users.
-Can be many different views of a database.
E.g. tellers in a bank get a view of customer accounts, but not of payroll data.
Showing posts with label Data Base. Show all posts
Showing posts with label Data Base. Show all posts
Monday, January 19, 2009
Data Base : Introduction
Introduction
=What is ‘data’?
=Data
-raw facts
-text, graphics, images, sound and video segments that have meaning in the users’ environment.
What is Metadata ?
-“data about data”
-i.e. data describing the properties or characteristics of data.
6.Integrity problems
@Data may be required to satisfy constraints.
@lE.g. no account balance below $25.00.
@Again, difficult to enforce or to change constraints with the file-processing approach.
•These problems and others led to the development of database management systems.
Where do we begin?
=What is ‘data’?
=Data
-raw facts
-text, graphics, images, sound and video segments that have meaning in the users’ environment.
What is Metadata ?
-“data about data”
-i.e. data describing the properties or characteristics of data.
What is a database?
=Database
-Kind of electronic filing cabinet.
i.e. a container for a collection of computerized data files.
=Users of a database
-Add new files to the database.
-Remove (Delete) files from the database.
-Insert data into existing files.
-Retrieve data from existing files.
-Change/Delete data in existing files.
=Database
-Kind of electronic filing cabinet.
i.e. a container for a collection of computerized data files.
=Users of a database
-Add new files to the database.
-Remove (Delete) files from the database.
-Insert data into existing files.
-Retrieve data from existing files.
-Change/Delete data in existing files.
The problems with the straight file-processing approach
1.Program-data dependence
•Since in a TFPS, each application program accesses the data files directly, programs are dependent on how data is structured and stored giving rise to the following problems.
–Each application program needs to include code for the metadata of each file
–Each application program must have its own processing routines for reading, inserting, updating and deleting data
–Lack of coordination and central control
–Non-standard file formats
–Changes in data structuring requires changing all the application programs that reference it.
2.Difficulty in accessing data
–May have to write a new application program to satisfy an unusual request.
–E.g. find all customers with the same postal code.
–Could generate this data manually, but a long job...
1.Program-data dependence
•Since in a TFPS, each application program accesses the data files directly, programs are dependent on how data is structured and stored giving rise to the following problems.
–Each application program needs to include code for the metadata of each file
–Each application program must have its own processing routines for reading, inserting, updating and deleting data
–Lack of coordination and central control
–Non-standard file formats
–Changes in data structuring requires changing all the application programs that reference it.
2.Difficulty in accessing data
–May have to write a new application program to satisfy an unusual request.
–E.g. find all customers with the same postal code.
–Could generate this data manually, but a long job...
3.Data redundancy and inconsistency
–Since in FPS, new files are created as required, same information may be duplicated in several places leading to data redundancy.
–All copies may not be updated properly resulting in inconsistent data.
–Since in FPS, new files are created as required, same information may be duplicated in several places leading to data redundancy.
–All copies may not be updated properly resulting in inconsistent data.
4. Multiple Users
•Want concurrency for faster response time.
•Need protection for concurrent updates.
•E.g. two customers withdrawing funds from the same account at the same time - account has $500 in it, and they withdraw $100 and $50. The result could be $350, $400 or $450 if no protection.
•Want concurrency for faster response time.
•Need protection for concurrent updates.
•E.g. two customers withdrawing funds from the same account at the same time - account has $500 in it, and they withdraw $100 and $50. The result could be $350, $400 or $450 if no protection.
5.Security problems
lE.g. Every user of the system should be able to access only the data they are permitted to see.
lpayroll people only handle employee records, and cannot see customer accounts; tellers only access account data and cannot see payroll data.
lDifficult to enforce this with application programs.
lE.g. Every user of the system should be able to access only the data they are permitted to see.
lpayroll people only handle employee records, and cannot see customer accounts; tellers only access account data and cannot see payroll data.
lDifficult to enforce this with application programs.
6.Integrity problems
@Data may be required to satisfy constraints.
@lE.g. no account balance below $25.00.
@Again, difficult to enforce or to change constraints with the file-processing approach.
•These problems and others led to the development of database management systems.
SOLUTION: The DATABASE Approach
•Central repository of shared data
•Data is managed by a controlling agent (a Database Management System (DBMS).
•Stored in a standardized, convenient form
•Central repository of shared data
•Data is managed by a controlling agent (a Database Management System (DBMS).
•Stored in a standardized, convenient form
Advantages of Database Approach
•Program-Data Independence
–Metadata is stored in DBMS, so applications don’t need to worry about data formats.
–Data queries/updates are managed by DBMS so programs don’t need to process data access routines
–Allows the physical and (or) conceptual database schema to be altered without having to rewrite the application programs.
•Minimal Data Redundancy
–Leads to increased data integrity/consistency
•Improved Data Sharing
–Different users get different views of the data
•Enforcement of Standards
–All data access is done in the same way
•Improved Data Quality
–Constraints, data validation rules
•Better Data Accessibility/ Responsiveness
–Use of standard data query language (SQL)
•Security, Backup/Recovery, Concurrency
–Disaster recovery is easier
–Metadata is stored in DBMS, so applications don’t need to worry about data formats.
–Data queries/updates are managed by DBMS so programs don’t need to process data access routines
–Allows the physical and (or) conceptual database schema to be altered without having to rewrite the application programs.
•Minimal Data Redundancy
–Leads to increased data integrity/consistency
•Improved Data Sharing
–Different users get different views of the data
•Enforcement of Standards
–All data access is done in the same way
•Improved Data Quality
–Constraints, data validation rules
•Better Data Accessibility/ Responsiveness
–Use of standard data query language (SQL)
•Security, Backup/Recovery, Concurrency
–Disaster recovery is easier
The Database Approach
•Database Application (DA)
–application program used to perform a series of database operations or activities on behalf of database user.
E.g create, read, update, delete
–application program used to perform a series of database operations or activities on behalf of database user.
E.g create, read, update, delete
Types of Database Application
•Personal Computer Database
–support one user (standalone desktop database)
•Workgroup Database
–small team of people work together on the same project or application (LAN <25>
–support one user (standalone desktop database)
•Workgroup Database
–small team of people work together on the same project or application (LAN <25>
Component of Database Environment
•CASE (Computer Aided Software Engineering Tools)
–tools used to design databases and application programs.
–Categories:
•Upper-CASE
•Lower-CASE
•Integrated-CASE
•Repository
–centralized knowledge base of all data definitions, screen, data relationships, report formats and other system components.
•DBMS
•Database – storehouse of the data
•Application programs
•User Interface
•Data Administrators – personnel responsible for maintaining the database
•System developers – personnel responsible for designing databases and software
•End users
•CASE (Computer Aided Software Engineering Tools)
–tools used to design databases and application programs.
–Categories:
•Upper-CASE
•Lower-CASE
•Integrated-CASE
•Repository
–centralized knowledge base of all data definitions, screen, data relationships, report formats and other system components.
•DBMS
•Database – storehouse of the data
•Application programs
•User Interface
•Data Administrators – personnel responsible for maintaining the database
•System developers – personnel responsible for designing databases and software
•End users
Components Of The Database Environment

“Users” of a Database
•End Users
–use application programs, queries or reports prepared by developers (e.g. users of ATM)
•Application programmers / developers
–are computer professionals who write the application programs, reports, queries, etc.
•Database administrator
– handle security & authorization, recovery from crashes, tuning for performance, etc
Subscribe to:
Posts (Atom)