Download CSC 742: Database Management Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Microsoft Access wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Serializability wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

IMDb wikipedia , lookup

Oracle Database wikipedia , lookup

Ingres (database) wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Functional Database Model wikipedia , lookup

Relational model wikipedia , lookup

Database wikipedia , lookup

Concurrency control wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

ContactPoint wikipedia , lookup

Transcript
CSC 440
Database Management Systems
Section 1
Acknowledgment: Slides borrowed from Dr. Rada Chirkova.
This presentation uses slides and lecture notes available from
http://www-db.stanford.edu/~ullman/dscb.html#slides
Scope of this Course





Directed at computer science undergraduate
students
Introduces concepts and theory
Requires design and development of a database
application
Implementation-specific details are not the focus
of the course — you learn those on your own
Intensive
Spring 2007
CSC440: Database Management Systems
2
Database System Environment
Users / Programmers
DATABASE
Application Programs / Queries
SYSTEM
DBMS
SOFTWARE
Processing Queries / Programs
Accessing Stored Data
Stored Database
Definition
(Meta-Data)
Spring 2007
CSC440: Database Management Systems
Stored
Database
3
Contents








Introduction
Database programming basics
Data modeling: entity-relationship approach
Relational data model
Relational algebra
SQL
Constraints and triggers
Transactions, security, and authorization in SQL
Spring 2007
CSC440: Database Management Systems
4
Contents (cont’d)





Data-storage and index structures
Recovery
Concurrency control
Query execution
Distributed databases
Spring 2007
CSC440: Database Management Systems
5
Prerequisites



CSC 316 (Data structures for computer
scientists)
Knowledge of discrete mathematics and
predicate logic
Sufficient ability to program in Java or a
willingness to acquire it through self-study
Spring 2007
CSC440: Database Management Systems
6
Course Textbook


Database Systems: The Complete Book, by
Hector Garcia-Molina, Jeffrey D. Ullman, and
Jennifer Widom, Prentice Hall.
Bundled with Gradiance software for
homeworks
Spring 2007
CSC440: Database Management Systems
7
Instructor






Peng Ning, associate professor of Computer
Science
Email policy
[email protected]
Phone (919) 513-4457
Office: EBII-3258, Centennial Campus
Office hours: Tuesdays and Thursdays 9:4510:45am, or by appointment
Spring 2007
CSC440: Database Management Systems
8
Teaching Assistant
 Ms. Yao Liu
 Office hours: Tuesdays and Thursdays, 4pm - 5pm
 Office: EBII-3323
 Email: yliu20 AT ncsu.edu
Spring 2007
CSC440: Database Management Systems
9
Now Tell Us about Yourself
 Interview your neighbor and have
him/her interview you
 Introduce your neighbor to the class
Spring 2007
CSC440: Database Management Systems
10
Course Website
http://courses.ncsu.edu/csc440/lec/001/
 Tour of web sites
 Important: course announcements:
 on the web site
 Learning objectives and lecture slides on
the web

Spring 2007
CSC440: Database Management Systems
11
Assignments


Reading assignments: see course web page
 Chapter 1 and Section 8.5 now
Eight homework assignments
 All work is to be done individually unless
otherwise specified.
 For the collaborative problems, you may form
teams of 2-3 members (of students in this class)
to cooperate only on those problems. After
discussing the problems, please write up your
answers individually. Indicate the names of the
other members in your team, if any.
Spring 2007
CSC440: Database Management Systems
12
Project



All students are required to complete a
course project
The details will be announced on the
course website
You need to start forming project teams
 Talk to your classmates
 Use the message board
Spring 2007
CSC440: Database Management Systems
13
Grading
Quizzes
 Assignments
 Project (demo day April 23)
 Midterm (February 28 in class)
 Final exam (April 29, 8-11am)

Spring 2007
CSC440: Database Management Systems
5%
10%
22%
30%
33%
14
Why the Homeworks
Are Important
Spring 2007
CSC440: Database Management Systems
15
Self-Study Responsibilities



Some of the topics are important but are
either quite straightforward or not a main
focus of this course.
These topics will be identified as self-study
topics on the course web page.
Your knowledge of them will be evaluated
as appropriate through exams, homework,
programming assignments, or the project.
Spring 2007
CSC440: Database Management Systems
16
Miscellaneous


Rules: The NC State University and Department
of Computer Science rules regarding academic
honesty apply
Regrade policy: see syllabus
Spring 2007
CSC440: Database Management Systems
17
Discussion
Discuss the syllabus in pairs
 Ask me questions (later if you prefer)

Spring 2007
CSC440: Database Management Systems
18
Setting Goals and Expectations




Write your goals for the semester (2-3 phrases)
Write your expectations of me as a teacher (2-3
phrases)
Anonymously: hand in rumors, if any, you have
heard about the course or about me. We will
discuss the rumors next time.
You may also ask me questions.
Spring 2007
CSC440: Database Management Systems
19
Topic #1:
A Brief Introduction to DBMS:
The Big Picture
Spring 2007
CSC440: Database Management Systems
20
Group Discussion


What do you know already about the topic?
 We’ll see next week!
What questions do you have about the course
content?
Spring 2007
CSC440: Database Management Systems
21
An Example of a Database
STUDENT:
Name StudentNumber Class Major
Smith
Brown
Green
White
17
8
24
37
GRADE_RPRT: StudentNo
17
17
24
8
Spring 2007
1
2
2
1
Course
CSC742
CSC316
CSC742
CSC742
CSC440: Database Management Systems
CSC
ECE
CSC
CSC
Grade
AB
CB+
22
Database: What It Is

Coherent collection of data with inherent
meaning


About an aspect of the world


Random assortment of data is not a database
Changes in the world are reflected in the
database
Fit to use for its intended purpose

Somebody is going to use the database
Spring 2007
CSC440: Database Management Systems
23
Group Discussion

Come up with 2-3 examples of databases
Spring 2007
CSC440: Database Management Systems
24
Database System Environment
Users / Programmers
DATABASE
Application Programs / Queries
SYSTEM
DBMS
SOFTWARE
Processing Queries / Programs
Accessing Stored Data
Stored Database
Definition
(Meta-Data)
Spring 2007
CSC440: Database Management Systems
Stored
Database
25
Database Management System




Specialized software
Buy, install, set up for particular application
Available for PC’s, workstations, mainframes,
supercomputers
Is expected to:
Spring 2007
CSC440: Database Management Systems
26
Database Management System




Specialized software
Buy, install, set up for particular application
Available for PC’s, workstations, mainframes,
supercomputers
Is expected to:




Allow users to create new databases (schema)
Give users the ability to query/modify the data
Support the storage of very large amounts of data
Control access to data from many users at once
Spring 2007
CSC440: Database Management Systems
27
Database Management System
(cont’d)


Major vendors/products:
 Oracle
 IBM (DB2)
 Microsoft (SQL Server, Access)
Powerful tool for providing efficient, convenient,
and safe multi-user storage of and access to
massive amounts of persistent data
Spring 2007
CSC440: Database Management Systems
28
Example: Banking System
 Data = information on accounts,
customers, balances, current interest
rates, transaction histories, etc
 Massive
 Persistent
 Multi-user
Spring 2007
CSC440: Database Management Systems
29
Example (2 of 4)

Jane at ATM1: withdraw $100 from account #55
 Get balance from database
 If balance > 100 then
 balance := balance – 100
 dispense cash
 put new balance into database
Spring 2007
CSC440: Database Management Systems
30
Example (3 of 4)



John at ATM2: withdraw $50 from account #55
 Get balance from database
 If balance > 50 then
 balance := balance – 50
 dispense cash
 put new balance into database
Initial balance = 100
Final balance = ??
Spring 2007
CSC440: Database Management Systems
31
Example (4 of 4)
 Safe
 Convenient
 Efficient
Spring 2007
CSC440: Database Management Systems
32
DBMS Components
 Storage manager:
 Stores on disk: data, metadata, indexes, logs
 Query processor:
 Parses queries, optimizes by selecting query

plan, executes the plan on the data
Transaction manager:
 Logs database changes to support recovery
after system crashes
 Supports concurrent execution of transactions
Spring 2007
CSC440: Database Management Systems
33
DBMS Structure in More Detail
Strategy Selector
User Transaction
Concurrency Control
Lock Table
Query Parser
Transaction Manager
Buffer Manager Recovery Manager
File Manager M.M. Buffer
Statistical Data
Log
Indexes
User Data
Spring 2007
User
System Data
CSC440: Database Management Systems
34
People
DBMS implementor: builds systems
 Database designer: sets up schema,
loads data
 Database user: queries/modifies data
 You in the course project

Spring 2007
CSC440: Database Management Systems
35
Less Traditional Applications
Real-time, historical data and queries,
“active” databases
 Distributed, heterogeneous databases
 Scientific data

Spring 2007
CSC440: Database Management Systems
36