Data Modeling and Databases I - Introduction. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich



Similar documents
ECS 165A: Introduction to Database Systems

14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to:

Entity/Relationship Modelling. Database Systems Lecture 4 Natasha Alechina

SWISSBOX REVISITING THE DATA PROCESSING SOFTWARE STACK

COMHAIRLE NÁISIÚNTA NA NATIONAL COUNCIL FOR VOCATIONAL AWARDS PILOT. Consultative Draft Module Descriptor. Relational Database

Scope of this Course. Database System Environment. CSC 440 Database Management Systems Section 1

Relational Database Systems 2 1. System Architecture

CS 4604: Introduc0on to Database Management Systems

MIS630 Data and Knowledge Management Course Syllabus

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ADVANCED DATABASE MANAGEMENT SYSTEMS CSIT 2510

Chapter 1: Introduction. Database Management System (DBMS) University Database Example

CSE 132A. Database Systems Principles

Principles of Database. Management: Summary

Architecture and Implementation of Database Systems

ISM 4210: DATABASE MANAGEMENT

CSE 412/598 Database Management Spring 2012 Semester Syllabus

Database Systems Introduction Dr P Sreenivasa Kumar

Database System. Session 1 Main Theme Introduction to Database Systems Dr. Jean-Claude Franchitti

Chapter 1: Introduction. Database Management System (DBMS)

Course Computer Science Academic year 2012/13 Subject Databases I ECTS 5

IST659 Database Admin Concepts & Management Syllabus Spring Location: Time: Office Hours:

COMP5138 Relational Database Management Systems. Databases are Everywhere!

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML?

Chapter 1 Databases and Database Users

CSC-570 Introduction to Database Management Systems

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 1 Outline

Relational Database Basics Review

Database Systems. Lecture 1: Introduction

Database System Concepts

Computer Information Systems

Introduction to Databases

Overview RDBMS-ORDBMS- OODBMS

Modern Databases. Database Systems Lecture 18 Natasha Alechina

Databases. DSIC. Academic Year

Chapter 2 Database System Concepts and Architecture

CS 649 Database Management Systems. Fall 2011

Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system

Overview of Data Management

CSE 562 Database Systems

Introduction: Database management system

Database Concepts. Database & Database Management System. Application examples. Application examples

Relational Database Concepts

Introduction to database management systems

Objectives of Lecture 1. Labs and TAs. Class and Office Hours. CMPUT 391: Introduction. Introduction

Database Administrator [DBA]

Chapter 1: Introduction

IST359 INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

IST359 - INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

IINF 202 Introduction to Data and Databases (Spring 2012)

Ursuline College Accelerated Program

Topics. Introduction to Database Management System. What Is a DBMS? DBMS Types

ISM 318: Database Systems. Objectives. Database. Dr. Hamid R. Nemati

Enterprise Application Integration (Middleware)

Service Oriented Architectures

Database Systems. Session 1 Main Theme Introduction to Database Systems Dr. Jean-Claude Franchitti

Introduction to Database Systems CS4320/CS5320. CS4320/4321: Introduction to Database Systems. CS4320/4321: Introduction to Database Systems

Advanced Database Management MISM Course F A Fall 2014

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Course: CSC 222 Database Design and Management I (3 credits Compulsory)

PSY 6361 Teaching of Psychology Online Course Spring nd Eight Weeks

DBMS Questions. 3.) For which two constraints are indexes created when the constraint is added?

THE OPEN UNIVERSITY OF TANZANIA FACULTY OF SCIENCE TECHNOLOGY AND ENVIRONMENTAL STUDIES BACHELOR OF SIENCE IN INFORMATION AND COMMUNICATION TECHNOLOGY

CS 525 Advanced Database Organization - Spring 2013 Mon + Wed 3:15-4:30 PM, Room: Wishnick Hall 113

Core Syllabus. Version 2.6 B BUILD KNOWLEDGE AREA: DEVELOPMENT AND IMPLEMENTATION OF INFORMATION SYSTEMS. June 2006

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

CSE 544 Principles of Database Management Systems. Magdalena Balazinska (magda) Winter 2009 Lecture 1 - Class Introduction

City University of Hong Kong. Information on a Course offered by Department of Computer Science with effect from Semester A in 2014 / 2015

Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components

Object-Oriented Systems Analysis and Design

1 File Processing Systems

B.Sc. (Computer Science) First Year

Course Notes on A Short History of Database Technology

Course Notes on A Short History of Database Technology

The Service Revolution software engineering without programming languages

INFS2608 ENTERPRISE DATABASE MANAGEMENT

Introductory Concepts

Introduction to Database Systems CS4320. Instructor: Christoph Koch CS

BUAD 310 Applied Business Statistics. Syllabus Fall 2013

purexml Critical to Capitalizing on ACORD s Potential

Database Architecture and Administration

Lecture 1: Course Introduction"

WEB APPLICATION FOR TIMETABLE PLANNING IN THE HIGHER TECHNICAL COLLEGE OF INDUSTRIAL AND TELECOMMUNICATIONS ENGINEERING

CSE 233. Database System Overview

Data Warehousing. Jens Teubner, TU Dortmund Winter 2015/16. Jens Teubner Data Warehousing Winter 2015/16 1

Introduction to Object-Oriented and Object-Relational Database Systems

Fluency in Information Technology

Bachelor of Science in Information Technology. Course Descriptions

COMPONENTS in a database environment

International University of Monaco 27/04/ :55 - Page 1. Monday 30/04 Tuesday 01/05 Wednesday 02/05 Thursday 03/05 Friday 04/05 Saturday 05/05

International University of Monaco 21/05/ :01 - Page 1. Monday 30/04 Tuesday 01/05 Wednesday 02/05 Thursday 03/05 Friday 04/05 Saturday 05/05

Designing a Database Schema

Types & Uses of Databases

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001

Overview. Introduction to Database Systems. Motivation... Motivation: how do we store lots of data?

Transcription:

Data Modeling and Databases I - Introduction Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

ADMINISTRATIVE ASPECTS D-INFK, ETH Zurich, Data Modeling and Databases 2

Basic Data Lectures Mondays, 10:00 12:00 Wednesdays, 08:00 10:00 Exercise Groups (Start February 24th) Tuesdays: 08:00 10:00 Fridays: 08:00-10:00 Held in English and German Web Page: http://www.systems.ethz.ch/courses/spring2015/data_mod_db D-INFK, ETH Zurich, Data Modeling and Databases 3

Literature Kemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 7. Auflage, 2009. or Garcia-Molina, Ullman, Widom: Database Systems: The Complete Book. Pearson, 2. Auflage, 2008. D-INFK, ETH Zurich, Data Modeling and Databases 4

Course Contents Data modeling Data organization, data models ER model Relational model Other models Databases SQL Query processing Transaction management Data Management Systems Data processing in the era of Big Data D-INFK, ETH Zurich, Data Modeling and Databases 5

Course Objectives Data Modeling with an emphasis on the Relational Model SQL Basic operation of a database Basics of Query processing Basics of Transaction management Understand data modeling, databases, and the impact of how data is modeled across the entire software stack D-INFK, ETH Zurich, Data Modeling and Databases 6

Exercises & Exam Exercise Sheets Handout in the week before it is discussed Not graded Sessionsprüfung (written, closed book) D-INFK, ETH Zurich, Data Modeling and Databases 7

Teaching & Learning This is a basic course. Material is well known: textbook, Wikipedia, web sites, multiple lectures, videos, on-line courses, YouTube Lectures and exercises are designed to expand and build and all this material: cover what is not on the textbooks (context, examples, answering questions) We will not overload the syllabus nor make constant demands for attention (no projects, no mid-term exams, no graded exercises) A moderate amount of constant effort during the semester will allow you to learn a lot and make it easy to follow the course and exercises Read in advance, attend classes, ask all the time D-INFK, ETH Zurich, Data Modeling and Databases 8

INTRODUCTION WHAT IS A DATABASE D-INFK, ETH Zurich, Data Modeling and Databases 9

A Database System (DBMS) A DBMS is a tool that helps develop and run data-intensive applications. Push the complexity of dealing with the data (storage, processing, consistency) to the database rather than to the program Share the database The Database is a tool Many shapes and forms Many applications D-INFK, ETH Zurich, Data Modeling and Databases 10

How does a database look like Until recently, a database often meant a relational database Today, there are many forms of data management engines (or databases) Principles and ideas behind relational databases apply to almost all forms of data management D-INFK, ETH Zurich, Data Modeling and Databases 11

Why use a DBMS? Avoid redundancy and inconsistency Rich (declarative) access to the data Synchronize concurrent data access Recovery after system failures Security and privacy Facilitate reuse of the data Reduce cost and pain of doing something useful There is always an alternative!!! D-INFK, ETH Zurich, Data Modeling and Databases 12

In practice http://www.slideshare.net/linkedin/linkedinscommunication-architecture http://highscalability.com/scaling-digg-and-otherweb-applications http://muratbuffalo.blogspot.ch/2014/10/facebo oks-software-architecture.html D-INFK, ETH Zurich, Data Modeling and Databases 13

A use case: Amadeus Passenger-Booking Database ~ 600 GB of raw data (two years of bookings) single table, denormalized ~ 50 attributes: flight-no, name, date,..., many flags Query Workload up to 4000 queries / second latency guarantees: 2 seconds today: only pre-canned queries allowed Update Workload avg. 600 updates per second (1 update per GB per sec) peak of 12000 updates per second data freshness guarantee: 2 seconds Problems with State-of-the Art Simple queries work only because of materialized views multi-month project to implement new query / process Complex queries do not work at all D-INFK, ETH Zurich, Data Modeling and Databases 14

INTRODUCTION DATA MODELING D-INFK, ETH Zurich, Data Modeling and Databases 15

A common need Data needs to be organized to be actually useful: presentation, processing, communication, calculations List of offerings, Egypt, ca. 1900 BC D-INFK, ETH Zurich, Data Modeling and Databases 16

Data Management Universe D-INFK, ETH Zurich, Data Modeling and Databases 17

Data Modeling Conceptual Model Captures the world (domain) to be represented Collection of entities and how they relate to each other (Entity-Relationship) Logical Model (schema) Mapping of the concepts to a concrete logical representation Physical Model Implementation in a concrete hardware architecture D-INFK, ETH Zurich, Data Modeling and Databases 18

Conceptual modeling Mini World Manual Modelling Conceptual Schema (ER-Schema) Semi-automatic Transformation XML Relational Schema Hierarchical Schema Object-oriented Schema D-INFK, ETH Zurich, Data Modeling and Databases 19

Example Student Lecture Professor Real World: University Conceptual Modeling MatrNr Name Student enrolls Professor teaches PersNr Name Nr Lecture Title D-INFK, ETH Zurich, Data Modeling and Databases 20

Modeling not trivial How you model affects how easy it is to work with the data: Person 1 endorses Person 2 for skills in topic X Person 1 is a friend of Person 2 in social site Y Friends that Person 1 and Person 2 have in common Person 1 likes Photo #n from Person 2 Person 1 recommends a book D-INFK, ETH Zurich, Data Modeling and Databases 21

Database Abstraction Layers Data Independence Logical Data Independence Physical Data Independence View1 View 2... View 3 Logical Layer (schema) Physical Layer Changes at one layer do not affect the layer! D-INFK, ETH Zurich, Data Modeling and Databases 22

Data Models Conceptual Data Models Entity Relationship UML Logical Data Models Flat file (e.g., SQLite) Network model (e.g., CODASYL/COBOL) Hierarchical model (IBM IMS/FastPath) Relational model (SQL) Object-oriented model (ODMG 2.0) Semi-structured model (XML Infoset) Deductive model (Datalog, Prolog) D-INFK, ETH Zurich, Data Modeling and Databases 23

Reading Chapter on Entity-Relationship modeling in any of the two textbooks If lazy and allergic to paper: D-INFK, ETH Zurich, Data Modeling and Databases 24