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
Clusterpoint wikipedia , lookup
Functional Database Model wikipedia , lookup
Lecture 1: Overview of CSCI 485 Shahram Ghandeharizadeh Associate Professor Computer Science Department University of Southern California Presented by: Shahin Shayandeh 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: Tuesdays and Thursdays: 11am to 12 pm Class URL: http://dblab.usc.edu/csci485 TA Shahin Shayandeh Office: PHE 328 E-mail: [email protected] Office Hours: Tuesdays and Thursdays: 2:00 to 3:30 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 Conceptual 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, 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 Grading Midterm 1: 35% Midterm 2: 35% Assignments: 10% Project: 20%