Computing Resources

DBMS accounts

Your Oracle and MySQL accounts are set up. Please email Hanna for access information. Instructions for logging into both databases is at: https://agora.cs.illinois.edu/display/CSIL/csil-projects.cs.uiuc.edu .

In addition, if you would like a source code control facility to make code development and sharing easier for your group, you can request a Subversion repository on that same platform. You can find the details about how to make use of these facilities at https://agora.cs.uiuc.edu/display/CSIL/csil-projects.cs.uiuc.edu.

Accessing a Database

If my netid is "test", my database login name is "testdbpw", and my database name is "test_db", to access mysql database, the command would be
mysql -h csil-projects.cs.uiuc.edu -p database_name
which is mysql -h csil-projects.cs.uiuc.edu -p test_db
The complete details are found at https://agora.cs.illinois.edu/display/CSIL/csil-projects.cs.uiuc.edu . NOTE: please email Hanna for your specific access information.

Here is a tutorial on php and accessing mysql databases with php.

We have also posted an example of how to access Oracle from a Java program using JDBC, which you can find at http://www.cs.uiuc.edu/class/fa08/cs411/tutorial.html.

We do not setup database accounts for each group by default. Instead, we setup a db account for each student. Since each student already has his/her own db account, each group can designate a group member's database for the group project. To login to mysql, do
mysql -h csil-projects.cs.uiuc.edu -u netid -p netid_db
where netid is the netid of the member whose db is designated as the group db, and netid_db is the designed db. When prompted for password, you should use the designated member's password. In other words, use the login information of the designated member.

Web Space

Your web space account has been set up. You may use it to host your project, if you project is a web-based application. NOTE: It does NOT support servlets.

To access your web space remotely, you should remote access to either CSIL Linux terminal csil-linux-ts1.cs.uiuc.edu or csil-linux-ts2.cs.uiuc.edu (see the section Remote Access), NOT csil-projects.cs.uiuc.edu. Once you are in the terminal, you should see the csil-projects folder in your home directory. cgi-bin and public_html are under csil-projects (see https://agora.cs.illinois.edu/display/CSIL/csil-projects.cs.uiuc.edu ). Note: all students should have read/write access to their own public_html. However, you need to do chmod on the files you've created in order to have them shown on the Web, but only chmod on the files . Do not do chmod on - or delete then create - directories such as public_html or csil-projects. Any changes on the directory level affects your permission access and you won't be able to see your files on the Web.

Remote Access

Both the databases and web space are hosted on CSIL. Here is an overview on CSIL facilities. You can remote access to the CSIL machines. Instructions for remote access are here: https://agora.cs.illinois.edu/display/tsg/Remote Access . In particular, here is the instruction for connecting to CSIL Linux Terminal Servers .

CSIL Linux terminal servers are reached via the addresses csil-linux-ts1.cs.uiuc.edu or csil-linux-ts2.cs.uiuc.edu. You can use ssh clients (such as Putty ) for connecting to linux servers.

Programming Tools and Guidelines for Projects

As a general principle, students can explore various tools available to help building thier projects.

Howeve, since this is a DB course, our focus is on databases. Hence, learning how to do hands-on SQL programming is very important. While we do not restrict what tools students can use, the tools must not mask interactions with databases. In other words, students need to know hands-on SQL programming and show actual SQL calls (ie. codes) in demos . For example, PHP does not mask the interactions with databases as students still need to construct actual SQL commands.

On the other hand, tools such as Hibernate and Linq are not allowed. With these tools, students do not need to write actual SQL commands to query the database (see here for some Hibernate examples and here for some Linq examples). If you have any doubts about what tools to use, please discuss with Hanna.

Example Tools

Web-based application development: