Official URL of this page: http://www.cse.chalmers.se/edu/year/2017/course/TDA357/VT2017/
Material: Notes = course notes, Book = course book
|18/1 Wed||Lecture 1, Introduction||Notes 1, Book 1|
|19/1 Thu||Lecture 2, Data modelling with relations||Notes 2, Book 2|
|22/1 Sun||LAB 0 DEADLINE||group registration|
|23/1 Mon||Lecture 3, Entity-Relationship diagrams||Notes 3, Book 4|
|25/1 Wed||Exercise 1, Entity-Relationship diagrams||Questions Solutions|
|26/1 Thu||Lecture 4, Functional dependencies and normal forms||Notes 4, Book 3|
|30/1 Mon||Lecture 5, SQL construction and queries 1||Notes 5, Book 6|
|1/2 Wed||Exercise 2, Functional dependencies, SQL||Questions Solutions|
|2/2 Thu||Lecture 6, SQL construction and queries 2||Notes 5, Book 6|
|5/2 Sun||LAB 1 DEADLINE||Lab PM|
|6/2 Mon||Lecture 7, SQL constraints and triggers||Notes 6, Book 7|
|13/2 Mon||Lecture 8, (by Steven) SQL in software applications (JDBC, SQL injection)||Notes 8, Book 9, slides (1pp), slides (6pp)|
|15/2 Wed||Exercise 3, Triggers||Questions Solution setup1 setup2 setup3|
|16/2 Thu||Lecture 9, Relational algebra and query compilation||Notes 7, Book 2,5,16|
|20/2 Mon||Lecture 11, Alternative data models||Notes 10, Book 11,12|
|22/2 Wed||Exercise 4, JDBC||Questions Solutions|
|23/2 Thu||Lecture 10, (by Steven) Remaining SQL topics: transaction, authorization, indexes||Notes 9, Book 6,8,10, slides (1pp), slides (6pp)|
|24/2 Fri||LAB 2 DEADLINE||Lab PM|
|27/2 Mon||Lecture 12, Industrial guest lecture: Oscar Söderlund, Spotify||Cassandra|
|1/3 Wed||Exercise 5, Transactions etc||Questions Solution Slides|
|2/3 Thu||Lecture 13, recap and exam preparation||Notes, Book|
|8/3 Wed||Exercise 6, XML||Questions Solutions|
|10/3 Fri||LAB 3 DEADLINE||Lab PM|
|15/3 Wed||LAB RESUBMISSION DEADLINE||Lab PM|
|17/3 Fri||Exam||old exams and a quiz|
The official course schema is in Time Edit
The course covers the basic principles of database systems as seen by users, application programmers and database administrators. A laboratory assignment develops these topics as a running example throughout the course. These include programming in SQL, as seen by a user querying or modifying an existing database, by a database designer, and by an application programmer invoking SQL from a host language. Course contents include:
The course is thus a typical first course in database systems, and occupies a traditional place in the curriculum.
The full description with learning outcomes is available in the student portal
The fastest way to get an answer is to mail the course's Google group https://groups.google.com/forum/#!forum/tda357-vt2017
If you have any general questions regarding the course, the labs or the exercises, please ask them in our Google group https://groups.google.com/forum/#!forum/tda357-vt2017 This will reach all teachers and fellow students. If you are not yet member of the group, you have to
See Time Edit for times and places.
You should register in the lab session by using this link to Eventbrite
Course assistants will be in the lab rooms to help.
Attendance in these classes is optional. Normally, each student should attend at most one supervised laboration time each week.
There are three assignments (a.k.a. "laborations", "labs"), written individually or in pairs. In addition, there is a "Lab 0", which consists of just registering the group.
The specification ("lab PM") is here
Reporting is done via Fire Before reporting assignments 1 and 2, you must run your program through a test suite.
Final deadline is Wednesday 15 March for all returned and corrected labs. No labs will be graded if sent after this deadline.
We guarantee two gradings per lab: one for the version submitted before the ordinary deadline for that lab, the other for a resubmission before the final deadline. If your first submission is after the lab deadline, only one grading is guaranteed.
Labs are by default done in pairs:
The course book is
Book web page
A new "international edition" was published in summer 2013. The chapters relevant to this course are the same, so either version will be OK. The book is available at Cremona and at web bookshops.
There are six exercise sessions. Each session is given two or three times; you are supposed to participate at most once at each session.
See Time Edit for exact times and places.
The questions are based on last year's questions but will be confirmed a week before each class.
Written exam, usual grading scales.
Date: 17 March
Time: 8:30 - 12:30
Place: HA, HB, HC
The exam has the same structure as these old exams exams/.
Unlike some earlier exams, we will not allow "cheat sheets". But the exam questions contain a standard cheatsheet, which is a reference card covering all E-R, SQL, relational algebra, and XML syntax that is needed in the exam.
Exam review: 20 April at 14-16 in EDIT room 6106
PostgreSQL https://www.postgresql.org/ (the main software, used in assignments)
Query Converter source https://github.com/GrammaticalFramework/gf-contrib/tree/master/query-converter (experimental teaching software developed alongside with the course). Binaries available for linux and mac. For full functionality, you also need graphviz (to show E-R diagrams) and latex (to show relational algebra)