Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Computer Science 312 Database Systems Spring 2014 INSTRUCTOR Dr. Martin Q. Zhao 201 B Computer Science Building Phone: 301-2425 Email: [email protected] OFFICE HOURS Monday, Wednesday, and Friday Tuesday and Thursday 3:00 - 4:00 PM 11:00 - 12:00 PM Please feel free to drop in my office when the door is open. We can also set up an appointment to fit your schedule and mine. TEXT Database System Concepts, Sixth Edition by Silberschatz, Korth, and Sudarshan Chapters discussed in class are listed in the tentative class schedule section. I will often assign reading and base my lectures on the assumption that you have already read it. COURSE DESCRIPTION The objectives of this course are defined as follows: A study of both logical and physical organization of computer database systems, including DBMS languages, architecture, and interfaces, data modeling, integrity, and security. Emphasis will be placed on relational models, languages, and systems. This particular offering adopts an application-oriented approach, trying to balance the coverage of principles underlying the design and implementation of databases and of the applications of such principles in transactional systems. The following topics will be presented in three parts, each focuses on one or more important aspects of a database application: 1 Part I – Relational Databases: including introduction to RDBMS, relational model, SQL, and a brief introduction to relational algebra. Part II – Database design: including ER modeling, normal forms and normalization, DB application design and development, as well as selected advanced SQL features. Part III – Application design, data storage and file structure, indexes, query processing cost, social impacts of DB and data mining applications. An exam will be given at the end of each part. Popular RDBMS products (such as Oracle, MySQL, SQL Server, and Access) will be used to let the students to build basic skills and apply them to develop simple database applications by themselves. PREREQUISTITE CSC 245 Programming experience using a high-level computer language, such as C/C++, Java. GRADING POLICIES This course will consist of 1000 points, which can be earned by you in the following manner: Project Homework assignments Exams (3 at 100 points each) Comprehensive final Quick quizzes 250 points 240 points 300 points 150 points 60 points Grade in this course will be assigned using the scale: 900 or higher 870-899 800-869 770-799 700-769 600-699 Lower than 600 A B+ B C+ C D F QUICK QUIZZES Six to eight times during the semester, I will begin the class with a short quiz that is no about 5 minutes to ensure you keep up with the class material and the assigned reading. Each quiz will worth 10 points. You may accumulate at most 60 points from 6 best of these quizzes. There will be no make-up quizzes. 2 HOMEWORK ASSIGNMENTS There will be six to eight homework assignments throughout the semester, with each worth 30 to 40 points. Most of the problems will be selected from the Exercises section at the end of chapters just covered. They will provide opportunities for you apply the theories discussed in class by yourself. Many questions in the exams will be similar to what you practice in these assignments. You are encouraged to bring questions about homework or other interested topics that are related to the class materials to the catch-up sessions or my office hours for discussion. But you are supposed to finish homework individually. PROJECT There will be a team project that will engage your and your teammates to apply the theories and skills just learned from class to design and implement a database application. Candidate project topics will be given in class for you to choose from and teams are formed based on mutual interests among students in class. You may also propose topics, which may be from a real-world scenario or purely artificial. You may invite some of your classmates to join your team after receiving my approval. A set of general requirements and score breakdown are shown below, while more detailed specifications will be handed out to class when needed. Project spec and data models Database schema and implementation Loading data and adding constraints/triggers Application programs that interact with DB Documentation, presentation, and system demo 50 points 50 points 40 points 50 points 60 points A simple interface that can interact with your database is required for a success project. The techniques needed for this aspect (such as JDBC) will be discussed in class, as well as fundamentals of using a RDBMS (such as Oracle). LATE ASSIGNMENTS Assignments are usually due at the beginning of class, unless otherwise stated. Late assignments will be accepted at a penalty of 10% per calendar day (or portion of a day) late. EXAMS AND FINAL An exam will be given at the end of each part, which just covers the contents covered in the specific part. A comprehensive final exam will be given at the end of the course, which may reuse questions very similar to those appeared in end-of-part exams. There will be no make-up exams. The percentage of points made on contents covered in the correpsonding part will be used to estimate points for a missed exam. 3 TENTATIVE CLASS SCHEDULE See the class calendar for the tentative test dates and due dates of assignments. CLASS ATTENDANCY You will not gain (or lose) points for attending (or missing) class. However you may lose points for missing a quiz or materials discussed in class but not in the text. Class attendance is a very good idea. ACADEMIC HONESTY It is considered a violation of the honor code to collaborate on any assignments other than the team project. REASONABLE ACCOMODATION Students with a documented disability should inform the instructor at the close of the first class meeting. The instructor will refer you to the office of Student Support Services (SSS) for consultation regarding evaluation, documentation of your disability, and recommendations for accommodation, if needed. Students will receive from SSS the Faculty Accommodation Form. On this form SSS will identify reasonable accommodations for this class. The form must be given to the course instructor for signature and then returned to SSS. To take full advantage of disability services, it is recommended that students contact the Office of Student Support Services, immediately. The office is located on the third floor of the Connell Student Center. 4 CSC 312 Class Calendar Spring 2014 Week 1 1/6 2 1/13 3 1/20 4 1/27 5 2/3 6 2/10 7 2/17 8 2/24 9 3/3 9 3/10 11 3/17 12 3/24 13 3/31 14 4/7 15 4/14 16 4/21 17 4/28 Monday Course intro Wednesday Intro to DB (ch 1) Friday Case study – 1 Relational model (ch 2) Intro to SQL (3.1 - .3) MLK Day Case study – 2 More on joins (4.1) Views and subqueries (4.2 and 3.8) Catch-up & review Join and set operations (3.4 .5) Aggregation and DML (3.6, .7, and .9) Constraints and assertions (4.4) Exam I Authorization (4.6) JDBC (5.1) Catch up Functions, procedures, triggers (5.2 - .3) ERM basics Relational algebra (6.1) Case study - 3 Project Conversion to relational schema Functional dependency Normalization Catch up Project Catch up & review Exam II Application design Case study - 4 Disk physics File organization Buffer Indexing B+ tree Query cost Transaction Social impacts Catch up and review Exam III Good Friday Wrap up Final Project wrap up Spring Break Final presentation Sat, 5/3, 2 – 5 pm 5