Fundamentals of Database systems(CoSc2041) Jimma University Institute of Technology Faculty of computing and Informatics Chapter One Introduction: Databases and Database Users 1
Chapter outline Introduction Functionality of DBMS Characteristics/Features of DBMS File system vs DBMS Types of DBMS users Historical background Application When and when not to use DBMS 2
Chapter Objectives At the end the chapter students should able to know: The meaning of the term ‘database’. The meaning of the term ‘database management system’ (DBMS). Some common uses of database systems. The characteristics of Database systems. The problems with the file-based approach. The typical functions of a DBMS. The major components of the DBMS environment. The history of the development of DBMSs. The advantages and disadvantages of DBMSs. 3
INTRODUCTION Database : is a collection of related data. Data : is a collection of facts and figures that can be processed to produce information. Database Management System or DBMS in short refers to the technology of storing and retrieving users’ data with at most efficiency along with appropriate security measures . A software package/ system to facilitate the creation and maintenance of a computerized database. stores data in such a way that it becomes easier to retrieve, manipulate, and produce information. 4
The DBMS software together with the data itself. Sometimes, the applications are also included. Typical DBMS Functionality Define a particular database in terms of its data types, structures, and constraints Construct or Load the initial database contents on a secondary storage medium 5
Manipulating the database: Retrieval: Querying, generating reports Modification: Insertions, deletions and updates to its content Accessing the database through Web applications Processing and Sharing by a set of concurrent users and application programs –yet, keeping all data valid and consistent Other features: Protection or Security measures to prevent unauthorized access Active processing to take internal actions on data Presentation and Visualization of data Maintaining the database and associated programs over the lifetime of the database application Called database, software, and system maintenance 6
Characteristics of DBMS DBMS was a new concept then, and all the research was done to make it overcome the deficiencies in traditional style of data management. 1. Real-world entity − A modern DBMS is more realistic and uses real-world entities to design its architecture. It uses the behavior and attributes too. For example, a school database may use students as an entity and their age as an attribute. 2. Relation-based tables − DBMS allows entities and relations among them to form tables. A user can understand the architecture of a database just by looking at the table names. 3. Isolation of data and application − A database system is entirely different than its data. A database is an active entity, whereas data is said to be passive, on which the database works and organizes. DBMS also stores metadata, which is data about data, to ease its own process. 7
4. Less redundancy − DBMS follows the rules of normalization, which splits a relation when any of its attributes is having redundancy in values. Normalization is a mathematically rich and scientific process that reduces data redundancy. 5. Consistency − Consistency is a state where every relation in a database remains consistent. There exist methods and techniques, which can detect attempt of leaving database in inconsistent state. A DBMS can provide greater consistency as compared to earlier forms of data storing applications like file-processing systems. 6. Query Language − DBMS is equipped with query language, which makes it more efficient to retrieve and manipulate data. A user can apply as many and as different filtering options as required to retrieve a set of data. Traditionally it was not possible where file-processing system was used. 8
7. ACID Properties − DBMS follows the concepts of Atomicity, Consistency , I solation, and D urability (normally shortened as ACID). These concepts are applied on transactions, which manipulate data in a database. Atomicity − is, either all of its operations are executed or none. Consistency − No transaction should have any adverse effect on the data residing in the database. Isolation − No transaction will affect the existence of any other transaction. Durability − The database should be durable enough to hold all its latest updates even if the system fails or restarts. 8. Multiuser and Concurrent Access − DBMS supports multi-user environment and allows them to access and manipulate data in parallel . 9. Multiple views − DBMS offers multiple views for different users. A user who is in the Sales department will have a different view of database than a person working in the Production department. 9
10. Security − Features like multiple views offer security to some extent where users are unable to access data of other users and departments. DBMS offers many different levels of security features, which enables multiple users to have different views with different features. File-based System : A collection of application programs that perform services for the end-users such as the production of reports. Each program defines and manages its own data. Traditionally, data was organized in file formats. Disadvantage Separation and isolation of data Duplication of data and inconsistency Data dependence Incompatible file formats Fixed queries/proliferation of application programs Difficulty in accessing data Integrity problems Atomicity problems Concurrent-access anomalies Security problems 10
What is table? The data in DBMS is stored in database objects called tables . The table is a collection of related data entries and it consists of columns and rows What is field ? Every table is broken up into smaller entities called fields. The fields in the CUSTOMERS table consist of ID, NAME, AGE, ADDRESS and SALARY. A field is a column in a table that is designed to maintain specific information about every record in the table. 11
What is record or row? A record, also called a row of data, is each individual entry that exists in a table. A record is a horizontal entity in a table. What is column? A column is a vertical entity in a table that contains all information associated with a specific field in a table. For example, a column in the CUSTOMERS table is ADDRESS, which represents location description and would consist of the following 12
Database Users A typical DBMS has users with different rights and permissions who use it for different purposes. Some users retrieve data and some back it up. The users of a DBMS can be broadly categorized as follows: Administrators Designers and End Users Administrators − Administrators maintain the DBMS and are responsible for administrating the database. Responsible to look after its usage and by whom it should be used. Can create access profiles for users and apply limitations to maintain isolation and force security. Look after DBMS resources like system license, required tools, and other software and hardware related maintenance. 13
Designers − are the group of people who actually work on the designing part of the database. Keep a close watch on what data should be kept and in what format. Identify and design the whole set of entities, relations, constraints, and views. End Users − End users are those who actually reap the benefits of having a DBMS. End users can range from simple viewers who pay attention to the logs or market rates to sophisticated users such as business analysts . Categories of End-users Casual : access database occasionally when needed . Naïve or Parametric: they make up a large section of the end-user population. They use previously well-defined functions in the form of “canned transactions” against the database. Examples are bank-tellers or reservation clerks who do this activity for an entire shift of operations. 14
Sophisticated: These include business analysts, scientists, engineers, others thoroughly familiar with the system capabilities. Many use tools in the form of software packages that work closely with the stored database. Stand-alone: Mostly maintain personal databases using ready-to-use packaged applications. An example is a tax program user that creates its own internal database. Another example is maintaining an address book. 15
Historical Development of Database Technology Early Database Applications: The Hierarchical and Network Models were introduced in mid 1960s and dominated during the seventies. Relational Model based Systems: Relational model was originally introduced in 1970, was heavily researched and experimented with in IBM Research and several universities. Relational DBMS Products emerged in the 1980s. Object-Oriented Applications and the Need for More Complex Databases Object-Oriented Database Management Systems (OODBMSs) were introduced in late 1980s and early 1990s . U sed to cater the need of complex data processing in CAD. 16
Many relational DBMSs have incorporated object database concepts, leading to a new category called object-relationa l DBMSs (ORDBMSs) Extended relational systems add further capabilities (e.g. for multimedia data, XML, and other data types). Data on the Web and E-commerce Applications: Web contains data in HTML ( Hypertext markup language ) with links among pages. This has given rise to a new set of applications and E-commerce is using new standards like XML (extended Markup Language). Script programming languages such as PHP and JavaScript allow generation of dynamic Web pages that are partially generated from a database Also allow database updates through Web pages 17
Applications Traditional Applications: Numeric and Textual Databases More Recent Applications: Multimedia Databases Geographic Information Systems (GIS) Data Warehouses Real-time and Active Databases Many other applications BANKING: For customer ,information, account, loans, and transaction. Airline: For reservation and schedule information. Airline were among the first to use database in a geographically distributed manner terminals situated around the world accessed the central database system through phone lines and other data network. Universities: For students information, course registration, and grades. 18
Credits card transaction: For purchases on credits cards and generation of monthly statements. Sales: For customer, product, and purchase information. Human resources: For information about employees, salaries, payroll taxes and benefits, and for generation of paychecks. When not to use a DBMS Main inhibitors (costs) of using a DBMS: High initial investment and possible need for additional hardware. Overhead for providing generality, security, concurrency control, recovery, and integrity functions. 19
When a DBMS may be unnecessary: If the database and applications are simple, well defined, and not expected to change. If there are stringent real-time requirements that may not be met because of DBMS overhead. If access to data by multiple users is not required. When not to use a DBMS When no DBMS may suffice: If the database system is not able to handle the complexity of data because of modeling limitations If the database users need special operations not supported by the DBMS. 20