250 likes | 337 Views
Course Learning Process. Course objectives Visualization methods; systems development process Systems development tools: Access and Excel Methods to learn material Course lectures: concepts, exercises, questions Book tutorials:
E N D
Course Learning Process • Course objectives • Visualization methods; systems development process • Systems development tools: Access and Excel • Methods to learn material • Course lectures: concepts, exercises, questions • Book tutorials: • Labs: in-class time to try out new and/or difficult Access and Excel skills/concepts • Outside of class: do book tutorials not done in labs • Book material: • Explanation, concepts, detailed description • Methods to assess learning (and hopefully learn more…) • Homework and projects: • Apply instruction from tutorials • Create simulated “real” applications
Help available • Your books!!!! • Online help via Access and Excel • Google (or other favorite search engine) • IS Graduate Assistant (Robert Dittmer) • Office hours: MTWR 10 AM – noon in lab • Email: rdittmer@unr.edu • Professor (Christina Hilfer) • Office hours: MTWR 2:00-3:00PM • Email: chilfer@unr.edu
Objectives 6/12/13 • Learn introductory concepts and guidelines for designing databases • Differentiate and categorize types of stored data. • Understand the situations where it is appropriate to use a database vs. spreadsheet vs. both. • Define key terms related to database design. • Learn how to design a small database. • Understand how Access creates data structures and relates data in a database.
Questions for a systems developer • What am I trying to accomplish by using a computer? Are you: • Keeping track of lots of information for an organization, customer, government, investor? • Making processes more efficient requiring less labor? • Facilitating decision making? • Presenting information in a more readable, attractive format? • What is the best way to accomplish your goals? • Database management system? • Spreadsheet? • Web front end? • Custom developed programs? • Combination?
What types of data are stored on a computer? • Video, pictures, audio • Email • Web pages • Word processing documents • PowerPoint-type presentations • Structured data: Pre-defined formats such as employee, customer, student, registration data.
Book Example: Belmont Landscapes Company provides landscape architecture services including analyzing sites, developing plans and performing construction work. Wants to have a way to keep track of the work that will be done for customers (“contracts”) and then have a way to charge those customers (“invoices”) once the work has been completed.
Should you use a spreadsheet or DBMS for Belmont Landscapes?
Why do we store data in a database? • To protect the “integrity” of the data. • Make data accurate. • Reduce data redundancy. • To make data more accessible. • Enhance flexibility of data access methods. • Improve speed of data access. • To make an application more adaptable. • Provide more flexibility in application development. • Decrease dependence on a given visualization method.
Overview of MS Access • Data Management Software (not technically a database management system) • Has the following objects: • Tables: Object to store data. This is the only data storage object in Access. • Queries: Object to view data stored in tables. Can be used to filter data, reformat data, create calculations, create aggregations, create summarizations. • Forms: Object to enter data into a table in user friendly format. Also used to view data in a nice format on a screen. • Reports: Object to view data in a nice format on paper.
Important Database Design Terms • Entity (when created in a database this is a table): A person, place, or thing about which we store data. Example is a Customer for Belmont Landscapes. • Entity instance(also called a recordor row): One instance of an entity that includes all data stored about that instance. Example is “Anthony Rodriquez” for Belmont. • Attribute (also called a fieldor column): A characteristic of the entity about which we store data. Examples are Company, FirstName, Lastname for a Customer entity.
Examine the contract “spreadsheet” • Review data content. • What is the application? What is the purpose of the stored data? • Is any of the data redundant? • Why might redundant data be a problem?
Process for Designing Databases (Database Normalization) • Identify all the fields needed to produce the required information • Divide each piece of data into its smallest useful part Example 1: Break up a name into first, last, initial Example 2: Break up an address into street, city, state, zip • Group related fields into tables • Use an entity-relationship diagram (ERD) to depict the design • Determine each table’s primary key • Identify how the tables are related (or if they are related) • Include a common field in related tables (foreign key) • Determine the properties of each field • Type of data: Text, date, number, etc. • Size of data • Name of data
What is a primary key? • Definition • Examples • “Natural” vs. “Surrogate”
Primary Keys • Naturalkeys are primary keys having an innate value • Examples • A UPC code • A stock symbol • A book ISBN number • In cases where there is no innate value, we create an artificial key (surrogate key). • The key value is arbitrary • Maybe just some Integer value • Composite key: two or more fields combine to uniquely identify a record. • Sometimes used when joining tables.
What is a foreign key? • Definition • Example • Depiction on diagrams
What is referential integrity? • Definition • “Constraint” • Conceptual example • Implementation in Access example
Referential Integrity Usage • Primary keys ensure entity integrity • Eliminates duplicate records • Null values are prohibited • Referential integrity ensures that a foreign key in one table matches a primary key in another table • Without referential integrity, orphaned records can exist • A record in the (many) table with a corresponding record in the (one) table
Referential Integrity • Enforce referential integrity means 1-to-many relationships are enforced • Cascade Update means that if primary key changes in master table the corresponding key is updated in the detail table • Cascade Delete means that deleting master record causes corresponding child records to be deleted