Dr. Awad Khalil Computer Science Department AUC Database Concepts Dr. Awad Khalil Computer Science Department AUC CSCI 253 -- Database Concepts
CSCI 253 -- Database Concepts Content What and Why Database? Database System Environment The Database The Database Management System The Application Programs The Users Characteristics of the Database approach versus the Traditional File Approach CSCI 253 -- Database Concepts
CSCI 253 -- Database Concepts What is a Database? Databases are considered as major components in almost all recent computer application systems, including business, management, engineering, education, medicine, science, ... etc. Database technology has a major impact on the growing use of computer systems. A database is simply a collection of related data. Data mean known facts that can be recorded and that have implicit meaning. CSCI 253 -- Database Concepts
CSCI 253 -- Database Concepts Database Properties A database is a logically coherent collection of data with some inherent meaning. A random collection of data cannot be considered as a database. A database represents aspects of a real system in real world. Examples of these real systems: Hospital, Bank, Factory, Company, University, … A database is designed and implemented to afford the informational needs of a specific group of users. These informational needs are supported by a set of application systems running against the implemented database. CSCI 253 -- Database Concepts
CSCI 253 -- Database Concepts Database – Example I Consider a small personal database to maintain data concerning the names, telephone numbers, and addresses of the people you know TELEPHONE DIRECTORY CSCI 253 -- Database Concepts
CSCI 253 -- Database Concepts Example II Consider a suppliers-and-parts database to maintain data concerning suppliers supplying parts for a certain company. CSCI 253 -- Database Concepts
Database System Environment CSCI 253 -- Database Concepts
CSCI 253 -- Database Concepts 1- The Database Data in the database will be both integrated and shared . CSCI 253 -- Database Concepts
2- The Database Management System DBMS The Database Management System (DBMS) is a general-purpose software that enables users to create and maintain a database. The DBMS facilitates the process of defining, constructing, and manipulating databases for various applications. Defining: Data Definition Language (DDL). Constructing. Manipulating: Data Manipulation Language (DML). DBMS Layers: Software to process Queries and Programs: (DML). The language SQL (Structured Query Language) is a typical example of a database query language. Software to access stored data CSCI 253 -- Database Concepts
3- The Application Programs These are the programs written to support the end users requirements. A given end user can access the database via one of the online applications, where he or she operates by choosing items from a menu or filling in items on a form. Such menu- or forms-driven interfaces tend to be easier to use for people who do not have a formal training in data processing. CSCI 253 -- Database Concepts
CSCI 253 -- Database Concepts 4- Users CSCI 253 -- Database Concepts
Characteristics of the Database Approach Self-describing nature of a database Program-data independence and Data Abstraction Support multiple views of the data Sharing of data and multiuser transaction processing CSCI 253 -- Database Concepts
Database Approach versus the Traditional File Approach CSCI 253 -- Database Concepts
The Traditional File Approach 1. Disadvantages: Inflexibility: a “mass production facilty” – committed to processing particular queries. Uncontrolled Redundancy: If these separate applications need to process the same data then must duplicate copies of the data i.e., each application has its own data files, several copies of the same data may exist in different applications. This leads to: Ø Wastage of valuable storage space. Ø Need to input data to several files. Ø Data inconsistency (one fact may have more than one value – various versions may occur). Poor Enforcement of System Standards: Data names, formats, access restrictions, … etc. are not standardized across an organization, may have many synonyms and homonyms. This makes modifications difficult and hinders sharing of data. § Ø Ø Limited Data Sharing: Each application has its own private file providing little opportunity for users to share existing data. Additionally any new applications would not be able to use existing files leading to low productivity. Progran – Data Dependency: Descriptions of files, records, data items are embedded within application programs. Any modification to a data file requires that the application programs using that file must also be changed. In other words, program maintenance will be excessive. CSCI 253 -- Database Concepts
CSCI 253 -- Database Concepts The Database Approach The database approach improves upon file-based systems. A DBMS does not fragment data into separate files but regards data as being stored in a large conceptual repository termed as database. The DBMS handles the addition, storage, update, and retrieval of data. DBMSs are based on semantically rich data models, which can accurately represent real world data. DBMSs allow: Persistence of Data Transaction Control Concurrency Control Recovery Control Querying Integrity Control Data Security Version Control Performance Tuning CSCI 253 -- Database Concepts
CSCI 253 -- Database Concepts Components of DBMS DBMS Engine Interface Subsystem (DDL, DML, DCL, Graphical User Interface, Forms Interface, Natural Language Interface System Catalog Performance Management Subsystem Data Integrity Management Subsystem Backup and Recovery Subsystem Application Development Subsystem Security Management Subsystem CSCI 253 -- Database Concepts
Benefits of the Database Approach Ease of application development Minimal data redundancy Enforcement of standards Data can be shared Physical data independence Logical data independence Better modeling of real world data Uniform security and integrity controls Economy of scale CSCI 253 -- Database Concepts
CSCI 253 -- Database Concepts Thank you CSCI 253 -- Database Concepts