The Database Environment and Development Process An Overview Outline Basic concepts and definitions Benefits of Database Management Systems (DBMS) A brief look at the Relational DBMS Types of Database Applications Database Development Process Basic Concepts and Definitions Database An organized collection of logically related data a list of clients, or customer orders organized in a way that enables fast and efficient storage, access and manipulation Data Facts that can be recorded and stored using computer media traditionally this included text and numbers modern usage now includes objects such as sounds, images, and video clips Database System The application of technology to business processes, gathering data and creating information that is valuable to managers who make decisions N. Caroline Daniels, IT: The Management Challenge A model of an enterprise that captures the information structure and content which describes and operationalizes the function of the enterprise. Les Waguespack Information Data that has been processed in such a way that it can increase the knowledge of the person who uses it Examples are data that has been: placed in a context (see next slide) summarized (e.g., as in a graph) Raw Data How to interpret this? Metadata Data that describes the properties or characteristics of other data (a means of providing context for data) See Table 1-1 in textbook Figure 1-1a Data in Context …………… Even when the context is provided, large volume of facts is difficult to analyze or make decisions based on. Figure 1-1b Summarized data Outline Basic concepts and definitions Benefits of Database Management Systems (DBMS) A brief look at the Relational DBMS Types of Database Applications Database Development Process Traditional File Processing Date back to before we had databases Still in use today, including backup of database systems Disadvantages of File Processing Program-Data Dependence All programs maintain metadata for each file they use Data Redundancy (Duplication of data) Different systems/programs have separate copies of the same data Limited Data Sharing No centralized control of data Lengthy Development Times Programmers must design their own file formats Excessive Program Maintenance 80% of of information systems budget Problems with Data Redundancy Waste of space to have duplicate data Causes more maintenance headaches The biggest Problem: When data changes in one file, could cause inconsistencies Compromises data integrity Solution: The DATABASE Approach Central repository of shared data Data is managed by a controlling agent (DBMS) Stored in a standardized, convenient form Requires a Database Management System (DBMS) Database Management System Application #1 Application #2 Application #3 DBMS DBMS manages data resources like an operating system manages hardware resources Database containing centralized shared data Database Management Systems (DBMS) DBMS: General-purpose software system which permits data to be stored non-redundantly and facilitates the processes of defining, creating, using and maintaining databases Database and Repository: Includes data and metadata that describes the database data - the actual values of interest metadata - descriptions of the characteristics of the stored data Data and metadata are stored in one place, outside of the application program (decoupled from the code). Advantages of Database Approach Program-Data Independence Metadata stored in DBMS, 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 Results in: increased application development and maintenance productivity Minimal Data Redundancy Leads to increased data integrity/consistency Advantages of Database Approach Improved Data Sharing Different users get different views of the data Enforcement of Standards All data access is done in the same way Improved Data Quality Constraints, data validation rules Better Data Accessibility/ Responsiveness Use of standard data query language (SQL) Security, Backup/Recovery, Concurrency Disaster recovery is easier Costs and Risks of the Database Approach Up-front costs: Installation Management Cost and Complexity Conversion Costs Ongoing Costs Requires New, Specialized Personnel Need for Explicit Backup and Recovery Organizational Conflict Old habits die hard Evolution of DB Systems Flat files - 1960s - 1980s Hierarchical – 1970s - 1990s Network – 1970s - 1990s Relational – 1980s - present Object-oriented – 1990s - present Object-relational – 1990s - present Data warehousing – 1980s present Web-enabled – 1990s - present Outline Basic concepts and definitions Benefits of Database Management Systems (DBMS) A brief look at the Relational DBMS Types of Database Applications Database Development Process Relational Databases Organize Data in Tables Field 1 Field 2 Field 3 Record 1 Record 2 Record 3 column represents a Field (a.k.a attribute, characteristic) Each Each tuple) row represents a Record (a.k.a instance, May seem simple, but… Example: poorly designed database. The purpose of this table is to keep track of students, their majors, advisors and their email addresses. ST_ID ST_FIRST ST_LAST ST_MAJOR ADV_FIRST ADV_LAST ADV_EMAIL ADV_ID 001 Adam Gopnik Literature William Shakespeare ws@lu.ac.uk 352 035 Sandra Smith Literature James Joyce jj@dbl.edu 465 735 Barbara Richards Astronomy Galileo Galilei gg@pdv.it 773 136 Preston Jones Astronomy Galileo Galilei gg@pdv.it 644 001 Ryan Cooper Literature William Shakespeare ws@lu.ac.uk 352 Consider what would happen when the table has to be updated to reflect the following events: 1.Sandra Smith graduates. 2.Galilei’s email has changed 3.A new professor is hired and has to be assigned an ID but has not yet been assigned any students to advise. The Database Design Process Conceptual Database Design Entity-Relationship Diagrams (ERDs) Logical Database Design Translate the conceptual model into files, tables, or objects (depending on type of DBMS) Physical Database Design Lay out the actual DBMS architecture Figure 1-3 Conceptual data model (ERD) Figure 1-3 Segment from enterprise data model One customer may place many orders, but each order is placed by a single customer One-to-many relationship Figure 1-3 Segment from enterprise data model One order has many order lines; each order line is associated with a single order One-to-many relationship Figure 1-3 Segment from enterprise data model One product can be in many order lines, each order line refers to a single product One-to-many relationship Figure 1-4 Order, Order_Line, Customer, and Product tables Relationships established in special columns (or tables) that provide links between tables representing the entities. Data Tables (Relations) Relationships Outline Basic concepts and definitions Benefits of Database Management Systems (DBMS) A brief look at the Relational DBMS Types of Database Applications Database Development Process The Range of Database Applications Personal Database – standalone desktop database Workgroup Database – local area network (<25 users) Department Database – local area network (25-100 users) Enterprise Database – wide-area network (hundreds or thousands of users) Components of the Database Environment CASE Tools – Computer-Aided Software Engineering tools Database Management System (DBMS) – software for managing the database Database – storehouse of the data Repository – centralized storehouse of metadata Application Programs – software using the data User Interface – text and graphical displays to users Human Resources Needed Systems Analysts Database Analysts/Designers Data/Database Administrators Programmers Database Responsibilities Responsibilities Data planning for the long term Define standards Conceptual and logical design (ERDs and LDMs) Physical design Data integrity and working with other departments Responsibilities Data security Database performance Backup/recovery Business rules Determine user requirements (interviewing users) Design database applications Program database applications Outline Basic concepts and definitions Benefits of Database Management Systems (DBMS) A brief look at the Relational DBMS Types of Database Applications Database Development within IS Development Process Information Systems Architecture “A conceptual blueprint or plan that expresses the desired future structure for the information systems in an organization.” Information Systems Architecture Key components: data processes which manipulate data network which transports data people who perform processes and send and receive data events and points in time when processes are performed reasons for events and rules which govern data processing Information Engineering “An Information Systems Architecture is developed by IS planners following a particular methodology such as Information Engineering.” Information Engineering A data-oriented methodology to create and maintain information systems Uses top-down planning in which specific information systems are deduced from a broad understanding of organizational information needs, rather than relying on specific user information requests Offers perspective on relationship of information systems to business objectives Top-Down vs. Bottom-Up Top-Down Planning: “A methodology that attempts to gain a broad understanding of the information system needs of the entire organization” Bottom-Up Planning: “A methodology that identifies and defines IS development projects based upon solving operational business problems or taking advantage of business opportunities” Information Engineering Planning Identify strategic planning factors Goals Critical success factors Problem areas Identify corporate planning objects Organizational units Locations Business functions Entity types Develop enterprise model Process decomposition Enterprise data model (e.g., ERD) Figure 2.2 -- Example of process decomposition of an order fulfillment function (Pine Valley Furniture) Decomposition -- breaking large tasks into smaller tasks in a hierarchical structure chart Enterprise Data Modeling “The first step in database development, in which the scope and general contents of organizational databases are specified.” Enterprise Data Model A model which includes: overall range of organizational databases general contents of organizational databases Built as part of IS planning for the organization and not the design of a particular database One part of an organization’s overall information systems architecture (ISA) Figure 2-1 Segment from enterprise data model (Pine Valley Furniture Company) [simplified E-R diagram, repeat of figure 1.3] Enterprise data model describes the entities in an organization and the relationship between these entities Data Entity Types Business Function (users) Business Planning Product Development Materials Management Order Fulfillment Order Shipment Sales Summarization Production Operations Finance and Accounting Customer Product Raw Material Order Work Center Work Order Invoice Equipment Employee Example business function-to-data entity matrix (fig. 2.3) X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Alternative Approaches to Database and IS Development SDLC System Development Life cycle Detailed, well-planned development process Time-consuming, but comprehensive Long development cycle Prototyping Rapid application development (RAD) Cursory attempt at conceptual data modeling. Define database during development of initial prototype. Repeat implementation and maintenance activities with new prototype versions. Especially useful for extending the IS functionality. Systems Development Life Cycle (SDLC) (figures 2.4, 2.5) Project Identification and Selection Project Initiation and Planning Analysis Logical Design Physical Design Implementation Maintenance Database development within SDLC SDLC Identify Project Initiate and Plan Analyze Logical Design Physical Design Implementation Maintenance Database Development Activities Enterprise Data Modeling Conceptual Data Modeling Logical DB Design Physical DB Design/Creation DB Implementation DB Maintenance Enterprise Data Model First step in database development Specifies scope and general content Overall picture of organizational data, not specific design Entity-relationship diagram Descriptions of entity types Relationships between entities Business rules Enterprise Modeling Conceptual Data Modeling Logical DB Design Physical DB Design/Creation DB Implementation DB Maintenance Conceptual Database Modeling Determine user requirements Determine business rules Build conceptual data model outcome is an entity-relationship diagram or similar communication tool Enterprise Modeling Conceptual Data Modeling Logical DB Design Physical DB Design/Creation DB Implementation DB Maintenance Logical Database Design Select logical database model Map Entity-Relationship Diagrams Normalize data structures Specify business rules Enterprise Modeling Conceptual Data Modeling Logical DB Design Physical DB Design/Creation DB Implementation DB Maintenance Physical Database Design Select DBMS Select storage devices Determine access methods Design files and indexes Determine database distribution Specify update strategies Enterprise Modeling Conceptual Data Modeling Logical DB Design Physical DB Design/Creation DB Implementation DB Maintenance The Prototyping Approach Identify User Needs R e v i s e Develop Prototype Evaluate Prototype Prototype Acceptable? Implement Prototype