본문 바로가기

반응형

Data Science

(60)
[SQLD] SQL 활용 2-4. 서브쿼리 서브쿼리 : 하나의 SQL문안에 포함되어 있는 또 다른 SQL문 -> 알려지지 않은 기준을 이용한 검색을 위해 사용 메인쿼리가 서브쿼리를 포함하는 종속적인 관계 -> 서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있지만, 메인쿼리는 서브쿼리의 칼럼을 사용할 수 없다. [조인과 차이점 : 조인은 조인에 참여하는 모든 테이블의 칼럼을 사용 가능] 질의 결과에 서브쿼리 칼럼을 표시하는 방법 조인 방식으로 변환 함수 사용 스칼라 서브쿼리 사용 서브쿼리 : 서브쿼리 레벨과 상관없이 항상 메인쿼리 레벨로 결과 집합 생성 조인 : 집합간의 곱의 관계 -> M * N : MN레벨의 집합 EX) 결과는 조직 레벨, 사원 테이블에서 체크해야할 조건 존재 : SQL문에 DISTINCT를 추가해 결과를 조직레벨로 만든 후, 메..
[SQLD] SQL 활용 2-3. 계층형 질의와 셀프 조인 1. 계층형 질의 : 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해서 사용한다. 계층형 데이터 : 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터 ex : 조직, 사원, 메뉴 가. Oracle 계층형 질의 SELECT.... FROM 테이블 WHERE condition AND condition... START WITH condition CONNECT BY [NOCYCLE] condition AND condition... [ORDER SIBLINGS BY column, column, ...] 설 명 START WITH 계층 구조 전개의 시작 위치를 지정하는 구문이다. 즉, 루트 데이터 를 지정한다.(액세스) CONNECT BY CONNECT BY에 주어진 조건을 만족하는 자식 데이터를 ..
[SQLD] SQL 활용 2-2. 집합 연산자 집합 연산자 : 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법 차이 기존의 JOIN FROM 절에 검색하고자 하는 테이블을 나열하고, WHERE 절에 조인 조건을 기술하여 원하는 데이터를 조회 집합 연산자 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식을 사용한다. 즉, 집합 연산자는 2개 이상의 질의 결과를 하나의 결과 목적 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때 튜닝관점에서 실행계획을 분리하고자 하는 목적 사용제약조건 -SELECT 절의 칼럼 수가 동일하고 SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능 (단, 반드시 동일..
[SQLD] SQL 활용 2-1. 표준 조인 1. STANDARD SQL 개요 가. 일반 집합 연산자 나. 순수 관계 연산자 가. 일반 집합 연산자 1. UNION 연산 -> UNION 기능 2. INTERSECTION 연산 -> INTERSECTION 기능 3. DIFFERENCE 연산 -> EXCEPT(MINUS) 기능 4. PRODUCT 연산 -> CROSS JOIN 기능 1. UNION 연산 [UNION | UNION ALL] -> 합집합 제공 : 공통 교집합의 중복을 없애기 위한 작업 [정렬 작업 발생] 2. INTERECTION 연산 -> 교집합 : 두 집합의 공통집합을 추출 3. DIFFERENCE 연산 -> 차집합 : 첫 번째 집합에서 두 번째 집합과의 공통 집합 제외한 부분 [EXCEPT / MINUS] 4. PRODUCT 연산 -..
[SQLD] SQL 기본 핵심 요약 및 예제 2절. DDL 1. 데이터 유형 더보기 CHARACTER - 고정길이 문자열 정보 VARCHAR - 가변길이 문자열 정보 NUMERIC - 정수, 실수 등 숫자 정보 DATETIME - 날짜와 시각 정보 -> CHAR와 VARCHAR : 저장 영역과 문자열의 비교 방법 차이 CHAR : 실제 데이터 크기만 필요함 -> 길이가 다양한 칼럼, 정의된 길이와 실제 데이터 길이에 차이가 있는 칼럼 또한 공백을 채워서 비교해 앞에서부터 한 문자씩 비교 -> 끝의 공백만 다른 문자열은 같다고 판단 VARCHAR : 맨 처음부터 한 문자씩 비교 -> 공백도 하나의 문자로 취급, 끝의 공백이 다르면 다른 문자로 판단 즉, VARCHAR, NUMERIC : 정의한 길이와 자릿수는 최대한의 한계값을 정의 2. CREATE..
[SQLD] 데이터 모델링의 이해 1-4. 관계 1. 관계의 개념 가.관계의 정의 : 엔터티의 인스턴스 사이에서의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태 -> 엔터티와 엔터티 간의 연관성을 표현. [즉, 엔터티의 정의에 따라, 속성 정의 및 관계 정의에 따라 변할 수 있다.] 나. 관계의 페어링 : 엔터티 안에 인스턴스가 개별적으로 관계를 가지는것 -> 이것의 집합을 관계로 표현한다. [즉, 개별 인스턴스가 각각 다른 관계를 갖는다면, 두 개 이상의 관계 형성 가능] 관계 페어링 : 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 관계 강사1 정성철 강사1의 학생 이춘식, 황종하 강사2 조시형 강사2의 학생 황종하 각각의 관계 강의 -> 관계 페어링 : 엔터티내에 인스턴스와 인스..
[SQLD] 데이터 모델링의 이해 1-3. 속성 1. 속성의 개념 : 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위 업무에서 필요로 한다. 의미상 더 이상 분리되지 않는다. 엔터티를 설명하고 인스턴스의 구성요소가 된다. 2. 엔터티, 인스턴스와 속성, 속성값에 대한 내용과 표기법 가. 엔터티, 인스턴스, 속성, 속성값의 관계 엔터티 : 두 개 이상의 인스턴스가 존재 / 각각의 엔터티에 고유한 성격을 표현하는 두 개 이상의 속성정보 -> 엔터티를 구성하는 특성이 무엇인지 / 각각의 인스턴스들은 어떤 성격의 데이터로 구성되는지 파악 분석단계 : 여러 개의 인스턴스가 가지는 동일한 성격이 무엇인지 파악하고 이름을 부여 -> 속성으로 기술 Ex) 사원 : 이름, 주소, 전화번호, 직책 사원이라는 엔터티에 속..
[SQLD] 데이터 모델링의 이해 1-2. 엔터티 1. 엔터티의 개념 : 실체, 객체 -> 사람, 장소, 물건, 사건, 개념 등의 명사 -> 업무상 관리가 필요한 관심사 -> 저장이 되기 위한 어떤 것 즉, 업무에 필요하고 유용한 정보를 저장, 관리하기 위한 집합적인 것 엔터티 : 동질성을 가진 인스턴스들이나 그들이 행하는 행위의 집합 -> 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성(Attribute)을 갖는다. 속성 : 전체가 공유하는 공통속성 : 일부만 해당하는 개별속성 엔터티 : 인스턴스의 집합 인스턴스 : 엔터티의 하나의 값 2. 엔터티와 인스턴스에 대한 내용과 표기법 과목, 강사, 사건 : 엔터티 수학, 영어 : 과목의 인스턴스 이춘식, 조시형 : 강사의 인스턴스 2010-001, 2010-002 : 사건의 인스턴스 [오브젝트 모델..

반응형