Courses NumNameDesc Record Field Table Credits
“PROJECT”“SELECT” Operators on Tables
Classes Tables: one entry per section of each course offered Courses Table: one entry per class that’s ever offered
Database Application logic (system programming language) SQL Record at a time processing
SQL Example select coursenumber, isIEMP from course where coursenumber = 603;
A Join Operation select coursenumber, coursename from course, class where course.courseid=class.xrefcourseid and class.yearoffered=1999 and class.termoffered='FALL';
The Web Interface
Websites that Serve Files Web browser Web serverFile system 2. filename 3. File contents 1. URL 4. HTML
Dynamically Generated Pages Web browser Web serverFile system Script interpreter 4. File contents 5. HTML 2. filename 3. File contents 1. URL 6. HTML
PHP Exercise <? echo " Your Query has returned 7 hits. "; echo " "; for ($i=0;$i<7;$i++) { echo " "; echo "column 1 row $i ", " "; echo "column 2 row $i", " "; } echo " "; ?> RUN
Database-Generated Pages Web browser Web server DBMS File system Script interpreter 5. SQL statement 6. Query result 4. File contents 7. HTML 2. filename 3. File contents 1. URL 8. HTML
<? mysql_connect("ebola.si.umich.edu:3306","webuser",""); $result = mysql("presnick", "SELECT coursenumber,coursename FROM course,class WHERE course.courseid=class.xrefcourseid AND class.yearoffered='1997' ORDER BY coursenumber"); $num = mysql_numrows($result); echo " Your Query has returned $num hits. "; echo " "; for ($i=0;$i<$num;$i++) { echo " "; echo mysql_result($result,$i,"coursenumber")." "; echo mysql_result($result,$i,"coursename")." "; } mysql_close(); echo " "; ?> RUN
PHP Exercise Class information of 1997 from presnick's database Your Query has returned 40 hits. 501 Use of Information 502 Choice and Learning 511 Technology in Design: Methods and Means...
COUNT Query select count(*) as total from course where coursenumber= 603;
GROUP By Query select isarm, count(*) from course group by isarm;
XML: Data + Structure 501 Use of Information 502 Choice and Learning 511 Technology in Design: Methods and Means
XSL: Presentation RUN
XML Processing Web browser Web server DBMS File system Script interpreter 5. SQL statement 6. Query result 4. File contents 7. XML 2. filename 3. File contents 1. URL 8. XML & XSL Preprocessor HTML Rendering Engine HTML
Generating XML … $num = mysql_numrows($result); for ($i=0;$i<$num;$i++) { echo " "; echo " ”. mysql_result($result,$i,"coursenumber")." "; echo " ". mysql_result($result,$i,"coursename")." "; echo " "; } … RUNRUN
Referral Today ACME AIDS Consortium Linda’s Meals DB
Referral Tomorrow ACME AIDS Consortium Linda’s Meals DB XML + formatting
Referral Eventually ACME AIDS Consortium Linda’s Meals DB XML DB
AIDS Consortium Form Client Name: D.O.B. Sex: Male Female
Linda’s Meals Form Client Name: SSN: