1 / 23

CS146 Database Systems &Team Projects

This lab introduces students to CS146 database systems and team projects. It covers topics such as SQL, MySQL, PHP, and teamwork. Grading policy for programming assignments is explained.

eengel
Download Presentation

CS146 Database Systems &Team Projects

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS146 Database Systems &Team Projects Spring 2009

  2. Introduction • Lab instructor: • Darby Thompson • darbyt@gwu.edu • Office Hours: By Appt • Lab page will be linked from the course page: • http://www.seas.gwu.edu/~bhagiweb/cs146/

  3. What do I expect from students in the lab • WID Writing assignments - go to the WID TA if you have questions • Programming assignments • Submit using Blackboard • Due at 11.59pm • Don’t be late!

  4. What do I expect from students in the lab • Grading policy for programming assignments • Queries with syntactic errors will not be considered. • Run your queries before sending them • If the query works, it is likely you will get all the points for it

  5. What do I expect from students in the lab • I will explain everything in the lab. Be there & don’t fall asleep! • You are expected to play with the tools on your own and learn at least enough to do the project. • Email me to set up appointments - I’ll probably need more than 1 hour notice! • Start early…

  6. What do I expect from students in the lab • Teamwork! You will be working on long term team projects. • Communicate with your teammates and let them know if you’re having problems • Communicate with me and let me know if you’re having problems

  7. Lab Outline • What we will do • SQL, MySQL, etc… • In-class and homework Programming Assignments • Team Project • PHP, JDBC • Ethics debates/discussions (ideas?) • Lectures/lab swap

  8. Databases • What do you already know about databases? Keywords? Tools/Applications? • Any idea what SQL stands for?

  9. Databases • Standard Query Language

  10. Apply for a mysql account • Send an email NOW to support@ticket.seas.gwu.edu and request a MySQL account. Mention that you are taking CS146 • You will need the account for next lab (in class exercises)

  11. Php • Official site: www.php.net • PhP manual: http://www.php.net/manual/en/index.php • Useful package (Apache, MySql,PhP): http://www.easyphp.org/

  12. Where ? • Ssh into cobweb.seas.gwu.edu and put your php files • Access them via http://www.student.seas.gwu.edu/~yourusername/filename.php

  13. How ? • You can use a basic text editing program to write php files, and CyberDuck to move files onto cobweb • Additionally can use X11 Terminal to copy a file from your computer to the server using the following command: • scp filename.php username@cobweb.seas.gwu.edu:public_html/

  14. What is PhP • “PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML” (www.php.net) • Server scripting language (Javascript is a client side scripting language) • If you know C, you will learn PhP in no time.

  15. Hello World! • Index.php: <html> <head>  <title>PHP Test</title> </head> <body> <?php echo '<p>Hello World</p>'; ?></body></html> • Output <html>: <head> <title>PHP Test</title> </head> <body> <p>Hello World</p> </body> </html>

  16. Basics • Use echo for printing • Variables start with $ sign • Do not have to explicitly assign them a type (like int, array, etc.) • . (dot) concatenates 2 strings. Ex $a=”Hello”;$b=”World”; echo $a.” ”.$b; displays ”Hello World”

  17. Accesing databases from PhP <html>  <head>   <title>PHP Test</title>  </head>  <body> <?php $link=mysql_connect("localhost",“username",“password") or die("Error connecting to the database server:".mysql_error()."<br>\n"); mysql_select_db(“username") or die("Error selecting the database:".mysql_error()."<br>\n"); ?> <?php $sql = "SELECT name, id FROM employees;"; $result=mysql_query($sql); while(list($name,$id) = mysql_fetch_array($result)) { echo "<p>".$name." ".$id; } ?> </body> </html>

  18. Arrays • A mapping between keys and values. Example <?php$arr = array("foo" => "bar", 12 => true);echo $arr["foo"]; // barecho $arr[12];    // 1 foreach ($arr as $key => $value) { echo “key=”.$key; echo “ value=”,$value.”<BR>”; } ?>

  19. Get and Post • $_GET[’variablename’] – the variable is appended to the http address, and is transmited in the same stream. Ex: http://www.somesite.com/index.php?a=1&b=’x’. Easy to bookmark • $_POST[’variablename’] – a new stream is created, and all the post variables are transmited in this stresm. The http address is clean (no bookmarks)

  20. Get variables from forms Action.php <HTML> <BODY> <?php echo "Your name is ".$_POST["name"]." and you are ".$_POST["age"]." years old";?> </BODY> </HTML> getName.html <HTML> <BODY> <form action="action.php" method="post"> <p>Your name: <input type="text" name="name" /></p> <p>Your age: <input type="text" name="age" /></p> <p><input type="submit" value="Submit"/></p> </form> </BODY> </HTML>

  21. Some usefull global variables • $_SESSION -An associative array containing session variables available to the current script. • $_SERVER[’PHP_SELF’]- The filename of the currently executing script, relative to the document root. For instance, $_SERVER['PHP_SELF'] in a script at the address http://example.com/test.php/foo.bar would be /test.php/foo.bar. • $_SERVER['SERVER_NAME']- The name of the server host under which the current script is executing. If the script is running on a virtual host, this will be the value defined for that virtual host. • __LINE__The current line number of the file. • __FILE__The full path and filename of the file. If used inside an include, the name of the included file is returned.

  22. Session • HTTP is stateless • Simulates a statefull connection. Maintains records on the server side until the browser is closed. • session_start(); • $_SESSION[‘foo’]=‘bar’; • $_SESSION[‘a’][‘b’]=‘c’; • Allows to build a ”shoping cart”;

  23. Includes • header.php • <html> •  <head> •   <title>PHP Test</title> •  </head> •  <body> • <TABLE width="800" cellpadding="4" cellspacing="0" align="center" border="0"> • <TR> • <TD width='100%'> • footer.php • </TD> • </TR> • </TABLE> • </body> • </html> • index.php • <?php • include ”header.php”; • echo ”hello world”; • include ”footer.php” • ?>

More Related