Introduction to Databases Dr. Osama AL Rababah Objectives In this capture you will learn: • Some common uses of database systems. • The characteristics of file-based. • The problems with the file-based approach. • The meaning of the term “database”. • The meaning of the term “DBMS”. • The typical functions of DBMS. Objectives • The major components of the DBMS environment. • The personnel involved of the DBMS environment. • The advantages and disadvantages of DBMSs. introduction • A database is a collection of information that is organized so that it can easily be accessed, managed, and updated. In one view, databases can be classified according to types of content: bibliographic, full-text, numeric, and images. • In computing, databases are sometimes classified according to their organizational approach. The most prevalent approach is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways. A distributed database is one that can be dispersed or replicated among different points in a network. An object-oriented programming database is one that is congruent with the data defined in object classes and subclasses. common uses of database systems • • • • • • Purchases from the supermarket Purchases using your credit card Booking a vacation with a travel agent Using the local library Studying at a collage And ….. More The characteristics of file-based • A flat file database describes any of various means to encode a database model (most commonly a table) as a single file. • A flat file can be a plain text file or a binary file. There are usually no structural relationships between the records. Problems with the file-based • • • • Separation and isolation of data Duplication of data (redundancy). Program-Data dependence Incompatible file format. The meaning of “database” • A database is a shared collection of logically related data and its description, designed to meet the information needs of an organization. The meaning of “DBMS” Database management systems (DBMSs) is a software system that enables users to define, create, maintain, and control access to the database. The typical functions of DBMS. • • • • • • • • • Update and retrieve data Provide catalog services Support concurrent update Recover data Provide security services Provide data integrity features Support data independence Support data replication Provide utility services 1. Update and Retrieve Data • Fundamental capability of a DBMS • Users don't need to know how data is stored or manipulated • Users add, change, and delete records during updates • Users view and manipulate data during retrieval 2. Provide Catalog Services • • • • • Stores data about data Contains descriptions of database components Often hidden from users Used by database administrators and programmers Data dictionary in larger DBMSs 3. Support Concurrent Update • Ensures accuracy when several users update database at same time • Manages complex scenarios for updates 4. Recovery • Mechanism for recovering damaged database • The return of database to correct state is called recovery • Simplest recovery involves using backups • Other recovery methods • Forward recovery • Backward recovery • PC-based 5. Provide Security Services • Prevention of unauthorized access • Encryption - converts data to indecipherable form • Authentication - identification of DBMS user, often with passwords or biometrics • Authorizations - rules to specify data available to certain users • Views • Privacy 6. Provide Data Integrity Features • Rules followed to ensure data is accurately and consistently updated • Key integrity • Foreign key and primary key constraints • Data integrity • Data type • Legal values • Format 7. Support Data Independence • Programs must be independent of database structure • Considerations • Adding a field • Changing length of field • Creating an index • Adding or changing a relationship 8. Support Data Replication • Manage multiple copies of same data in multiple locations • Maintained for performance or other reasons • Ease of access and portability 9. Provide Utility Services • • • • • Assist in general database maintenance Permit changes to database structure Permit addition and deletion of indexes Provide access to operating system services Support for queries, screen generators, and report generators (1) 9. Provide Utility Services (2) • Provide Utility Services (cont.)Provide support for embedded procedures • Procedural • Nonprocedural • Provide easy-to-use, menu-driven interface components of the DBMS environment. 1. 2. 3. 4. 5. Hardware Software Data Procedures People Roles in Database Environment • • • • Data and Database Administrator. (DA) and(DBA) Database Designer Application Developer End-Users Advantages of DBMS • • • • • • (1) Control of data redundancy Data consistency More information from the same amount of data Sharing of data Improved data integrity Improved security Advantages of DBMS • • • • • • • • (2) Enforcement of standards Economy of scale Balance of conflicting requirements Improved data accessibility and responsiveness Increased productivity Improved maintenance throw data independence Increased concurrency improved backup and recovery services Disadvantages of DBMS • • • • • • • Complexity Size Cost of DBMSs Additional hardware cost Cost of conversion Performance Greater impact of failure Think and answer 1. Describe the approach of file-based systems. And discuss the disadvantages 2. Discuss the role of the following personnel - DA - DBA - Application developer - End-users