Introduction Why Databases? Can you name one application that does - - PDF document
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
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”
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
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
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?
CMPT 354: Database I -- Introduction 6
Three-level Architecture
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
CMPT 354: Database I -- Introduction 8
DBMS
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
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
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
CMPT 354: Database I -- Introduction 12
History: 1990s
- Large decision support and data-mining
applications
- Large multi-terabyte data warehouses
- Emergence of Web commerce
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, …
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
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
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, …
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?
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
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.
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
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%)
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
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
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
CMPT 354: Database I -- Introduction 25
Questions and Suggestions?
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