CSE2316 and CSE3316 Database Management Systems
Semester 2, 2001 Page under (re-)construction. Lecturer : Dr. David Dowe, School of CS SE, Faculty of IT, Monash University, Australia.
Recommended text
  • Date, C. J., An Introduction to Database Systems, 6th edn., Addison-Wesley (Addison-Wesley Longman), 1995. Other recommended texts
  • Elmasri, R. and S. B. Navathe, Fundamentals of Database Systems, 2nd edn., Benjamin-Cummings (Addison-Wesley Longman), 1994.
  • Ullman, J.D. and J. Widom, A First Course in Database Systems, Prentice Hall, 1997. Additional reading
  • Celko, J., SQL Puzzles and Answers, Morgan Kaufmann, San Francisco, Calif., U.S.A., 1997.
  • Hansen, G. W. and J. V. Hansen, Database management and design, 2nd ed., Prentice-Hall Inc., 1996.
  • McFadden, F. R. and J. A. Hoffer, Modern Database management, 4th ed., Menlo Park, Calif. : Addison Wesley, Benjamin/Cummings Pub. Co., 1994 (2nd ed. was c1988).
  • Zinky, M.A., J. W. Everett and L. J. Hawbaker, Introduction to INGRES, Boston : PWS-KENT Pub. Co., c1992 (although this course in 2000 uses Oracle).
  • Books by Harcourt Brace Dryden, or Morgan Kaufmann.
  • Prentice Hall Professional Technical Reference and A. Morrison and A. Rischert: ``Oracle SQL Interactive Workbook Companion Website''.
  • http://www.hoganbooks.com/freebook/webbooks.html.
  • http://www.monumental.com/boat/booksIndex.html. Hand-outs
    Hand-outs are given out on a regular basis in lectures. All left-overs of hand-outs and assignments are given to the CSSE General Office on the ground floor of Bldg 63. Students who miss lecture hand-outs should obtain any such hand-outs from the CSSE General Office (and not from the lecturer, who will re-direct you to the CSSE General Office). In considerate fairness to the General Office admin. staff, these should ideally please be collected as soon as possible after the lecture, so that the admin. staff don't have to make any additional copies.
    Newsgroup: monash.csse.cse2316-3316 .
    SQL, Oracle, Ingres and other enviroment links :
    SQL Standards, Standard SQL Publications and Articles.
    Oracle8 Server SQL Reference, Release 8.0 and SELECT command.
    (Outdated: Oracle7 Server SQL Reference Manual index, now slightly outdated.)
    Oracle8 Product Documentation Library: text version and Java version.
    Oracle8 Server, SQL*Plus Quick Reference, Release 8.0, SQL*Plus User's Guide and Reference and Understanding SQL*Plus, etc.
    Operators, Functions, Expressions, Conditions (e.g., TO_DATE).
    Oracle Corporation, POET Software and Sybase.
    sqlcourse.com.
    William Yuan's Ingres Database Reference Page - with questions and answers (although this course in 2000 uses Oracle).
    Monash University's copy of Mini SQL (mSQL) no longer exists.
    Logging in and accessing SQL (for Practice Exercises and for Assignment 1)
    Log in to a Linux account (with SQL) at Monash, such as (but not necessarily): ra-clay.cc.monash.edu.au . (Your initial password will have been your CRUX password.)

    Telnetting to ra-clay has been disabled due to its lack of security. Students must use ssh .
    From UNIX, this looks like:
    ssh username@ra-clay.cc.monash.edu.au

    For Windows, students can get an ssh clone such as
    http://www.chiark.greenend.org.uk/~sgtatham/putty/

    A larger list of Windows clients is available at
    http://www.freessh.org/windows.html
    along with a lot of useful info about ssh from the home page, http://www.freessh.org/

    Now that you've logged in to ra-clay.cc.monash.edu.au , the shell command below will add important SQL-related lines to the end of your ~/.login file. Only do it once:
    orafix

    Having typed in orafix, as the orafix script says, you should now log out and then log back in again.

    sqlplus your_username@cse2316
    (followed by your password)
    lets you use the database called cse2316 .
    Your username here will be "s" followed by your student_id, e.g. s12345678 .
    If you don't yet know your password, rest assured that it was given to you.

    Once connected, you can then change your database password as follows:
    alter user `accountname' identified by `newpassword';

    Then use SQL commands loosely like the one immediately below:
    select blah1
    from dld.tablename1, dld.tablename2 (or you could replace the text at left by: from tablename1, tablename2)
    where tablename1.blah2 = tablename2.blah3
    and another_condition;

    Available tables in the database called cse2316 are:
    dld.students, dld.staff, dld.courses and dld.enroll . (These pertain to the STUDENT database.)
    dld.patient and dld.fillings . (These pertain to the DENTIST database.)
    dld.customer, dld.product, dld.whouse, dld.stock, dld.ordhead and dld.ordline. (These tables pertain to the STOCKS database.)
    SQL Practice exercises
    sqlplus Practice exercises (hand-out #3) and Answers to these exercises.

    ``Light entertainment'' :-) : Pi = 3.141592653589793.... Assignment 1
    Assignment 1 was handed out in the lecture of Thu 9 Aug 2001.
    The submission specifications are spelled out in the assignment - please read them. Deadline: Fri 31st Aug 2001, 12 noon.
    Spare copies should be available from the CSSE General Office in Bldg 63.
    Andrew Langford's script clean facility. I can't vouch for whether or not this works, so back up your file and use the script clean facility - if you wish to - at your own risk.
    Sample solutions to 2001's DBMS Assignment 1.

    Assignment 2
    Assignment 2 (hand-out #3) was handed out in the lecture of Thur 13 Sept 2001.
    The detailed submission specifications are spelled out in the assignment - please read them.
    Deadline: Mon 8th Oct 2001, 11:59a.m. (although submissions will be accepted from Mon 1st Oct 2001, and early submissions are encouraged).
    Spare copies should be available from the CSSE General Office in Bldg 63.

    Files for Assignment 2: hire.txt, video.txt, customer.txt, video.dat, SQL*Loader, (loadtable.pc,) assign2.pc, Makefile .
    Note: video.dat creates the tables. When they're created, loadtable or SQL*Loader loads data in from the *.txt files. The assign2.pc program will struggle if it can't find the tables.
    These above files have been moderately tested, so if you are having problems they are unlikely to be due to the files. Typical mistakes are cutting and pasting from a web browser, which can slightly alter text (such as losing the TABs in the Makefile), when you should be `saving' the file, and ordinary UNIX problems like incorrectly set paths so that make, proc, or even sqlplus are not found.

    As specified in the assignment, use the Monash (FIT) Linux machines.
    To run video.dat, type
    sqlplus username@cse2316 @video.dat
    followed by your sql password.
    All the *.txt files should have their columns/fields delineated by TABs.

    Use make to run the Makefile and `make' the programs.
    It (pre-)compiles loadtable.pc to loadtable.c, and assign2.pc to assign2.c .
    To run assign2, type ./assign2

    video.dat will create tables. Of course, you can create tables without having to use video.dat . Also, if you want to create tables with a different number of fields, you first have to drop any existing table with the same name. You then have to either modify video.dat and then re-run video.dat, or CREATE TABLE.

    Run loadtable on the files to put the data into the tables that were created by video.dat . This data will come from the specified *.txt files. As above, so that loadtable can work properly, make sure that all the *.txt files have their columns delineated by TABs.
    assign2.pc is your main program file. You will eventually submit it. See the instructions in the Assignment.

    Date field in HIRE table:
    Note that SQL queries of the following form are permitted:
    select dfield
    from dfile
    where (dfield + 14) < '25feb1989';
    See also Answers to sqlplus Practice exercises or TO_DATE.
    More on Oracle
    J. D. Ullman's notes on the Oracle DBMS.
    http://soi3.mmtel.ru/useoracle8/Default.htm.
    Oracle downtime
    ITS Interruption of Service - Oracle teaching services - occurred Friday 29-Sep-2000 08:00 hrs - 08:30 hrs. "The number of Oracle instance on oracle teaching server hits the limit and the server needs to be reconfigured." ITS apologises for any inconvenience caused by this action.
    Consultation times and venue for exercises, discussion, assignment, etc. with Dr D. Dowe:
    Tuesday 3:00 - 4:00pm; Thursday 12:00 - 1:00pm.
    Clayton Bldg 26 (CS), Room 102 or Room 113.
    For the exam period, Tue 23/10 2:00 - 4:00pm; Thu 25/10 11:00 - 1:00pm; Fri 26/10 2:00 - 3:00pm. Monash Library
    Monash Library and catalogue. Monash Computer Centre and CSSE Computing Reference Information
    Monash Computer Centre Reference Information and Information Sheets.
    CS SE Practical and Tutorial Class Services (information possibly not available from this link)
    Monash Uni. semester dates, vacations and holidays. Computer Science Club
    Monash Uni. Computer Science Club. Language and Learning Services (LLS): Harriet Searcy, Harriet.Searcy@infotech.monash.edu.au . Job links (mainly unofficial - just some I happened to spot)
    MONSEACS (official Monash University page)
    Gradlink
    Employment Opportunities Australia.
    http://www.newsclassifieds.com.au/
    First and Second Year Advanced Project Scheme: First and Second Year Advanced Project Scheme, 2001.
    Summer Studentships: Summer Studentships, 2001-2002.
    Dr David Dowe's 2002 Hons. projects.
    Honours and postgraduate study - some options
    "Data mining" using Minimum Message Length (MML) : CSC423 Learning and Prediction.
    Honours, 2002 projects. Some of my Hons. projects and some of my research publications.
    Postgraduate Course Information. More information on CSE2316 and CSE3316 Database Management Systems, Semester 2 2000; and DBMS, and here.
    1999: Last year's CSE[23]316 and CSC[23]161 Database Management Systems, Semester 2 1999.
    1998: CSC2161 and CSC3161 Database Management Systems, Semester 2 1998. Not directly related to DBMS (and rather unofficial): Rainforests and world hunger.