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
Microsoft Jet Database Engine wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Concurrency control wikipedia , lookup
Extensible Storage Engine 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 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 to keep the medical records of U.S. residents 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: 40% Midterm 2: 45% Assignments: 15% First assignment is posted on the web. Due Tuesday, September 2nd. Assignments (15%) Social networking sites: Visit Twitter.com and sign-up. Conceptualize and understand Twitter’s functionality. Homework 1: Write a description of the Twitter and its functionality. Draw the ER diagram for the web site. Homework 2: Reduce the solution provided for Homework into a collection of tables. Homework 3: Write SQL queries to implement functionalities of Twitter.