Introduction Why Databases? Can you name one application that does - - PDF document

introduction why databases
SMART_READER_LITE
LIVE PREVIEW

Introduction Why Databases? Can you name one application that does - - PDF document

Introduction Why Databases? Can you name one application that does not need any data? No, a program itself is data Can you name one application that does not need organized data? No, programs = algorithms + data


slide-1
SLIDE 1

Introduction

slide-2
SLIDE 2

CMPT 354: Database I -- Introduction 2

Why Databases?

  • Can you name one application that does not

need any data?

– No, a program itself is data

  • Can you name one application that does not

need organized data?

– No, “programs = algorithms + data structures”

slide-3
SLIDE 3

CMPT 354: Database I -- Introduction 3

Database and DBMS

  • Database: a collection of data that (often)

exists over a long period of time

  • Database management system (DBMS): a

software designed to assist in maintaining and utilizing large collections of data

– Schema (logical structure of data) specification – Query specification and answering – Storage management – Access control

slide-4
SLIDE 4

CMPT 354: Database I -- Introduction 4

Databases or DBMS’s?

  • “I just installed SQL Server in my computer”

– DBMS

  • “I collected 100 student records, and saved

them in a spreadsheet”

– A database

slide-5
SLIDE 5

CMPT 354: Database I -- Introduction 5

What Are Database Courses About?

  • How to store, retrieve and analyze (large

amount of) data

  • Database applications: how to use

databases?

  • DBMS: how to design and implement

efficient database management systems?

slide-6
SLIDE 6

CMPT 354: Database I -- Introduction 6

Three-level Architecture

slide-7
SLIDE 7

CMPT 354: Database I -- Introduction 7

Levels of Abstraction

  • Physical level: describes how a record (e.g.,

customer) is stored (e.g., the block-id and the

  • ffset on disk)
  • Logical level: describes data stored in database,

and the relationships among the data

– A customer record contains account-id, name, gender, phone number, and address

  • View level: application programs hide details of

data types

– A sales application can access name and phone number only

slide-8
SLIDE 8

CMPT 354: Database I -- Introduction 8

DBMS

slide-9
SLIDE 9

CMPT 354: Database I -- Introduction 9

History: 1950s and Early 1960s

  • Data processing using magnetic tapes for

storage

– Tapes provide only sequential access

  • Punched cards for input
slide-10
SLIDE 10

CMPT 354: Database I -- Introduction 10

History: Late 1960s and 1970s

  • Hard disks allow direct access to data
  • Network and hierarchical data models in

widespread use

  • Ted Codd defines the relational data model

– Codd won the ACM Turing Award for this work – IBM Research began System R prototype – UC Berkeley began Ingres prototype

  • High-performance (for the era) transaction

processing

slide-11
SLIDE 11

CMPT 354: Database I -- Introduction 11

History: 1980s

  • Research relational prototypes evolve into

commercial systems

– SQL becomes industrial standard

  • Parallel and distributed database systems
  • Object-oriented database systems
slide-12
SLIDE 12

CMPT 354: Database I -- Introduction 12

History: 1990s

  • Large decision support and data-mining

applications

  • Large multi-terabyte data warehouses
  • Emergence of Web commerce
slide-13
SLIDE 13

CMPT 354: Database I -- Introduction 13

History: 2000s

  • XML and XQuery standards
  • Automated database administration
  • Diversity in data: web data, privacy control,

streaming data, uncertain data, …

slide-14
SLIDE 14

CMPT 354: Database I -- Introduction 14

Then, What Is CMPT 354 about?

  • Database applications: prepare you for real

world scenarios

– How to store data into databases? – How to retrieve data from databases? – How to design databases for various applications?

  • CMPT 454: designing and implementing a

good database management system

  • CMPT 459: an in-depth study of data mining
slide-15
SLIDE 15

CMPT 354: Database I -- Introduction 15

Topics

  • Introduction
  • Storing data in relational tables
  • Simple SQL
  • Advanced SQL
  • Database design
  • Improving database design for transaction

processing and data analysis

  • Inside DBMS: a glance
  • Semi-structured data and XML
  • Web search and information retrieval
slide-16
SLIDE 16

CMPT 354: Database I -- Introduction 16

What Is New in CMPT 354?

  • How many of you know SQL and used

databases before?

– Many

  • How many of you know the ER model and

the relational model?

– Many

  • Then, why should you take this course?

– How to achieve good design for various types of (large) applications? – Go beyond relational databases: XML, web, …

slide-17
SLIDE 17

CMPT 354: Database I -- Introduction 17

Highlights – Some Interesting Topics

  • If I want to write an online e-business

system, how should I improve my database design?

  • If I want to analyze the sales data of a large

company in a multidimensional way, how should I improve my database design?

  • How does a search engine like Google and

Yahoo rank web pages?

slide-18
SLIDE 18

CMPT 354: Database I -- Introduction 18

Emphases

  • Problem solving skills

– Database design – Writing complicated queries

  • Practical applications

– Transaction processing systems (e.g., sales system) – Analytical processing systems (e.g., sales analysis systems) – Web-based applications

slide-19
SLIDE 19

CMPT 354: Database I -- Introduction 19

Textbook and References

  • Silberschatz, Korth and Sudarshan: Database

Systems Concepts, 5th edition, McGraw Hill, 2006

  • References

– Lewis Bernstein and Kifer: Database and Transaction Processing: An Application-Oriented Approach, Addison Wesley, 2002. – Garcia-Molina, Ullman and Widom: Database Systems: The Complete Book (Errata), Prentice Hall, 2002. – John. J. Patrick: SQL Fundamentals, 2/E, Prentice Hall, 2002.

slide-20
SLIDE 20

CMPT 354: Database I -- Introduction 20

Lecture Notes

  • The textbook does not cover all materials in this course, up

to 1/3 of the content is new!

– New materials due to new applications and new techniques – Attending the classes and taking notes is extremely important!

  • Exams will be based on the lecture notes

– Notions and terminology in the lecture notes should be followed – The lecture notes will be put on the course web page at least a few hours before the class – Please bring your copy or load them into your laptop and take further notes!!!

  • Some figures in my slides are borrowed from the textbook
slide-21
SLIDE 21

CMPT 354: Database I -- Introduction 21

Grading Scheme

  • Reading and to do list for every lecture (no hand-

in) (100%)

– You need to read the textbook after lectures – To do list helps you to get a better understanding

  • 3 assignments (15%)
  • One course project (15%)
  • 2 one-hour exams (20%, Sept. 28 and Oct. 26,

tentatively)

  • Final exam (50%)
slide-22
SLIDE 22

CMPT 354: Database I -- Introduction 22

About the Course Project

  • It is challenging and interesting

– Group project: 4 students in a group – Build a tablet interface of a database: How to interactively explore data using a tablet PC? – The more creative, the better

  • You need to use .NET

– You need to learn the software tools by yourself

slide-23
SLIDE 23

CMPT 354: Database I -- Introduction 23

About the To-do Lists

  • Help you to review the materials
  • Do it by yourself

– Try to solve the problems before looking at the answers – Some solutions are provided

  • No pain, no gain
slide-24
SLIDE 24

CMPT 354: Database I -- Introduction 24

Expectations

  • Strong incentives to learn new knowledge,

not just passing another course

  • Come up with new ideas creatively to solve

real world problems

  • Work hard to gain solid understanding and

skills

  • Team work
slide-25
SLIDE 25

CMPT 354: Database I -- Introduction 25

Questions and Suggestions?

slide-26
SLIDE 26

CMPT 354: Database I -- Introduction 26

To-Do List

  • Name 3 meaningful applications that do not

need a database

  • Name 3 meaningful applications that need a

database

  • Compare the features of the two groups of

applications