quick facts about the course
play

Quick Facts about the course When: Tue & Thu 2:30pm 3:45pm - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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