Fall08-Lec1 - Lecture 1: Overview of CSCI 485 Lecture...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Lecture 1: Overview of CSCI 485 Lecture Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Shahram Associate Professor Computer Science Department University of Southern California Logistics Logistics Required text book: Database System Concepts, Silberschatz, Database Korth & Sudarshan, 5th Edition. Available Korth in the bookstore. in Please start to read Chapter 6 and Section Please 7.1 for the next lecture 7.1 Pre-req for the course: CS201: Data Structures Knowledge of an object-oriented Knowledge programming language such as C++, programming Java, C# Java, Instructor Details Instructor Dr. Shahram Ghandeharizadeh Office: SAL 208 E-mail: [email protected] Phone: 213-740-4781 Office Hours: Tuesday: 12:30 to 2 pm Thursday: 4 to 5 pm Class URL: http://dblab.usc.edu/csci485 TA TA Shahin Shayandeh Office: SAL 200C E-mail: [email protected] Office Hours: Tuesday: 3:30 to 5 pm Thursday: 12:30 to 2 pm Outline Outline Motivation for DBMS An outline for the course material Grading: Assignments and projects Database Management Systems (DBMS) Systems Used almost on a daily basis for either Used individual or business use. individual Relational database vendors were one Relational of the fastest growing sectors during the .COM boom! the DATABASE & DBMS DATABASE Database: An integrated collection of An data, usually stored on secondary storage, typically describing the activities of one or more related organizations. organizations. Database management system (DBMS): A collection of software/programs designed to assist in maintaining and utilizing large collections of data. utilizing BEFORE DBMS BEFORE User 1 Application programs Data User 2 Application programs Data AFTER DBMS User 1 Application programs Data managed by DBMS DBMS User 2 Application programs WHY A DBMS? WHY 1. 2. 3. 4. 5. 6. 7. 8. Reduced application development time Data independence: Application programs not dependent on Data data representation and storage details data Data sharing: data is better utilized (discovered and reused), Data redundancy of data is minimized redundancy Data integrity and consistency: one may enforce consistency Data constraints on data, e.g., number of seats sold ≤ number of seats on the plane × 1.1 seats Centralized control: DBA tunes the database to balance user's Centralized needs needs Security: mechanisms to prevent unauthorized access. These Security: mechanisms are based on content instead of file-oriented approach. approach. Concurrency control: avoids undesirable race conditions that Concurrency arise with simultaneous access/updates to data arise Crash recovery: ensures the integrity of data in the presence of Crash failures failures DBMS ARCHITECTURE DBMS User 1 User n Conceptua l schema … DBMS DB Physical data Data Models Data Conceptual Logical Physical Data Models (Example) Data Build a database of all my Build assets for licensing and royalty collection royalty Data Models Data Conceptual Logical Physical Challenges Challenges Conceptual Abstraction, Abstraction, Inheritance, Encapsulation Encapsulation Logical Reduction to tables Reduction with minimal: data duplication, potential for data loss and update anomalies update Physical Effective use of a DBMS, Effective management of mismatch between tables and OO constructs, Index structures, CC & Crash recovery, Optimization techniques techniques Challenges Challenges Conceptual E-R data model 5 Normal Forms Relational Data Relational model, SQL, Relational Algebra Relational Logical Physical Different kinds of storage, Different A DBMS architecture, Index structures, CC & Crash recovery, Optimization techniques, Techniques to build a DBMS DBMS Relational DBMS Relational Why? Performance! Reduced application development time Use of SQL makes access to data more Use uniform: Software modularity, Software Extensibility Challenge 2 Challenge Two ways to teach this course: How to implement a DBMS? How implement Protocols to realize atomic property of Protocols transactions transactions Setup a web server with a database and build Setup a shopping bag shopping How to use a DBMS? How use Key difference: discussion at both the Key logical and physical levels logical Both require use of OO constructs Grading Grading Midterm 1: 35% Midterm 2: 35% Assignments: 10% First assignment is posted on the web. First Due Tuesday, September 2nd. Due Project: 20% Assignments (15%) Assignments Social networking sites: Visit myspace.com and sign-up. Become my friends – whether you like it or not Become Use the bulletin capability to communicate. Use Objective is to understand the functionality of the bulletin board. First message might be a quick note about why you have signed up for csci 485. csci Homework 1: Write a description of the bulletin Homework board and its functionality. board Homework 2: Draw the ER diagram for the web Homework site, focusing on its Bulletin board. site, Homework 3: Reduce the ER diagram to a Homework collection of tables. collection Project-ideas (15%) Project-ideas Implement a Bulletin board using a Implement centralized database management system. system. Implementation of Bulletin board using Implementation a database partitioned across multiple servers. servers. Use of a storage repository to build a Use small relational database management system. system. ...
View Full Document

This note was uploaded on 01/11/2009 for the course CSCI 485 taught by Professor Ghandeharizadeh during the Fall '08 term at USC.

Ask a homework question - tutors are online