introduction why databases
play

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


  1. 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 2

  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 3

  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 4

  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 5

  6. Three-level Architecture CMPT 354: Database I -- Introduction 6

  7. 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. 8 CMPT 354: Database I -- Introduction DBMS

  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 9

  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 10

  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 11

  12. History: 1990s • Large decision support and data-mining applications • Large multi-terabyte data warehouses • Emergence of Web commerce CMPT 354: Database I -- Introduction 12

  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 13

  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 14

  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 15

  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 16

  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 17

  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 18

  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 19

  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 20

  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 21

  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 22

  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 23

  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 24

  25. Questions and Suggestions? CMPT 354: Database I -- Introduction 25

  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 CMPT 354: Database I -- Introduction 26

Recommend


More recommend