You are on page 1of 6

Welcome

to CMPUT 391

CMPUT 391
Denilson Barbosa
denilson@ualberta.ca

Syllabus
cmput391 -- Database Systems
CMPUT 391 is a graded undergraduate course, the second in the twocourse serial on database management systems at the University of
Alberta. Its main objective is to expose fundamental concepts
underlying modern database systems, focusing on the different
architectures and the corresponding trade-offs they introduce.
Prerequisites: CMPUT 204 or 275, and CMPUT 291.
For the Fall/2016:
instructor: Denilson Barbosa (denilson@ualberta.ca)
office hours: by appointment via email
GO TO eCLASS for the details
CMPUT 391

Differences from previous years


now

before
Understand database design and
normalization theory system issues
such as transactions, concurrency
control, crash recovery, query
processing and query optimization
Be familiar with the support for
special data types such as
multimedia, spatial data and
XML documents
Know about support for complex
applications and data analysis such
as data mining, data warehousing
and information retrieval

Understand fundamental
techniques and architectural
choices in modern database
management systems
Storage and retrieval of data,
transactions and application
isolation, concurrency control, crash
recovery, query processing and
query optimization, parallel data
processing, noSQL
Understand the need for support
for special data types and nontraditional applications

CMPUT 391

Differences from previous years


OLD
Midterm
Final exam
Three problem sets (assignments)
1 project client server web application on
top of Oracle/PHP OR Hadoop/Cassandra

NEW
Midterm 15%
Final exam 30%
Three programming assignments in
SQLite3 using C/C++
A1: 15%
A2: 20%
A3: 20%
CMPUT 391

What is cmput391 about?


Appreciate why the one size fits all does not work anymore
OLAP vs OLTP

Understand how different computing needs affect the requirements


of the underlying data management system
Single user vs multi-user
Critical vs casual application

Understand how different architectures make it easier/harder to


support certain kinds of data management operations
Central vs distributed
Multicomputer vs cloud

CMPUT 391

What is cmput391 about?


Appreciate the need for handling non-Relational and real (dirty) data
At least data is not the traditional business-like data

Graph data (assignment 1)


Spatial data (assignment 2)
Web data (assignment 3)
Get you interested in further data management
Text management: cmput397 W17
Text + Web: cmput690
Spatio-temporal: see Prof. J. Sander

CMPUT 391

What is cmput391 NOT ABOUT?


SQL, algebra, normalization,
ER modelling, programming

You are expected to know


and may be tested on these

Turning you into a DBA

Make you build your own DBMS

CMPUT 391

although it would be super


cool if you did!

What is SQLite?
Started as a set of libraries offering SQL
functionality embedded into the
application
Original goal: to replace the fopen() call
in C programs
The CLI was added later

SQLite became probably the most used


DBMS in the world
Embedded in web browsers, mobile apps,

CMPUT 391

Differences to other DBMSs?


besides the lack of separate client server programs most differences
have to do with
kinds of storage and access methods
support for different kinds of data

The programming style in SQLite is the same in commercial DBMSs


OPEN connection
PREPARE SQL statement
EXECUTE prepared statement
Deal with the IMPEDANCE MISMATCH
Check for errors

SQLite3 supports all programming languages you care about as well


as ODBC/JDBC
CMPUT 391

Course mechanics
Lectures:
M / W : 1pm 1:50pm NEW MATERIAL
F : 1pm 1:50pm look inside SQLite code, reviews, Q&A

Labs (T 8am, W 2pm, T 5pm)


One structured lab: installing and compiling SQLite3 on your machine
All other labs: work on your assignments
TA will be present the first 30min to answer questions, and will stay until there
are questions (or the time limit lapses).

CMPUT 391

10

How your assignments will be graded


There will always be very specific submission instructions
Not following them will always incur harsh deductions

From previous years: ZIP and RAR are NOT THE SAME THING
You are STRONGLY encouraged to work on your own laptop
We will not support MS Windows
Your submission will be graded on ubuntu 14
Your code, compilation instructions, etc. must all be compatible with ubuntu 14
If the TAs cant run your code, you get no marks

If you dont run OSX/ubuntu, install a VM!


VirtualBox is a free and reasonable option
11

CMPUT 391

Are there any spots?


Class is currently full
The CS department is working on adding more spots
If you are not enrolled and would like to

Please contact Sharon Gannon in


the CS main office
2nd floor Athabasca Hall

CMPUT 391

12

You might also like