Download presentation
Presentation is loading. Please wait.
Published byLiani Rachman Modified over 5 years ago
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 Director of USC Database Lab Computer Science Department University of Southern California
2
Logistics Required text book: Pre-req for the course:
Database System Concepts, Silberschatz, Korth & Sudarshan, 6th Edition. Available in the bookstore. Please start to read Chapter 7 and Sections 2.1 to 2.3 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: Wed: 10:30 to 11:30 am Mon: 11:30 to 12:30 pm Class URL:
4
TA Details Sumita Barahmand Office: SAL 229 E-mail: barahman@usc.edu
Office Hours: Mon: 1:30 to 3:30 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 to keep the medical records of U.S. residents
Data Models (Example) Build a database to keep the medical records of U.S. residents 13
14
Data Models Conceptual Logical Physical 14
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: 30%
First assignment is posted on the web. Due at noon on Thu, Jan 20.
20
Assignments (30%) Social networking sites:
Visit rays.shorturl.com and sign-up. Conceptualize and understand RAYS’s functionality. Homework 1: Write a description of the RAYS and its functionality. Homework 2: Draw the ER diagram for the web site. Homework 3: Reduce the solution provided for Homework 2 into a collection of tables. Homework 4: Write SQL queries to implement functionalities of RAYS.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.