IONA School of Arts & Science Advanced Organization and Implementation of Database Systems CS 421 - EA Wednesday 6:30PM - 9:30PM Murphy Center 209 Professor: Dr. Smiljana Petrovic Office: Murphy Center, 1st Floor, 113-I Office hours: Monday 10:00-11:00am, 2:00-3:00pm Wednesday 4:30–6:30pm Additional hours are available by appointment. Computer Science Spring 2010 Phone: 914-633-2561 Email: spetrovic@iona.edu Course Description: Study of problems and techniques involved in the design and implementation of database systems. Topics include physical design consideration, performance analysis for database systems, recovery techniques, reorganization problems, logical design, query languages for relational databases, issues in design of distributed database systems. Course prerequisite: CS 321 Required Texts/Source Materials/Readings and References: Elmasri & Navathe, Fundamentals of Database Systems, 5/E, AddisonWesley (2007), ISBN-13: 9780321369574 or Catherine Ricardo, Databases Illuminated, Jones and Bartlett Publishers (2004), ISBN-13: 9780763733148 or or check with me if you used different book at your introductory DB course Sunderraman, Oracle 10g Programming: A Primer, Addison-Wesley (2008) ISBN-13: 9780321463043 Note: Sunderraman book is free if purchased in the Iona bookstore packaged with Elmasri book: ISBN-13: 9780321508126 Other readings (pdf files posted on the Blackboard): Oracle® Database Concepts, B10743-01 Oracle® Database: Application Developer's Guide, B14251-01 Oracle® Database: PL/SQL User's Guide and Reference, B14261-01 Required Software: Oracle Database 11g http://www.oracle.com/technology/software/products/database/index.html Learning Goals/Objectives: Course Objectives Implement a database system in a server-client environment Analyze physical data organization and indexing models Analyze query optimization techniques Analyze the concepts of database security Evaluate the social and ethical issues associated with data mining and warehousing CS Program Goals and Outcomes analyze a problem in computing develop models for the solution of a computing problem, use oral and written communication skills to convey technical information effectively and accurately use their interpersonal skills when working in a team environment analyze a problem in computing examine the efficiency of the design of a hardware and a software system analyze a problem in computing analyze the complexity and computability of algorithmic solutions analyze a problem in computing, use mathematical underpinnings of the discipline of computer science analyze the complexity and computability of algorithmic solutions recognize the ethical, legal and social implications of computing recognize the impact computing has on the global society recognize the need for continued professional and educational development Assessment Criteria/Tools: Assessment for this course is accomplished through direct and indirect measures. The direct measures are as follows. Assessment Tool Percentage of Final Grade Course Objectives Measured Project 30% 1 Midterm Exam 20% 2, 3, 4 Assignments 20% 2, 3, 4, 5 Final Exam 30% 2, 3, 4 Project: Students will design and implement a database application that uses backend database to store the data. Project requires use of advanced database tools and programming mechanisms (JDBC connectivity, XML, data mining, transaction management, stored procedures, triggers). Students will present their project orally. Projects will be developed in teams of 2-3 students. (Graduate students may choose to do projects individually.) A peer evaluation will be performed at the end of the project, and it will impact a student’s final project grade. Midterm Exam: Scheduled tests assess students’ comprehension of lecture material, computer applications and class discussions. Assignments: In several homework assignments, students will apply the concepts and techniques presented in the lectures. Students will also write an essay on a topic related to social and ethical issues associated with databases. Final Exam: The final exam is a cumulative assessment of the entire course experience. It is designed to provide a holistic view of the course for the students. Students enrolled for graduate credit will have to do additional and/or more difficult assignments and will be graded with more rigorous criteria in order to justify the receipt of graduate credit. Assignments and project milestone deliverables should be e-mailed and turned in hard copy at the start of class on the due date. Late work is subject to a 20% penalty for at most two weeks late submission (no submission will be accepted after that time.) The indirect measures consist of student and faculty evaluations done at the end of each semester. Students complete an online evaluation form that asks them to evaluate the extent to which the course has met each of its objectives. Each faculty member submits a spreadsheet indicating the extent to which each of the assessment tools met the desired course objectives. The results of these assessments are analyzed to identify problems. The department discusses the problems and suggests solutions to address the problems. Course Outline: Date 1/20 1/27 2/3 2/10 2/17 2/24 3/3 3/10 Lecture Topic Review of Relational Database Concepts Data Modeling Using the ER and EER Models ER and EER-to-Relational Mapping Schema Definition, Constraints, Queries, and Views Oracle SQL * Plus Object-Oriented and Object-Relational Databases Evolution of Data Models and Current Trends Object-Oriented Concepts Object Database Conceptual Design Object-Relational Features of SQL PL/SQL Programming PL/SQL Control Structures Collections and Records Cursors Procedures and Functions Triggers Built-in Packages Manipulating Objects Web Programming with PL/SQL. HTTP. Printing HTML Tables. Passing Parameters. Processing HTML Forms. PL/SQL Web Toolkit. JDBC Developing JDBC Applications. Nonquery SQL Statements Executing SQL Queries Errors Handling XML: Extensible Markup Language XML Hierarchical Data Model XML Documents, DTD, and XML Schema XML Documents and Databases XML Querying Oracle XML Physical Data Organization Disk Storage, Basic File Structures, and Hashing Indexing Structures for Files Types of Single-Level Ordered Indexes Multilevel Indexes Dynamic Multilevel Indexes Using B-Trees and B+-Trees Indexes on Multiple Keys Other Types of Indexes Algorithms for Query Processing and Optimization Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Algorithms for PROJECT and SET Operations Implementing Aggregate Operations Combining Operations Using Pipelining Using Heuristics in Query Optimization Using Selectivity and Cost Estimates in Query Optimization Overview of Query Optimization in Oracle Reference* Elmasri Parts I and II Elmasri Ch. 20, 21, 22 Sunderraman Ch. 2, 3 Oracle Application Developer's Guide PL/SQL User's Guide and Reference Sunderraman Ch. 4 Oracle® Database: Application Developer's Guide Sunderraman Ch. 5 Oracle® Database: Application Developer's Guide Elmasri Ch. 27 Sunderraman Ch. 8 Elmasri Ch. 13, 14 Elmasri Ch. 15 3/17 3/24 3/31 4/7 4/14 4/21 4/28 5/5 Spring Break Midterm exam Transaction Processing Desirable Properties of Transactions Characterizing Schedules Based on Recoverability Characterizing Schedules Based on Serializability Transaction Support in SQL Concurrency Control Techniques Two-Phase Locking Techniques for Concurrency Control Concurrency Control Based on Timestamp Ordering Multiversion Concurrency Control Techniques Validation (Optimistic) Concurrency Control Techniques Granularity of Data Items and Multiple Granularity Locking Using Locks for Concurrency Control in Indexes Other Concurrency Control Issues Database Recovery Techniques Recovery Concepts Recovery Techniques Based on Deferred Update Recovery Techniques Based on Immediate Update Shadow Paging The ARIES Recovery Algorithm Recovery in Multidatabase Systems Distributed Databases and Client-Server Architectures Distributed Database Concepts Data Fragmentation, Replication, and Allocation Techniques Types of Distributed Database Systems Query Processing in Distributed Databases Concurrency Control and Recovery in Distributed Databases Database Security Database Security Issues Access Controls Statistical Database Security Flow Control Encryption and Public Key Infrastructures Privacy Issues and Preservation Challenges of Database Security Projects Demonstrations Data Warehousing and Data Mining Problems and Open Issues Applications Social and Ethical issues Essay presentation Enhanced Data Models and Emerging Database Technologies and Applications Temporal Database Concepts Spatial and Multimedia Databases Deductive Databases Mobile Databases Geographic Information Systems Genome Data Management Final exam * or relevant chapters in other books Elmasri Ch. 17 Elmasri Ch. 18, 19 Elmasri Ch. 25 Elmasri Ch. 23 Elmasri Ch. 28, 29 Elmasri Ch. 24, 30 College Policy for all courses and students: (full explanations of policy may be found in the College Catalog) Plagiarism: Is the unauthorized use or close imitation of the language and thoughts of another author/person and the representation of them as one's own original work. Iona College policy stipulates that students may be failed for the assignment or course, with no option for resubmission or re-grading of said assignment. A second instance of plagiarism may result in dismissal from the College. Attendance: All students are required to attend all classes. Iona has an attendance policy for which all students are accountable. While class absence may be explained it is never excused. Professors may weigh class absence in the class grade as they see fit. Failure to attend class may result in a failure of the class for attendance(FA), when the student has missed 20% or more of the total class meetings. The FA grade weighs as an F would in the final official transcript. Course and Teacher Evaluation (CTE): Iona College now uses an on-line Course and Teacher Evaluation (CTE) system. All students are required to complete the CTE in every course in which they are enrolled. This system is administered by an outside company and all of the data is collected confidentially. No student name or information will be linked to any of your responses. The information collected will be compiled by the agency and distributed back to the Iona administration and faculty. Select information about courses and professors will also be made available to students. Your feedback in this process is an essential part of improving our course offerings and instructional effectiveness. We want and value your point of view.* NOTE* You will receive several emails at your Iona email account about how and when the CTE will be administered with instructions how to proceed. Special Announcement On Text Messaging: There is a zero tolerance policy for texting during class. It is disturbing, disrupting and disrespectful both to the instructor and to students as well. As per this policy, by texting in class, a student accepts the consequences of being dismissed from class and being marked absent for that day. There will be no first or second warnings. Immediate dismissal will follow.