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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend