Database Development Process

Introduction to Development Process Basics.

In mature organizations, firms rely on a fairly well-developed enterprise data model.
Large software packages for enterprise-wide management, such as Oracle's application software, and the SAP software from SAP, Inc., are examples of packages for enterprise development.
Key Components of the Information Systems Architecture.
1. Data - represented as some type of entity-relationship or object-relationship diagram.
2. Processes - these manipulate data and are represented by data flow diagrams.
3. Network - this transports the data and is often shown as a schematic of network links.
4. People - who perform processes - key sources and receivers of data and information.
5. Events and Points-In-Time - when processes are performed - often shown as state-transition diagrams.
6. Reasons (also called Rules) - for events that govern the processing of data - listed in policy and procedure manuals.
System Planning.
Your book lists several top-down approaches for the development of systems based upon business strategies, etc.
In reality, there is often not a high level of planning for systems.
Systems are developed based upon both strategic and tactical needs of the firm and the firm's departments.
Most systems development efforts follow a classical Systems Development Life Cycle.
1. Project Identification - preliminary analysis of needs.
2. Project Initiation and Planning - identifies possible approaches to solving the business need.
3. Analysis - identify the functional specifications for the business needs - continue to confirm that the project is feasible.
4. Logical Design - detailed functional specifications in the form of screen designs, report layout designs, data models, processing rules, etc.
5. Physical Design - programming, development of physical data structures, redesigning parts of the organization to support the new system.
6. Implementation - sometimes includes testing or testing may be part of physical design. Includes a plan to cut over to the new system.
7. Maintenance - continued modification of the system as the firm's needs change.
CASE and Repository.
Computer-aided Software Engineering (CASE) tools automate the development of physical components of a system and support the development effort by providing modeling tools.
Example: Oracle Designer to model processes and data.
Example: Oracle Developer to generate computer programs, reports and screens.
CASE tool products (diagrams, forms, reports, etc.) can usually be shared by many members of the project development team.
A Repository stores the components that are developed by the team to enable the sharing.
Three-Schema Architecture.
This is the concept that there are different levels or views of the data that the firm uses.
Level 0--Reality. This is the actual real data that managers use.
Level 1--Conceptual Schema - also called a Conceptual Model.
This model is developed during the analysis stage of system development.
Typically this is some type of diagramming model of the data and the relationships among the data. It is an abstractions of reality to focus on the data the firm uses for specific applications.
Entity-Relationship Diagrams capture overall structure of the organization's data – Chapters 3 and 4.
Level 2--External Schema -- also termed a Logical Model.
This model is developed during the design stage and represents the actual implementation of the conceptual model with a specific DBMS product.
This includes table design and the application of rules for Normalization of data and translating conceptual model into relations – Chapter 6.
Level 3--Physical or Internal Schema.
This is created during the physical design and implementation phase.
It includes the actual storage of data, creation of files that comprise the database including indexes and other structures– Chapter 7.
Terminology.
Entities – person, place, object, event, or concept in user environment. In Henry’s Bookstore example, entities include Publishers, Branches, Authors, and Books.
Entity Type – often shortened to “entity”, e.g., Publisher.
Entity Instance – a single occurrence of an entity/entity type, e.g., Signet Publishing Company.
Attributes – properties or characteristics of an entity. In Henry’s Bookstore example, attributes of interest for entity Book are Book Code, Title, Publisher Code, Type, Price and Paper Back.
Relationships – association between entities. In Henry’s Bookstore example, Publisher and Book are related – a Publisher is related to all Books it publishes, and a Book is related to its one Publisher.
How are Entities, Attributes, and Relationships implemented in relational DBMS?
Entities – each entity is a table.
Attributes – each attribute is a column in the table for that entity.
Relationships – tables share common columns that are used to link tables to one another.

Row of table – equals an instance, occurrence, record.
Column of table – equals an attribute, characteristic, field.
Is there a relationship between the two entities/tables? Yes, if they share a common column or set of common columns.