Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
19 views

Advanced Database Course Sylibus - Edited

Uploaded by

Daniel Melkamu
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Advanced Database Course Sylibus - Edited

Uploaded by

Daniel Melkamu
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

University of

College of Informatics
Gondar

Department: Computer Science


Module Title: Database Module Code: CoSc-M2061
Systems
Module ECTS: 12
Course Tile: Advanced Course Code: CoSc2042
Database
systems
Instructor Name: Course ECTS: 6

Instructor’s Contact Information: Course Information:


Office –T-09, 203 Academic Year:
Phone: Year: II
Email: Semester: II
Misganaw.Abeje13@gmail.com Meeting day: Tuesday & Thursday
Office Hours: Meeting time: 4:00-6:00(LT)
Meeting location: E2

1. Course Description:
This course deals with, query optimization, transaction management, recovery, and
concurrency control, database authorization and security. Additional topics including,
object-oriented and object-relational database system, distributed databases, databases,
and integration may also be covered. A major component of the course is a database
implementation project using current database languages and systems.

2. Course Goals or Learning Outcomes:


By the end of this course, students will be able to:

● Describe the main concepts of the OO model such as object identity, type
constructors, encapsulation inheritance, polymorphism, and versioning
● Evaluate a set of query processing strategies and select the optimal strategy.
Know the basics of transaction management and concurrency control
● Understand database security
● Use different recovery methods when there is a database failure
● Design a distributed database system in homogeneous and heterogeneous
environments

3. Prerequisites: Fundamentals of Database Systems(CoSc2071)


4. Reference
Textbook:
● Ramez Elmasri and Shamkant B. Navathe (2000) Fundamentals of Database
Systems, 3rd edition.
Reference books:
● Massachusetts Addison-Wesley C. J. Date (2000) An Introduction to Database
Systems. Massachusetts: Addison Wesley
● Ramakrishna, Raghu & Johannes Gehrke (2000) Database Management Systems,
2nd edition. McGraw Hill
● Shepherd John C. (1990) Database Management: Theory and Practice. Boston:
● IRWIN
● Database Management Systems, 2/e. Raghu Ramakrishna & Johannes Gehrke ,
McGraxv-Hill, 1998.
● Database System Concepts 3/e. Abraham Silberschatz Heriy F Korth & S.
Sudarshan, McGraw-Hill,1997.
● A First Course in Database Systems, Jeffrey Ullman & Jennifer Widom, Prentice-
Hall, 1997.
● Database System Implementation, Hector Garcia-Molina, Jeffrey Ullman &
Jennifer Widom, Prentice-Hall, 2000.
● Readings in Database Systems, Michael Stonebraker & Joe Hellerstein,
eds, Morgan-Kaufmann, 1998

5. Summary of Teaching Learning Methods:


The learning–teaching methodology will be student-centered with the appropriate
guidance of instructor/s during the students' activities. There will be Lecture,
Demonstrations, Lab work Tutorials, Reading assignments and Group Discussions
6. Summary of Assessment Methods:
The course will be assessed using the different assessment methods like Quizzes,
Reading assessments, Assignments, Project, Mid exam and Final exam
7. Assignments:
There will be two assignments which will be scrutinized meticulously and graded.
Further detail as to content, process, and timing will be provided in due course. Your
grade will be based on satisfactory completion of each of the assignments in a timely
manner, and the quality of work represented by those assignments. A checklist is
provided for each assignment. Assignments must be submitted on the due date given for a
particular assignment If not the student will be penalized 10% of the total mark of the
assignment. Assignments for the course will be 2 main types:
✔ Basic Concept Assignments - These may consist of handouts given by the instructor,
discussion forums, or selected questions out of your textbook.
✔ Projects - These consist of activities for directly applying and integrating the
concepts presented in the course. In some cases, you will be given a case scenario to
use in the development of the project. These projects will require you to use critical
thinking skills, logical analysis, and creativity. They may be individual or group
projects.

8. Student Workload: Taking into consideration that 1ECTS accounts for 27 hours of student
work, the course Fundamentals of Database Systems has 6*27hr=162 hrs the split up is as shown
below:-:
Lecture 48
Tutorials 16
Lab work 48
Home study 50
Total 162
9. Policies:
Grading policies
✔ Student grade and performance will be evaluated as the whole activities (tests(30%)+lab
exam/ project (20%)+ final exam(50%))=total(100%).

Considering activities grading:


The final score will be converted to a letter grade using the following scale:
[Grade scale to be referred....]
10. Schedule:

The following is an outline of the order in which syllabus contents will be covered. The exact
dates and due dates for assignments and exams can be found on the class calendar and are
subject to change with notice.

Date Topic Subtopic Reading


Week 1-2 Concepts for Object-Oriented Databases Ref-1 part 4
Chapter 11
● Overview of Object-Oriented Concepts
● Object Identity, Object Structure, and Type
Constructors
● Encapsulation of Operations, Methods, and Persistence
● Type Hierarchies and Inheritance

Week 3-4 Query processing and Optimization


● Translating SQL Queries into Relational Algebra Ref-1 part 8
● Basic Algorithms for Executing Query Operations Chapter 19
● Using Heuristic in Query Optimization
● Using Selectivity and Cost Estimates in Query
Optimization
● Semantic Query Optimization

Week 5-6 Transaction Processing Concepts


Ref-1 part 9
● Introduction
● Transaction and System Concepts Chapter 21
● Properties of Transaction
● Schedules and Recoverability
● Serializability of Schedules
● Transaction Support in SQL

Week 7-8 Concurrency Control Techniques


● Locking Techniques for Concurrency Control
● Concurrency Control Based ON Timestamp
Ordering
● Multisession Concurrency Control Techniques Ref-1 part 9
● Validation (Optimistic) Concurrency Control Chapter 22
Technique
● The granularity of Data Items and Multiple
Granularity Locking
● Using Locks for Concurrency Control in Indexes

Week 9-10 Database Recovery Techniques


● Recovery Concepts Ref-1 part 9
● Recovery Concepts Based on Deferred Update Chapter 23
● Recovery Concepts Based on Immediate Update
● Shadow Paging
● The ARIES Recovery Algorithm
● Recovery in Multi-database Systems

Week 11 Database Security and Authorization


Ref-1 part 10
● Introduction to DB Security Issues Chapter 24
● Discretionary Access Control Based on Granting
/Revoking of Privileges
● Mandatory Access Control for Multilevel Security
● Statistical DB Security

Week 12 Distributed Database System


Ref-1 part 10
● Distributed Database Concepts Chapter 24
● Data Fragmentation, Replication, and Allocation
Techniques for Distributed Database Design
● Types of Distributed Database Systems
● Query Processing in Distributed Databases

Laboratory Course Outline

Week 1: Introduction and Software Installation


1.1. (Microsoft SQL Server or Oracle DB)
Week 2: Objet-Oriented Database
1.1. Object Identity
1.2. Object Query Language (OQL)
Week 3: Query Processing and Optimization
1.1. Query Execution Plan
1.2. Query Optimization
Week 4: Transaction Management
1.3. Basic Syntax of Transactions
1.3.1. What are Transactions
1.3.2. Beginning Transaction
1.3.3. Committing or Rolling Back
1.3.4. Creating Named Transactions
Week 5: Transaction Management
1.4. Making Use of Transactions
1.4.1. Conditionally Committing or Rolling Back
1.4.2. Transactions with Error Handlers
Week 6: Transaction Management
1.4.3. Automatic Rollback
1.4.4. Nested Transactions
Week 7: Transaction Management
1.4.5. Using Save points
1.4.6. Transactions in Stored Procedures
Week 8: Concurrency Control Techniques
4.1. Locking
4.2. Timestamping
Week 9: Concurrency Control Techniques
4.3. Multi-version Concurrency Control
4.4. Locks for Indexes
Week 10: Database Recovery Techniques
5.1. Backup and Recovery Concepts
5.2. Backup
5.3. Recovery
Week 11: Database Security and Authorization
6.1. List the different Types of Accounts in SQL Server or Oracle DB
6.2. Explain the use of Server Roles
6.3. Demonstrate how to Grant and Deny Permissions
6.4. Describe Database Roles
6.5. Describe How to Work with Database Permissions
Week 12: Distributed Database
7.1. Distributed Database Concepts
7.2. Data Fragmentation
7.3. Replication
7.4. Allocation Techniques
7.5. Query Processing in Distributed Databases
Week 13: Triggers
8.1. Triggers
Week 14: Stored Procedures
8.2. Stored Procedures

You might also like