Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS562 Project #1 Assignment Date : October 11th, 2012 Due Date : October 28th, 2012 TA: Lee, Min-Joong.

Similar presentations


Presentation on theme: "CS562 Project #1 Assignment Date : October 11th, 2012 Due Date : October 28th, 2012 TA: Lee, Min-Joong."— Presentation transcript:

1 CS562 Project #1 Assignment Date : October 11th, 2012 Due Date : October 28th, 2012 TA: Lee, Min-Joong

2  SQL queries which you can type in at the SQL prompt.  INTERACTIVE SQL is good for:  defining database structure ▪ Create database, tables ….  generating low-volume, ad hoc queries  prototyping

3  SQL is a ‘non-procedural’ language.  INTERACTIVE SQL is not good for the more sophisticated applications.  SQL can be embedded within procedural programming languages(host language).  Supports  highly customized applications  background applications running without user intervention  database manipulation which exceeds the abilities of simple SQL.

4  USE ESQL - old school style!  ESQL/c, ESQL/C++, ESQL/COBOL,…  ESQL is precompiled by preprocessor.  Use APIs  JDBC  ADO.NET  ODBC  …

5  For example,  JDBC, java  Get names of awards which ‘Winona Ryder ‘ won. … Statement stmt1 = conn.createStatement(); Statement stmt2 = conn.createStatement(); ResultSet rs1 = stmt1.executeQuery("select actorID from actor where actor name = ‘Winona Ryder ‘ “); while (rs1.next()) { name = rs1.getString(1); } rs1.close(); rs1 = stmt1.executeQuery(“select awordID from actorAwarded where actorID = “ + name ); while (rs1.next()) { ResultSet rs2 = stmt2.executeQuery(“select awordName from award where awardID = “+ rs.getInt(1) ); System.Out.Println(rs2.getString(1)); } rs2.close();

6  Translate given statements into SQLs and process the query using your application.  Initial data input  Insert award data  Insert rating data  Select statements  Update statements  Delete statements

7 Movie NameDirectorActorRoleGenrePublisherRelate date Edward Scissorhands Tim BurtonJohnny DeppMain actorFantasy, Romance 20th Century Fox Presents 1991.06.29 Winona Ryder Main actor Alice In Wonderland Tim BurtonJohnny DeppMain actorFantasy, Adventure, Family Korea Sony Pictures 2010.03.04 Anne Hathaway Main actor The Social Network David Fincher Jesse Eisenberg Main actorDramaKorea Sony Pictures 2010.11.18 Andrew Garfield Supporting Actor The Dark Knight Christophe r Nolan Christian Bale Main actorAction, Drama Warner Brothers Korea 2008.08.06 Heath Ledger Main actorMystery, Thriller Actor NameDate of birth Date of death Gender Johnny Depp1963.6.9 Male Winona Ryder1971.10.29 Female Anne Hathaway1982.11.12 Female Christian Bale1974.1.30 Male Heath Ledger1979.4.42008.1.22Male Jesse Eisenberg1983.10.5 Male Andrew Garfield1983.8.20 Male Customer NameDate of birthGender Bob1997.11.14Male John1978.01.23Male Jack1980.05.04Male Jill1981.04.17Female Bell1990.05.14Female Director NameDate of birthDate of death Tim Burton1958.8.25 David Fincher1962.8.28 Christopher Nolan1970.7.30

8  Some queries are should be implemented using an embedded SQL method rather than using a single SQL statement or a trigger.  Unspecified queries can be implemented in any ways. … 4. Select the names of the movies whose actor are dead. (Use embedded SQL method) 5. Select the names of the directors who cast the same actor more than once. (Translate this statement to a single SQL statement; do not use embedded SQL method) 6. Select the names of the movies and the genres, where movies have the common genre. (Translate this statement to a single SQL statement. Use sub-query SQL) …

9 You should show the results for translated inserts/deletes/updates queries and all the updated tables for each statement. Before run your application, assume that the database is empty.

10  Recommended environments  Language : JAVA  IDE : Eclipse  DBMS : MySQL ▪ JDBC download: http://dev.mysql.com/downloads/connector/j/http://dev.mysql.com/downloads/connector/j/  DBMS setting ▪ Database name : CS562_studentID (ex., CS562_20111234) ▪ Root id : root // password : cs562 ▪ Tables are should be named as I descried in the initial data table. ▪ Database should be installed at localhost(local machine)  If cannot understand above description, read JDBC Introduction.JDBC Introduction

11  Files to submit : cs562_studentid.zip includes the following files.  Program source files  README.txt ▪ How to run your program. ▪ What you have implemented and what you have not. ▪ Your implementation assumption if there are any.  Submission  E mail : mjlee@islab.kaist.ac.krmjlee@islab.kaist.ac.kr  Mail subject : [cs562 project#1] studentid_name ▪ ex) [cs562 project#1] 20111234_John

12  Due date : Oct. 28, 2012 Midnight  Penalty : 20% per day  Score  Create table processing (20%)  Insert processing (20%)  Update processing (15%)  Query processing (15%)  Delete processing (15%)  README and comment (15%)

13


Download ppt "CS562 Project #1 Assignment Date : October 11th, 2012 Due Date : October 28th, 2012 TA: Lee, Min-Joong."

Similar presentations


Ads by Google