[Database] 날짜 함수
1. add_months
[Database] 기타 숫자 함수
1. abs ceil floor
[Database] 기타 문자열 함수
1. reverse
[Database] replace translate substr
1. replace
[Database] instr instrb, lower upper, initcap
1. instr instrb
[Database] length lengthb concat
1. length
문자열 숫자를 표시해주는 함수가 오라클에도 있다. 다음 sql문을 보자
[Database] 아스키코드 함수
1. ascii chr asciistr
아스키코드는 컴퓨터에 각 문자마다 매겨져있는 고유의 숫자값이 있는데 그걸 아스키 코드라고 한다. 자세한 것은 구글에 검색하면 문자마다 매겨진 숫자를 보여주는 표를 볼 수 있다. ascii 함수는 이런 문자에 매겨져있는 아스키코드를 조회할 수 있는 함수이다.
[Database] cast to_char to_number
1. cast to_char to_number
cast는 자료형을 변환해주는 것이다. 예시를 보기 위해 아래와 같이 평균을 조회해보자
[Database] declare begin end
1. declare begin end
오라클 데이터베이스에서 변수를 선언을 할 수 있다.
[Database] 데이터 타입
1. 데이터 타입
1.1. 숫자형 데이터
BINARY_FLOAT와 BINARY_DOUBLE이 있다. 각각 4Byte, 8Byte 데이터를 저장할 수 있다. BINARY_FLOAT : 4Byte
BINARY_DOUBLE : 8Byte
그러나 저 둘은 잘 안쓰이고 숫자형 자료형으로 NUMBER를 자주 쓴다. NUMBER() 이런 형식으로 쓴다. NUMBER(7, 2)면 7자리 정수에 2자리 소수점을 가진다.
[Database] MyBatis Xml
[Database] MyBatis Java
[Database] merge
merge
merge문을 연습하기 위해 테이블을 만들어보자.
[Database] DML DDL DCL
DML DDL DCL
데이터베이스 명령어는 총 세가지로 나눠진다. DML(Data Manipuation Language), DDL(Data Definition Language), DCL(Data Control Languge) 이렇게 나눠진다.
[Database] cube, with
cube
cube는 중간 합계를 낼 때 사용된다. 다음 sql문을 실행해보자
[Database] count 표준편차 분산, Roll up, grouping_id
count 표준편차 분산
count에 앞서 stddev와 variance라는 분산, 표준편차 내는 통계 함수가 있다. 쓰는 방법은 다음과 같은데 연구 개발쪽이나 심도 높은 경제학에서 수학을 필요할 때 제외하고는 쓸 일이 거의 없다고 한다.
[Database] group by having, AVG MIN MAX
group by having
group by는 말 그대로 그룹을 짓는 것인데 일반 select 문에서 잘 안쓰이고 주로 통계를 낼 때 쓰인다. 높으신 분들이나 임원들은 실무 데이터보다 통계 데이터를 주로 보고 보고서에 쓰기 때문에 주의깊게 사용해야 한다.
group by는 group by로 묶은 컬럼만 조회할 수 있다. 예를 들어 만약 ‘select * from procure_procure_request group by unit;’ 치면 에러가 난다. groub by unit으로 묶은 데이터를 보려면 다음과 같이 unit 컬럼만 조회해야 한다.
[Database] SQL 생성과 CREATE 응용
SQL
SQL 문은 structured query language의 약자로 표준을 정하는 단체가 있다. 개발자가 데이터를 넣고 빼는, 대화하는 언어이다. 그러므로 한 가지 SQL-오라클이나 마리아 DB-를 제대로 익혀놓으면 다른 DBMS에 적용이 가능하다.
[Database] 데이터모델, 사용자 생성
데이터 모델
프로젝트 공고가 올라오면 영업팀이 따오고, 그런 다음 PL과 PM이 요구사항을 분석한다. 개발 프로세스 순서를 정리하면 다음과 같다.
분석->설계->개발->테스트->(배포)->운영
초급, 중급 개발자가 가장 많이 투입되는 단계가 개발 단계이고 중급, 고급 개발자는 설계에서 운영 직전에 투입된다. 간혹 비용때문에 테스트 끝난 후에 빼는 경우도 있지만 위험부담이 매우 크다.
[Database] database 오라클 04 - 뷰, 프로시저, 트리거
뷰
뷰는 테이블의 복사판이다. 뷰를 만드는 명령어는 다음과 같다.
CREATE VIEW 뷰 이름 AS SELECT 컬럼명 FROM 테이블명
CREATE VIEW VW_PROCUREMENT_REQUEST AS
SELECT ITEM_CODE FROM TB_PROCUREMENT_REQUEST;
그러나 뷰를 만들 권한이 없으면 저 명령문을 써도 만들 수 없다.
데이터베이스는 중요하기 때문에 사용자에게 권한을 주고 그 권한 안에서만 사용할 수 있다. 심한 경우 SELECT만 할 수 있는 경우도 있다.
뷰를 사용하는 경우는 많은 사용자가 테이블을 조회하면 과부하가 걸리기 때문에, 조회할때 뷰를 사용하고 INSERT, UPDATE는 테이블에 하게 만들 때가 있다. 또한 각 사용자에게 특정 정보만 보여줘야할 때가 있다. 모든 정보를 가지고 있는 테이블은 보여주지 말아야한 정보도 있기 때문에 개발자가 막는다. 그리고 필요한 컬럼만 넣은 뷰 테이블을 만들어 제공한다. 뷰를 이용하면 공개되지 말아야할 정보를 숨길 수 있는 장점이 있다.
[Database] database 오라클 03 - Index
인덱스
인덱스는 기준점이 되어 조회를 쉽게 하게 만드는 것이다. 인덱스를 만드는 명령문은 CREATE를 사용한다.
CREATE [UNIQUE] INDEX 인덱스명 ON 테이블병(컬렁명 DESC/ASC)
CREATE UNIQUE INDEX 고객번호_index ON 고객(고객번호 DESC);
[Database] database 오라클 02
1. 스키마생성
만약 오라클 ex 11g 이후 버전을 쓰고 있으면 C##이 붙은 아이디로 변경을 해야하는데 아래의 명렁어로 오라클ex11g 버전처럼 사용할 수 있게 만든다.