Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dbms ii mca-ch1-ch2-intro-datamodel-2013


  • Login to see the comments

Dbms ii mca-ch1-ch2-intro-datamodel-2013

  1. 1. Data Base Management System [DBMS] Chapter 1 Unit I Aruna (DSCASC) 1
  2. 2. Introduction A Database Management System (DBMS) is a collection of programs or software package that enables users to create and maintain a database. Defining a database involves specifying the data types, structures, and constraints of the data to be stored in the database. * * Aruna (DSCASC) 2
  3. 3. File Management Systems • Uncontrolled Redundancy • Inconsistent data • Limited data sharing • Difficulty in accessing data • Security problems • Huge data storage problem • Excessive program maintenance • Excessive data maintenance Aruna (DSCASC) Drawbacks 3
  4. 4. File Processing Systems Aruna (DSCASC) 4 Duplicate Data
  5. 5. – Data redundancy and inconsistency • Redundancy: Duplication of information in different files. (the same data are stored in many different locations is known as Data Redundancy.) • Inconsistency: Same data with different formats (this happen because the update are not properly done at all places.) – Integrity problems • Data integrity is the assurance that data is correct and consistent--that the data correctly reflects the "real" world. • Integrity constraints (e.g. account balance > 0) • Hard to add new constraints or change existing ones. – Atomicity of updates • Failures may leave database in an inconsistent state with partial updates carried out. Example: Transfer of funds from one account to another should either complete or not happen at all. Disadvantages of File Processing Aruna (DSCASC) 5
  6. 6. – Difficulty in accessing data • Need to write a new program to carry out each new task. – Concurrent access by multiple users • Uncontrolled concurrent accesses can lead to inconsistencies. • Example: Two people use the data and updating it at the same time. – Security problems • Hard to provide user access to some, but not all, data. Disadvantages of File Processing (Cont.,) Aruna (DSCASC) 6
  7. 7. • Data: Meaningful facts, text, graphics, images, sound, video segments. • Database: An organized collection of logically related data. • Information: Data processed to be useful in decision making. • Metadata: Data that describes data. [The database definition or descriptive information is also stored by the DBMS in the form of a database catalog or dictionary; it is called meta-data] • Database Management System (DBMS): A software package/ system to facilitate the creation and maintenance of a computerized database. (OR) a collection of programs and tools to create & maintain a database. • Database System: The DBMS software together with the data itself. Sometimes, the applications are also included. Definition DBMS Aruna (DSCASC) 7
  8. 8. • Define a database: In terms of data types, structures and constraints. Construct or Load the Database on a secondary storage medium. • Manipulating the database : Query, generating reports, insertions, deletions and modifications to its content. • Concurrent Processing and Sharing by a set of users and programs – yet, keeping all data valid and consistent. • Protection or Security measures to prevent unauthorized access. Typical DBMS Functionality Aruna (DSCASC) 8
  9. 9. Database system Environment Users/Programmers Application Programs/Queries Software to Process Queries / Programs Software to Access Stored Data DBMS Software Database System Stored Database Definition (Metadata) Stored Database Aruna (DSCASC) 9
  10. 10. DBMS manages data resources like an operating system manages hardware resources DBMSDBMS Database containing centralized shared data Application #1 Application #2 Application #3 Database Management System Aruna (DSCASC) 10
  11. 11. Database Management System Approach • Controlled Redundancy – consistency of data & integrity constraints • Integration of data – self-contained & represents semantics of application • Data and operation sharing – multiple interfaces • Services & Controls – security & privacy controls – backup & recovery – enforcement of standards • Flexibility – data independence – data accessibility – reduced program maintenance • Ease of application development Aruna (DSCASC) 11
  12. 12. What is a Database Management System? A collection of programs and tools to create and maintain a Database. • Defining: Specifying types of data • Constructing: Storing • Manipulating: Querying, Updating, Reporting Aruna (DSCASC) 12
  13. 13. Example of Database UNIVERSITY DATABASE • Information about students, courses, and grades in a university are gathered. • To construct the UNIVERSITY database, we store data to represent each student, course, section, grade report, and prerequisite as a record in the appropriate file. • To define the database, we must specify the structure (metadata) of the records of each file by specifying the different types of data elements to be stored in each record. Aruna (DSCASC) 13
  14. 14. Description: Properties or characteristics of the data, including data types, field sizes, allowable values, and documentation Metadata Name Type Length Min Max Description Name Alphanumeric 30 Student Name Student Number Integer 1 1 9 Student No Class Alphanumeric 15 Class Major Alphanumeric 15 Major STUDENT Aruna (DSCASC) 14
  15. 15. A database that stores student and course information Name Student_number Class Major Smith 17 1 CS Brown 8 2 CS 1) STUDENT Course_name Course_number Credit_hours Department Intro to Computer Science CS1310 4 CS Data Structures CS3320 4 CS Discrete Mathematics MATH2410 3 MATH Database CS3380 3 CS 2) COURSE Course_number Prerequisite_number CS3380 CS3320 CS3380 MATH2410 CS3320 CS1310 3) PREREQUISITE 15
  16. 16. A database that stores student and course information (Cont---) Section_identifier Course_number Semester Year Instructor 85 MATH2410 Fall 07 King 92 CS1310 Fall 07 Anderson 102 CS3320 Spring 08 Knuth 112 MATH2410 Fall 08 Chang 119 CS1310 Fall 08 Anderson 135 CS3380 Fall 08 Stone 4) SECTION 5) GRADE_REPORT Student_number Section_identifier Grade 17 112 B 17 119 C 8 85 A 8 92 A 8 102 B 8 135 A 16
  17. 17. Applications of Database System • Banking • Airlines • University • Railways • Finance • Sales • Telecommunication • Pay roll system • Manufacturing Aruna (DSCASC) 17
  18. 18. Characteristics of the Database Approach • In file processing, each user defines and implements the files needed for a specific software application as part of programming the application. For example: • One department, the grade reporting office, may keep files on students and their grades. • A second department, the accounting office, may keep track of students fees and their payments. • Third department, library, keeps track of students details and borrowing of books. Aruna (DSCASC) 18
  19. 19. • All these departments are interested in data about students, each department maintains separate files— and programs to manipulate these files. • In file processing, redundancy of data and storing data results in wasted storage space. • In the database approach, a single repository maintains data that is defined once and then accessed by various users. Characteristics of the Database Approach Aruna (DSCASC) 19
  20. 20. Characteristics of the Database Approach – Self-describing nature of a database system. – Insulation between programs and data, and data abstraction. – Support of multiple views of the data. – Sharing of data and multiuser transaction processing. Aruna (DSCASC) 20
  21. 21. 1) Self-describing nature of a database system: * The database system contains not only the database itself but also a complete definition or description of the database structure and constraints. * A DBMS catalog stores the description or definition of the database. ( i.e., it contains information such as the structure of each file, the type and storage format of each data item, and various constraints on the data) * The description stored in the catalog is called meta-data. * The Software or programs must work equally well with any number of database applications as long as the database definition is stored in the catalog. * It can access the database by extracting the DB definitions from the catalog and then using these definitions. Characteristics of the Database Approach Aruna (DSCASC) 21
  22. 22. 2) Insulation between programs and data: • In file processing, the structure of data files is embedded in the application programs, so any changes to the structure of a file may require changing all programs that access that file. • In DBMS access programs do not require such changes in most cases. • The structure of data files is stored in the DBMS catalog separately from the access programs. • We call this property program-data independence. • The characteristic that allows program-data independence and program-operation independence is called data abstraction. (OR A data model is used to hide storage details and present the users with a conceptual view of the database.) Characteristics of the Database Approach Aruna (DSCASC) 22
  23. 23. 3) Support of multiple views of the data: Each user may see a different view of the database, which describes only the data of interest to that user. 4) Sharing of data and multi-user transaction processing : Allowing a set of concurrent users to retrieve and to update the database. Concurrency control within the DBMS guarantees that each transaction is correctly executed or completely aborted. Example: Airlines Reservation • These types of applications are generally called online transaction processing (OLTP) applications. Characteristics of the Database Approach Aruna (DSCASC) 23
  24. 24. Users may be divided into – “Actors on the scene” - Those who actually use and control the content. “Workers behind the scene” - Those who enable the database to be developed and the DBMS software to be designed and implemented. Database Users Aruna (DSCASC) 24
  25. 25. – Database administrators (DBA): Responsible for authorizing access to the database, for co-coordinating and monitoring its use, acquiring software, and hardware resources, controlling its use and monitoring efficiency of operations. Functions of DBA: » Defining the conceptual schema. » Defining the physical schema. » Defining the security and Integrity constraints. » Defining Backup and Recovery procedures. » Storage structures and access methods definition. » Granting of authorization for data access. Actors on the scene Aruna (DSCASC) 25
  26. 26. – 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. – End-users: They use the data for queries, reports and some of them actually update the database content. Actors on the scene Aruna (DSCASC) 26
  27. 27. Different types of end users: 1) Casual: Access database occasionally when needed 2) 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” (using Queries and Updates) against the database. OR Users who interact with the system by using the application programs that have previously written, they are unsophisticated users. Examples A bank-tellers or reservation clerks who do this activity for an entire shift of operations. Categories of End-users Aruna (DSCASC) 27
  28. 28. 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. - This users interact with the system without writing programs. Instead they form their database query. Stand-alone: Mostly maintain personal databases using ready-to-use packaged applications. An example is a tax program user that creates his or her own internal database Categories of End-users Aruna (DSCASC) 28
  29. 29. • DBMS System Designers & Implementers: Persons who design and implement the DBMS modules & interface as a software package. • Tool Developers: Person who design and implement tools . They are optional packages. Packages for: * DB design. * Performance tuning / monitoring. * Graphical Interfaces. * Simulation. *Test data generation. • Operators and Maintenance Personnel: The System Administrator personnel who are responsible for the actual running and maintenance of the hardware and software environment for the database system. Workers behind the Scene Aruna (DSCASC) 29
  30. 30. Aruna (DSCASC) 30
  31. 31. • Program-Data Independence – Metadata or definition is stored in the Data Dictionary or System catalog , so applications don’t need to worry about data formats. – Data queries/updates managed by DBMS so programs don’t need to process data access routines. • Minimal Data Redundancy – Leads to increased data integrity/consistency. • Improved Data Sharing – Different users get different views of the data. • Enforcement of Standards – All data access is done in the same way. Advantages of Database Approach Aruna (DSCASC) 31
  32. 32. • Improved Data Quality – Constraints, data validation rules. • Better Data Accessibility/ Responsiveness – Use of standard data query language (SQL) • Security, Backup/Recovery, Concurrency – Restricting unauthorized access – Disaster recovery is easier The recovery system should see that the database is restored back to its initial state (ie., The stage before starting the execution). The system must provide automatic backup facilities in order to avoid power failure problem. Advantages of Database Approach (Cont.,) Aruna (DSCASC) 32
  33. 33. Historical Development of Database Technology • Early Database Applications: – The Hierarchical and Network Models were introduced in mid 1960s and dominated during the seventies. – A bulk of the worldwide database processing still occurs using these models, particularly, the hierarchical model. • Relational Model based Systems: – Relational model was originally introduced in 1970, was heavily researched and experimented within IBM Research and several universities. – Relational DBMS Products emerged in the early 1980s. Aruna (DSCASC) 33
  34. 34. Historical Development of Database Technology (cont.,) • Object-oriented and emerging applications: – Object-Oriented Database Management Systems (OODBMSs) were introduced in late 1980s and early 1990s to cater to the need of complex data processing in CAD and other applications. • Their use has not taken off much. – Many relational DBMSs have incorporated object database concepts, leading to a new category called object-relational DBMSs (ORDBMSs) – Extended relational systems add further capabilities (e.g. for multimedia data, XML, and other data types) Aruna (DSCASC) 34
  35. 35. Historical Development of Database Technology (cont.,) • 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. Aruna (DSCASC) 35
  36. 36. 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. • 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. Aruna (DSCASC) 38
  37. 37. 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. Aruna (DSCASC) 39
  38. 38. Database System Concepts and Architecture Data Models Chapter 2 Aruna (DSCASC) 40
  39. 39. Data Models, Schemas, and Instances • A data model—a collection of concepts that can be used to describe the structure of a database. OR Data Model is important to distinguish between the description of the database and the data itself. • Structure of a database means the data types, relationships, and constraints that apply to the data. • A data models also include a set of basic operations for specifying retrievals and updates on the database. Aruna (DSCASC) 41
  40. 40. 43 – Conceptual data models (High-level, semantic) – Physical data models (Low-level, internal) – Implementation data models (Representational) Categories of data models Aruna (DSCASC)
  41. 41. Aruna (DSCASC) 44 1) Conceptual data models (high-level, semantic): • Provide concepts that are close to the way many users perceive (recognize) data. (Also called Entity-Relational or object-based data models.) • Conceptual data models use concepts such as entities, attributes, and relationships. • An entity represents a real world object or concept such as employee or a project. • An attribute represents some property. • A relationship among two or more entities . Categories of data models
  42. 42. 2) Physical data models (low-level, internal): • Physical data models describes how data is stored in the computer by representing information such as record formats, record orderings and access path. • An access path is a structure that makes the search for particular database records efficient. • Meant for computer specialists not for end users. • An access path is a structure that makes the search for particular database records. Aruna (DSCASC) 45 Categories of data models (cont.,)
  43. 43. 3) Implementation (representational) data models: • Provide concepts that fall between the above two, balancing user views with some computer storage details. • Network and hierarchical models are used . • Representational data model represents data by using record structures and hence are sometimes called record based data models. 46 Categories of data models Aruna (DSCASC)
  44. 44. 47 History of Data Models • Network Model • Hierarchical Model • Entity – Relationship Model • Relational Model • Object-Oriented Model • Object-Relational Model Aruna (DSCASC)
  45. 45. • Entity –Relationship Model The E-R data model is based on real world that consists of a collection of basic objects called entities and relationship among the objects. – Entities are specific objects or things in the world that are represented in the database. Example: specific person, company, student, event. – Attributes are properties used to describe an entity. Example: an EMPLOYEE entity may have a Name, SSN, Address, Designation, Salary. 48 Data Models Aruna (DSCASC)
  46. 46. 49 Data Models Entity – Relationship Model Aruna (DSCASC)
  47. 47. 50 Data Models 1) Relational Model: - It represents a database as a collection of tables (Where each table can be stored as a separate file, each of which has a number of columns with unique names). - A table is a collection of rows and columns. Each column has a unique name. - Each row is called a tuple, a column header as attributes, the table as relation. Example: NAME LOCATION CITY PHONE NO. ACCOUNT No. ANAND KORAMANGALA BANGALORE 534278 401 VIKRAM AUDOGODI BANGALORE 546678 402 ACCOUNT NO. BALANCE 401 10000 402 5000
  48. 48. Advantage & Disadvantage of Relational model Advantages: • Simplicity: A relational data model is simple than hierarchical and network model. • Structure independence: This model does not depend on the navigational data access system. Disadvantages: Hardware overheads: This model needs more powerful computing hardware and data storage devices to perform RDBMS assigned task Aruna (DSCASC) 51
  49. 49. 52 Data Models 2) Network Model: Data is represented as a collection of records and relationship between data is represented by links which can be viewed as pointers. The record in the database are organized as collection of arbitrary graphs. Example: Publisher Book Author Book Branch Branch Network database structure Network database modelAruna (DSCASC)
  50. 50. Advantages • Simplicity: Similar to hierarchical data model, network model is also simple and easy to design. • Superior data access: The data access and flexibility is superior to that is found in the hierarchical data model. • Database integrity: Network model enforces database integrity. • Data independence: This model allows sufficient data independence. Disadvantages • System complexity: Navigation the data in this model is complex. • Not a user friendly: Highly skill oriented because use of pointers leads to complex structure, which makes mapping of related data very difficult. 53 Advantage & Disadvantage of Network model Aruna (DSCASC)
  51. 51. 54 Data Models 3) Hierarchical Data Model: It is different from network model in the way that records are organized into a tree like structure. For eg. An organization might store information about an employee, such as name, dep, sal. The organization might also store information about employee’s family. The employee and the family data forms hierarchy. Example: DEPT F1 F3 F4F2 SD1 SD2 SD3 SD4 F – Faculty S - Student Aruna (DSCASC)
  52. 52. Advantages • Simplicity: The relationship between various layers is logically simple and design of a hierarchical database is simple . • Data sharing • Data Security • Data Integrity: Relationship between parent and child • Data Independence Disadvantages • Implementation limitation: Many of the common relationships do not confirm to the one-to-many relationship format. • Inflexibility: The change in the new relations or segments often yield very complex system management tasks. 55 Advantage & Disadvantage of Hierarchical model Aruna (DSCASC)
  53. 53. 56 Data Models 4) Object Oriented Data Model: It defines the database in terms of objects, their properties and their operations. Objects with some structure and behavior. • Support the basic elements of the object approach used in object oriented programming languages like inheritance, use of methods, and encapsulation. • Some object-oriented databases are designed to work well with object oriented programming languages such as Java, C++, C# etc. • OODBMS use exactly the same model as object-oriented programming languages. Methods Class Operations of each class in terms of predefined procedure. Aruna (DSCASC)
  54. 54. Example: class employee { string name; string address; int salary; int annual salary(); }; Advantages: • Improved data access. • Improved productivity: Features like inheritance, polymorphism that allow the users to compose objects and provide solutions without writing object specific code. Disadvantage: • Difficult to maintain. • Not suited for all applications. • Hardware overheads. 57 Aruna (DSCASC)
  55. 55. 58 Data Models 5) Object Relation Data Model: This model combines features of relational and object oriented model. This model provides the rich types system of object-oriented databases, combines with relations as the basis for storage of data. Object-Relational database systems provide a smooth migration path for users of relational databases who wish to use object oriented features. For egFor eg: The data type of "location" is "geographic point" and "picture" is "image".: The data type of "location" is "geographic point" and "picture" is "image". Aruna (DSCASC)
  56. 56. 59 Schema: • In any data model, it is important to distinguish between the description of the database and the database itself. The description of a database is called Database Schema. (or) Logical structure of the database. * A schema is an outline or a plan that describes the records and relationships existing in the view. * A displayed schema is called a schema diagram. * Systematic plan for attaining some goal. * Schema is specified during the DB design and not expected to change frequently. * The data in the DB at a particular moment in time is called a DB state or snapshot. It is also called the current set of occurrences or instances in the DB. Schemas, Instances & Database States
  57. 57. Aruna (DSCASC) 60 Example: The database consists of information about a set of customers and accounts and the relationship between them. • Schema diagram - Diagrammatic representation of the schema is known as schema diagram Schemas, Instances & Database States
  59. 59. Aruna (DSCASC) 63 Instance: The actual content (data) of the database at a particular point of time is called instance or database state. • In a given database state each schema construct has its own current set of instance. • Every time we insert or delete a record or change the value of a data we change one state of the database into another state. • Three types of states Empty state, Initial State, Current State. Empty State - When we define a new database. Initial State – When the database is first loaded with initial data. Current State - When an update operation is applied to the database. Instances and Schemas
  60. 60. Aruna (DSCASC) 64 Instance of Students Relation (Example) Students ( sid: string, name: string, login: string, age: integer, gpa: real ) Instance: sid name login age gpa 53666 Jones jones@cs 18 3.4 53688 Smith smith@ee 18 3.2 53650 Smith smith@math19 3.8
  61. 61. Aruna (DSCASC) 65 The goal of the three-schema architecture is to separate the user applications from the physical database. Defines DBMS schemas at three levels: • Internal schema at the internal level to describe physical storage structures and access paths. Typically uses a physical data model. (Physical schema describes the files and indexes used.) • Conceptual schema at the conceptual level to describe the structure and constraints for the whole database for a community of users. Uses a conceptual or an implementation data model. (Conceptual schema defines logical structure.) • External schema at the external level or (View Level) to describe the various user views. Usually uses the same data model as the conceptual level. (External schema describe how users see the data.) Three-Schema Architecture
  62. 62. 66 Three-Schema Architecture External Level (describe the various user views) Conceptual Level (describe the structure and constraints for the whole database) Internal Level (physical storage structures and access paths) END USERS External View External View Conceptual Schema Internal Schema Stored Database . . .
  63. 63. Aruna (DSCASC) 67 Three-Schema Architecture Example: Customer Name Customer Address Customer Name Customer Address Customer SSN Customer Name: String Customer Address: String Customer SSN: Number (PK) Name: String length 25 Address: String length 40 SSN: Number length 10 Conceptual View Internal View External View Logical Record 1 Logical Record n Customer SSN --------------
  64. 64. Aruna (DSCASC) 68 Data Independence: It is the capacity to change the schema at one level of database system without having to change the schema at the next higher level. Two types of Data Independence: » Logical Data Independence » Physical Data Independence Data Independence
  65. 65. Types of Data Independence • Logical Data Independence : The ability to modify or change the conceptual (logical) schema without changing the external scheme or application programs to be rewritten. * Modifications are necessary whenever the logical structure of the database is altered. * The change in conceptual database may be expanding the database by adding a new data field or reducing the database by deleting fields. Aruna (DSCASC) 69
  66. 66. Aruna (DSCASC) 70 • Physical Data Independence: The ability to modify or change the internal (physical) schema without changing the Conceptual (logical) schema. * Modifications are necessary in this level to improve the performance. * Changes to the internal schema is needed because some physical file had to be reorganized, such as changing the access modes or paths for better retrieval or updates. Types of Data Independence
  67. 67. Aruna (DSCASC) 71 Data independence is accomplished when the schema is changed at some level, the schema at the next higher level remains unchanged. Applications heavily depend on the Conceptual (logical) schema, so logical data independence is difficult to achieve. In general, the interfaces between the various levels and components should be well defined so that changes in some parts do not seriously influence others. Data Independence
  68. 68. Database Languages Once the design of a database is completed and a DBMS is chosen to implement the database, the first step is to specify conceptual and internal schemas for the database and any mappings between the two. • Data Definition Language (DDL): It is used by the DBA and database designers to specify the conceptual schema of a database. In many DBMS, the DDL is also used to define internal and external schemas (views). In some DBMS, separate storage definition language (SDL) and view definition language (VDL) are used to define internal and external schemas. Aruna (DSCASC) 72
  69. 69. • Data Manipulation Language (DML): • It is used to specify database retrievals and updates. • Stand-alone DML commands can be applied directly (query language). • High Level or Non-procedural Languages: e.g., SQL, are set-oriented and specify what data to retrieve than how to retrieve. Also called declarative languages. • Low Level or Procedural Languages: record-at-a-time; they specify how to retrieve data and include constructs such as looping. Aruna (DSCASC) 73 Database Languages
  70. 70. DBMS Interfaces • User-friendly interfaces: • Menu-based, popular for browsing on the web • Forms-based, designed for naïve users • Graphics-based (Point and Click, Drag and Drop etc.) • Natural language: requests in written English • Combinations of the above Aruna (DSCASC) 74
  71. 71. Other DBMS Interfaces • Speech Input and Output • Web Browser as an interface • Parametric interfaces (e.g., bank tellers) using function keys. • Interfaces for the DBA: • Creating accounts, granting authorizations • Setting system parameters • Changing schemas or access path
  72. 72. DBMS Environment The top part of the figure refers to the various users of the database environment and their interfaces. The lower part shows the internals of the DBMS responsible for storage of data and processing of transactions.
  73. 73. DBMS Component Modules • Top part of the figure shows interfaces for the DBA staff: casual users who work with interactive interfaces to formulate queries, application programmers who create programs using some host programming languages. parametric users who do data entry work by supplying parameters to predefined transactions. • The DBA staff works on defining the database and tuning it by making changes to its definition using the DDL and other privileged commands. Aruna (DSCASC) 77
  74. 74. 79 DBMS Environment • Database and the DBMS catalog are usually stored on disk. • DDL Compiler: processes schema definitions specified in the DDL & stores descriptions of the schemas in the catalog. • System Catalog: Includes info such as names, size of files, names and data type of data items, storage details, constraints. • Run time DB processor: handles database accesses at runtime. It receives retrieval or update operations an carries them out on the DB. • Stored data Manager: Controls access to DBMS information that is stored on disk. • Pre-compiler: Extracts DML commands from an application program and sent to DML compiler. • DML Compiler: Generates object code for DB access. • Host lang compiler: Rest of the program (i.e., apart from DML commands).
  75. 75. 80 DBMS Environment • Interactive Query: Queries are passed, analyzed for correctness. • Query compiler: handles high level queries that are entered interactively. Interprets and query by creating DB access code and then subjects to query optimization. • Query optimizer: Concerned rearrangement and possible reordering, elimination of redundancies and makes calls on the runtime processor.
  76. 76. Aruna (DSCASC) 81 DBMS Environment
  77. 77. Aruna (DSCASC) 82 Client Server Architecture • The client-server architecture was developed to deal with computing environments in which a large number of computers, workstations, file server, printers, database servers, web servers and other equipment are connected via a network. • In client server architecture, number of personal computers, workstations, servers and printers are involved. • Each server is assigned a specific functionality. Like printer server which connects to various printers and print requests by the client. File server that maintains the files of the client machine.
  78. 78. Client Server Architecture There are two client server framework: 1) Two tier architecture 2) Three tier architecture Aruna (DSCASC) 83
  79. 79. Aruna (DSCASC) 84 Two-Tier architecture: • In two tier architecture the software components are distributed over two systems. The client and the server. Client Server Architecture Client Print Server File Server DBMS Server Client Client Logical two-tier architecture
  80. 80. Aruna (DSCASC) 85 Two-Tier architecture • A client is a user machine that provides user interface and local processing. • When a client requests, it connects to a server that provides the need. • A server machine can provide services to the client machine such as file access, printing, or database access.
  81. 81. Aruna (DSCASC) 86 • In World wide web, many applications use three tier architecture. • There is an intermediate layer between the client and the database server called the application server or web server and is named according to the application. Three-Tier architecture GUI, Web Interface Application Programs Web pages Database Management System Logical three-tier client/server architecture Client Application Server (or) web server Database server
  82. 82. Aruna (DSCASC) 87 • The web server plays the intermediary role by sorting business rules (procedures or constraints) that are used to access data from the database server. • The intermediate server accepts request from the client, processes the request and sends database commands to the database server, and then pass the processed data from the database server to the client. Three-Tier architecture
  83. 83. Classification of Database Management Systems We classified DBMSs according to several criteria: » Based on Data model » Based on Number of users » Based on Number of sites ( Distributed or Centralized) » Based on Types of access paths » Cost of the DBMS Aruna (DSCASC) 88
  84. 84. Aruna (DSCASC) 89 Based on Number of users: 1) Single-user system: It support only one user at a time and mostly used on personal computers. 2) Multi-user system: It Supports multiple users at a time (i.e., Concurrently). Based on number of sites (Centralized or Distributed): Centralized: If the data is stored at a single computer site, which can be used by multiple users.. Distributed: Database and DBMS software distributed over many sites, connected by a computer network. Homogeneous: It is the same DBMS existing in multiple sites. – Based on the types of Access path. – Cost of the DBMS.
  85. 85. Aruna (DSCASC) 90 Difference between Centralized and Distributed DBMS Centralized Distributed If the data is stored at a single computer site, which can be used by multiple users Database and DBMS software distributed over many sites, connected by a computer network. Database is maintained at one site Database is maintained at a number of different sites. If centralized system fails, entire system is halted. If one system fails, system continues work with other site. Less reliable More reliable