Essential Additional Information for

Fundamentals: Databases (06-21923)
co-taught with
ICY: Databases (06-21980)

(Autumn 2013)



A Lecture Cancellation

There will be no lecture on Friday 11 Oct. Instead, I am setting you an extra unassessed homework exercise to do.
This is now on the Exercises page (see below).



Lectures

There are two lectures a week:

Click here for lecture slides.

Some lecture material, including material to be used in assessed work, may be of a nature that is difficult to replicate readily by looking at textbooks, etc. Also, I may say or use the whiteboard to write things that won't be available electronically. Attendance at lectures is therefore irreplaceable as well as obligatory.

You are encouraged to ask questions and instigate discussion during lectures. Because of this, I make no guarantees about what topics I'm going to cover in any particular lecture.



Practical Sessions

There is a PRACTICAL SESSION every Thursday from Week 3 onwards at 3:00-5:00 in the Lower Ground floor lab (LG04) in the CS building. This period is available to help you do the computational exercises (see next section). Demonstrators (listed at the end of this page) will be available in the lab during the sessions, so that you can get help.

For the practical work you will be using a database management system called PostgreSQL (see below), which is centred on one of many versions of Structured Query Language or SQL.



Exercises, Class Test and Examination

Roughly every week I will give you some exercises to do.
The ones up to and including Week 8 will be UNASSESSED.
The ones in Weeks 9 to 11 will be ASSESSED, accounting for 10% of the module mark.

There is ONE CLASS TEST. also worth 10% of module mark. It will be in week 8 of the term, during the Friday lecture period. The Class Test will not involve practical work but may nevertheless involve constructing small segments of SQL code by hand.

The remaining 80% of the module mark will come from the Examination. This will largely involve tasks similar to those in the Exercises. There may ALSO be other sorts of question, e.g. asking for explanations of concepts and issues, and questions asking you to integrate material in creative ways.

Tackling the exercises, unassessed and assessed, will help you enormously with the Class Test and the Examination. I would not expect someone to be able to get a good mark on, or even pass, the test or examination if they have not tried to do the exercises.



Textbook, Additional Notes and Other Reading Material

You will need to do readings in three main sources. The formative (i.e. unassessed) and assessed work may draw from compulsory reading material lying within the items below (or others if I specify any), even when such material is not covered in lectures.
  1. THE MAIN MODULE TEXTBOOK: C. Coronel, S. Morris and & P. Rob Database Principles: Fundamentals of Design, Implementation and Management, 10th Edition (International version), Cengage Learning, 2013.

    The module will draw mainly from Chapters 1 to 9, but the rest of the book also provides an excellent resource for additional learning of your own.

        Chapter 1: general intro
        Chapter 2: Database Development Process
        Chapter 3: Data Models
        Chapter 4: Relational Model Characteristics
        Chapter 5: Beginning SQL
        (but stuff going beyond the SQL handouts you will be given, such as sections 5.2.7 and 5.3, is optional)
        Chapter 6: more advanced SQL
        (but stuff going beyond the SQL handouts, such as 6.1.3 onwards, much of 6.3, and 6.5-6.8 is optional)
        Chapter 7: Data Modeling with Entity Relationship Diagrams
        Chapter 8: Data Modeling - Advanced Concepts
        Chapter 9: normalization (but 4NF is optional)

    I have used previous editions of the book in the past (NB: the authors have usually been Rob and Coronel, not Coronel, Morris and Rob as above). Those earlier editions are still good sources for most of the material in the module, though the positions of pieces of material may differ.


  2. ADDITIONAL NOTES, to be available here .

      The notes include, in particular, a concise introduction to the basic aspects of PostgreSQL. But they also contain important module concepts and theory as well.


  3. ANSWER NOTES ON EXERCISES, to be available here .



Database Management System - PostgreSQL

PostgreSQL is the relational database management system (RDBMS) that we will be using for practical exercises in the module. It contains a database definition/manipulation language that is one of many versions of "SQL" (see below for more on this name). It has a simple command-line interface and works on the School Unix system (Linux system). Many database systems exist with fancy interfaces, but I want to concentrate in the module on the the core technical detail.

There is some documentation on getting started.
Use the instructions in the "Getting Started" part.
In particular, you will at some point need to create an account on the School's PostgreSQL server, via those instructions.

The LECTURES will mostly NOT give you instruction about the details of SQL or how to use it. Experience shows that students can learn SQL from the ADDITIONAL NOTES mentioned above and the textbook, combined with ONE-TO-ONE HELP from demonstrators when needed. This allows you to go at your own pace and to try things out as you go along.

However, the conceptual, non-SQL material in lectures will often be directly helpful to you in writing SQL. Indeed, in order to write good SQL and design good databases, and appreciate the faults in bad ones, you need the non-SQL content of the module!

The textbook explains SQL in general in considerable detail, though some features differ slightly from the features of PostgreSQL.

In addition, you may wish to look at the REFERENCE MANUAL However, you aren't expected to be familiar with the wealth of detail in the manual.



The Name "SQL"

A note on the name "SQL": some sources say that the acronym stands for Structured Query Language. However, it is also expanded by some people as Standard Query Language. You'll find both expansions on the web. A colleague and database expert in the School, Alan Sexton, says:

Despite all this it is certainly a good idea to remember that the QL part does ultimately derive from the phrase "query language." There are various other query-language names of form xy...zQL in Computer Science.

Also note that because of the origin in the name "SEQUEL" some people pronounce the name "SQL" as if it were the English word "sequel".



Feedback You'll Get in This Module

As the module proceeds, you'll get the following sorts of feedback on your work and development:



Collaboration and Plagiarism

On the ASSESSED exercises (Weeks 9 to 11), you can collaborate in the sense of discussing approaches to problems and helping each other understand topics, but only in FACE-TO-FACE VERBAL INTERCHANGE. At no time should such collaboration involve any sort of electronic or written communication or record-making, and you should not leave any face-to-face discussion with anything written down that you didn't start with. Departure from these instructions could lead to allegations of PLAGIARISM.

You can collaborate more freely on UNASSESSED homework exercises. But please bear in mind the main principle behind the exercises, both assessed and unassessed: it's important for YOUR sake that YOU get the practice of DOING the work and THINKING about the module material.



Lecturer

I encourage you to come to my OFFICE HOUR (which is specified on my timetable) to ask questions or make comments (during any of Terms 1, 2 and Term 3). If you cannot manage that time for some important reason, please contact me to arrange an appointment.



Demonstrators (teaching assistants)

Some or all of them will be on hand to help you in Thursday practical sessions, which start in Week 3 of the term. You can go to see them in their office hours. You can email them at other times with questions about module material, incl. exercises. They may choose to define particular times of the week at which they will reply to such messages, depending on how many messages there turn out to be.



Assessment Differentiation between CS Master's students and Year-in-CS Students

The Master's students but NOT the Year in CS students have the following Learning Outcome:

Some lectures will be partly or wholly on LO5 topics. However, Year-in-CS students will be expected to come to these lectures in full, as the material will proceed from scratch (there will be no assumption of prior knowledge) and should make some sense to all students. Also, in these lectures I may make occasional additional comments that are not on LO5.

Unassessed exercise sets will contain work on the above topic. Year-in-CS students as well as Fundamentals students can tackle it if they wish. If assessed work items (Class Test, Week 9-11 Exercises, or Examination) contain questions on LO5 stuff, then these questions will be optional for Year-in-CS students even when compulsory for Master's students.



Syllabus Page for Fundamentals: Databases (CS Master's students)

Click here


Syllabus Page for ICY: Databases (Year-in-CS students)

Click here





Last mod 7oct13, 3:05p