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 structures” CMPT 354: Database I -- Introduction 2
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 3
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 4
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 5
Three-level Architecture CMPT 354: Database I -- Introduction 6
Levels of Abstraction • Physical level: describes how a record (e.g., customer) is stored (e.g., the block-id and the offset 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 7
8 CMPT 354: Database I -- Introduction DBMS
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 9
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 10
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 11
History: 1990s • Large decision support and data-mining applications • Large multi-terabyte data warehouses • Emergence of Web commerce CMPT 354: Database I -- Introduction 12
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 13
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 14
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 15
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 16
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 17
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 18
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 19
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 20
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 21
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 22
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 23
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 24
Questions and Suggestions? CMPT 354: Database I -- Introduction 25
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 CMPT 354: Database I -- Introduction 26
Recommend
More recommend