Chapter 2 - Introduction to Database Development
- The Database
- User Data
- Metadata (description of the structure of the data)
- Indexes (used for sorting and quick access)
- Application Metadata (stores the structure and format of user forms, reports, queries, etc.
- The DBMS
- Microsoft Access
- Wall Data's SALSA
- Borland's Paradox
- Borland's dBase
- Lotus Approach
- The Design Tools Subsystem (used by the developer)
- Table Creation Tool
- Form Creation Tool
- Query Creation Tool
- Report Creation Tool
- Procedural Language Compiler
- Run-Time Subsystem (used by the users)
- Form Processor
- Query Processor
- Report Writer
- Procedural Language Run Time
- The DBMS Engine (interface between the design tools and the run time subsystems)
- Creating the Database
"A database schema defines a database's structure, its tables, relationships, domains and business rules. A database schema is a design, the foundation on which the database and the applications are built."
- An Example of a Schema
scenerio: The university wants to keep track of athletic equipment that has been checked out by the team captains
- TABLES:
CAPTAIN(CAPTAIN_ID, CaptainName, Phone, Street, City, State, Zip)
ITEM(ITEM_ID, Quantity, Description, DateOut, DateIn)
- RELATIONSHIPS: 1 Captain -> Many Items (1:N) Need to add CAPTAIN_ID to the ITEM
- DOMAINS: CAPTAIN_ID, ITEM_ID, and Quantity are Integer, others are Text
- BUSINESS RULES (Constraints):
- In order to check out equipment, the captain must have a local phone #.
- No captain may have more than 7 soccer balls checked out at one time.
- Captains must return all equipment within five days after the end of each semester.
- No captain may check out more equipment if he or she has any overdue.
- Creating Tables
- Defining Relationships
In Access, use the Relationships Window to link the tables's keys and foreign keys
- Components of Applications
- Forms - most DBMS's have a form generation tool
- Queries
- query by example (QBE) - uses special table where fields are selected and constraints specified
- data access language (SQL) - requires "programming"
- query by form - constraints are entered into the form
- Reports
- Menus - pull-down Windows menus
- Application Programs - requires a programming language like Visual BASIC
- Database Development Processes
- General Strategies
A database is a model of the users' model of their business activities
- prototype - sample databases and applications that represent various aspects of the system to be created
- top-down development - proceeds from the general to the specific
- bottom-up development - starts with the specific
- Data Modeling
- Data Modeling as Inferencing (need to infer the model from what the users want
- Modeling in Multiuser Systems - more difficult: each user may have their own "view"
- Confusion About the Term Model - need to build a "user's data model" or "requirements data model"