Database Systems (INFR10070) Dr Paolo Guagliardo University of Edinburgh Fall 2016 Databases are everywhere Electronic commerce, websites (e.g., Wordpress blogs) Banking applications, booking systems, even your laptop Data science, data analytics Three types of users 1. End-users 2. Administrators 3. Implementors Goals of this course Teach you to be good end-users (SQL is not enough) Provide you with solid foundations of how a DBMS works (and so understand something of the other two roles)
Syllabus (1) Topics from past editions (most now include more details) Database management systems and the relational model Database design: E-R diagrams, constraints, normal forms SQL: data definition / manipulation / query language Query languages: relational algebra and calculus Database access from applications: embedded and dynamic SQL Scheduling and concurrency control: transaction management, serializability, locking Syllabus (2) New topics introduced in this edition: Storage and indexing: B-trees, hashing Query evaluation and optimisation: join strategies, query plans Data warehousing and decision support: OLAP, view materialisation and maintenance Deductive databases: Datalog and recursive queries Incomplete data: null values and certain answers Semistructured data: XML documents, DTDs, query languages for XML
Prerequisites For undergraduates Successful completion of Year 2 For all students Some background in discrete mathematics: Set theory (sets, set operations, relations, orders) Mathematical logic (predicate logic, inference, satisfiability) Combinatorics (permutations, combinations, partitions) Graph theory (directed/undirected graphs, trees) Computational complexity (complexity classes, decidability) Algorithm complexity analysis (Big-O notation) Mathematical Logic Essential to understand relational calculus (as well as Datalog) write correct SQL queries Week 1 Brief introduction to logic at the level required for the course refresher for who studied logic before crash course for newcomers If you find yourself lost after week 1, then you should probably consider dropping the course
Textbook (1) Main text Ramakrishnan, Gehrke: Database Management Systems McGraw-Hill, 3rd edition Highly recommended but not mandatory Most lectures will be closely following this textbook Availability Main Library (George Square): 3 copies (3 hours loan) Murray Library (King s Buildings): 6 copies (12 weeks loan) Blackwell s (Nicholson St): 10% student discount Textbook (2) Further reading Abiteboul, Vianu, Hull Foundations of Databases Addison-Wesley, 1995 Mostly theoretical topics Out of print but freely available (for personal use only)
Additional Study Material Reading List Search for Database Systems at http://resourcelists.ed.ac.uk I requested scans from relevant chapters of the textbook (I don t know yet whether they are available and from where) Lecture Notes Slides from the main text will be posted on the course website with the authors permission (do not redistribute) Past Exam Papers Search for Database Systems at https://exampapers.ed.ac.uk/ Last year s website You can find it at https://blog.inf.ed.ac.uk/dbs15 Mostly outdated material that does not apply to this year s edition Contacts Course Website Direct link: http://blog.inf.ed.ac.uk/dbs16 Lecture notes, tutorial sheets, homework, assignments Cancellations and changes of location/date/time of classes Piazza Forum Preferred channel of communication Same material as on the website + class discussions More on it on next slide... Email Discouraged (use Piazza instead) Write to dbs-lecturer@ed.ac.uk Use only your student email (1234567@sms.ed.ac.uk)
Piazza This term we will be using Piazza for class discussion Get help easily from classmates, the tutors and myself Rather than emailing questions, post your questions on Piazza You can post privately to instructors (tutors and me) You can post anonymously to classmates Find our class page at https://piazza.com/ed.ac.uk/fall2016/infr10070/home Signup for the class at https://piazza.com/ed.ac.uk/fall2016/infr10070 with your student email address (e.g., 1234567@sms.ed.ac.uk) Assessment: Coursework Accounts for 25% of final mark Three assignments Each requires writing SQL queries to a given specification Assigned in week x, due in week x + 2 for x {4, 6, 8} Submission is via the submit command on DICE Marked automatically (details later on) Assignment Issued Due Date Worth 1 week 4 Fri 28 Oct 2016 @ 4pm 8% 2 week 6 Fri 11 Nov 2016 @ 4pm 8% 3 week 8 Fri 25 Nov 2016 @ 4pm 9%
Assessment: Exam Accounts for 75% of final mark Diets December 2016: only for semester 1 visiting students April/May 2017: main exam diet for all other students August 2017: resit exam (not for MSc students) Structure Pen and paper (closed book) 5 to 8 problems, all of which must be solved for full marks Have a look at past exams: https://exampapers.ed.ac.uk/ Tutorials They will start in week 3 Discuss (formative) exercises assigned throughout the course Tutorial attendance is mandatory (absence will be reported to your Personal Tutor) ITO will assign each of you to a tutorial group You can check which group you have been allocated to at https://portal.theon.inf.ed.ac.uk/reports/upt/open/tp072 Tutorial Groups/dbs.shtml (if you have a conflict, ask the ITO to change group) If you miss one tutorial, talk to other students in your group