본문 바로가기

전체 글

Oracle - DML DML(Data Manipulation Language) 데이터베이스에 데이터를 추가, 갱신 또는 삭제하고자 한다면 DML 문장 실행 새로운 행을 데이터베이스에 추가하는 INSERT문 기존 행을 수정하기 위한 UPDATE문 기존 행을 삭제하기 위한 DELETE문 DML 구문의 실행을 완전히 보장하기 위해서는 트랜잭션이 필요하다 그렇다면 트랜잭션은 무엇일까? 트랜잭션은 작업의 논리적인 단위 형태인 DML 문장의 모음을 말한다 보통 트랜잭션에 대해 설명할 때 은행 거래를 예시로 들어 설명한다 ATM 기계를 사용한다고 하면 현재는 거래가 완전히 성공적으로 끝난 후에야 완전한 거래로 승인하고 거래 도중 뭔가 오류가 발생했을 때는 거래 자체를 없었던 거래로 되돌림으로써 거래 금액 손실을 방지한다 이를 그대로 데이.. 더보기
Oracle - 서브쿼리 서브쿼리란? 다른 select절에 내장된 select 문장 테이블 자체의 데이터에 의존하는 조건으로 테이블의 행을 검색할 필요가 있을 때 유용하다 다음의 예시를 통해 서브쿼리가 어떻게 쓰이는지 보자 first_name이 'Nancy'인 사람의 급여보다 많은 급여를 받는 사람의 first_name과 salary 출력 서브쿼리 사용할 때 반드시 지켜야 할 사항들 괄호로 둘러싸야 한다 비교 연산자의 오른쪽에 있어야 한다 order by 포함할 수 없다 ( where절, 스칼라 쿼리(단일값) ) ⚠️인라인 뷰는 order by 사용 가능 단일 행 서브쿼리 단일행 연산자를 사용하는 서브쿼리는 반드시 한 개의 행 또는 0개의 행을 반환해야 함 where절에서 서브쿼리가 두 개의 행 이상 한다면 설명하는 다중 행 서.. 더보기
Oracle 함수의 모든 것 - 그룹함수 그룹함수 AVG ([ DISTINCT | ALL ] n ) : Null값을 제외한 n의 평균 출력 SUM ([ DISTINCT | ALL ] n ) : Null값을 제외한 n의 합계 출력 MIN ([ DISTINCT | ALL ] expr ) : Null값을 제외한 expr의 최솟값을 출력 MAX ([ DISTINCT | ALL ] expr ) : Null값을 제외한 expr의 최댓값을 출력 COUNT ({ * | [ DISTINCT | ALL ] expr }) : 행의 수, expr은 Null값을 제외하고 계산 *를 사용하여 중복되거나 Null인 행들을 포함하여 모든 행을 계산 다음의 예시들을 통해 함수들이 어떻게 쓰이는지 확인해보자 1) AVG, MAX, MIN, SUM 아무래도 avg, mac, m.. 더보기
Oracle 함수의 모든 것 - 단일 행 함수 단일 행 함수 - 인수(argument)를 받고 하나의 결과를 리턴 - 리턴될 각각의 행에 적용 - 행별로 하나의 결과를 리턴 - 데이터타입을 수정 가능 - 중첩(nested) 가능 문자 조작 함수 LOWER( ): 문자열을 소문자로 변환 INITCAP( ): 문자열의 첫 문자를 대문자로 UPPER( ): 문자열을 대문자로 변환 How? 어떻게 쓰는 거라고? LOWER (last_name) : 모든 문자를 소문자로 출력 INITCAP (last_name) : 첫 문자만 대문자로, 나머지는 소문자로 출력 UPPER (last_name) : 모든 문자를 대문자로 출력 LENGTH ( ): 문자열 길이, INSTR ( ): 문자열에서 해당 문자의 위치 How? 어떻게 쓰는 거라고? LENGTH (first_n.. 더보기
Oracle이 Miracle이 되는 그 날까지 - SQL문 SQL문이란? 데이터베이스로부터 데이터를 조회, 삭제, 수정, 변경하는 등의 작업을 수행할 때 사용하는 언어 관계형 데이터베이스의 기본구조 일반적 개념에 따라 행과 열로 표현하고자 한다 (사실 하라는 대로 하는 거지만^^;;) 관계형 데이터베이스의 키 1. 후보키 (Cadidate key) 행 (튜플)을 식별할 수 있는 키 기본키가 될 수 있는 후보를 후보키 2. 기본키 (Primary key) 후보키 중에서 선택한 주키 행 (튜플)을 유일하게 식별할 수 있는 키 not null, 중복 x 3. 대체키 (Alternate key) : 후보키 - 기본키 후보키가 둘 이상일 대 기본키를 제외한 나머지 후보키 4. 슈퍼키 (Super key) 테이블 릴레이션 내에 있는 속성들의 집합으로 구성된 키 (2개로 이.. 더보기
자바를 잡아라 제 17장 API - java.lang 패키지 JAVA API(Application Programming Interface) API 는 라이브러리라고 부르며 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말한다 자바 표준 API 문서 주소 : https://docs.oracle.com/javase/8/docs/api java.lang 패키지 자바 프로그램의 기본적인 클래스들을 담고 있는 패키지이기 때문에 java.lang 패키지에 있는 클래스와 인터페이스는 import 구문 없이 사용할 수 있다 java.lang 패키지 주요 클래스 Object 자바 클래스의 최상위 클래스 System 표준 입력장치 키보드로부터 데이터를 입력받거나 표준 출력장치 모니터로 출력하기 위해 사용 Class 클래스를 메모리에.. 더보기
자바를 잡아라 제 15장 - 정신이 없을 때일수록 집중해야 한다 인터페이스(Interface) 인터페이스 선언된 변수는 public static final 을 생략하더라도 컴파일 과정에서 자동으로 붙게 된다(상수) 인터페이스의 메서드를 추상메서드 형식으로 선언하면 abstract 를 붙이지 않더라도 자동으로 컴파일 과정에서 붙게 된다 (추상메서드) 추가적으로 static 메서드의 선언 또한 가능 합니다 (자바 1.8 버전 이후) 인터페이스는 클래스가 아니기 때문에 일반 변수, 일반 메서드 사용할 수 없다 // 자동으로 public static final // void run( );은 public abstract void run( ); 과 동일 Why? 인터페이스가 생긴 걸까? >>> 일단 클래스는 다중 상속을 지원하지 않는다는 것을 알아야 한다 그렇다면 추가적으로 기.. 더보기
자바를 잡아라 제13장 - '나'라는 객체가 여러 형태를 갖는 날까지... 다형성(Polymorphism) : 팔방미인 그 잡채 다형성이란 '객체가 여러 형태를 가진다' 라는 의미로 해석되며, 하나의 객체가 여러가지 유형으로 사용되는 것을 의미합니다 [ 다형성의 특징 ] 상속은 전제조건 자식클래스가 부모클래스의 타입을 가질 수 있도록 허용한다. ( 즉, 부모 타입에 모든 자식 객체가 대입될 수 있다 ) Student, Teacher, Employee(자식클래스)로 생성해서 Person(부모) 타입에 저장할 수 있다 부모에 있는 메서드만 실행가능하며 overriding 메서드는 우선 실행된다 강제 타입 변환 (Type Casting) : 다른 것을 같게 강제 타입 변환은 부모 타입을 자식 타입으로 변환하는 것을 말한다 객체에서 타입 캐스팅을 사용하려면 우선 먼저 Promotion.. 더보기