SQL(5)
-
[SQL] Oracle. Dual 테이블
※Dual이란? 오라클 차체에서 제공 계산의 결과를 출력할 때 사용 SYS가 소유, 오라클 표준 테이블 하나의 행, 하나의 열을 가진 DUMMY 테이블 함수의 결과를 출력시 사용 하거나 가상의 테이블로 정의하여 데이터 출력 함수 결과 값 select level-1 from dual connect by level
2022.01.10 -
[SQL] JOIN - INNER JOIN vs OUTER JOIN and CORSS JOIN)
CORSS JOIN (aka 데카르트 곱, Cartesian Product, 합집합) 크로스조인은 쿼리에 on을 쓰지 않는다. 따라서, 각 열의 모든 조합을 return 한다. 따라서 다음 A, B 테이블의 크로스 조인의 결과는 아래와 같다.다만, INNER JOIN과 OUTER JOIN은 술어에 'ON'절을 사용한다. 'ON'절의 조건을 톤해 얻은 값을 나열하는 방식에 따라 INNER JOIN과 OUTUER JOIN으로 나뉜다. OUTER JOIN은 다시 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN으로 나뉜다. INNER JOIN : CROSS JOIN 결과의 모든 행에 대해 'ON' 절의 조건을 계산 -> true인 값을 return. LEFT OUTER..
2022.01.06 -
ORA_01007 variable not in select list
ORACLE to SAP/HANA DB로 DB to DB 마이그레이션 중 발생 추출한 SQL 쿼리와 요청한 테이블 필드 갯수가 맞지 않아 발생
2021.12.17 -
정규화 - Effective SQL
1. 제3정규화 보다 부족하다면 더 정규화하자 최대한 정규화 한 후 어플리케이션이 제대로 돌아갈 때까지 역정규화 하라 실제로 현장에서는 3정규화까지 하는 경우가 대다수 3정규화까지 진행하면, 대부분의 경우 그 이상의 정규화 단계까지 완료되기 때문 3정규화로 설계했으나, 한 테이블이 두 개 이상과 관계를 맺을 때, 다 대 다 관계가 둘 이상일 때. 더 높은 정규화를 위반할 수 있는 복합키가 있을 때, 대리키 대신 자연키를 분석할 때 제 4 정규화 : 다치종속 - 서로 독립적이지만 관계에서 통일 한 뒤 키에 의존하는 경우 한 엔티티에서 관계없는 두 속성으로 모든 조합을 해당 엔티티에서 열거하는 경우 위반될 수 있음. 제 5 정규화 : 조인종속 - 테이블을 분해하면 원래 가지고 있던 정보가 손실되어서 더이상 ..
2021.11.12 -
1. SQL 데이터 모델 설계 - Effective SQL
Effective SQL - 암퇘지 귀로는 비단주머니를 만들수 없다 ("CAN'T MAKE A SILK PURSE OUT OF A SOW'S EAR") 1.1 모든 테이블에 기본키가 있는지 확인하자 기본키(primaryKey) 설정 unique, notnull, 안정적인 값[갱신 필요X], 간단한 형태[소수보단 정수] 참조무결성 기본 키와 참조 키 간의 관계가 항상 유지됨 참조되는 테이블의 행은 참조키가 존재하는 한 삭제될 수 없고, 기본키도 변경될 수 없음 복합키(compoundPrimaryKey) 지양 기본키 지정시 DB는 해당 칼럼에 유일 index를 생성함. 한 칼럼에 유일 index가 여래개이면 DB의 일만 늘어남, 비효율적 일반적으로 기본키를 통해 join을 수행 하는데 기본키가 여려개이면, ..
2021.05.21