본문 바로가기

전체 글

3월 10일 데이터베이스 영구적으로 보관해야 할 데이터를 체계적으로 저장하는 데이터 보관 솔루션 관계형 DBMS의 종류 ORACLE / MYSQL / MSSQL / MariaDB / PostgreSQL 서브쿼리 - 수행 순서 중요 // ERROR, rn 수행이 후 조건절 후에 이루어지기때문에 에러 발생 SELECT ROWNUM as rn, id, pw, name FROM test WHERE rn >= 4 AND rn = 4 AND AA.rn 더보기
3월 9일 오전1 어제 했던 inheritance06 코드 설명 오전2 inheritance06의 Main, DAO, DTO, Main을 inheritance07 패키지로 복사하고 inheritance06에서 ArrayList를 사용했었는데 inheritance07은 HashMap으로 구현해보기 오후 네이버BOX-유틸-OracleXE184-Win64.zip다운로드 또는 https://www.oracle.com/database/technologies/xe18c-downloads.html Oracle Database Express Edition (XE) 18c Downloads Support Oracle Database Express Edition (XE) is a community supported edition o.. 더보기
3월 8일 findByindexByEmail 인덱스 값을 구하기 위해서 MemberDTO 를 for문으로 돌려서 같은 이메일이 있으면 반환받는 형식 직접 구현 하기 @Override public int findIndexByEmail(String email) { for(MemberDTO m: members) { if(m.getEmail().equals(email)) return members.indexOf(m); } return -1; } Controller Service Dto 역할에 맞추어서 사용하기 왜 나눠서 코드를 작성하냐면 코드 가독성, 역할 분리, 협업 용이, 에러 찾기 쉬움 더보기
3월 7일 상속 객체 지향 프로그램 상위 클래스의 정보를 하위 클래스에게 전달함 기대효과 - 반복적인 코드 줄임 - 유지보수의 편리성 - 기존 코드를 활용함으로써 개발 시간 단축 Super연산자 부모 객체에 접근할 경우 사용 부모 객체의 생성자 호출 시 사용 private접근제어자로 설정한 경우 자식도 접근할 수 없지만 부모 메서드에서 Setter()나 Getter()이용해서 사용할 수 있는 방법이 있음 // 생성자 호출 super() // 메서드 호출 super.메서드명(); 메서드 재정의 - 오버라이드(override) - 부모 클래스의 메서드를 상속받은 자식 클래스에서 재정의하여 사용 => 상속 관계의 경우에만 오버라이딩 가능 - 반환자료형, 인자형식, 개수 등 모든 구조가 같아야 함 - 내부 코드만 재구성하.. 더보기
[SQL] CASE 표현 1. CASE 표현 1) IF-THEN-ELSE 논리와 유사한 방식으로 표현식을 작성해서 SQL의 비교 연산 기능 보완 2) ANSI/ISO SQL 표준에는 CASE Expression이라고 표시되어 있음 3) 함수와 같은 성격을 가지고 있으므로 다른 함수처럼 중첩 사용 가능 [예제] 사원 정보에서 급여가 2000 이상이면 보너스를 1000으로, 1000 이상이면 5000으로, 1000 미만이면 0으로 계산 SELECT NAME, SAL, CASE WHEN SAL >= 2000 THEN 1000 ELSE (CASE WHEN SAL >= 1000 THEN 500 ELSE 0 END) END as BONUS FROM EMP; 4) Oracle의 Decode 함수와 같은 기능을 함 - DECODE 함수는 Or.. 더보기
3월 6일 생성 Setter는 사용하지 않는 추세 생성자 사용, Builder패턴을 사용하는 추세 예약어: 접근제어자, static, return, 반환자료형(void, 모든 자료형), final, this, super 접근제어자: private, default, protected, public final 생성할 때 값넣기, 값 변경 불가this 현재 인스턴스의 참조값, 자기 자신 super 상속 관계에서 부모 DTO 데이터 들어가고 데이터 내용 변경 가능 VO 데이터 한번 들어가면 데이터 내용 변경 안함 더보기
[SQL] NULL 관련 함수 1. NULL의 특성 1) 널 값은 아직 정의되지 않은 값으로 0 또는 공백과 다름(0은 숫자이고, 공백은 하나의 문자) 2) 테이블 생성 시 NOT NULL 또는 PRIMARY KEY로 정의되지 않은 모든 데이터 유형은 널 값을 포함할 수 있음 3) 널 값을 포함하는 연산의 경우 결과 값도 널 값(데이터에 숫자를 더하거나 빼도 결과는 마찬가지로 모르는 데이터) 4) 결과 값을 NULL이 아닌 다른 값을 얻고자 할 때 NULL/ISNULL 함수를 사용할 수 있음 2. NULL 관련 함수 - NULL을 처리하기 위한 함수 함수명 설명 NVL(표현식, 대체값) / ISNULL(표현식, 대체값) - 표현식의 결과 값이 NULL이면 대체값으로 바꿔줌 - 단, 표현식과 대체값의 데이터 타입이 같아야함 NVL2(표.. 더보기
[SQL] 테이블 삭제, 테이블의 데이터 삭제 drop, truncate, delete비교 DROP TRUNCATE DELETE 분류 DDL DDL DML Rollback 불가능 불가능 commit 이전 rollback 가능 Commit Auto Commit Auto Commit 사용자 Commit 저장공간 (작업 후 용량 감소여부) 사용했던 저장공간 모두 해제 (용량 감소) 최초 할당된 저장공간만 남기고 해제 (용량 감소) 사용했던 저장공간 해제되지 않음 (용량 감소X) 로그 로그 X 로그 X 로그 O 특정 행 삭제 X X 가능 1. DROP TABLE - DDL - 테이블 구조 자체를 완전히 삭제하는 DROP - 테이블 자체가 없어지기 때문에 해당 테이블 제거 후 테이블 구조 확인 불가 DROP TABLE 테이블명; 2. TRUNCATE TABLE - 테이블 구조는 그대로 유지하고 데이터를.. 더보기