Chapter 1 1 File Systems and Databases Database Systems: Design, Implementation, and Management, 4th Edition Peter Rob & Carlos Coronel 1 Introducing the Database Major Database Concepts 1 Data and information Data - Raw facts Information - Processed data Data management Database Metadata Database management system (DBMS) 2 Sales per Employee for Each of ROBCOR’S Two Divisions 1 Figure 1.1 3 Introducing the Database Importance of DBMS 1 It helps make data management more efficient and effective. Its query language allows quick answers to ad hoc queries. It provides end users better access to more and bettermanaged data. It promotes an integrated view of organization’s operations -- “big picture.” It reduces the probability of inconsistent data. 4 The DBMS Manages the Interaction Between the End User and the Database 1 Figure 1.2 5 Introducing the Database Why Database Design Is Important? 1 A well-designed database facilitates data management and becomes a valuable information generator. A poorly designed database is a breeding ground for uncontrolled data redundancies. A poorly designed database generates errors that lead to bad decisions. 6 Historical Roots Why Study File Systems? 1 It provides historical perspective. It teaches lessons to avoid pitfalls of data management. Its simple characteristics facilitate understanding of the design complexity of a database. It provides useful knowledge for converting a file system to a database system. 7 Contents of the CUSTOMER File 1 Figure 1.3 8 Table 1.1 Basic File Terminology 1 Data “Raw” facts that have little meaning unless they have been organized in some logical manner. The smallest piece of data that can be “recognized” by the computer is a single character, such as the letter A, the number 5, or some symbol such as; ‘ ? > * +. A single character requires one byte of computer storage. Field A character or group of characters (alphabetic or numeric) that has a specific meaning. A field might define a telephone numbers, a birth date, a customer name, a year-to-date (YTD) sales value, and so on. Record A logically connected set of one or more fields that describes a person, place, or thing. For example, the fields that comprise a record for a customer named J. D. Rudd might consist of J. D. Rudd’s name, address, phone number, date of birth, credit limit, unpaid balance, and so on. File A collection of related records. For example, a file might contain data about ROBCOR Company’s vendors; or, a file might contain the records for the students currently enrolled at Gigantic University. 9 Contents of the AGENT File 1 Figure 1.4 10 A Simple File System 1 Figure 1.5 11 File System Critique File System Data Management 1 File systems require extensive programming in a thirdgeneration language (3GL). As the number of files expands, system administration becomes difficult. Making changes in existing file structures is important and difficult. Security features to safeguard data are difficult to program and usually omitted. Difficulty to pool data creates islands of information. 12 File System Critique Structural and Data Dependence 1 Structural Dependence A change in any file’s structure requires the modification of all programs using that file. Data Dependence A change in any file’s data characteristics requires changes in all data access programs. Significance of data dependence is the difference between the data logical format and the data physical format. Data dependence makes file systems extremely cumbersome from a programming and data management point of view. 13 File System Critique Field Definitions and Naming Conventions 1 A good (flexible) record definition anticipates reporting requirements by breaking up fields into their components. Example: – Customer Name Last Name, First Name, Initial – Customer Address Street Address, City, State FIELD CONTENTS CUS_LNAME Customer last name CUS_FNAME Customer first name CUS_INITIAL Customer initial CUS_AREACODE Customer area code CUS_PHONE Customer phone CUS_ADDRESS Customer street address or box number CUS_CITY Customer city CUS_STATE Customer state 14 File System Critique Field Definitions and Naming Conventions 1 Selecting proper field names is very important. Names must be as descriptive as possible within restrictions. Naming must reflect designer’s documentation needs and user’s reporting and processing requirements. 15 File System Critique Data Redundancy: Uncontrolled data redundancy sets the stage for 1 Data Inconsistency (lack of data integrity) Data anomalies Modification anomalies Insertion anomalies Deletion anomalies 16 Figure 1.6 1 17 The Database System Environment 1 Figure 1.7 Figure 1.7 18 Database Systems The Database System Components 1 Hardware Computer Peripherals Software Operating systems software DBMS software Applications programs and utilities software 19 Database Systems The Database System Components People 1 Procedures Systems administrators Database administrators (DBAs) Database designers Systems analysts and programmers End users Instructions and rules that govern the design and use of the database system Data Collection of facts stored in the database 20 Database Systems The Database System Components 1 The complexity of database systems depends on various organizational factors: Organization’s size Organization’s function Organization’s corporate culture Organizational activities and environment Database solutions must be cost effective AND strategically effective. 21 Database Systems Types of Database Systems Number of Users 1 Single-user – Desktop database Multiuser – Workgroup database – Enterprise database Scope Desktop Workgroup Enterprise 22 Database Systems Types of Database Systems 1 Location Centralized Distributed Use Transactional (Production) Decision support Data warehouse 23 Database Systems DBMS Functions 1. Data Dictionary Management 1 2. Data Storage Management 3. Data Transformation and Presentation 4. Security Management 5. Multi-User Access Control 6. Backup and Recovery Management 7. Data Integrity Management 8. Database Access Languages (DDL and DML) and Application Programming Interfaces 9. Database Communication Interfaces 24 Database Models 1 A database model is a collection of logical constructs used to represent the data structure and the data relationships found within the database. Two Categories of Database Models Conceptual models focus on the logical nature of the data representation. They are concerned with what is represented rather than how it is represented. Implementation models place the emphasis on how the data are represented in the database or on how the data structures are implemented. 25 Database Models Three Types of Relationships 1 One-to-many relationships (1:M) A painter paints many different paintings, but each one of them is painted by only that painter. – PAINTER (1) paints PAINTING (M) Many-to-many relationships (M:N) An employee might learn many job skills, and each job skill might be learned by many employees. – EMPLOYEE (M) learns SKILL (N) One-to-one relationships (1:1) Each store is managed by a single employee and each store manager (employee) only manages a single store. – EMPLOYEE (1) manages STORE (1) 26 Database Models Three Types of Implementation Database Models 1 Hierarchical database model Network database model Relational database model 27 A Hierarchical Structure 1 Figure 1.8 28 Database Models Hierarchical Database Model 1 Basic Structure Collection of records logically organized to conform to the upside-down tree (hierarchical) structure. The top layer is perceived as the parent of the segment directly beneath it. The segments below other segments are the children of the segment above them. A tree structure is represented as a hierarchical path on the computer’s storage media. 29 Database Models Hierarchical Database Model Advantages 1 Conceptual simplicity Database security Data independence Database integrity Efficiency dealing with a large database Disadvantages Complex implementation Difficult to manage Lacks structural independence Applications programming and use complexity Implementation limitations Lack of standards 30 Child with Multiple Parents 1 Figure 1.9 31 Database Models Network Database Model 1 Basic Structure Set -- A relationship is called a set. Each set is composed of at least two record types: an owner (parent) record and a member (child) record. A set is represents a 1:M relationship between the owner and the member. 32 A Network Database Model 1 Figure 1.10 33 Database Models Network Database Model 1 Advantages Conceptual simplicity Handles more relationship types Data access flexibility Promotes database integrity Data independence Conformance to standards Disadvantages System complexity Lack of structural independence 34 Database Models Relational Database Model 1 Basic Structure RDBMS allows operations in a human logical environment. The relational database is perceived as a collection of tables. Each table consists of a series of row/column intersections. Tables (or relations) are related to each other by sharing a common entity characteristic. The relationship type is often shown in a relational schema. A table yields complete data and structural independence. 35 Linking Relational Tables 1 Figure 1.11 36 Database Models Relational Database Model Advantages 1 Structural independence Improved conceptual simplicity Easier database design, implementation, management, and use Ad hoc query capability (SQL) Powerful database management system Disadvantages Substantial hardware and system software overhead Possibility of poor design and implementation Potential “islands of information” problems 37 A Relational Schema 1 Figure 1.12 38 Database Models Entity-Relationship Data Model 1 It is one of the most widely accepted graphical data modeling tools. It graphically represents data as entities and their relationships in a database structure. It complements the relational data model concepts. 39 Database Models Entity Relationship Data Model 1 Basic Structure E-R models are normally represented in an entity relationship diagram (ERD). An entity is represented by a rectangle. Each entity is described by a set of attributes. An attribute describes a particular characteristics of the entity. A relationship is represented by a diamond connected to the related entities. 40 Figure 1.13 Relationship Depiction: The ERD 1 41 Figure 1.14 Relationship Depiction: The Crow’s Foot 1 42 Database Models Entity-Relationship Data Model 1 Advantages Exceptional conceptual simplicity Visual representation Effective communication tool Integrated with the relational database model Disadvantages Limited constraint representation Limited relationship representation No data manipulation language Loss of information content 43 Database Models Object-Oriented Database Model 1 Characteristics An object is described by its factual content. An object includes information about relationships between the facts within the object, as well as with other objects. An object is a self-contained building block for autonomous structures. 44 Database Models Object-Oriented Database Model 1 Basic Structure Objects are abstractions of real-world entities or events. Attributes describe the properties of an object. Objects that share similar characteristics are grouped in classes. A class is a collection of similar objects with shared structure (attributes) and behavior (methods). Classes are organized in a class hierarchy. An object can inherit the attributes and methods of the classes above it. 45 A Comparison: The OO Data Model and the ER Model 1 Figure 1.15 46 Database Models Object-Oriented Database Model 1 Advantages Add semantic content Visual presentation includes semantic content Database integrity Both structural and data independence Disadvantages Lack of OODM standards Complex navigational data access Steep learning curve High system overhead slows transactions 47 The Development of Data Models 1 Figure 1.16 48 Wrap-Up: The Evolution of Data Models 1 Common characteristics required for data models: A data model must show some degree of conceptual simplicity without compromising the semantic completeness. A data model must represent the real world as closely as possible. The representation of the real-world transformations (behavior) must be in compliance with the consistency and integrity characteristics of any data model. 49 Wrap-Up: The Evolution of Data Models Database Models and the Internet 1 The use of the Internet as a prime business tool is shifting focus to database products that interface efficiently and easily with the Internet. Successful “Internet age” databases are characterized by: Flexible, efficient, and secure Internet access. Support for complex data types and relationships. Seamless interfacing with multiple data sources and structures. Simplicity of the conceptual database model. An abundance of available database tools. A powerful DBMS to help make the DBA’s job easier. 50