====== BIE-DBS - Database Systems ====== This is a temporary website for the course. Pages will move to edux portal if the portal is prepared. ===== Course organization ===== * Teacher: **Michal Valenta** [[mailto:Michal.Valenta@fit.cvut.cz|Michal.Valenta@fit.cvut.cz]] * Teachers's office: Room **T7:A-927** Building A (Thákurova 7), the "old" blue building connected with the new CTU building through a glass corridor, take a lift to 9th floor ==== Schedule: ==== * **Lectures: Monday 14:30 - 16:00**, room T7:A-1030 (building A, see above) * **Seminars: Friday 11:00 - 12:30**, room T7:A-1031 (building A, see above) * your laptops/notebooks are welcome especially if you want to consult semestral project ===== Requirements to Pass ===== ==== Semestral Project ==== * project is mandatory * you receive up to 40 points ==== Exam ==== * is mandatory * it is a test including practical exercises * your receive up to 60 points * there may be additional discussion part (test is the basis for discussion) * {{:fit:bie-dbs:exam-test-sample.pdf|Sample of exam test.}} ==== Final Mark ==== * your points from semestral project and exam are summed together * final mark is done by the table: ^Points Interval^Grade^Evaluation in Words^ |>= 90 | A | Excellent | |80-89 | B | Very Good | |70-79 | C | Good | |60-69 | D | Satisfactory | |50-59 | E | Sufficient | |< 49 | F | Failed | ===== Study Materials ===== Lectures are based on book and slides Database [[http://pages.cs.wisc.edu/~dbbook/|Management Systems written by R. Ramakrishanan and J. Gerkhe]] - lecture (26 of September)[[https://users.fit.cvut.cz/~valenta/bie-dbs/slides/1-1-intro.pdf|introduction to database management systems]] - lecture (3 of October)[[https://users.fit.cvut.cz/~valenta/bie-dbs/slides/2-1-relational.pdf|relational databases]] - lecture (3 of October, 10 of October) [[https://users.fit.cvut.cz/~valenta/bie-dbs/slides/2-2-ralgebra.pdf|relational algebra]] - lecture (10 of October) [[https://users.fit.cvut.cz/~valenta/bie-dbs/slides/4-1-e-r.pdf| er-introduction]] - lecture (17 of October) er-model (presentation is the same) - lecture (24 of October) SQL [[https://users.fit.cvut.cz/~valenta/bie-dbs/slides/3-1-sql1.pdf| SQL - part I]] - lecture (31 of October) SQL (see previous presentation) - lecture (7 of November) [[https://users.fit.cvut.cz/~valenta/bie-dbs/slides/3-2-sql2.pdf| SQL part II]] - lecture (14 of November) We discussed conceptual models in your project - lecture (21 of November) {{:fit:bie-dbs:4-2-nf.pdf|database normalization}} - lecture (28 of November) Nomrmalization - another example + Transactional processing - lecture (5 of December) {{:fit:bie-dbs:5-2-recovery.pdf|Transactional processing, Backup and Recovery}} ==== Seminars ==== Materials are [[fit:bie-dbs:seminars:start|here]] ===== Semestral Project ===== The aim of semestral project is design and implementation of relational database. The semetral project consist of 3 parts: * **specification** - you have to choose arbitrary topic (domain) - for example: library, hospital, car renting, a game support database, ... Briefly describe your application domain by several paragraphs. * **design** - you have to create conceptual model of your database and eventually discuss circles (loops) which appear in the model * **implementation** - you have to: * create a database scheme in a relational DBMS - **create srcipt** * write a initialization script to fill database with a small amount of testing data - **insert script** * design and develop at least 25 ad-hoc queries over your database (queries should be of a given complexity, see sample of semestral project) - **query script** * formulate at least 8 queries also in relational algebra * create a log-file, which documents that your queries works and returns expected results - **log file** A sample of semestral work is [[https://users.fit.cvut.cz/~valenta/bie-dbs/sem-project/index.html|here]]. ===== Tools ===== You need a tool for conceptual modeling and a client for RDBMS. Recommended tools are: * Oracle SQL Developer Data Modeler [[http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html|official site]], [[https://users.fit.cvut.cz/~valenta/download/oracle/datamodeler-3.0.0665.zip|local copy]] * Oracle SQL Developer [[http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html|official site]], [[https://users.fit.cvut.cz/~valenta/download/oracle/sqldeveloper-3.0.04.34-no-jre.zip|local copy]] It is allowed to use another (your favorite) modeler and/or RDBMS and its client.