1 Introduction
1 Introduction
CSC 203
Lecture 1 introduction to
Database Systems
2
Course Description
• Study the fundamentals of relational database
management systems (RDBMS)
• Learn the principles of designing and developing
applications using relational database systems.
• Materials include, but are not limited to
– the ER (Entity-Relationship) model and its mapping to the
relational data model
– the algebraic language in the relational data model and its
relationship to the commercial relational query language: SQL
– database design that conforms to different normal forms,
database applications, database indexing, transaction
management, recovery and other advanced topics
3
Course Goal
5
Project
• A database-driven information system
– Select a real-world application that needs databases as backend
systems
– Design and build it from start to finish
– Your choice of topic: useful, realistic, database-driven, Web-
based
• Requirement
– Team work (one to three people)
• all members receive same grading, and if one drops out, the
others pick up the work
– Will be done in stages
• you will submit some deliverables at the end of each stage
6
Data Management Evolution
9
Example: Banking System
• SAFE:
– from system failures
– from malicious users
• CONVENIENT:
– simple commands to get accounts, write statement, transfer funds, etc.
10
Why File Systems Won’t Work?
• Storing data: file system is limited
– size limit by disk or address space
– when system crashes we may lose data
– Password/file-based authorization insufficient
• Query/update:
– need to write a new C++/Java program for every new query
– need to worry about performance
• Concurrency: limited protection
– need to worry about interfering with other users
– need to offer different views to different users (e.g. registrar, students,
professors)
• Schema change:
– entails changing file formats
– need to rewrite virtually all applications
That’s why the notion of DBMS was motivated!
11
DBMS Architecture
User/Web Forms/Applications
query transaction DDL commands
Query Rewriter
Records Indexes
Lock Tables
Buffer:
Buffer Manager
data, indexes, log, etc
Main Memory
Storage Manager
14
Characteristics of Databases
15
Data in Tables
?
Any problem?
16
Related Tables
17
Components of a Database System
18
Components of a Database System : SQL
19
SQL
20
Examples
• Create another column e.g. address
– DDL
• Insert another student information
– DML
21
People of DBMS
• DBMS user: queries/modifies data
• DBMS application designer
– set up schema, loads data, …
• DBMS administrator
– user management, performance tuning, …
• DBMS implementer: builds systems
22
What You Need To Learn
23
Questions
Any questions?
24