Chapter 1 Notes I. Basic Concepts and Definitions a. Intro i. We define a database as an organize collection of logically related data b. Data i. Data use to refer to facts concerning objects and events that could be recorded and stored on computer media ii. Structured data 1. The most important data types are numeric, character, and dates iii. Unstructured data (aka multimedia data) 1. Requires much more storage space than typical structured data does a. Requires an understanding of data retrieval methods and storage methods if the fats response time expected by users it to be met iv. Data 1. Stored representations of objects and events that have meaning and importance in the user’s environment c. Data versus information i. Information 1. Data that has been processed in such a way that the knowledge of the person who uses the data is increased, providing some structure ii. Databases today may contain either data, information, or both d. Metadata i. Data that describes the properties or characteristics of end-user data and the context of that data e. Database management systems i. A software system that is used to create, maintain, and provide controlled access to user databases ii. Provides a systematic method of creating, updating, storing, and retrieving data in a database iii. Enables end users and application programmers to share data iv. Provides facilities for controlling data access, enforcing data integrity, managing concurrency control, and restoring a database f. Data models i. Capture the nature of and relationships among data and are used at different levels of abstraction as a database is conceptualized and designed ii. The effectiveness and efficiency of a database is directly associated with the structure of a database iii. Data models are created at both the enterprise and project levels 1. Enterprise data models a. Less detailed of the two b. Capture the major categories of data and the relationships between data i. Ex: between a customer and his order 2. Project-level data models a. More detailed and more closely match the way the data must be included in the database i. Used in the process of developing a database and applications against it II. g. Entities i. Describes a person, place, object, even, or concept in the business environment for which info must be recorded and retained h. Relationships i. A well structured database establishes the many relationships between entities that exist in organizational data so that desired info can be retrieved 1. At the enterprise level a. It is only necessary to include only the higher-level relationships of customers, orders, and products 2. At the project level a. Additional detail, such as the exact composition of an order, needs to be included to meet the functional needs of the org i. Relational databases i. Establish the relationships between entities by means of common fields included in a file, called a “relation” Traditional file processing systems a. Shortcomings and limitations… thus have been replaced by database processing systems i. However some imp. Points 1. They are still used today, especially for backing up database systems 2. Understanding the problems and limitations inherent in file processing systems can help us avoid these same problems when designing database systems ii. Disadvantages of file processing stems 1. Program-data dependence a. Any change in a file structure requires changes in the file descriptions for all programs that access the file b. It is often difficult even to locate all programs affected by such changes i. Also errors are often caused when doing so 2. Duplication of data a. Because applications are often developed independently in FPS unplanned duplicate data files are the rule rather than exception b. Duplication is wasteful bc it requires additional storage space an increased effort to keep all files up to data i. Making it difficult to establish reliable meta data 3. Limited data sharing a. Each app has its own private files and users have little opportunity to share data outside their own apps III. 4. Lengthy development times 5. Excessive program maintenance The database approach a. Emphasizes the integration and sharing of data throughout the org b. Advantages of the database approach i. Program-data independence 1. Data dependence a. The separation of data descriptions from the app programs that use the data 2. Data descriptions are stored in a central location called the repository a. Allows an org data to change and evolve without changing the application programs that process the data ii. Planned data redundancy 1. Attempts to integrate previously separate (and redundant) data files into a single, logical structure 2. Ideally each primary fact is recorded in only one place in the database 3. The DB approach does not eliminate redundancy entirely, but it enables the designer to control the type and amount of redundancy iii. Improved data consistency iv. Improved data sharing 1. A database is designed as a shared corporate resource 2. User view a. A logical description of some portion of the database that is required by a user to perform some task v. Increased productivity of application development 1. It greatly reduces the cost and time for developing new business applications vi. Increased productivity of app development 1. It greatly reduces the cost and time for developing new business applications vii. Improved data quality 1. DB designers can specify integrity constraints that are enforced by the DBMS a. a rule that cannot be violated by database user b. data is cleaned before placed in the data warehouse viii. improved data accessibility and responsiveness ix. reduced program maintenance x. improved decision support c. cautions i. requires specialize personnel ii. installation and management casts are high and complex iii. high conversion costs iv. there is a need for explicit backup and recovery v. organizational conflict IV. V. Components of the database environment a. Computer-aided software engineering (CASE) tools i. Automated tolls used to design databases and app programs b. Repository i. Centralized knowledge base for all data definitions, data relationships, screen and report formats, and other system components 1. Contains an extended set of metadata important of managing databases as well as other components of the info system c. DBMS i. A software system that is used to create, maintain, and provide controlled access to user databases d. Database i. An organized collection of logically related data, usually designed to meet the info needs of multiple users in an org ii. Database vs. repository 1. Repository contains definitions of data 2. Database contains occurrences of data e. Application programs i. Computer programs that are used to create and maintain the database and provide info to users f. User interface i. Languages, menus, and other facilities by which users interact with various system components g. Data and database admins i. People responsible for the overall management of data resources in an org h. System developers i. Design new app programs i. End users i. People throughout the org who add, delete, and modify data in the database and who request or receive info from it The range of database apps a. Personal databases i. Designed to support on user, usually reside on laptops or on PDAs ii. Can’t easily be shared among users b. Workgroup databases i. Relatively small group of people (usually less than 25) who collaborate on the same project or app c. Departmental/ divisional databases i. A functional unit within an org ii. Designed to support the various functions and activities of a department or division d. Enterprise databases i. An enterprise database is one whose scope is the entire org or enterprise ii. Intended to support organization-wide ops and decision making