COSC 471/571 Database Principles/DBMS Dsgn FALL 2018
Course communication
- Course home page -- emunix.emich.edu/~haynes/471/fa18
Instructor: Professor Susan Haynes
- Home page: http://emunix.emich.edu/~haynes
- Office: 511E Pray-Harrold
- Email: shaynes @ emich.edu
Office Hours
- T R 2:30 - 5:00 pm pm
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 :
- Realize the benefits of databases and database management systems (DBMS), as opposed to file-systems and other textual management systems.
- Comprehend the physical storage of data in storage structures, such as, file structures, hash tables, and indexes.
- Compare and understand the importance of the different levels of data representation: conceptual, logical, physical.
- 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)
- Comprehend the theoretical foundations of relational data model.
- 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.
- Can create a database using data definition language statements.
- Knowledge and practice of good database design principles; use of normalization to address redundancy and anomalies,
in databases; use of denormalization to improve performance
- Can query a database to retrieve information or update information using relational algebra, relational calculus, SQL.
- Beginning understanding of NoSQL
- 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:
- 91 - 100% A range
- 81 - 90% B range
- 71 - 80% C range
- 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.