Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Associate.

Similar presentations


Presentation on theme: "Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Associate."— Presentation transcript:

1 Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Associate Professor Computer Science Department University of Southern California

2 Logistics Required text book: Pre-req for the course:
Database System Concepts, Silberschatz, Korth & Sudarshan, 5th Edition. Available in the bookstore. Please start to read Chapter 6 and Section 7.1 for the next lecture Pre-req for the course: CS201: Data Structures Knowledge of an object-oriented programming language such as C++, Java, C#

3 Instructor Details Dr. Shahram Ghandeharizadeh Office: SAL 208
Phone: Office Hours: Tuesday: 12:30 to 2 pm Thursday: 4 to 5 pm Class URL:

4 TA Shahin Shayandeh Office: SAL 200C E-mail: shayande@usc.edu
Office Hours: Tuesday: 3:30 to 5 pm Thursday: 12:30 to 2 pm

5 Outline Motivation for DBMS An outline for the course material
Grading: Assignments and projects

6 Database Management Systems (DBMS)
Used almost on a daily basis for either individual or business use. Relational database vendors were one of the fastest growing sectors during the .COM boom!

7 DATABASE & DBMS Database: An integrated collection of data, usually stored on secondary storage, typically describing the activities of one or more related organizations. Database management system (DBMS): A collection of software/programs designed to assist in maintaining and utilizing large collections of data.

8 BEFORE DBMS User 1 Data Data User 2 Application programs

9 AFTER DBMS User 1 DBMS User 2 Application programs
Data managed by DBMS DBMS User 2 Application programs

10 WHY A DBMS? Reduced application development time
Data independence: Application programs not dependent on data representation and storage details Data sharing: data is better utilized (discovered and reused), redundancy of data is minimized Data integrity and consistency: one may enforce consistency constraints on data, e.g., number of seats sold ≤ number of seats on the plane × 1.1 Centralized control: DBA tunes the database to balance user's needs Security: mechanisms to prevent unauthorized access. These mechanisms are based on content instead of file-oriented approach. Concurrency control: avoids undesirable race conditions that arise with simultaneous access/updates to data Crash recovery: ensures the integrity of data in the presence of failures

11 DBMS ARCHITECTURE … User 1 DBMS DB User n Physical data
Conceptual schema

12 Data Models Conceptual Logical Physical

13 Build a database of all my assets for licensing and royalty collection
Data Models (Example) Build a database of all my assets for licensing and royalty collection

14 Data Models Conceptual Logical Physical

15 Challenges Conceptual Logical Physical
Abstraction, Inheritance, Encapsulation Conceptual Reduction to tables with minimal: data duplication, potential for data loss and update anomalies Logical Effective use of a DBMS, management of mismatch between tables and OO constructs, Index structures, CC & Crash recovery, Optimization techniques Physical

16 Challenges Conceptual Logical Physical E-R data model 5 Normal Forms
Relational Data model, SQL, Relational Algebra Logical Different kinds of storage, A DBMS architecture, Index structures, CC & Crash recovery, Optimization techniques, Techniques to build a DBMS Physical

17 Relational DBMS Why? Performance! Reduced application development time
Use of SQL makes access to data more uniform: Software modularity, Extensibility

18 Challenge 2 Two ways to teach this course:
How to implement a DBMS? Protocols to realize atomic property of transactions How to use a DBMS? Setup a web server with a database and build a shopping bag Key difference: discussion at both the logical and physical levels Both require use of OO constructs

19 Grading Midterm 1: 35% Midterm 2: 35% Assignments: 10% Project: 20%
First assignment is posted on the web. Due Tuesday, September 2nd. Project: 20%

20 Assignments (15%) Social networking sites:
Visit myspace.com and sign-up. Become my friends – whether you like it or not  Use the bulletin capability to communicate. 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. Homework 1: Write a description of the bulletin board and its functionality. Homework 2: Draw the ER diagram for the web site, focusing on its Bulletin board. Homework 3: Reduce the ER diagram to a collection of tables.

21 Project-ideas (15%) Implement a Bulletin board using a centralized database management system. Implementation of Bulletin board using a database partitioned across multiple servers. Use of a storage repository to build a small relational database management system.


Download ppt "Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Associate."

Similar presentations


Ads by Google