본문 바로가기

DB5

엔터티 vs 속성 vs 인스턴스 엔터디(Entity) = 테이블 업무에서 관리해야 하는 데이터 집합 개념, 사건, 장소 등의 명사(Things) 특징 "업무"에서 꼭 필요로 하는 정보 식별자에 의해 식별이 가능해야 함 2개 이상의 인스턴스로 구성된 집합 반드시 "속성"을 포함해야 함 다른 엔터티와 "관계"가 최소 1개 이상 존재 업무 프로세스에 의해 이용됨 분류 유무형에 따라 유형 엔터티 (사원, 물품) 사건 엔터티 (주문, 창구) 개념 엔터티 (조직, 장소) 발생 시점에 따라 기본 엔터티 (사원, 부서) -> 다른 엔터티로 주식별자 상속X - 자신 고유 주식별자 가짐 행위 엔터티 (주문내역, 계약진행) 중심 엔터티 (접수, 계약) 인스턴스(Instance) = 행 데이터베이스에 저장된 데이터 내용의 전체 집합 속성(Attribute).. 2023. 2. 14.
NVL & NVL2 & NULLIF NVL : 첫번째 값이 null이면 두번째 값을 반환 SELECT NVL(null, '지정값') FROM DUAL// 지정값 SELECT NVL('첫번째 값', '지정값') FROM DUAL// 첫번째 값 NVL2 : 첫번째 값이 null이 아니면 두번째 값(지정값1), null이면 세번째 값(지정값2) SELECT NVL2('첫번째 값', '지정값1', '지정값2') FROM DUAL;// 지정값1 SELECT NVL2(NULL , '지정값1', '지정값2') FROM DUAL;// 지정값2 NULLIF : 2개의 값이 같으면 NULL, 다르면 첫 번째 값을 반환 SELECT NULLIF('ORACLE', 'ORACLE') FROM DUAL//NULL SELECT NULLIF('ORACLE', 'SQL.. 2022. 7. 13.
[SQL] 계층구조 조회 START WITH ... CONNECT BY 절 (계층형 정보를 표현하기 위한 목적으로 오라클 에서 지원) 1) 기본 테이블 구성 SELECT MNU_NM, MNU_NO, UP_MNU_NO, SQ_NO FROM S_MNU 2) START WITH ... CONNECT BY 절을 사용한 계층형 쿼리 작성 SELECT MNU_NM, MNU_NO, UP_MNU_NO, SQ_NO FROM S_MNU START WITH UP_MNU_NO IS NULL-- 루트 노드를 지정 CONNECT BY PRIOR MNU_NO = UP_MNU_NO-- 부모와 자식노드들간의 관계를 연결 3) 보기좋게 정렬 SELECT LPAD(' ', 2*(LEVEL-1)) || MNU_NM AS MNU_NM, MNU_NO, UP_MNU_N.. 2022. 6. 29.
LPAD, RPAD LPAD : 왼쪽에 특정문자를 원하는 자리수만큼 채워서 반환 사용법 : LPAD(원본문자열 , 총 문자길이, 채울 문자열) ex ) SELECT LPAD('test', 6, '#'); 결과 : ##test RPAD : 오른쪽에 특정문자를 원하는 자리수만큼 채워서 반환 사용법 : RPAD(원본문자열 , 총 문자길이, 채울 문자열) ex ) SELECT RPAD('test', 6, '#'); 결과 : test## 활용 예시) 들여쓰기 할 때 SELECT CONCAT(LPAD(' ' , 2, ' '), [column]) FROM [테이블명]; 2022. 6. 9.