Introduction to Database Management Systems
Information Instructor: Csilla Farkas Office: Storey Innovation Center, RM 2253 Office Hours: T, R 10:30 – 11:30 am, electronically, or by appointment Telephone: 576-5762 E-mail: farkas@cec.sc.edu Class homepage: http://cse.sc.edu/~farkas/csce520-2015/csce520.htm Farkas CSCE 520
Teaching Assistants 1. Tieming Geng: tgeng@email.sc.edu a. Office hours: b. Office location: Storey Innovation Ctr., room 1040 2. Theppatorn Rhujittawiwat: theppatorn@gmail.com Farkas CSCE 520
Prerequisite CSCE 245 (CSCE 240, EECE 352) or GEOG 563 or Permission of the instructor Farkas CSCE 520
Text books J. D. Ullman and J. Widom: A First Course in Database Systems, 3rd edition, Prentice Hall, ISBN: 013600637X Farkas CSCE 520
Grading Midterm 1: 25%, Final: 35%, Quizzes: 5%, Homework assignments: 35% Total score that can be achieved: 100 Final grade: 90 < A , 85 < B+ <=90, 80 < B <= 85, 75 < C+ <= 80, 65 < C <= 75, 60 < D+ <= 65, 50 < D <= 60, F <= 50 Farkas CSCE 520
Course Policies Code of Student Academic Responsibility Incompletes Farkas CSCE 520
Questions?
Chapter 1: Introduction Evolution of Database Management Systems Overview of Database Management Systems Database-System Design Farkas CSCE 520
Database Management System (DBMS) Databases touch all aspects of our lives DBMS: Collection of interrelated data Set of programs to access the data Convenient and efficient processing of data Database Applications Farkas CSCE 520
Evolution of Database Systems Early days: database applications built on top of file systems Drawbacks of using file systems to store data: Data redundancy and inconsistency Difficulty in accessing data Atomicity of updates Concurrency control Security Data isolation — multiple files and formats Integrity problems Farkas CSCE 520
Abstraction View level: application programs hide details of data types. Logical level: What is the data? type employee = record name : string; address : string; salary: real; end; Physical level: How the data is stored? Farkas CSCE 520
Data Models A collection of tools for describing Data Relationships among data items Semantics of stored data Database constraints Farkas CSCE 520
Data Models Entity-Relationship model Relational model Other models: Network Hierarchical Object-oriented Semi-structured Steaming data Farkas CSCE 520
Database Management Systems Smaller and smaller systems Past: large and expensive DBMS Present: DBMS in most personal computers More and more data stored Past: few MB Present: terabyte (1012 bytes), petabyte (1015 bytes) Data Tsunami Farkas CSCE 520
Database Users Users are differentiated by the way they interact with the system Database Administration: responsible for the structure or schema of the database (DDL), coordinates all activities regarding the database Application programmers – interact with system through DML calls Sophisticated users – form requests in a database query language Naive users – invoke one of the permanent application programs that have been written previously Farkas CSCE 520
Data Definition Language (DDL) Defines the database schema and constraints DDL compiler data dictionary Metadata – data about data Farkas CSCE 520
Data Manipulation Language (DML) Accessing and manipulating the data DML – query language Query Languages Procedural – user specifies what data is required and how to get those data Nonprocedural – user specifies what data is required without specifying how to get those data SQL: nonprocedural query language Farkas CSCE 520
Transaction Management Transaction: unit of work to be executed atomically and in isolation from other transactions Transaction-manager: ensures that the database remains in a consistent system failures transaction failures Concurrency-control: interaction among the concurrent transactions to ensure consistency Farkas CSCE 520
ACID Properties Atomicity: all-or-nothing of the transaction’s effect will take place Consistency: each transaction leaves the system in a consistent state Isolation: each transaction must appear to be executed as if no other transactions are executed at the same time Durability: effect of a transaction must never be lost after the transaction is completed Farkas CSCE 520
Transaction Processing Logging: Log manager Recovery manager Concurrency control Multiple transactions Locking protocols Deadlock resolution Farkas CSCE 520
Database System Studies Design of the database What to store, structure, semantics Functionality requirement Trade offs Security Database programming How to express database operations, capability requirements, etc. Database implementation Query, transaction processing, storage, efficiency Farkas CSCE 520
Next Class: Relational Database Modeling A First Course: Chapter 2 (2.1, 2.2, 2.3) Farkas CSCE 520