140 likes | 491 Views
2. CS281: COMPUTERS AND DATA ORGANIZATION. Classes Section 1: Monday 10:40, 11:40; Thursday 9:40 (BZ08) Section 2: Monday 15:40; Thursday 13:40, 14:40 (BZ08)Section 3: Monday 9:40; Wednesday 10:40, 11:40??? ???(BZ08)Section 4: Monday 15:40; Thursday 13:40, 14:40????
E N D
1. CS281 1 CS281: COMPUTERS AND DATA ORGANIZATION
Bilkent University
Fall 2011
2. 2 CS281: COMPUTERS AND DATA ORGANIZATION Classes
Section 1: Monday 10:40, 11:40; Thursday 9:40 (BZ08)
Section 2: Monday 15:40; Thursday 13:40, 14:40 (BZ08)
Section 3: Monday 9:40; Wednesday 10:40, 11:40 (BZ08)
Section 4: Monday 15:40; Thursday 13:40, 14:40 (EE05)
Lab Hours
Section 1: Wednesday 13:40, 14:40 (EEE211)
Section 2: Wednesday 15:40, 16:40 (EEE211)
Section 3: Tuesday 15:40, 16:40 (EEE211)
Section 4: Thursday 15:40, 16:40 (B202)
Course Web Page
http://www.cs.bilkent.edu.tr/~oulusoy/cs281.html
Teaching Assistants
Erdem Sarigil, Oguz Yilmaz, Fethi Burak Sazoglu,
Saltuk Bugra Karakuzu
Textbook
Database Management Systems, 3rd Edition,
R. Ramakrishnan, J. Gehrke, Mc Graw Hill
3. 3 CS281: Course Objectives Understand the concepts underlying the design and implementation of database systems.
Establish a solid background in data organization, with a focus on relational database management systems.
Learn a relational query language (SQL) in detail for database programming.
Practice actual database design, implementation, and query formulation through a term project.
Develop teamwork and communication skills through the course project, which is implemented by a group of students.
4. 4 CS281: Course Outline Introduction to Conceptual Database Design
Entity-Relationship (ER) Model
Relational Data Model
Basics, integrity constraints, querying, logical database design: ER to relational, views.
Relational Algebra
Structured Query Language (SQL)
Basic form, set operations, nested queries, aggregate operators, more advanced features such as integrity constraints, table constraints, assertions, triggers.
5. 5 CS281: Course Outline (cont.) Query By Example (QBE)
Database Application Development and Internet Applications
Introduction to DB application development, JDBC, overview of Internet appications, 3 tier architectures, HTML forms, PHP.
Relational Database Design
Functional Dependency Theory
Attribute closure, FD set closure, 3NF, BCNF, decomposition lossless-join decomposition, dependency-preserving decomposition.
Normalization of Relations
Decomposition into 3NF, BCNF.
6. 6 CS281: Course Outline (cont.) Storage and Indexing
Tree-Structured Indexes (ISAM, B+Trees)
Hash-Based Indexes (Static, Entendible, Linear Hashing)
Transaction Processing
Properties of transactions, concurrent execution, schedules, transaction support in SQL, recoverability.
Concurrency Control
Serializability theory, two-phase locking, deadlock problem, timestamp-ordering, optimistic concurrency control.
7. 7 CS281: Course Assessment Term project (20%)
A database application is developed to practice actual database design, implementation, and query formulation.
Each project group, consisting of 5-6 students, is assigned a project topic.
Potential project topics include banking enterprise, house/car insurance agency, health center data management system, book/cd/dvd store management system, cargo transportation company, airline reservation system, e-store applications, etc.
The project has 2 major stages (design, implementation) and a demo.
8. 8 CS281: Course Assessment (cont.)
Homeworks (10%)
Project (20%)
Midterm exam (30%)
Final exam (35%)
Attendance (5%)
9. 9 INTRODUCTION
Database: integrated collection of related data.
Designed and built for a specific application.
Represents some aspect of the real world.
Database Management System (DBMS):
A software system designed to store, manage, and facilitate access to databases.
10. 10 INTRODUCTION
Database Applications:
Banking: all transactions
Airlines: reservations, schedules
Universities: registration, grades
Sales: customers, products, purchases
11. 11 INTRODUCTION
Why DBMSs?
Many database applications deal with large amounts of information
DBMSs provide a set of tools for storing, searching and managing this information in an efficient manner.
12. 12 INTRODUCTION
DBMS examples:
Oracle
DB2 (IBM)
MS SQL Server
MS Access
MySQL
PostgreSQL
13. 13 INTRODUCTION
Data Model: a collection of concepts for describing data.
Common data models:
Relational model
Object-oriented model
Object-relational model
Free text model
Semi-structured model (e.g., XML)
14. 14 INTRODUCTION
Example: University Database
Data Model: Relational
Students(sid, name, login, major, cgpa)
Courses(cid, cname, credits)
Enrollment(sid, cid, grade)