MIS407: Database Concepts Credit Hours: 3 Contact Hours: This is a 3-credit course, offered in accelerated format. This means that 16 weeks of material is covered in 8 weeks. The exact number of hours per week that you can expect to spend on each course will vary based upon the weekly coursework, as well as your study style and preferences. You should plan to spend 10-25 hours per week in each course reading material, interacting on the discussion boards, writing papers, completing projects, and doing research. Faculty Information Name: Phone: CSU-GC Email: Virtual Office Hours: Course Description and Outcomes This course covers the basics of relational databases, including basic terminology and concepts, database integrity, and normalization. The relational model will be examined in detail in order to appreciate database structure, integrity, and manipulation. Current relational database management systems will be explored and contrasted, as will basic relational database design and SQL programming. Course Learning Outcomes: 1. Describe the basic data structure, integrity, and manipulation components of Dr. Codd’s relational model and their relationship to database tables. 2. Describe the importance of primary keys, foreign keys, and other key types. 3. Describe the eight basic relational algebra operations and how they relate to SQL. 4. Design a simple relational database from a set of user requirements using an ERD (entity/relationship diagram) and then use it to develop table specification metadata. 5. Utilize graphical features and basic SQL statements in order to create relational database tables, populate them, and query them. 6. Utilize SQL to perform more advanced SQL queries and reports. 7. Describe the role of embedded SQL in developing enterprise database applications. 8. Using the concepts of functional dependency and normalization, perform 1NF (first normal form), 2NF (second normal form), and 3NF (third normal form) normalization to remove redundant data. 9. Study and contrast the current popular desktop and enterprise relational database management systems (RDBMSs). 10. Describe how online transaction processing (OLTP) and data warehousing relational databases are used for client/server databases, Web based E-commerce systems, service-oriented architectures (SOAs), online analytical processing (OLAP), and data mining. Participation & Attendance Prompt and consistent attendance in your online courses is essential for your success at CSU-Global Campus. Failure to verify your attendance within the first 7 days of this course may result in your withdrawal. If for some reason you would like to drop a course, please contact your advisor. Online classes have deadlines, assignments, and participation requirements just like on-campus classes. Budget your time carefully and keep an open line of communication with your instructor. If you are having technical problems, problems with your assignments, or other problems that are impeding your progress, let your instructor know as soon as possible. Course Materials Required: Kroenke, D. M. & Auer, D. (2013). Database processing: Fundamentals, design, and implementation (13th ed.). Upper Saddle River, NJ: Pearson. ISBN: 9780133058352 **All non-textbook required readings and materials necessary to complete assignments, discussions, and/or supplemental or required exercises will be provided within the course itself. Please read through each course module carefully. Course Schedule Due Dates The Academic Week at CSU-Global begins on Monday and ends the following Sunday. Discussion Boards: The original post must be completed by Thursday at 11:59 p.m. MT and Peer Responses posted by Sunday 11:59 p.m. MT. Late posts may not be awarded points. Mastery Exercises: Students may access and retake mastery exercises through the last day of class until they achieve the scores they desire. Critical Thinking Activities: Assignments are due Sunday at 11:59 p.m. MT. Week # Readings Chapters 1 , 2, 10, 10A, & 10B in Database Processing Discussion (25 points) Mastery (10 points) Critical Thinking (50 points) Chapter 3 (pp. 131-151) and Appendix A in Database Processing Discussion (25 points) Mastery (10 points) Critical Thinking (60 points) Chapter 5 in Database Processing Discussion (25 points) Mastery (10 points) Critical Thinking (60 points) Chapters 6, 10, 10A, 10B, & Appendices C, D, H in Database Processing Discussion (25 points) Mastery (20 points) Chapter 7 and 8 in Database Processing Discussion (25 points) Mastery (10 points) Critical Thinking (60 points) Chapters 8 and Appendix A in Database Processing Discussion (25 points) Mastery (10 points) Critical Thinking (60 points) Chapters 3 and 4 (pp. 160-172) in Database Processing Discussion (25 points) Mastery (10 points) Critical Thinking (60 points) Chapters 9, 11, & 12 in Database Processing Discussion (25 points) Mastery (20 points) Portfolio (350 points) 1 2 3 4 Assignments 5 6 7 8 Assignment Details This course includes the following assignments/projects: Module 1 Critical Thinking Activity: RDBMS Comparison Paper (50 points) Compare the capabilities of the Microsoft Access, Microsoft SQL Server, Oracle’s MySQL, and Oracle relational database management systems (RDBMSs). Your paper should discuss the processing speeds, data storage capabilities, maximum users supported, platforms supported, user interfaces, development tools, vendor support, and cost. Discuss and cite at least two references in addition to our textbook. Your paper should be 3-5 pages in length (excluding title and References pages), well written, and formatted in conformity with CSU-Global guidelines for APA style. Module 2 Critical Thinking Activity: Creating Tables with Microsoft Access (60 points) Create an Access database with two tables using the graphical capabilities of the product (vs. SQL). One table is called STUDENTS and has fields for Student_ID, Last_Name, First_Name, Major, DOB (i.e., date of birth), Zip_Code, and GPA. The other table is called ZIP_CODES and has fields of Zip_Code, City, and State. Use appropriate Access data types for all fields. Ensure both tables have primary keys and there is a foreign key in the STUDENTS table referencing the Zip_Code field in the ZIP_CODES table. Populate each table with two records, ensuring that each student has a zip code that matches a value in the ZIP_CODES table. Develop a query that shows the Student IDs of both students along with their last names, first names, date of birth, GPAs, zip codes, cities, and states. Submit the following screen snapshots, in this order and appropriately labeled, in a single Word file: 1. 2. 3. 4. 5. 6. Relationships View showing both related tables Table Design Views of both tables Datasheet Views of both tables showing the two records Query Design View of your query SQL View of your query Datasheet View of the query results At the top of your Word file, include the title of this Critical Thinking assignment, your name, and the date. Screen snapshots can be made by hitting the PrtScrn button on the keyboard and then pasting the captured image into Word. You can use Alt-PrtScrn to capture a single window of interest vs. the entire display on the monitor. Module 3 Critical Thinking Activity: Relational Database Design (60 points) You are tasked to develop a database design for a retail company that involves shipping orders to customers. Order data includes an order date, a ship date, the one or more items on each order identified by a unique ID, the quantities of each item in the order, the order amount (total per item and per order), and the customer to whom the order is shipped. Customer data includes a unique customer ID, customer name, and address. Items in the inventory have a unique item ID, description, and unit cost. Identify and describe each entity for this application and the attributes of each entity. Develop relationship sentence pairs for each pair of related entities. Develop a Visio ERD using crow’s feet notation based on your relationship sentence pairs. Submit the following screen snapshots, in this order and appropriately labeled, in a single Word file: 1) Your entity descriptions and the attributes for each entity 2) Your relationship sentence pairs 3) Your Visio ERD (take a screen snapshot from Visio and paste into your Word file) At the top of your Word file include the title of this Critical Thinking assignment, your name, and the date. Screen snapshots can be made by hitting the PrtScrn button on the keyboard and then pasting the captured image into Word. You can use Alt-PrtScrn to capture a single window of interest vs. the entire display on the monitor. Module 5 Critical Thinking Activity: Creating, Populating, and Querying Tables (60 points) Using your ERD from the Module 3 CT assignment, along with any design changes you wish to make, develop a spreadsheet of table specification metadata, in the format presented in Module 4, for the design of physical relational database tables, their columns, and necessary integrity constraints. Then, based on your table specification metadata and using your selected RDBMS from Module 4 (i.e., SQL Server, Oracle, or MySQL) and DDL SQL (i.e. CREATE TABLE, DROP TABLE, and ALTER TABLE statements), develop an SQL script file to create the corresponding relational database tables. Then, using an SQL script file of DML SQL INSERT statements, populate each table with two rows of data. Finally, using an SQL script file of SQL SELECT Oracle statements, perform queries to display all data in each table. Submit your Excel spreadsheet of table specification metadata. Submit the following outputs of your SQL script file processing, in this order and appropriately labeled, in a single Word file: 1) Your DDL SQL and results used to create your tables 2) Your DML SQL INSERT statements and results used to populate your tables 3) Your SQL SELECT statements and results showing the contents of each table At the top of your Word file include your name, and the date. Module 6 Critical Thinking Activity: Creating, Populating, and Querying Tables (60 points) Enhance your Module 5 CT database table structures, via your selected RDBMS, as you wish. Then, using SQL and an SQL script file, add at least 5 more rows of data to each of your tables. Then, using SQL and an SQL script file, create and execute advanced queries of your choice that demonstrate each of the following: a) b) c) d) The use of a GROUP BY clause, with a HAVING clause, and one or more group functions The use of UNION operator The use of a subquery The use of an outer join Then create and execute at least one SQL UPDATE and at least one SQL DELETE query. Finally, create and use an SQL view and in a SELECT query. Submit the following outputs of your SQL script file processing, in this order and appropriately labeled, in a single Word file: 1) 2) 3) 4) The SQL and results of your INSERT statements to further populate your tables The SQL and results of your 4 advanced SELECT queries The SQL and results of your UPDATE and DELETE queries The SQL and results of your view creation and its use in a SELECT query At the top of your Word file include your name, and the date. Module 7 Critical Thinking Activity: Normalization Exercise (60 points) Examine the following relation and answer the following questions. Assume these are the values that exist for all time (e.g., the toys shown always cost the amount shown) and that boys with the same name are the same person. BOY GROUP AGE TOY CATEGORY PRICE Charlie Jimmy Robert Jimmy Jimmy Charlie Stewart 1. 2. 3. 4. 5. 6 year olds 5 year olds 6 year olds 5 year olds 5 year olds 6 year olds 5 year olds 6 5 6 5 5 6 5 Soccer ball Hammer Tools Baseball Sports Soccer ball Wrench Baseball Sports Oracle Sports Sports Tools Computer Software 18.44 7.99 8.99 18.44 6.99 8.99 399.99 Is this relation in at least 1NF? Why or why not? Assuming the values shown are the only possible tuples for all time, what is the primary key of the initial relation? Remember that a primary key must be unique and not null. What normal form is this relation currently in? Describe the specific modification anomalies that exist if we DELETE the tuple containing Stewart. If necessary, decompose the initial relation into a set of non-loss 3NF relations by showing the relations, attributes, and tuples. Show complete relations with attribute headings and all data values in the tuples of your relations. Determine the number of 3NF relations you end up with after normalization, write this number, and then circle the number. At the top of your Word file include your name, and the date. Module 8 Portfolio Project (350 Points) You are a database consultant with Ace Software, Inc., and have been assigned to develop a database for the Mom and Pop Johnson video store in town. Mom and Pop have been keeping their records of videos and DVDs purchased from distributors and rented to customers in stacks of invoices and piles of rental forms for years. They have finally decided to automate their record keeping with a relational database. You sit down with Mom and Pop to discuss their business, and watch their operation for about a week. You discover quickly that a video and a DVD are both copies of a movie kept in a separate plastic case that is rented out. They have several copies of each movie they rent, therefore there are several videos and DVDs for each movie title. You learn that in their inventory they have several thousand videos and DVDs, which they get wholesale from about a half dozen distributors. The video and DVD prices to them are based on the quantity of their shipment and the past business they have done with each company. The price of a DVD for a movie might be different than the price of a video for the same movie, even from the same distributor. Each distributor provides different types of movies (e.g., suspense, horror, mystery, comedy, etc.). A single distributor may provide several different types of movies in both video and DVD format. It is possible to obtain the same movie from multiple distributors and at different wholesale prices. Each video and DVD has a unique identification number that Mom and Pop assign in their inventory, in addition to the distributor's serial number for the item. Each movie also has a unique identification number Mom and Pop assign in addition to the title and any movie IDs the distributors use in their electronic catalogs. Distributors provide electronic catalogs to Mom and Pop, and the information from these catalogs must be included in the database. Mom and Pop need to record when a video or DVD is rented, when a video or DVD is returned, and all customer charges such as late and damaged fees, failure to rewind fees, and taxes. They need a report of which videos are returned late because there are standard and late charges. On occasion there are discount prices for certain movies or types of movies. Customers want to rent movies based on actors or actresses, running length, type of movie, rating, year released, the director, and the Academy Awards won (by the movie, the actors, the actresses and/or the directors). Customers also want to know how many videos they have rented in the last month, year, and so forth. Mom and Pop need to keep only basic information on customers in their database, such as name, address, telephone numbers, etc. There must be no limit to the number of video and/or DVD copies of a movie that Mom and Pop can have in their inventory. Video/DVD ID numbers, movie ID numbers, and distributor ID numbers for videos, DVDs, and movies are all different. Also, each movie must be able to have an unlimited number of actors, actresses, directors, and Academy Awards (i.e., Oscars). Other types of awards (e.g., Golden Globe, People's Choice, etc.) are not of interest for this application. The rental of equipment, sale of videos, DVDs, popcorn, etc., is not to be kept in the database. 1. 2. 3. 4. 5. 6. 7. Identify and describe the entities and their attributes. Develop relationship sentence pairs. Draw an ERD with Visio. Develop metadata from the ERD and document in an Excel spreadsheet. Using your selected RDBMS (SQL Server, Oracle, or MySQL), develop and execute an SQL script file of DDL SQL to create the database tables in the metadata document. Using your selected RDBMS, develop and execute an SQL script file of DML SQL INSERT statements to populate the tables using SQL INSERT statements for at least 5 rows of data per table. Using your selected RDBMS develop and execute an SQL script file to: a) Show the contents of all tables b) Retrieve all of the customers' names, account numbers, and addresses (street and zip code only), sorted by account number c) Retrieve all of the DVDs rented in the last 30 days and sort in chronological rental date order d) Update a customer name to change their maiden names to married names. You can choose which row to update. Make sure that you use the primary key column in your WHERE clause to affect only a specific row. e) Delete a specific customer from the database. You can choose which row to delete. Make sure that you use the primary key column in your WHERE clause to affect only a specific row. The metadata should be submitted in an Excel spreadsheet. All other outputs for the database design, SQL code, and SQL results should be submitted in a single Word file in order, by step, and clearly labeled. The Word file should also have a preface describing the database life cycle steps and methodologies and a conclusion section containing lessons learned from the course. The paper should be well written and formatted in conformity with CSU-Global Guidelines for APA Style. This assignment is due at the end of Week 8. Course Policies Course Grading 20% Discussion Participation 10% Mastery Exercises 35% Critical Thinking Activities 35% Final Portfolio Paper Grading Scale and Policies A 95.0 – 100 A- 90.0 – 94.9 B+ 86.7 – 89.9 B 83.3 – 86.6 B- 80.0 – 83.2 C+ 75.0 – 79.9 C 70.0 – 74.9 D 60.0 – 69.9 F 59.9 or below In-Classroom Policies For information on late work and Incomplete grade policies, please refer to our In-Classroom Student Policies and Guidelines or the Academic Catalog for comprehensive documentation of CSU-Global institutional policies. Academic Integrity Students must assume responsibility for maintaining honesty in all work submitted for credit and in any other work designated by the instructor of the course. Academic dishonesty includes cheating, fabrication, facilitating academic dishonesty, plagiarism, reusing /re-purposing your own work (see CSU-Global Guide to Writing and APA Requirements for percentage of repurposed work that can be used in an assignment), unauthorized possession of academic materials, and unauthorized collaboration. The CSU-Global Library provides information on how students can avoid plagiarism by understanding what it is and how to use the Library and Internet resources. Citing Sources with APA Style All students are expected to follow the CSU-Global Guide to Writing and APA Requirements when citing in APA (based on the APA Style Manual, 6th edition) for all assignments. For details on CSU-Global APA style, please review the APA resources within the CSU-Global Library under the “APA Guide & Resources” link. A link to this document should also be provided within most assignment descriptions on your course’s Assignments page. Netiquette Respect the diversity of opinions among the instructor and classmates and engage with them in a courteous, respectful, and professional manner. All posts and classroom communication must be conducted in accordance with the student code of conduct. Think before you push the Send button. Did you say just what you meant? How will the person on the other end read the words? Maintain an environment free of harassment, stalking, threats, abuse, insults or humiliation toward the instructor and classmates. This includes, but is not limited to, demeaning written or oral comments of an ethnic, religious, age, disability, sexist (or sexual orientation), or racist nature; and the unwanted sexual advances or intimidations by email, or on discussion boards and other postings within or connected to the online classroom. If you have concerns about something that has been said, please let your instructor know.