전체 글
-
-
Oracle veiw, index 생성기타/Oracle 2020. 11. 27. 17:07
복잡한 질의 일수록 그 길이가 길어진다. 하지만 veiw를 만들면 그 veiw에서 쉽게 값을 출력 할 수 있다. view는 물리적으로 존재하지 않는 테이블이다 SELECT ORDERS.ORDERID 주문번호, CUSTOMER.NAME 주문고객, BOOK.BOOKNAME 주문도서, BOOK.PRICE 도사정가, ORDERS.SALEPRICE 구입가격, ORDERS.ORDERDATE 주문일자, BOOK.PRICE - ORDERS.SALEPRICE 할인가 FROM BOOK, CUSTOMER, ORDERS WHERE ORDERS.BOOKID = BOOK.BOOKID AND CUSTOMER.CUSTID = ORDERS.CUSTID; 위와 같은 질의를 이용해 뷰를 만들어 보자. *연산이 있을 경우엔 꼭 구별 값을 ..
-
2020.11.30 시험문제 풀이 (sql 질의 작성)기타/과제 2020. 11. 27. 14:44
기본 테이블 BOOK - -BOOKID, BOOKNAME, PUBLISHER, PRICE CUSTOMER - CUSTID, NAME, ADDRESS ORDERS - ORDERSID, CUSTID, BOOKID, SALEPRICE, ORDERDATE //1-1 도서번호가 1인 도서의 이름 더보기 SELECT BOOKNAME FROM BOOK WHERE BOOKID = 1; //1-2 가격이 20,000원 이상인 도서의 이름 더보기 SELECT BOOKNAME FROM BOOK WHERE price > 20000 ORDER BY BOOKNAME; //1-3 박지성의 총 구매액 (1번 회원) 더보기 SELECT SUM(SALEPRICE) FROM orders WHERE CUSTID = 1; //1-4 박지성이..
-
데이터베이스를 이클립스에서 출력하는 예제2기타/Oracle 2020. 11. 26. 16:10
다음은 vo로 만들지 않은 값을 출력하고 싶을때 map을 이용하는 방법이다. package madang.service; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import madang.common.ConnectionFactory; import mad..
-
데이터베이스를 이클립스에서 출력하는 예제1기타/Oracle 2020. 11. 26. 16:08
작성한 예제를 파헤쳐보자. package madang.common; import java.sql.*; public class TestMain { public static void main(String[] args) { try { Connection conn = ConnectionFactory.create(); String sql = "SELECT Customer.NAME, SUM(Orders.SALEPRICE) " + "FROM Customer, Orders " + "WHERE Customer.custid =Orders.custid " + "GROUP BY Customer.NAME " + "ORDER BY Customer.NAME"; PreparedStatement pstmt = conn.prepareS..
-
검색 데이터 조작어 (SELECT)기타/Oracle 2020. 11. 25. 15:00
SELECT 문의 구성요소 SELECT [ALL┃DISTINCT] 속성이름(들) FROM 테이블이름(들) WHERE 검색조건(들) GROUP BY 속성이름 HAVING 검색조건(들) ORDER BY 속성이름 [ASC┃DESC] *ASC 오름차순 DESC 내림차순 정렬 심플예제 -- 도서번호가 1인 도서의 이름 SELECT BOOKNAME FROM BOOK WHERE BOOKID = 1; --가격이 20,000원 이상인 도서의 이름 SELECT BOOKNAME FROM BOOK WHERE price > 20000; --박지성의 총 구매액 (1번 회원) SELECT SUM(SALEPRICE) FROM orders WHERE CUSTID = 1; --박지성이 구매한 도서의 수 SELECT COUNT(*) FR..
-
JDBC를 이용해 테이블 만들기 과제2기타/과제 2020. 11. 24. 16:35
이전과 다르게 아이디 중복체크와 회원정보 수정이 생겼다. 아이디 중복체크는 관리번호처럼 랜덤하게 줄 수도 없는데 중복으로 들어가서도 안된다. 기존에 배운 것들을 이용해 어떻게 풀어주면 좋을까? 나는 Main 클래스에 이렇게 소스를 작성해주었다. //멤버추가 + 아이디 중복확인 public void testOfInsert() { MyMemberDAO dao = new MyMemberDAO(); MyMember vo =new MyMember(); vo.setId("five"); vo.setJday(new Timestamp(System.currentTimeMillis())); vo.setPw("1234"); vo.setTel("010-3333-3333"); vo.setSecession("회원"); try { ..
-
추상클래스와 인터페이스의 정의 및 활용법기타/과제 2020. 11. 24. 12:01
추상 클래스의 정의 클래스 안에 '*추상 메소드'가 하나 이상 포함되거나 *abstract로 정의된 경우를 말한다. 추상 클래스의 목적은 추상 클래스를 상속받아 기능을 이용하고 확장하기 위해서이다. 추상 클래스는 상속을 통한 자손 클래스에 의해서만 완성될 수 있다. 클래스의 역할은 다할 수 없으나 새로운 클래스를 작성하는 바탕=조상클래스 의 의미를 갖는다. (TV 리모콘에 기본 기능을 설정한 미완성 설계도를 이용하면 각자 따로 설계도를 만드는 것보다 효율적이다) 추상 클래스는 추상 메소드를 포함한다는 것 외에는 일반 클래스와 동일하다. 추상 클래스는 *인스턴스를 생성할 수 없다. 완성된 클래스라도 추상 클래스루 지정하면 인스턴스를 생성할 수 없다. 추상 클래스로부터 상속받는 자손클래스는 *오버라이딩을 통..