UNIT 5 CONCURRENCY CONTROL Contents – UNIT 1 Introduction to Databases Unit 1 Topic 1 Introduction of DBMS, Characteristic of DBMS, Data Models, Database languages, Database Administrator, Database Users
Unit 1 Topic 2 Three Schema architecture of DBMS, Data Models,
Hierarchical, Network ,Data independence and database language, DDL, DML, Data Modeling using Entity Relationship Model Unit 1 Topic 3 Strong Entity, Weak entity, Specialization and generalization, converting ER Model to relational tables Introduction To Databases • Introduction of DBMS • Characteristic of DBMS • Data Models • Database languages • Database Administrator • Database Users Database Users • Variety of people are associated with the creation and use of databases. • There are mainly two categories of database users – Actors on the Scene – Workers Behind the Scene Actors on the Scene • Those who actually use and control the database content, and those who design, develop and maintain database (called “Actors on the Scene”) • Actors on the Scene – Database administrators (DBA) – Database designers – System Analyst – Application Programmers – End users • Casual end users • Naive or parametric end users • Sophisticated end users • Standalone users Workers Behind the Scene • Those who design and develop the DBMS software and related tools, and the computer systems operators (called “Workers Behind the Scene”). • Workers behind the Scene – DBMS system designers and implementers – Tool developers – Operators and maintenance personnel Actors on the scene • Database Designers – Responsible to define the content, the structure, the constraints, and functions or transactions against the database. – They must communicate with the end-users and understand their needs. • System Analysts – Determine the requirements of end users; especially naive and parametric end users – Develop specifications for canned transactions that meet these requirements
NOTE: Constantly querying and updating the database, using
standard types of queries and updates called canned transactions that have been carefully programmed and tested. Examples: Bank teller, check account balance post withdrawal/deposit, reservation clerks etc. Actors on the scene • Application Programmers – Application programmers implement these specifications as programs; – These users write application programs to interact with the database. – Such programs access the database by issuing the appropriate request, typically a SQL statement to DBMS. – then they test, debug, document, and maintain these canned transactions – Such analysts and programmers—commonly referred to as software developers or software engineers Actors on the scene • Application Programmers – They are the developers who interact with the database by means of DML queries. – These DML queries are written in the application programs like C, C++, JAVA, Pascal etc. – These queries are converted into object code to communicate with the database. – For example, writing a C program to generate the report of employees who are working in particular department will involve a query to fetch the data from database. It will include a embedded SQL query in the C Program. Actors on the scene • End Users – People whose jobs require access to the database – They use the data for queries, reports and some of them update the database content. – End-users can be categorized into • Casual end users • Naive or parametric end users • Sophisticated end users • Standalone or On-line end users Categories of End-users: Casual • Access database occasionally when needed for querying, updating, and generating reports • May need different information each time. • Use database query language to specify their request • For example: High level managers who access the data weekly or biweekly. Categories of End-users: Naive or Parametric • These users have no clue on database management systems and do not know how to access database or how to make requests from database directly. • Users typically access the database through given GUIs that has readable menu items for opening windows forms or web pages to interact with data. • For example: Bank executive opens the interface given for entering customer information, check account balances, post withdrawals/ deposits. • Student is registering on a website for an online examination, creates data in the database by entering and submitting his name, address and exam details. • Reservation clerks for airlines, hotels, etc., check availability of seats/rooms and make reservations. Categories of End-users: Stand-alone • These users will have stand-alone database for their personal use. • These kinds of database will have readymade database packages which will have menus and graphical interfaces. • For example: Library management software that store variety of library data such as issue and return of books for fine purposes. Categories of End-users: Sophisticated • Scientists, engineers, business analysts who thoroughly study SQL and DBMS so as to implement their applications to meet their complex requirements. • They are database developers, who write SQL queries to select/insert/delete/update data. • They do not use any application or programs to request the database rather directly interact with the database by means of query language like SQL. • In short, this category includes designers and developers of DBMS and SQL. • These may be CADD systems, knowledge-based and expert systems, complex data systems (audio/video), etc. Workers Behind the Scene • Those who design and develop the DBMS software and related tools, and the computer systems operators (called “Workers Behind the Scene”). • Typically do not use the database for their own purposes – DBMS system designers and implementers – Tool developers – Operators and maintenance personnel Workers behind the Scene: DBMS system designers and implementers • Design and implement the DBMS modules (for implementing the catalog, query language, interface processors, data access, concurrency control, recovery, and security) and interfaces as a software package Workers behind the Scene • Tool developers • Tools are optional packages that are often purchased separately • Include packages for database design, performance monitoring, natural language or graphical interfaces, prototyping, simulation, and test data generation.
• Operators and maintenance personnel
• Responsible for the day-to-day operation of the system • System administration personnel who are responsible for the actual running and maintenance of the hardware and software environment for the database system. Database Administrator • Data Base Administrator (DBA) is a person or group in charge for implementing DBMS in an organization. • Database Administrator's job requires a high degree of technical expertise and the ability to understand and interpret management requirements at a senior level. • In practice the DBA may consist of team of people rather than just one person Functions of Data Base Administrator • Coordinates all the activities of the database system – has a good understanding of the enterprise’s information resources and needs. • Main responsibilities of DBA: – Makes decisions concerning the content of the database – Plans storage structures and access strategies – Provides support to users – Defines security and integrity checks – Interprets backup and recovery strategies – Monitoring performance and responding to changes in requirements Main responsibilities of DBA • Makes decisions concerning the content of the database • It is the DBA's job to decide exactly what information is to be held in the database-in other words, to identify the entities of interest to the enterprise and to identify information to be recorded about those entity . Main responsibilities of DBA • Plans storage structures and access strategies • The DBA must also decide how the data is to be represented in the database, and must specify the representation by writing the storage structure definition (using the internal data definition language). • In addition, the associated mapping between the storage structure definition and the conceptual schema must also be specified. Main responsibilities of DBA • Provides support to users • It is the responsibility of the DBA to provide support to the users, to ensure that the data they require is available, and to write the necessary external schemas (using the appropriate external data definition language). Main responsibilities of DBA • Defines security and integrity checks • DBA is responsible for providing the authorization and authentication checks such that no malicious users can access database and it must remain protected. • DBA must also ensure the integrity of the database. Main responsibilities of DBA • Interprets backup and recovery strategies • In the event of damage to any portion of the database- caused by human error, say, or a failure in the hardware or supporting operating system-it is essential to be able to repair the data concerned with minimum delay and with as little effect as possible on the rest of the system. • The DBA must define and implement an appropriate recovery strategy (Log-based, automatic recovery etc) to recover he database from all types of failures. Main responsibilities of DBA • Monitoring performance and responding to changes in requirements • The DBA is responsible for organizing the system as to get the performance that is "best for the enterprise," and • for making the appropriate adjustments as requirements change. • Measuring the performance of a given database in real time in order to determine problems and other factors that may cause problems in the future