이미지20

Coding Story/DATABASE

    반응형
    이미지21

    [ Oracle ] 오라클 LPAD 와 RPAD

    개발을 하다 보면 문자열을 지정된 크기에 맞게 채워야 할 때가 있다. ​ 전화번호를 11자리로 하는데 11자리 미만일경우 0으로 채워라는 경우처럼 말이다. ​ 특정문자열을 지정한 자릿수만큼 내가 지정한 문자로 채우고자 할 때 쓰는 함수가 바로 LPAD 와 RPAD 함수이다. ​ PAD의 영어사전적 의미로는 '덧대다'의 뜻인데 개발에서는 이를 '덧붙이다'나 '채우다'라는 의미로 사용되고 있다. ​ 즉, LEFT PAD ( LPAD ) 는 왼쪽으로부터 채우기, RIGHT PAD ( RPAD ) 는 오른쪽으로부터 채우기인 셈이다. ​ 먼저 문법을 살펴보자. ​LPAD ( x, n, y ) RPAD ( x, n, y ) 여기서 x 는 LPAD 나 RPAD 를 적용시키고자 하는 문자열이 들어간다. ​ n 은 자릿..

    이미지21

    [ Oracle ] 오라클 중복데이터 처리, 중복데이터 한번만

    중복 데이터를 처리하는 방법은 다양하다. ​ 중복 데이터를 처리하는 방법에는 어떤것들이 있는지 살펴보자. ​ 만약 아래와 같은 정렬되지 않은 의류 테이블이 존재한다고 가정하자. ​ [ 의류 ] 테이블 위 데이터를 보면 No2 ROW 와 No5 ROW 가 중복되는 데이터임을 알 수 있다. ​ 중복데이터를 제거하고 싶다면 흔히 알고 있는 DISTINCT를 사용하면 된다. SELECT DISTINCT 분류명, 색상명, 가격, 상품번호 FROM 의류 ; 그럼 아래와 같은 결과가 나올것이다. 이처럼 DISTINCT는 데이터가 모두 동일한 ROW가 존재할경우 이를 제거해준다. ​ 그렇다면 중복데이터를 제거하는 것이 아닌 공백이나 널로 처리해 해당데이터가 하나만 보이게하려면 어떻게 해야할까? 필자의 경우 서브쿼리를 ..

    이미지21

    [ Oracle ] 프로시저와 함수의 차이

    오라클을 사용하다보면 자주 접하게 되는 프로시저와 함수. ​ 이 둘의 정의와 차이점에 대해 알아보자. 프로시저(Procedure)란? 넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다. ​ 예를 들어 쇼핑몰에서 신발을 구매하는 프로시저로 표현해본다면 [ Procedure Start ] ① 쇼핑몰 회원 로그인 ② 구매할 신발 선택 ③ 개인정보 및 배송지 선택 ④ 결제 [ Procedure End ] 위 처럼 어떤 프로세스를 절차적으로 기술해 놓은 것을 프로시저라 한다. 프로시저 문법 CREATE OR REPLACE PROCEDURE 프로시저 이름 ( 매개변수명1 [ IN || OUT || INOUT ] 데이터타입, 매개변수명2 [ IN || OUT || INOUT ] 데이터타입 ... ) IS||AS..

    이미지21

    [ Database ] 제 1정규화, 제 2정규화, 제 3정규화

    정규화란? 데이터베이스의 데이터들을 최대한 중복을 제거하여 이상 현상 ( Anomaly ) 을 방지하​기 위한 기술이다. ​ 여기서 말하는 이상현상은 세 가지가 있는데 간략하게 설명하면 다음과 같다. ​​ ​ 갱신 이상 ( Modification Anomaly ) 중복된 데이터 중 일부를 갱신할 때 의도치 않은 데이터가 갱신됨으로써 생기는 데이터의 불일치 ​ 삽입 이상 ( Insertion Anomaly ) 새 데이터를 삽입할 때 의도치 않은 데이터가 삽입됨으로써 생기는 데이터의 불일치 ​ 삭제 이상 ( Deletion Anomaly ) 데이터를 삭제할 때 의도치 않은 데이터까지 삭제됨으로써 생기는 데이터의 불일치 ​ ​ 이러한 이상 현상을 해결하기위해 데이터를 잘게 잘게 쪼개나간다고 생각하면 쉽다. ​..

    이미지21

    [ Database ] ER 다이어그램 / ERD 기호 및 표기법

    데이터베이스를 다루는 과정에서 한 번쯤은 들어봤을 ​ERD. ​ 이번 게시글에서는 ERD에 대해 다뤄보자. ​ ​ ​ ​ ERD ' Entity Relationship Diagram ' ​ 흔히 E-R 다이어그램이라고 불리우며 ERD 라고 줄여 부르기도 한다. ​ 영어 약자 그대로 '​존재하고 있는 것(Entity)들의 관계(Relationship)을 나타낸 도표(Diagram)' 이다. ​ 여기서 말하는 존재하고 있는 것이란 데이터를 뜻하니 데이터들의 관계를 나타낸 도표인 셈이다. ​ 그럼 데이터의 관계를 어떻게 나타내는지 그림들을 참고해 이해해보자. ​ ​ 먼저 ERD의 규칙을 살펴보면 아래와 같다. A는 부모, B는 자식의 관계를 가진 ERD이다. 여기서 '~B로 구성되어 있다'라는 말이 살짝 헷갈..