250 likes | 344 Vues
Learn introductory concepts and guidelines for designing databases, differentiate data types, understand when to use databases or spreadsheets, and create small databases with Access. Explore data structures and relationships in databases.
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