关键词 > CS4163/6523
CS 4163/6523: Introduction to Database Systems
发布时间:2021-09-06
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
CS 4163/6523: Introduction to Database Systems
Prerequisites: CS 2123 (Data Structures) and CS 3013 (Discrete Mathematics). Students should also have good programming skill in some object-oriented language.
Other references: Students may also find the following references useful for additional examples:
● Thomas Connolly & Carolyn Begg, Database Systems: A Practical Approach to Design, Implementation, and Management, (6th Edition), 2015.
● Michael Kifer, Arthur Bernstein, & Philip M. Lewis, Database Systems: An Application-Oriented Approach (Second Edition), Addison-Wesley, 2006.
Class meetings and computer requirement for exams
Classes will meet on Harvey using Collaborate. We will also utilize Harvey for sharing pre-recorded lecture videos, lecture slides, and for homework, project, and quiz submissions. You must be able to remotely connect to Harvey for accessing and completing assignments, quizzes and tests as well as participate in any synchronous online sessions using Collaborate. Latest version of Lockdown Browser and Respondus Monitor must be downloaded and used for taking in-class and final exams. Note that this requires that your computer must have a microphone and webcam installed and functioning properly.
Students are required to review the pre-recorded lecture videos and lecture slides before joining synchronous class sessions. Class time will be used primarily to answer questions about the lectures, for additional problem solving, and for administering in-class quizzes at the instructor’s discretion. Class attendance is required.
If needed, we might use a part-time TA for the course who would be available to meet for a couple of hours a week. The preferred mode for meeting the TA should be online, but in-person meetings can be arranged (see section on “COVID-19 related policies” for more details).
Course Objectives
This course will provide a thorough introduction to the theory and practice of database systems. The emphasis will be on theoretical considerations involved in modeling and representing data and in designing easy to use, reliable and efficient database management systems. The course also covers practical aspects of query languages and optimization, transaction processing, concurrency control and recovery techniques as well as embedding structured queries in high-level language. Students will also use widely used database management system for multiple projects.
CS Objectives: This course will improve the following capabilities for the students:
● An ability to analyze a problem, and identify and define the computing requirements appro-priate to its solution.
● An ability to use current techniques, skills, and tools necessary for computing practice.
● An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
Student Learning Outcomes
Upon successfully completing this course, a student is expected to possess the following capabilities:
● Develop Enhanced Entity-Relationship (EER) Models from user specifications
● Translate EER models to Relational Schemas and associated constraints
● Query relational models with Relational Algebra and Relational Calculus
● Implement relational schemas into relational databases, query populated databases with SQL, use views and triggers
● Use heuristics to optimize SQL queries
● Perform Database Programming with Function Calls and Class Libraries
● Evaluate the quality of database design using the concepts of functional dependencies and normal forms
● Synthesize effective database designs given functional dependencies constraints
● Understand ACID proerties of transactions and characterize transaction schedules based on serializability and recoverability
● Apply locking and timestamp based concurrency control techniques
● Apply deferred and immediate update protocol based recovery from failure techniques
● Understand the characteristics of NOSQL systems and the CAP theorem
● Understand basic data mining concepts including association rule mining
● Understand basic database security issues including discretionary and mandatory access con-trol mechanisms.
COVID-19 related policies
We will share all course material through Harvey and class discussions, instructor office hours, exams, etc. will be held on Harvey or Microsoft Teams. In-person meetings are not anticipated. The following statement is being included as a required staement from the university: Students should download the Daily Wellness Check by Microsoft Power Apps and use it daily to report any symptoms that may be related to COVID-19 or a possible exposure to COVID-19. You must complete the Daily Wellness Check and receive clearance to come to campus prior to attending this class. If you are not cleared to come to class, stay in your residence, call Alexander Health CEnter for next steps, and e-mail to let me know you will not be able to attend class. If, for any unforeseen reason, you want to meet in person with the part-time TA for the course, you must complete the Daily Wellness Check and receive clearance to come to campus on the day of the meeting and must wear mask during the meeting.
Course Content & Schedule
We will be covering parts of Chapters 1–10, 14–15, 19–22, 24–25 and 28 from the textbook.
The following schedule lists the topics to be covered in each class:
Week 1
Lecture 1: Course Introduction, Databases (DB) and Database Management Systems (DBMS), DB Architectures, Data Modeling
Lecture 2: Entity-Relationship (ER) Models
Week 2
Lecture 3: Enhanced ER (EER) Models
Lecture 4: Relational Data Model & Relational Database Constraints
Week 3
Lecture 5: Mapping from ER and EER to Relational Data Models
Lecture 6: Formal Query Language for Relational Data Models: Relational Algebra
Week 4
Lecture 7: Formal Query Language for Relational Data Models: Relational Calculus; QB2
Lecture 8: Relational Database Specification with SQL DDL; Simple SQL Queries
Week 5
Lecture 9: Advanced SQL Queries Lecture 10: More SQL Queries; Views, Triggers, Assertions; Schema Modification With SQL
Week 6
Exam 1 review; Exam 1
Week 7
Lecture 11: Heuristic Query Optimization; Database Programming Techniques: JDBC
Lecture 12: Functional Dependencies (FDs); Guidelines for Relational Database Schema Design
Week 8
Lecture 13: Normal Forms: 1NF, 2NF, 3NF
Lecture 14: Normal Forms: BCNF; Inference Rules for FDs and Minimal Cover
Week 9
Lecture 15: Dependency Preservation (DP) & Lossless Join (LJ) Checks; Relational DB Synthesis: DP & LJ 3NF, LJ BCNF
Lecture 16: Transaction Processing Concepts
Week 10
Exam 2 review; Exam 2
Week 11
Lecture 17: Characterizing Transaction Schedules Based On Recoverability & Serializability
Lecture 18: Concurrency Control: Two-Phase Locking
Week 12
Lecture 19: Avoiding/Resolving Deadlocks and Starvation, Concurrency Control with Timestamps
Lecture 20: DB Recovery Techniques
Week 13
Lecture 21: NOSQL Databases, CAP Theorem; Data Mining Concepts: Association Rule Mining
Lecture 22: DB Security
Week 14
Exam 3
Finals review
Final Exam
Evaluation
The approximate breakdown of grades for the course is as follows:
Homeworks 20%
Projects 15%
Quizzes 15%
In-class Exams 30%
Final 20%
—-
Total 100%
Graduate students will be assigned an extra assignment worth 5% of the course grade.
Important Dates:
Exam 1 (tentative) . . . . . . . . . . . . . . . . Thursday, Sep 30
Exam 2 (tentative) . . . . . . . . . . . . . . . . .Thursday, Oct 28
Exam 3 (tentative) . . . . . . . . . . . . . . . . . .Tuesday, Nov 30
Finals Exam . . . . . . . . December 16, Thursday, 9–11:25am
Class policies
Refer to the Class meetings and computer requirement for exams for basic class policies. Students are urged to contact the instructor in case of any difficulty with the course material, homeworks, etc. Students are also encouraged to study together and discuss concepts covered in the course. However, all assigned homeworks and projects must be performed individually; no collaboration is allowed. It is strongly recommended that you contact the instructor, and not other students, in case you need any clarifications on assignments. Late submissions for homeworks and projects will be accepted for up to 3 days with a 25% penalty.
Programming assignments will require use of a DBMS hosted on the ENS server.
Make-up examinations will not be given unless a valid and excused absence (e.g., a university sponsored event or trip or a serious illness) is documented and approved by the Student Success office. The student should contact the instructor before missing an examination. If a make-up examination is approved, it should be taken as soon after the exam date as possible.
Academic Misconduct: Students are expected to act in accordance with all department, college and university policies. The academic misconduct policy of TU for undergraduate and graduate students will apply. All examinations are closed book, unless otherwise noted, and must reflect individual effort. Students can discuss the general concepts underlying a programming assignment, but at no point of time should you look at or help with another student’s code! Submitted code must be your own work. We plan to run plagiarism detection software on submitted assignments. Programs that are flagged by the software or raise “red flags” will result in a range of penalties, depending on the nature of violation, will be penalized and further actions may be taken. The penalties and actions range from at the minimum assigning zero credit, to dropping a grade in the course, to being assigned an ‘F’ grade for the course, to the involved student being reported to university authorities which might result in dismissal from the university. Academic dishonesty is a serious offense which undermines quality of education and the reputation of our university and will not be tolerated.
Rules and conduct for using computers: The following rules govern the proper use of comput-ers and related resources at The University of Tulsa. Violation of such rules constitutes academic misconduct. Penalties may range from reduction of course grade to failing the course to dismissal from the university.
1. The computer account allocated to you is to be used only by you and only for assigned course work at TU.
2. Logging in, running programs under, accessing or using information in computers or computer accounts other than those assigned to you constitutes academic misconduct and is strictly prohibited.
3. Giving your account number and password to anyone else constitutes academic misconduct and is strictly forbidden.
4. Reading, copying, modifying or deleting files created by other people is not allowed.
5. Lecture slides, videos, programs and data supplied by an instructor for use in courses remain the property of the instructor and/or The University of Tulsa. These items may not be copied or reused without the express consent of the instructor.
Student Success Team statement: All students are encouraged to familiarize themselves with and take advantage of services provided by The Student Success Team, including Student Access, Student Success Coaching, and tutoring. To request a student success coach to improve study skills, email [email protected]. To request a tutor, email [email protected].
Student Access statement: Students who have or believe they may have a disability and would like to set up accommodations should contact Student Access within the Student Success Team to discuss their needs and facilitate their rights under the Americans with Disabilities Act and related laws. Student Access provides private consultations to any student. Contact Student Access staff by email at [email protected] or by phone at 918-631-2315. The online application for accommodations may be obtained here. Student Access staff will assist students in the implemen-tation of approved accommodations. Students who qualify for accommodations should meet with the instructor privately (during office hours or by appointment) as soon as possible to arrange for their needs and obtain support for the class.