COP4710 Database Systems Introduction.

Slides:



Advertisements
Similar presentations
Database: A collection of related data [Elmasri]. A database represents some aspect of real world called “miniworld” [Elmasri] or “enterprise” [Ramakrishnan].
Advertisements

1 CENG 302 Introduction to Database Management Systems Nihan Kesim Çiçekli URL:
CS462: Introduction to Database Systems. ©Silberschatz, Korth and Sudarshan1.2Database System Concepts Course Information Instructor  Kyoung-Don (KD)
1 CS222: Principles of Database Management Fall 2010 Professor Chen Li Department of Computer Science University of California, Irvine Notes 01.
Introduction. » How the course works ˃Homework ˃Project ˃Exams ˃Grades » prerequisite ˃CSCI 6441: Mandatory prerequisite ˃Take the prereq or get permission.
Introduction. 
The Worlds of Database Systems Chapter 1. Database Management Systems (DBMS) DBMS: Powerful tool for creating and managing large amounts of data efficiently.
Course Introduction Introduction to Databases Instructor: Joe Bockhorst University of Wisconsin - Milwaukee.
Welcome to COP4710 Course Website:
Course Introduction Software Engineering
Introduction to Database Systems Fundamental Concepts Irvanizam Zamanhuri, M.Sc Computer Science Study Program Syiah Kuala University Website:
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
INFS614, Dr. Brodsky, GMU1 Database Management Systems INFS 614 Instructor: Professor Alex Brodsky
CS411 Database Systems 01: Introduction Kazuhiro Minami.
Introduction. » How the course works ˃Homework ˃Project ˃Exams ˃Grades » prerequisite ˃CSCI 6441: Mandatory prerequisite ˃Take the prereq or get permission.
IST 210: Organization of Data
CS 541 Lecture Slides Sunil Prabhakar CS541 Database Systems.
Database Systems Lecture 1. In this Lecture Course Information Databases and Database Systems Some History The Relational Model.
Introduction.  Administration  Simple DBMS  CMPT 454 Topics John Edgar2.
CSC 370 – Database Systems Introduction Instructor: Alex Thomo.
CSCI 6442 Database Management II INTRODUCTION Copyright 2016 David C. Roberts, all rights reserved.
Fall CSE330/CIS550: Introduction to Database Management Systems Prof. Susan Davidson Office: 278 Moore Office hours: TTh
Database Management Systems.  Instructor: Yrd. Doç. Dr. Cengiz Örencik   Course material.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
Class Introduction IST 210: Organization of Data IST2101.
CS522 Advanced database Systems Huiping Guo Department of Computer Science California State University, Los Angeles Course administration.
CS 325 Spring ‘09 Chapter 1 Goals:
CS 540 Database Management Systems
Computer Network Fundamentals CNT4007C
Course Overview - Database Systems
Introduction to Database Systems CSE 444
CSc 1302 Principles of Computer Science II
Database Management Systems
Course Introduction 공학대학원 데이타베이스
CS122B: Projects in Databases and Web Applications Spring 2017
CS122B: Projects in Databases and Web Applications Winter 2017
Chapter 1: Introduction
Chapter 1: Introduction
Computer Networks CNT5106C
Unit 1: INTRODUCTION Database system, Characteristics Database Users
CS422 Principles of Database Systems Course Overview
Database Management System
01: Introduction Aditya Parameswaran
THE WORLDS OF DATABASE SYSTEMS
Welcome to GC311 Database Concepts
Data Structures Algorithms: (Slides to be Adopted from Goodrich and aligned with Weiss' book) Instructor: Ganesh Ramakrishnan
Computer Science 102 Data Structures CSCI-UA
Introduction to Database Systems
Introduction to Database Systems
Introduction to Database Systems
Welcome to GC311 Database Concepts
Computer Networks CNT5106C
Course Overview - Database Systems
Introduction to Databases
CS122B: Projects in Databases and Web Applications Winter 2018
Database Management Systems CSE594
Chapter 1: Introduction
CS122B: Projects in Databases and Web Applications Winter 2019
Introduction to Database Systems CSE 444
CS122B: Projects in Databases and Web Applications Spring 2018
CS4433 Database Systems Introduction.
Chapter 1: Introduction
Computer Networks CNT5106C
Introduction to Database Systems
CENG 351 Introduction to Data Management and File Structures
Introduction to Database Systems CSE 444
Introduction to Database Systems CSE 444
Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Director.
Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Associate.
Course Introduction Data Visualization & Exploration – COMPSCI 590
Presentation transcript:

COP4710 Database Systems Introduction

Welcome to COP4710 Course Website: http://www.cs.fsu.edu/~zhao/cop4710/main.html Everything about the course can be found here Syllabus, announcements, policies, schedules, slides, assignments, projects, resource… Make sure you check the course website periodically Please read the class syllabus, policies, and lecture schedule; ask now if you have questions No recitations for this class ! Please make good use of office hours of TAs’/Instructor’s FSU first day attendance policy

Teaching Staff Instructor: Peixiang Zhao TA: Research interest Generally, data sciences including database systems and data mining Specifically, graph data, information network analysis, large-scale data-intensive computation and analytics Brief history Illinois (Ph.D. from UIUC, 2012) Florida (Assistant professor at FSU starting from Aug. 2012) TA: Exceptional graduate students here at FSU Yongjiang Liang Esra Akbas (???)

You Tell Me -- Why Are You Taking this Course? http://www.youtube.com/watch?v=Q2GMtIuaNzU http://www.youtube.com/watch?v=LrNlZ7-SMPk Are you interested more in being An IT guru at Goldman-Sachs or Boeing? A system developer at Oracle or Google? A data scientist at Facebook or Uber? A DB pro or researcher in Microsoft research or IBM research? A professor exploring the most exciting, and fastest growing area in CS?

Examples

In Industry

In Science – Turing Awardees CHARLES BACHMAN, 1973 Edgar codd, 1981 James Gray, 1998 Michael stonebraker, 2014

You Tell Me -- Final letter grades for COP4710 Fall 2016 (61 students in total)

COP4710 Goal How to use a database system? Conceptual data modeling, the relational and other data models, database schema design, relational algebra, and the SQL query language …… How to design and implement a database system? Indexing, transaction processing, and crash recovery

Prerequisite Must have data structure and algorithm background COP3330: Object-oriented Programming and MAD2104: Discrete Mathematics or equivalent Good programming skill Project will require lots of programming Need C++, Java, PHP, or Python … to do a good job at talking with DB You or your project group picks the language

Textbook Database Systems: The Complete Book. 2nd edition References http://infolab.stanford.edu/~ullman/dscb.html References Database Management Systems Database system concepts Fundamentals of Database Systems An Introduction to Database Systems

Course Format Three 50-min lectures/week Four assignments planed (20%) Lecture slides are used to complement the lectures, not to substitute the textbook! Four assignments planed (20%) Individual work Due right before the class starts in the due date No late homework will be accepted A programming project (30%) Teamwork (1-3 students) Multi-stage tasks involving a lot of programming One midterm (10%) and one final (35%) Check dates and make sure no conflict! Quizzes (5%)

Project A database-driven Web-based information system Requirement Select a real-world application that needs databases as backend systems Design and build it from start to finish Your choice of topic: useful, realistic, database-driven, Web-based Requirement Team work (one to three people) all members receive same grading, and if one drops out, the others pick up the work Will be done in stages you will submit some deliverables at the end of each stage Will show a demo and submit a report near the semester end

Data Management Evolution Jim Gray: Evolution of Data Management. IEEE Computer 29(10): 38-46 (1996): Manual processing: -- 1900 Mechanical punched-cards: 1900-1955 Stored-program computer-- sequential record processing: 1955-1970 Online navigational network DBs: 1965-1980 many applications still run today! Relational DB: 1980-1995 Post-relational and the Internet: 1995-

Database Management System (DBMS) System for providing EFFICIENT, CONVENIENT, and SAFE MULTI-USER storage of and access to MASSIVE amounts of PERSISTENT data

Example: Banking System Data Information on accounts, customers, balances, current interest rates, transaction histories, etc. MASSIVE many gigabytes at a minimum for big banks, more if keep history of all transactions, even more if keep images of checks -> Far too big for memory PERSISTENT data outlives programs that operate on it

Example: Banking System SAFE: from system failures from malicious users CONVENIENT: simple commands to - debit account, get balance, write statement, transfer funds, etc. also unpredicted queries should be easy EFFICIENT: don't search all files in order to - get balance of one account, get all accounts with low balances, get large transactions, etc. massive data! -> DBMS's carefully tuned for performance

Multi-user Access Many people/programs accessing same database, or even same data, simultaneously -> Need careful controls Alex @ ATM1: withdraw $100 from account #007 get balance from database; if balance >= 100 then balance := balance - 100; dispense cash; put new balance into database; Bob @ ATM2: withdraw $50 from account #007 if balance >= 50 then balance := balance - 50; Initial balance = 200. Final balance = ??

Why File Systems Won’t Work Storing data: file system is limited size limit by disk or address space when system crashes we may lose data Password/file-based authorization insufficient Query/update: need to write a new C++/Java program for every new query need to worry about performance Concurrency: limited protection need to worry about interfering with other users need to offer different views to different users (e.g. registrar, students, professors) Schema change: entails changing file formats need to rewrite virtually all applications That’s why the notion of DBMS was motivated!

DBMS Architecture User/Web Forms/Applications/DBA Main Memory query transaction DDL commands Query Parser Transaction Manager DDL Processor Query Rewriter Concurrency Control Logging & Recovery Query Optimizer Query Executor Records Indexes Lock Tables Buffer: data, indexes, log, etc Buffer Manager Main Memory Storage Manager Storage data, metadata, indexes, log, etc CS411

Data Structuring: Model, Schema, Data Data model conceptual structuring of data stored in database ex: data is set of records, each with student-ID, name, address, courses, photo ex: data is graph where nodes represent cities, edges represent airline routes Schema versus data schema: describes how data is to be structured, defined at set-up time, rarely changes (also called "metadata") data is actual "instance" of database, changes rapidly vs. types and variables in programming languages

Schema vs. Data Schema: name, name of each field, the type of each field Students (Sid:string, Name:string, Age: integer, GPA: real) A template for describing a student Data: an example instance of the relation Sid Name Age GPA 0001 Alex 19 3.55 0002 Bob 22 3.10 0003 Chris 20 3.80 0004 David 3.95 0005 Eugene 21 3.30

Data Structuring: Model, Schema, Data Data definition language (DDL) commands for setting up schema of database Data Manipulation Language (DML) Commands to manipulate data in database: RETRIEVE, INSERT, DELETE, MODIFY Also called "query language"

People DBMS user: queries/modifies data DBMS application designer set up schema, loads data, … DBMS administrator user management, performance tuning, … DBMS implementer: builds systems

How to Get the Most out of COP4710? Read and think before class welcome to ask questions before class! Study and discuss with your peers discuss readings to enhance understanding discuss assignments but write your own solution! Use lectures to guide your study use it as a roadmap for what’s important lectures are starting points– they do not cover everything you should read Participate actively in your project

Any questions? Please feel free to raise your hands