Advanced Organization and Implementation of Database Systems

advertisement
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.
Download