To Previous Chapter To Table of Contents To Bottom of Page To Next Chapter

Chapter 17 - Designing the File or Database

  1. Design Objectives
    • Purposeful Information Retrieval
    • Efficient Data Storage
    • Data Availability
    • Efficient Updating and Retrieval
    • Data Integrity
  2. Conventional Files and Databases

    File-Processing Systems (limitations)

    • Separated and Isolated Data
    • Data Duplication - data integrity
    • Application Program Dependency on Data (e.g. Year 2000 crisis)
    • Incompatible Files
    • The Difficulty of Representing Data in Users' Perspective (not natural)

    Database Processing Systems

    • Integrated Data - database
    • Reduced Data Duplication
    • Program/Data Independence
    • Easier Representation of the Users' Perspective

    Definition of a Database

    bits -> bytes(characters) -> fields -> records -> files -> database
    A database is a self-describing collection of integrated records
    • A Database is Self-Describing - description is in a data dictionary
    • A Database is a Collection of Integerated Records - uses indexes
    • A Database is a Model of a Model (model of the users' model = views)

    History of Database Processing

    • The Organizational Context - designed to overcome limitations of a file-processing system
    • The Relational Model
      • developed by E.F. Codd in 1970 using relational algebra
      • data stored in "tables" (rows and columns)
      • may require normalization
    • Microcomputer DBMS Products - introduced in 1979 by Ashton-Tate (dBase II)
    • Client-Server Database Applications - introduced in late 1980s
    • Multimedia and Network Databases
    • Distributed Database Processing
    • Object-Oriented DBMS (ODBMS) - still emerging
  3. Data Concepts

    Chapter 3 - The Entity-Relationship Model

    1. Elements of the Entity-Relationship Model
      Introduced by Peter Chen in 1976
      • Entities
        entity - something that can be identified in the usrs' work environment (something that the user wants to track); i.e. EMPLOYEE Mary Doe, CUSTOMER 12345, SALES-ORDER 1000, etc.
        entity class - groups of entities of a given type; i.e. EMPLOYEE
      • Attributes
        attribute (property) - describes a characteristic of an entity; i.e. EmployeeName, DateOfHire, JobSkillCode
        attributes can be single or multiple valued (ie. courses taken); can also be composite (i.e. Address)
      • Indentifiers
        identifier attributes that name the entity instance (i.e. EmployeeID, EmployeeName)
        identifiers can be unique or nonunique
        composite identifiers consist of more than one attribute (i.e. [FirstName, LastName, PhoneExtension])
      • Relationships
        relationship - association between entities
        degree of a relationship - number of entities in the relationship (most relationships are binary relationships
        THREE TYPE OF BINARY RELATIONSHIPS:
        • 1:1 - STUDENT - HIGH-SCHOOL-GRADUATED-FROM
        • 1:N (1 to many) - DEPARTMENT - FACULTY
        • N:M (many to many) - BOOK - AUTHOR

        maximum cardinality - maximum number of elements that occur on one side of a relationship
        These are examples of HAS-A relationships
        ENTITY-RELATIONSHIP DIAGRAMS

        minimum cardinality:
        • Use oval (0) to indicate that an entity is not required
        • Use hash (|) to indicate that an entity must exist
        • Use crow's feet (/) to indicate that an entity may have many instances

        File Types

        • Master file
        • Table file
        • Transaction file
        • Work file
        • Report file

        File Organization

        • Sequential
        • Linked Lists
        • Hashed (Direct access / relative)
        • Indexed (requires file of indicies)
        • Indexed Sequential (ISAM, VSAM)
      • Normalization
      • Guidelines for File/Database Relation Design
        • Each separate data entity should create a master file
        • A specific data field should exist in only one master file
        • Each master file / database relation should have programs to Create, Read, Update, and Delete records
      • Making Use of the Database
        1. Choose a relation from the database
        2. Join two relations together
        3. Project columns from the relation
        4. Select rows from the relation
        5. Derive new attributes
        6. Index / sort rows
        7. Calculate totals and performance measures
        8. Present results


    Exercises: (due - noon Nov. 24, 1998)
    e-mail to summers_wayne@ColumbusState.edu your answers to problem #7 on page 649.


    To Previous Chapter To Table of Contents To top of page To Next Chapter