COSC 471/571     Database Principles/DBMS Dsgn     FALL 2018

Course communication
  1. Course home page -- emunix.emich.edu/~haynes/471/fa18
Instructor: Professor Susan Haynes
  1. Home page: http://emunix.emich.edu/~haynes
  2. Office: 511E Pray-Harrold
  3. Email: shaynes @ emich.edu


Required Textbook: Ricardo & Urban, Databases Illuminated, Third Edition

Catalog Description: A technical review of the theory and principles of database design and organization. The concepts and structures necessary to design and implement a database management system. Network, hierarchical and relational database models. Data normalization, data description languages, query languages, data integrity and security.

    Goals :
  1. Realize the benefits of databases and database management systems (DBMS), as opposed to file-systems and other textual management systems.
  2. Comprehend the physical storage of data in storage structures, such as, file structures, hash tables, and indexes.
  3. Compare and understand the importance of the different levels of data representation: conceptual, logical, physical.
  4. Can understand user's database requirements and map it into a conceptual data model: Entity Relationship (ER), Extended Entity Relationship (EER), Unified Modeling Language (UML)
  5. Comprehend the theoretical foundations of relational data model.
  6. Forward engineer a conceptual database design into a logical design, such as a relational schema. Also, be able to reverse engineer a relational schema into a conceptual design.
  7. Can create a database using data definition language statements.
  8. Knowledge and practice of good database design principles; use of normalization to address redundancy and anomalies, in databases; use of denormalization to improve performance
  9. Can query a database to retrieve information or update information using relational algebra, relational calculus, SQL.
  10. Beginning understanding of NoSQL
  11. Beginning understanding of semi-structured data.

Grading:

Quizzes, Homework 30%
Projects 30%
Midterm 20%
Final Exam (cumulative) 20%
Note: The most significant difference between homework and project is that a project will involve more design and creativity. Both homework and project will involve programming.

Assignment of grades:

  1. 91 - 100% A range
  2. 81 - 90% B range
  3. 71 - 80% C range
  4. 61 - 70% D range



Academic Honesty: I expect you to behave according to the highest possible ethical standards. If you claim anyone else's work as your own, or if you allow someone else to claim your work, you will receive an E in this class. Additionally, I will report your name to the Dean of Students for possible expulsion. Warning: the Internet is seductive; there is a lot of publicly accessible material out there. I will tell you when and how it will be acceptable to cannibalize code for a project. It is never acceptable to cannibalize text (e.g., for a paper). Do not plagiarize! Theft is beneath you.



Caveat: This syllabus and the course outline will be changed as I deem pedagogically necessary or preferable. I will publish written changes to the syllabus. Such a change may require a change in grading rubric.