Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Entity–attribute–value model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Concurrency control wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Functional Database Model wikipedia , lookup
Clusterpoint wikipedia , lookup
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 Logistics Required text book: 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# Instructor Details 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 Shahin Shayandeh Office: SAL 200C E-mail: [email protected] Office Hours: Tuesday: 3:30 to 5 pm Thursday: 12:30 to 2 pm Outline Motivation for DBMS An outline for the course material Grading: Assignments and projects 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! 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. BEFORE DBMS User 1 User 2 Application programs Application programs Data Data AFTER DBMS User 1 Application programs DBMS User 2 Application programs Data managed by DBMS WHY A DBMS? 1. 2. 3. 4. 5. 6. 7. 8. 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 DBMS ARCHITECTURE User 1 … DBMS User n DB Physical data Conceptua l schema Data Models Conceptual Logical Physical Data Models (Example) Build a database of all my assets for licensing and royalty collection Data Models Conceptual Logical Physical Challenges Conceptual Logical Physical Abstraction, Inheritance, Encapsulation Reduction to tables with minimal: data duplication, potential for data loss and update anomalies Effective use of a DBMS, management of mismatch between tables and OO constructs, Index structures, CC & Crash recovery, Optimization techniques Challenges Conceptual E-R data model 5 Normal Forms Logical Physical Relational Data model, SQL, Relational Algebra Different kinds of storage, A DBMS architecture, Index structures, CC & Crash recovery, Optimization techniques, Techniques to build a DBMS Relational DBMS Why? Performance! Reduced application development time Use of SQL makes access to data more uniform: Software modularity, Extensibility Challenge 2 Two ways to teach this course: How to implement a DBMS? How to use a DBMS? Protocols to realize atomic property of transactions 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 Grading Midterm 1: 35% Midterm 2: 35% Assignments: 10% First assignment is posted on the web. Due Tuesday, September 2nd. Project: 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. 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.