결산 링크: http://www.tistory.com/thankyou/2017/tistory/2293756 2016년, 그러니까 재작년에 허접한 4개월치 결산을 받았을 때, "2017년에는 제대로 블로그를 해보자!" 라고 결심했었다. 근데 벌써 2018년이네.. 그래서 포스트해본 2017 블로그 결산!! 1년 전, 2017년에 블로그 운영에 대한 목표가 몇 개 있었는데, 블로그 결산 스크린샷과 함께 짚어보도록 하겠다. 일단 꾸준히 글을 쓴다는 목표는 아주 잘 달성한 것 같다. 시간이 날 때마다 조금씩 작성함은 물론, 하루에 2~3편을 작성하더라도 바로 올리지 않고 "예약게시"를 걸어 두었다. 글이라는 것은 자꾸 읽어보면 수정할 것이 계속 생기기 때문이다. 2018년에도 이러한 기조를 유지할 것이다. 다만..
부제: Spring으로 JDBC연동하기, Spring으로 DB조회하기 ★관련 링크Spring과 DB이야기 - 2. JdbcTemplate에서의 UPDATE, INSERT Spring과 DB이야기 - 3. Transaction 처리 JDBC의 구현과 DataSource JAVA를 활용하여 애플리케이션을 개발할 때, DB접근이 필요하면 보통 JDBC를 쓴다. JDBC를 사용해본 사람이라면 아래와 같은 방식으로 개발했을 것이다. public Student getSingleStudent (String studentNum) throws SQLException { Student student; try(Connection conn = DriverManager.getConnection ("jdbc:oracle:this..
기술면접에 대비하여 정리한 내용 중, 하나의 포스팅으로 제작하기에는 내용이 짧거나, 상세히 작성이 어려워(나의 능력부족) 포스팅으로 작성하지 못한 질문 모음. 1. DB에서의 Commit와 Rollback 이란? Commit: 하나의 논리적 단위(트랜잭션)에 대한 작업이 성공적으로 끝났을 때, 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산 Rollback: 하나의 트랜잭션 처리가 비정상적으로 종료되어 DB의 일관성을 깨뜨렸을 때, 모든 연산을 취소(Undo)시키는 연산. 같이보면 좋은 글: 트랜잭션에 대하여(클릭) 2. DBMS에 대해 설명해보시오. 데이터베이스라는 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용프로그램이다. 3. PK, FK, E..
집합연산자는 조회(SELECT) 쿼리의 결과를 대상으로 연산을 수행하는 연산자이다. UNION, UNION ALL, INTERSECT, MINUS등이 있다. 조회의 결과를 대상으로 연산을 수행하므로, 여러 개의 SELECT문을 하나의 쿼리로 만드는 연산자라고 할 수 있다. 정리를 하기 전에, 아래와 같은 데이터가 있다고 가정하자 1234567891011순번 과목명 이름----------------------1 국어 철수2 영어 철수3 수학 철수1 국어 영희2 사회 영희3 과학 영희4 도덕 영희5 영어 영희 cs 철수는 순서대로 국어, 영어, 수학을 이번학기에 듣고, 영희는 국어, 사회, 과학, 도덕, 영어를 이번학기에 듣는다. 이 데이터를 예로, 집합연산자를 소개하려고 한다. 1. UNION UNION은..
오라클에서 사용할 수 있는 함수(사용자 정의 함수)제외를 간단하게 정리함. 1. 숫자함수 - ABS(n): n의 절대값을 반환함 - CEIL(n), FLOOR(n): n보다 같거나 큰 정수를 반환한다 (n은 실수) - ROUND(n, i): n을 소수점 i+1번째 자리에서 반올림 - TRUNC(n,i): n을 소수점 i+1번째 자리에서 버림 - POWER(n1, n2): n1을 n2번 거듭제곱한 결과 - MOD(n1, n2): n1을 n2로 나눈 나머지 값 2. 문자함수 - INITCAP(char): char의 첫문자(공백과 숫자를 제외한 알파벳 중 첫문자)만 대문자, 나머지는 소문자로 변환 - LOWER(char): char을 소문자로 변환 - UPPER(char): char을 대문자로 변환 - CON..
SQL의 조건식은 WHERE절에서 많이 사용된다. WHERE절은 SELECT, UPDATE, DELETE문에서 특정 조건의 레코드를 지정하고 싶을 때 사용된다. WHERE절에서 사용했던 NOT, NULL등의 조건식들의 모두 포함된다고 보면 된다. 조건식의 분류는 아래와 같다. 1. 비교조건식 (ex: ANY, SOME, ALL, IN, EXIST) 2. 논리조건식 (ex: AND, OR, NOT, BETWEEN) 3. NULL조건식 4. LIKE조건식 1. 비교조건식 비교조건식은 논리연산자(, 등, 참고: [ORACLE] SQL의 연산자(Operator) 정리)나 ANY, SOME, ALL, IN, EXISTS 키워드로 특정 값을 비교하는 조건식을 말한다. 논리연산자의 사용 예는 생략하고, ANY와 SO..
WHERE문은 SQL의 SELECT, UPDATE, DELETE문에서 쓰인다. 오늘은 SELECT문에서 자주 쓰이는 WHERE 조건에 대해 포스팅해보려고한다. 오라클에서는 다양한 연산자를 제공하는데, 분류하자면 아래와 같다. 1. 수식연산자 (예: +, -, *, /) 2. 문자연산자 (예: ||) 3. 논리연산자 (예: =,, 등) 4. 집합연산자 (예: UNION, INTERSECT 등) 5. 계층형 쿼리연산자 1. 수식연산자 더하기, 빼기, 곱하기, 나누기이다. +와 -의 경우, 양수와 음수를 나타낼 때 사용하기도 한다. 당연히 조건식에 직접적으로는 잘 사용되지 않는다. (+, -, *, / 로는 논리적 판단을 할 수가 없음) 2. 문자연산자 ||이 있는데, 두 문자를 연결하는 연산을 수행한다. 사..
부제: 인덱스란?, 인덱스에 대하여. 색인(Index, 앞으로는 '인덱스'라고 칭하겠다.)은 오라클에서 데이터를 빨리 찾기 위한 용도의 데이터베이스 객체이다. 위키피디아에서 정의한 인덱스의 뜻은 다음과 같다. "데이터베이스 분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료 구조" 정의가 조금 애매하지만, 보통 인덱스를 통해 성능 향상을 얻는 연산은 검색 연산(SQL의 SELECT)이다. (더 이상의 자세한 설명은 생략한다.) 인덱스가 무엇인지 설명하기 보다는, 오라클에서 인덱스를 어떻게 사용하는지 다루려고한다. 인덱스는 테이블에 있는 한 개 이상의 컬럼으로 만들 수 있다. 생성 예는 아래와 같다. 123CREATE INDEX indexname1ON table1(column1) cs 한편, 인덱스는..
제약조건은 컬럼에 대한 속성을 정의하는 것이며, 데이터 무결성을 보장하기 위한 용도로 사용된다. 다시말해, 제약조건을 설정한다는 것은 테이블이나 속성에 부적절한 데이터가 들어오는 것을 사전에 차단하도록 규칙을 정하는 것이라고 생각하면 된다. 제약조건은 컬럼의 속성처럼 사용하지만, 엄연히 데이터베이스의 객체이므로 고유의 이름(제약조건 명)을 지정해주어야 한다. 사용자가 지정하지 않는 경우, ORACLE이 자동으로 부여해준다. 1. NOT NULL 컬럼을 정의할 때(NOT NULL의 경우 오로지 컬럼에만 적용 가능하다. 테이블은 안됨.) NOT NULL 제약조건을 명시하면 해당 컬럼에는 반드시 데이터를 입력해야만 한다. 반드시 데이터가 들어와야만 하는 컬럼에 명시를 해두면 유용할 것이다. 사용 예는 아래와 ..
데이터 타입(DataType)은 컬럼이 저장되는 데이터 유형을 말한다. 오라클의 데이터 타입은 오라클이 기본으로 제공하는 기본 데이터 타입(혹은 원시 데이터 타입)과 사용자 정의 데이터 타입으로 분류할 수 있다. 1. 문자 데이터 타입 문자나 문자열 데이터를 저장할 수 있는 데이터 타입을 의미한다. 종류와 특징은 아래와 같다. 데이터 타입 설명 CHAR(size) 고정길이 문자를 저장. 최대 2000byte. 최소 1byte. VARCHAR(size) 가변길이 문자를 저장. 최대 2000byte. 최소 1byte. NCHAR(size) CHAR와 같으나 유니코드 형태이다. NVARCHAR(size) VARCHAR과 같으나 유니코드 형태이다. LONG 최대 2GB 크기의 가변길이 문자형이다. 잘 사용하지 ..