실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습
1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5) 8. 다음 PL/SQL 함수를작성하고실행해보시오. (1) ~ (3)
2. 실습문제 2 (Trigger) 1. [ 예제 5.5] 신규도서를삭제하기전에자동으로 book_log 테이블에삭제할내용을기 록하는트리거를작성하고, 시험결과를보이시오. 이때삭제전의값을 Book_log 테 이블에기록한다. 2. [ 예제 5.5] 신규도서의일부내용을수정한후자동으로 book_log 테이블에수정하기 전의내용과수정한후의내용을기록하는트리거를작성하고, 시험결과를보이시오. 이때수정전의값과수정후의값을차례로 Book_log 테이블에기록한다.
[ 자바응용프로그램 ] 이클립스개발도구설치부록 C.4 를참고하여설치 JDBC 드라이버설치부록 C.3 을참고하여설치 ➍ 자바프로그램준비 (booklist.java) 285~286 쪽참고하여설치 컴파일및실행
예제소스코드 import java.io.*; import java.sql.*; import java.sql.callablestatement; public class booklist { Connection con; public booklist() { String url="jdbc:oracle:thin:@localhost:1521:orcl"; /* 11g express edition은 orcl 대신 XE를입력한다. */ String userid="madang"; String pwd="madang"; try { /* 드라이버를찾는과정 */ Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println (" 드라이버로드성공 "); catch(classnotfoundexception e) { e.printstacktrace();
예제소스코드 try { /* 데이터베이스를연결하는과정 */ System.out.println (" 데이터베이스연결준비..."); con=drivermanager.getconnection(url, userid, pwd); System.out.println (" 데이터베이스연결성공 "); catch(sqlexception e) { e.printstacktrace(); private void sqlrun() { String query="select * FROM Book"; /* SQL 문 */ try { /* 데이터베이스에질의결과를가져오는과정 */ Statement stmt=con.createstatement(); ResultSet rs=stmt.executequery(query); System.out.println("BOOK NO \tbook NAME \t\tpublisher \tprice");
예제소스코드 while(rs.next()) { System.out.print("\t"+rs.getInt(1)); System.out.print("\t"+rs.getString(2)); System.out.print("\t\t"+rs.getString(3)); System.out.println("\t"+rs.getInt(4)); con.close(); catch(sqlexception e) { e.printstacktrace(); public static void main(string args[]) { booklist so=new booklist(); so.sqlrun();
[ 웹응용프로그램 ] [1단계] DBMS 설치및환경설정 [2단계] 데이터베이스준비 [3단계] JSP 실행 자바컴파일러, JDBC 드라이버설치톰캣설치부록 C.5를참고하여설치 JSP 프로그램준비 (booklist.jsp, bookview.jsp) booklist.jsp 파일과 bookview.jsp 파일을예제소스에서가져와사용작성된프로그램은톰캣기본폴더에 booklist 폴더를생성하고저장
실행
예제소스코드 (booklist.jsp) <%@ page import="java.sql.*" contenttype="text/html;charset=euc-kr"%> <% Class.forName("oracle.jdbc.driver.OracleDriver"); String url="jdbc:oracle:thin:@localhost:1521:orcl"; /* 11g express edition은 orcl 대신 XE를입력한다. */ Connection dbconn=drivermanager.getconnection(url, "madang", "madang"); Statement stmt = dbconn.createstatement(); ResultSet myresultset=stmt.executequery("select * FROM Book"); %> <html> <head> <meta http-equiv="content-type" content="text/html; charset=euc-kr"> <title>** BOOK LIST **</title> </head>
예제소스코드 (booklist.jsp) <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> <table border="1" cellspacing="0" width="400" bordercolor="#9ad2f7" bordercolordark="white" bordercolorlight="#b9e0fa"> <tr> <td width="150" height="20" bgcolor="#d2e9f9"> <p align="center"> <span style="font-size:8pt;"><b>bookname</b></span></p> <td width="150" height="20" bgcolor="#d2e9f9"> <p align="center"> <span style="font-size:8pt;"><b>publisher</b></span></p> <td width="50" height="20" bgcolor="#d2e9f9"> <p align="center"> <span style="font-size:8pt;"><b>price</b></span></p> </tr>
예제소스코드 (booklist.jsp) if(myresultset!=null){ while( myresultset.next() ){ String W_BOOKID= myresultset.getstring("bookid"); String W_BOOKNAME= myresultset.getstring("bookname"); String W_PUBLISHER= myresultset.getstring("publisher"); String W_PRICE= myresultset.getstring("price"); %> <tr> <td width="150" height="20"> <p><span style="font-size:9pt;"> <a href="bookview.jsp?bookid=<%=w_bookid%>"> <font face=" 돋움체 " color="black"> <%=W_BOOKNAME%></font></a></span></p> <td width="150" height="20"> <p align="center"><span style="font-size:9pt;"> <font face=" 돋움체 "><%=W_PUBLISHER%></font></span></p>
예제소스코드 (booklist.jsp) <td width="50" height="20"> <p align="center"><span style="font-size:9pt;"> <font face=" 돋움체 "><%=W_PRICE%></font></span></p> </tr> <% stmt.close(); dbconn.close(); %> </table>
예제소스코드 (booklist.jsp) <table cellpadding="0" cellspacing="0" width="400" height="23"> <tr> <td width="1350"> <p align="right"><b><a href="booklist.jsp"> <font size="1" face=" 돋움체 " color="black">list</font></a></b></p> </tr> </table> </body> </html>
예제소스코드 (bookview.jsp) <%@ page import="java.sql.*" contenttype="text/html;charset=euc-kr"%> <% Class.forName("oracle.jdbc.driver.OracleDriver"); String url="jdbc:oracle:thin:@localhost:1521:orcl"; /* 11g express edition은 orcl 대신 XE를입력한다. */ Connection dbconn=drivermanager.getconnection(url, "madang", "madang"); Statement stmt = dbconn.createstatement(); String bookid=request.getparameter("bookid"); ResultSet myresultset=stmt.executequery("select * FROM Book WHERE bookid='"+bookid+"'"); if(myresultset!=null){ myresultset.next(); %> <html> <head> <meta http-equiv="content-type" content="text/html; charset=euc-kr"> <title>** Book VIEW **</title> </head>
예제소스코드 (bookview.jsp) <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> <table border="1" cellspacing="0" width="400" bordercolor="#9ad2f7" bordercolordark="white" bordercolorlight="#b9e0fa"> <tr> <td width="150" height="23"> <p align="center"> <span style="font-size:9pt ;"> 책제목 </span></p> <td width="513"> <p><span style="font-size:9pt;"> <%=myresultset.getstring("bookname ) %></span></p> </tr>
예제소스코드 (bookview.jsp) <tr> </tr> <tr> </tr> </table> <td width="150" height="23"> <p align="center"> <span style="font-size:9pt ;"> 출판사 </span></p> <td width="513"> <p><span style="font-size:9pt;"> <%=myresultset.getstring("publisher")%></span></p> <td width="150" height="23"> <p align="center"> <span style="font-size:9pt ;"> 가격 </span></p> <td width="513"> <p><span style="font-size:9pt;"> <%=myresultset.getstring("price")%></span></p>
예제소스코드 (bookview.jsp) <table cellpadding="0" cellspacing="0" width="400" height="23"> <tr> <td width="150"> <p align="right"><span style="font-size:9pt;"> <a href="booklist.jsp?"> <font color="black"> 목록 </font></a></span></p> </tr> </table> <% stmt.close(); dbconn.close(); %> </body> </html>>
4. 실습문제 3 (5 장심화문제 : 각 10 점 ) 9. [ 데이터조회프로그램 ] 데이터베이스프로그램방법중자바응용프로그램을사용하여 다음기능을구현하는프로그램을작성하시오. 데이터베이스는마당서점을이용한다. (1) ~ (3) 10. [ 데이터변경프로그램 ] 데이터베이스프로그램방법중웹응용프로그램을사용하여 다음기능을구현하는프로그램을작성하시오. 데이터베이스는마당서점을이용한다. (1) ~ (2) 11. [ 프로시저호출을통한데이터데이터변경프로그램 ] 데이터베이스프로그램방법중한가지를선택하여다음기능을구현하는프로그램을작성하시오. 데이터베이스는마당서점을이용한다. (1) 자바응용프로그램을사용 (2) 웹응용프로그램을사용