CSC 8490 
Database Systems and File Management

Home Page and Syllabus: Fall, 2016


Table of Contents


About the Course

Welcome to the graduate database course. This is an exciting subject with ongoing developments. I'm looking forward to your participation in the course and hope you will share any database experience you may already have with your classmates and me.

The area of database systems is very broad, related on the one hand to applications in business data processing and on the other to abstract, theoretical computer science. This course will include a mix of theory and practice, but it will be weighted towards providing a background in general database principles, in order to help students appreciate the structure of data models and the issues in current database research and development. However, you will also become literate in at least one important commercial system. This term you'll have the opportunity to use Villanova's Oracle 9i system, which resides on one of the departmental UNIX machines ("csdb"; MySQL is there as well). MS-Access is also widely available in our PC labs (you might also have your own copy), so we might illustrate some ideas in that software as well. Finally, you may choose to do your project development in MySQL (rather than Oracle), but you'll be rather more on your own in that case. Details will be forthcoming.

We won't be covering Web programming as such; therefore, if you are looking for a course with neat stuff like that, you should consider some of our department's other offerings. However, there'll be some discussion of JDBC and other strategies for accessing a back-end database over the Web. It might also be a good idea (but is not really necessary) if your project team has someone with experience in this area.

You have accounts on the departmental UNIX cluster, which will be used for Oracle (and could for MySQL, too). The department home page has a link with instructions for logging into your UNIX account. The first semester you joined our program at Villanova you were given a UNIX login and password. Please check them soon to be certain that you remember them correctly. If this is your first semester here, you'll be informed what your login and password are.

The other topic you might be wondering about is "Big Data." While we'll be discussing such ideas as Big Data, NoSQL, and packages like Hadoop from time to time, our focus in this course will be on relational databases.

It will be important for you to log in and check your email frequently, since that will be my primary means for getting in touch with the class for general announcements and with individual students for special arrangements. The address I will use will be your Villanova (@villanova.edu) one, so be sure to check it at least twice weekly, and watch your inbox quota. Feel free to contact me by email with as many questions as you want. Remember to send a copy of any such correspondence to the graduate assistant, so that one of us can respond to you quickly. The course homepage will also contain updated administrative information.

The University uses Blackboard as its course management system. I'll pretty much continue with the present website, but I'll try to link Blackboard as well. And I'll try to keep your grade information on Blackboard, for your convenience.

Homework will be assigned weekly, pretty much. If you can't make a class, make sure that the homework is still submitted by class time (since I will generally present solutions at the beginning of class the date homework is due) and by email, so that there will be a record of your submission. While you are permitted to discuss pending assignments with your classmates, you must write up your own work. Submissions that resemble classmates' won't be accepted. Finally, try to prepare all your assignments with a word processor. If you can't swing it some times, you may scan and send an extremely legible paper. Send it to the TA, with cc to me. Both the attached file name and email subject tag should have the homework number and your name.


Course Objectives

As a result of taking this course, you should acquire knowledge, skills, understanding and values:

Departmental Software (what we'll be using; links)

The language spoken in class is Oracle, and, specifically, the version accessible via the department's UNIX system csdb. You'll be given logins and passwords on csdb and userid's and passwords on Oracle. The links below will give you some guidance. More will be provided in class, and the TA will be your "go-to" guru for questions. You'll be expected to be completely comfortable with and knowledgeable about that environment.

That said, the vehicle that your group will use on the semester project will be completely up to the consensus of your group. As described at that link, though, everyone in the group needs to be able to access the database, and you must be able to demo full functionality of your project to Naga. Since Naga's responsibility for support will apply primarily to Oracle on csdb, you should expect to be pretty much on your own if you choose to use one of the acceptable alternate technologies. You're also free to use the front end of your choice (UNIX, Java, php, SQL Developer, MySQL Workbench, XAMPP, etc). You can find some information here on using the departmental UNIX cluster. NOTE: While the departmental website is getting its new nifty design, you can see that information ghosted here, but only from a browser within the Villanova domain. Here are links to guidance on using the departmental copies of Oracle and MySQL. Let Naga and me know about any issues or difficulties you have in accessing these programs.


Instructor

Dr. Don Goelman
don.goelman@villanova.edu
Mendel Science Center 162A  W 3:00-5:00 PM, and by appointment
Voice: 610-519-7346 FAX: 610-519-7889

News Bulletins and Upcoming Deadlines


Graduate Assistant

The TA for this course is Ms Naga Avirineni.You can reach her at navirine@villanova.edu. Her regular office hours will be Wednesday afternoons from 3:00 till 5:00 PM, in the Software Engineering Lab (MSC 158). This should be a strategic time for clarifying doubts that may have arisen regarding material covered in class, pending homework or project phases. It's probably a good idea to check in with her before you show up. Additionally, she will be available for appointments that are scheduled in advance, and she'll also be accessible by email. She will be able to help you in a number of ways, especially in understanding some of the more challenging material, in assisting you with database programming (primarily the departmental Oracle software, JDBC, PL/SQL, and, to an extent, MySQL), and in rounding up copies of handouts you may have missed.

Remember to send her all homework assignments and to cc her all project phases and questions of any type.In this way, you'll be able to receive a response if I'm not available. She'll be doing the grading of homeworks, as well as some preprocessing of project work.


Prerequisite


Grades

Examinations (no cumulative final exam) (October5 and December 7, resp.) 300
Weekly homework 20
Project: database development 150
Other (participation, cc-ing the TA, etc) 10
TOTAL 480

Typically, break points for letter grades are 90, 80, 70, etc. Upper ends of B and C ranges are "+" grades. Lower ends of A and B ranges are "-" grades.


Text


References

  • S. Dietrich and S. Urban, An Advanced Course in Database Systems: Beyond Relational Databases, Prentice Hall 2005. Some of our presentation materials came from the development phase of this excellent text and course.
  • P. O'Neil and E. O'Neil, Database Principles, Programming, and Performance, 2nd Edition, Morgan Kaufman 2001. This is a good, comprehensive text.
  • R. Ramakrishnan and J. Gehrke, Database Management Systems, 3rd Edition, McGraw-Hill, 2003. So is this one. 
  • D.C. Tsichritzis and F.H. Lochovsky, Data Models, Prentice-Hall, 1982. Despite the age of this book, it is an excellent, conceptual book. Besides the Big Three, it also includes some other data models. 
  • J.D. Ullman and Jennifer Widom, A First Course in Database Systems, 3d Edition, Prentice Hall, 2008. This book offers particularly excellent theoretical treatments of the field, especially of the relational model.
  • ACM SIGMOD Record. The papers in this journal deal with both theory and practice. 
  • ACM Transactions on Database Systems. This is one of the major ACM journals and presents papers on the frontiers of basic database research. 
  • ACM Computing Surveys. The original database issues were March 1976 and September, 1979, but other papers on the subject appear from time to time. 
  • IEEE Transactions on Knowledge and Data Engineering This is the technical IEEE journal in the field.
  • Data and Knowledge Engineering This is another well-known journal in the field.

  • Ethics for computer scientists


    Students with Disabilities

    Students with disabilities who require reasonable academic accommodations should schedule an appointment to discuss specifics with me. It is the policy of Villanova to make reasonable academic accommodations for qualified individuals with disabilities. You must present verification and register with the Learning Support Office by contacting 610-519-5176 or at learning.support.services@villanova.edu. For physical access or temporary disabling conditions, please contact the Office of Disability Services at 610-519-4095 or email Stephen.mcwilliams@villanova.edu. Registration is needed in order to receive accommodations.


    Other Useful Links

  • WinRDBI is free software for practicing relational query languages. You will find it invaluable for learning relational algebra and SQL querying syntax. If it assumes that you have a 32-bit JRE (Java Runtime Environment) and yours is 64-bit, then just download the 32-bit one, and point WinRDBI to it during the download.

  • Last updated: December 16, 2016