공부/Oracle 10

0603 연습문제 MEMBERSDAO

이전에 만들었던 전화번호부를 메소드를 이용해 만들기.....도 완성! 더보기 import java.sql.*; import java.util.*; class Member { private int userID; private String userName, email, phoneNo; private String userPwd, regDate; Member() { userID = 0; userPwd = null; userName = null; email = null; phoneNo = null; regDate = null; } Member(String userPwd, String userName, String email, String phoneNo) { this.userPwd = userPwd; this.us..

공부/Oracle 2020.06.04

0601 연습문제

1. hr계정의 사원이름과 매니저 이름을 함께 출력하기, 정렬은 사원이름 내림차순. ResultSet rs = stmt.executeQuery("select m.first_name ||' ' || m.last_name Name , e.first_name ||' ' || e.last_name mName from employees e, employees m " + "where e.employee_id = m.manager_id order by name"); while(rs.next()) { System.out.print(rs.getString(1) + " "); System.out.print(rs.getString(2) + " "); System.out.println(); } 2. Scanner를 사용해 사..

공부/Oracle 2020.06.03

0602 Preparedstatement, ResultMetaData, 이미지 넣기

[PreparedStatement] *PreparedStatement : SQL문을 실행할 때 필요한 인자들을 동적으로 설정. 실행이 빠르고 가독성이 좋으며, 코드의 재사용이 가능하다. String sql = "insert into BOOK values(?, ?, ?, ?)"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setInt(1, 33); pstmt.setString(2, "행복한 왕자"); pstmt.setString(3, "와일드출판사"); pstmt.setInt(4, 12000); pstmt.executeQuery(); pstmt = con.prepareStatement("SELECT * FROM BOOK WHERE BOOKID ..

공부/Oracle 2020.06.03

0601 데이터모델링, JDBC

[데이터 모델링] *데이터 모델링 : 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환과정. 데이터베이스 설계의 핵심과정. 개념적 모델 (ER 다이어그램) / 논리적 모델 (관계 데이터 모델) *데이터베이스 생명주기(database life cycle) : 데이터 베이스의 생성과 운영에 관련된 특징 - 요구사항 수집 및 분석 - 설계 - 구현 - 운영 - 감시 및 개선 *데이터 모델링 과정 1. 요구사항 수집 및 분석 2. 설계 (개념적 모델링 -> 논리적 모델링 -> 물리적 모델링) 3. 데이터베이스 구현 *데이터 모델의 개념 - 2단계 데이터 모델링 개념적 데이터 모델링(conceptual modeling) : 현실 세계의 데이터를 추출하여 개념세계로 옮기는 작업. 논리적 데이터..

공부/Oracle 2020.06.02

0529 뷰, 트랜잭션, 세션, 시퀀스, 사용자 관리

[VIEW] *뷰(VIEW) : 하나 이상의 테이블을 조회하는 SELECT문을 저장한 객체. 가상의 테이블(물리적으로 데이터 저장X) - 사용목적 편리성 : 필요한 정보만 가공하여 뷰로 만들어 일반 테이블처럼 쓸 수 있다. => SELECT문의 복잡도 완화. 재사용성 : 자주 사용되는 질의를 뷰로 미리 정의해 놓을 수 있다. 보안성 : 테이블의 특정 열을 노출하고 싶지 않은 경우. *뷰 생성하기 EMP에서 DEPTNO가 20인 데이터만 가져오기. CREATE VIEW VW_EMP20 --기본적으로는 NOFORCE AS (SELECT EMPNO, ENAME, JOB, DEPTNO FROM EMP WHERE DEPTNO = 20); SELECT * FROM VW_EMP20; DROP VIEW VW_EMP20..

공부/Oracle 2020.06.01

0528 PL/SQL, 시퀀스, 프로시저

*NULL값 처리 - NVL2 NVL2(속성, 값1, 값2) : 값이 NULL인 경우와 아닌경우 반환할 값을 지정할 수 있다. *조건부 논리 표 - DECODE함수 직책이 manager인 사람은 10% 인상, salesman인 사람은 5%, analyst인 사람은 그대로, 나머지는 3인상하여 사번, 이름 ,직책, 급여 출력. SELECT EMPNO, ENAME, JOB, SAL, DECODE(JOB, 'MANAGER',SAL*1.1, 'SALESMAN', SAL*1.05, 'ANAYST', SAL, SAL*1.03) AS UPSAL FROM EMP; - CASE 문 : 늑정 속성의 값에 따라 어떤 데이터를 반환할지 결정할 때 사용. 각 조건에 사용하는 데이터가 서로 상관 없어도 사용이 가능하다. deco..

공부/Oracle 2020.05.29

0527 서브쿼리, 연습문제, DDL,DML, 내장함수

*서브쿼리 : SQL문 속 또 다른 SQL문. SQL중첩 메인쿼리 : 서브쿼리의 결과 값을 사용해 기능을 수행. --가장 비싼 도서의 이름을 보이시오. select bookname from book where price = (select max(price) from book); --도서를 구매한 적이 있는 고객의 이름을 검색. SELECT NAME FROM CUSTOMER WHERE CUSTID IN (SELECT CUSTID FROM ORDERS); --대한미디어에서 출판한 도서를 구매한 고객의 이름을 보이시오. SELECT NAME FROM CUSTOMER WHERE CUSTID IN(SELECT CUSTID FROM ORDERS WHERE BOOKID IN (SELECT BOOKID FROM BOO..

공부/Oracle 2020.05.28

0526 WHERE조건, ORDER BY, GROUP BY, 집계함수

* WHERE조건 - 복합조건 축구에 관한 도서 중 가격이 20,000원 이상인 도서를 검색. select * from Book where bookname like '%축구%' and price >=20000; --출판사가 굿스포츠나 대한미디어인 책 정보 검색 select * from Book where publisher = '굿스포츠' or publisher = '대한미디어'; -- 급여가 7000 ~ 10000이외인 사원의 이름과 성 및 급여를 출력 select first_name ||' '|| last_name as Name, salary from employees where salary10000; -- 사원의 성 중에 E 및 O 글자가 포함된 사원을 출력. 이때 머리글은 e or o Name이라고..

공부/Oracle 2020.05.26

0525 데이터베이스 기본개념

[데이터베이스] : 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것. 운영(조직의 목적을 위해 사용) 데이터를 통합(데이터중복을 최소화)하여 저장하며 공용으로 사용한다. - 데이터 : 관찰의 결과로 나타난 실제 값. - 정보 : 데이터에 의미를 부여한 것. *데이터베이스의 특징 - 실시간 접근성(real time accessibility) : 사용자의 데이터 요구에 실시간으로 서비스 제공 - 계속적인 변화(continuous change) : 데이터의 계속적인 삽입, 삭제, 수정을 통해 현재의 정확한 데이터를 유지 - 동시 공유(concurrent sharing) : 서로 다른 업무 또는 여러 사용자에게 동시에 공유, 서로 다른 데이터 뿐 아니라 같은 데이터의 ..

공부/Oracle 2020.05.25