INTRODUCTION TO DBMS

Contents
 Definition of data, information, knowledge  Definition of database, DBMS

 Database vs. File systems.
 Three-schema architecture  Data independence

 Database users
 Database Administrator(DBA)

Definition of Data & information  What is data? Known facts that can be recorded and have some implicit meaning  What is information? Meaningful data .

 What is the difference between knowledge and information? .Definition of knowledge  What is knowledge?  knowledge indicates the information which not only utilize in current decision making but also store for later use.

Definition of Database. . DBMS  What is database?  organized collection of related information presented to serve a specific purpose  What is database management system (DBMS)?  a collection of interrelated data (database) and  a set of programs to access those data and maintain database concurrently and efficiently.

Purpose of Database Systems Limitations of File Systems  In the early days. the number of files and application programs increases  increasing complexity of database application management . database applications were built on top of file systems  Data is stored in separate files  Data is manipulated by a set of application programs  As time goes by.

writing the appropriate information to retrieve the appropriate data is difficult  Integrity problems  Data values stored in the database must satisfy certain types of consistency constraints  Integrity constraints (e.g.Purpose of Database Systems Limitations of File Systems  Drawbacks of using file systems to store data  Data redundancy and inconsistency  Redundancy: duplication of information in different files  Inconsistency: the various copies of the same data may be different  Difficulty in accessing data  Need to write a new program to carry out each new task  Data isolation — multiple files and formats  Because data are scattered in various files. and files may be in different formats. account balance > 0) become part of program code  Those constraints are forced by the database system developer  Hard to add new constraints or change existing ones .

g. transfer of funds from one account to another should either complete or not happen at all  Concurrent access by multiple users  Concurrent accessed needed for performance  Uncontrolled concurrent accesses can lead to inconsistencies  E.Purpose of Database Systems Limitations of File Systems  Atomicity of updates  Failures may leave database in an inconsistent state with partial updates carried out  E.g. two people reading a balance and updating it at the same time  Security problems  Not every user of the database should be able to access all the data Database systems offer solutions to all previous problems .

.  Schema: The overall design of the data base is schema.Schema & Instance  Instance: The collection of information stored in the database in a particular moment is called instance of database.  Difference between them: Instance of a database changes over time as information is inserted and deleted. Schema changes infrequently.

View of Data in a Database The Need for Data Abstraction  A major purpose of a database system is to provide users with an abstract view of data  The system hides certain details of how the data are stored and maintained  The objective of data abstraction is to simplify the interaction with the database from the user perspective  Most of database users are not computer trained  However. more complexity from the design perspective  Complex data structure to represent data .

View of Data in a Database The levels of Data Abstraction Physical Level: describes how the data is actually stored  Describes low level data What to store structures. bytes) How to store  The compiler hides this level of details from programmers. .g.  Block of consecutive storage locations (e.

end. . city: integer.View of Data in a Database The levels of Data Abstraction Logical Level: describes what data are stored in the database and what relationships exist between data  type customer = record name: string. street: string. each record is described by a type definition  Programmers work at this level of abstraction  Similar to database administrator  .

salary) for security purposes.  Views can also hide information (e.  application programs hide details of data types.g.  computer users only see a set of applications without details on data types  Similar to users of database .View of Data in a Database The levels of Data Abstraction View Level: describes only part of the entire database.

Data Abstraction Each layer need not know how other layers organize data. .

 Programs refer to an external schema.Mapping  Mappings among schema levels are needed to transform requests and data. and are mapped by the DBMS to the internal schema for execution. Request for a data External level Request against a conceptual schema Conceptual level Request against internal schema Internal level .

Data Independence • Logical Data Independence: The capacity to change the conceptual schema without having to change the external schemas and their application programs. • Physical Data Independence: The capacity to change the internal schema without having to change the conceptual schema. .

Database Users Users are differentiated by the way they expect to interact with the system :  those who actually use and control the content (called “Actors on the Scene”) and those who enable the database to be developed and the DBMS software to be designed and implemented (called “Workers Behind the Scene”).  .

Database Users  Database administrators: responsible for authorizing access to the database. the constraints. and functions or transactions against the database. reports and some of them actually update the database content. the structure. and hardware resources.  Application Programmers: System analysts determine the requirements of end-users and programmers implement programs.  End-users: they use the data for queries.  Database Designers: responsible to define the content. debug and document. They must communicate with the end-users and understand their needs. . test. acquiring software. for coordinating and monitoring its use. controlling its use and monitoring efficiency of operations.

people accessing a database over the web  The typical user interface for naïve user is a form interface where the user just fill in the appropriate fields of the form .g.Database End-Users 1. Bank cashier. Naïve or Parametric : invoke one of the permanent application programs that have been written previously  E. Casual : access database occasionally when needed 2.

scientists.Database End-Users 3. . Many use tools in the form of software packages that work closely with the stored database. engineers. Sophisticated : these include business analysts. Stand-alone : mostly maintain personal databases using ready-touse packaged applications. others thoroughly familiar with the system capabilities. An example is a tax program user that creates his or her own internal database. 4.

Database Administrators  The Database Administrator (DBA) Coordinates all the activities of the database system  The DBA has a good understanding of the enterprise’s information resources and needs  The DBA has central control over the system .

Database Administrators  Database administrator's duties include:  Schema definition. Ensuring free space for the DB. etc …) . specifying integrity constraints  Storage structure and access method definition  Schema and physical organization modification  Granting user authority to access the database  Acting as liaison with users  Monitoring performance and responding to changes in requirements  Routine maintenance (DB backup.

to ensure the consistency of the database.g. power failures and operating system crashes) and transaction failures.Transaction management  A transaction is a collection of operations that performs a single logical function in a database application  Transaction-management component ensures that the database remains in a consistent (correct) state despite system failures (e.. .  Concurrency-control manager controls the interaction among the concurrent transactions.

Storage Management  Storage manager is a program module that provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system.  The storage manager is responsible to the following tasks:  interaction with the file manager  efficient storing. retrieving and updating of data .

etc. usage standards. design decisions. user information. • Active data dictionary is accessed by DBMS software and users/DBA. application program descriptions.Data dictionary • Used to store schema descriptions and other information such as data about data (metadata). . • Passive data dictionary is accessed by users/DBA only.

.Data dictionary A data dictionary should help a user in:  Communication with the users  Controlling data element in a simple and effective manner  Determining the impact of changes to data element on the total database  Centralizing the control of a data element.

inventory. salaries. purchases Manufacturing: production. orders. student information Sales: customers. tax deductions Telecommunications: keeping record of calls made. schedules Universities: registration. supply chain Human resources: employee records. generating monthly bills .Database System Applications        Banking: all transactions Airlines: reservations. grades. products.

Architecture catalog Databases are self-describing: catalog describes the structure of the data stored in the DB .

g.Client-server Architecture Two-tier architecture: E. web-based applications. and applications built using “middleware” .g. client programs using ODBC/JDBC to communicate with a database Three-tier architecture: E.

Sign up to vote on this title
UsefulNot useful