Quick Facts about the course When: Tue & Thu 2:30pm – 3:45pm CS 2550 / Spring 2006 Where: 5313 SENSQ Principles of Database Systems Instructor: Alexandros Labrinidis (TA: Subrata Acharya) What: Database System Concepts 5 th Edition, 2005 by Silberschatz, Korth, Sudarshan 01 – Introduction Grading: assignments: 50% (x 4-6) Alexandros Labrinidis exam #1: 25% (Feb 21) University of Pittsburgh exam #2: 25% (Apr 18) 2 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Administrative What is a Database Management System? web page: A Database Management System (DBMS) is a collection http://db.cs.pitt.edu/courses/cs2550/spring2006 of interrelated data and a set of programs to access those data also link from instructor’s home page and main cs web page check often! Database = collection of data Email to cs2550-staff@cs.pitt.edu for all emails to instructor/TA Primary goal of DBMS: store database information conveniently class mailing list (make sure to put your email address efficiently on sign-up sheet) 3 4 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 1
When to use a Database System? Examples of DBMS usage DBMS designed for managing large bodies of information Airlines – reservations and schedules (expedia.com) example: personal list of phone numbers VS phone book Banking – customer info and accounts (WellsFargo.com) Universities – student info, grades “manage” implies: Government – taxes, budgets, legislation, census Data Storage Sales – inventory, customer info (Amazon.com, eBay) Data Manipulation capabilities Credit Cards – transactions, customer info Safety guarantees Newspapers – track subscribers, advertising revenue Surviving system failures Financial – stock prices, portfolio info Preventing unauthorized access Allowing for concurrency Telecommunications – record of calls made many more! 5 6 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 When not to use a Database System? Data Management Disadvantages of a DBMS: Information is crucial to most organizations Large body of concepts & techniques for data management Expensive to buy Expensive to maintain (need administrator) “Expensive” to run (needs significant resources) Purpose of the CS2550 course: Provide in-depth knowledge of Database Management System Hence, it is “over-kill” to use when: design Provide significant breadth, covering many aspects of concepts The database is small and techniques The database has simple structure Provide hands-on experience, with projects designed to The application is simple and not expected to change Understand principles Can tolerate failures Evaluate implementation options Do not require multiple, concurrent users Implement techniques 7 8 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 2
Roadmap Database Systems vs File Systems What is a DBMS Disadvantages of using file systems for data storage: Uses of a DBMS Data redundancy and inconsistencies Database System vs File System Difficulty in accessing data (when application changes) Data Abstraction Data may be spread over multiple files Data Models Integrity problems (hard-code consistency constraints) Database Languages Atomicity problems (on failures)* Database Users Concurrent access anomalies* Transaction Management Security problems (authorization) Historical Perspective 9 10 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Data Abstraction Data Abstraction (cont.) Provide users with abstract view of data, Examples of Views: thus hiding certain details Given a database of universities, show only public ones Given an employee database, show all data except for salary Three abstraction levels: Views provide: Physical Level physical level Convenience How the data are actually stored Security Logical Level logical level Database Schema = overall design of database What data are stored E.g., variable declaration view level Database Instance = collection of info stored in db View Level E.g., value of variable Describe part of database … view 1 view 2 view n 11 12 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 3
Roadmap Data Models What is a DBMS A collection of conceptual tools for describing data, data relationships, data semantics and consistency constraints Uses of a DBMS Database System vs File System Entity-Relationship Model (E-R model) Data Abstraction entities = objects in the real world Data Models attributes describe entities Database Languages relationship = association among several entities Database Users E-R diagram = graph of overall logical structure of db* Transaction Management rectangles entity sets Historical Perspective ellipses attributes diamonds relationships among entity sets lines link attribute to entity set OR entity set to relationship 13 14 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Relational Model Database Languages: DDL The relational model uses a collection of tables to Data Definition Language (DDL) represent both data and relationships among data. specify database schema Example: create table account Example: (account-number char(10), customer-account-depositor tables balance integer) execution creates table, updates data dictionary Important property of relational model: CLOSED-NESS Everything is a table Data dictionary contains metadata (data about the data) Operations on tables, return tables Data dictionary is consulted before reading/modifying data Consistency constraints are defined using DDL Checked before updating data 15 16 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 4
Database Languages: DML Database vs DBMS vs Application Data Manipulation: DBMS Retrieval of information (=query) Database Management System Insertion of new information Deletion of information from the db Database Modification of information in the db collection of data in DBMS Data Manipulation Language (DML) enables users Application Program to access or manipulate data program that is used to interact with the DBMS Procedural DMLs specify what data needed and how to get it Database access for application programs: Declarative DMLs (non-procedural) Program interface for host language, OR only specify what data needed Extend host language to embed DML statements 17 18 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Roadmap Database Users What is a DBMS Naïve users Uses of a DBMS Invoke application programs Database System vs File System Application programmers Data Abstraction Develop db-enabled application programs Data Models Database Languages Sophisticated users Database Users Interact with DBMS using db query language Transaction Management Advanced applications: OLAP/Data Mining Historical Perspective Specialized users Write specialized db applications, complex queries 19 20 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 Alexandros Labrinidis, Univ. of Pittsburgh CS 2550 / Spring 2006 5
Recommend
More recommend