본문 바로가기

자격증/SQLD

(22)
SQLD 요점정리 파일 출처 : https://cafe.naver.com/sqlpd/7810 SQLD 요점정리 공유합니다 제가 공부할려고 한글 파일로 만들었는데 저는 어려워서 붙을지도 의문입니다ㅜㅜ 여러분에게... cafe.naver.com
SQLD 2과목 2-4장. 서브쿼리 [ 목차 ] 1. 서브쿼리 2. 서브쿼리의 주의사항 3. 서브쿼리가 사용되는 곳 4. 동작 방식에 따른 서브쿼리 종류 5. 반환되는 데이터 형태에 따른 서브쿼리 분류 6. 단일 행 서브쿼리 7. 다중 행 서브쿼리 8. 다중 칼럼 서브쿼리 9. 연관 서브쿼리 10. SELECT 절의 서브쿼리 11. FROM 절의 서브쿼리 12. HAVING 절의 서브쿼리 13. UPDATE 문의 서브쿼리 14. 뷰 15. 뷰의 장점 1. 서브쿼리 1) 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문 2) 알려지지 않은 기준을 이요한 검색을 위해 사용 3) 서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있으나 반대는 불가능 4) 서브쿼리는 서브쿼리의 레벨과는 상관없이 항상 메인쿼리 레벨로 결과 집합이 생성 2. 서브쿼리..
SQLD 2과목 2-2장. 집합연산자 [ 목차 ] 1. 집합연산자 2. 집합연산자를 사용하는 상황 3. 집합연산자 종류 4. 집합연산자 특징 1. 집합연산자 1) 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법 2) 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식 즉, 2개 이상의 질의 결과를 하나의 결과로 만듬 3) SELECT 절의 칼럼 수가 동일하고 SELECT절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 함 4) SQL문의 결과 집합에 대해 합집합, 교집합, 차집합으로 집합간의 관계를 가지고 작업 2. 집합연산자를 사용하는 상황 1) 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 2) 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합..
SQLD 2과목 1-9장. 조인 [ 목차 ] 1. 조인의 개념 2. 조인의 규칙 3. EQUI(등가) JOIN 4. 테이블명.칼럼명 5. JOIN 조건 기술의 주의사항 6. Non EQUI(비등가) JOIN 7. 3개 이상의 테이블 JOIN 8. JOIN의 필요성 1. 조인의 개념 1) 두 개 이상의 테이블 둘을 연결/결합하여 데이터를 출력하는 것으로, 대부분의 SQL 문장이 해당 2) 관계형 데이터베이스의 가장 큰 장점이며 대표적인 핵심 기능 3) 일반적으로 PRIMARY KEY와 FOREIGN KEY값의 연관에 의해 성립 4) PK, FK의 관계 없이 논리적인 값들의 연관만으로도 성립 가능 2. 조인의 규칙 1) 여러 테이블이 나열되더라도 SQL에서 데이터를 처리할 때 단 두 개의 집합 간에만 조인이 발생 2) A, B, C 테이블..
SQLD 2과목 1-8장. ORDER BY절 [ 목차 ] 1. ORDER BY 절이란? 2. ORDER BY 절의 특징 3. SELECT 문장 실행 순서 4. FROM, ORDER BY, GROUP BY, SELECT 복합 특징 5. ROWNUM 6. TOP( ) 1. ORDER BY 절이란? 1) SQL 문장으로 조회된 데이터들을 다양한 목적에 맞게 특정 칼럼을 기준으로 정렬하여 출력하는데 사용 2) 칼럼명 대신 SELECT 절에서 사용한 ALIAS명이나 카럼 순서를 나타내는 정수도 사용 가능 3) 별도로 정렬 방식을 지정하지 않으면 기본적으로 오름차순이 적용되며, SQL 문장의 제일 마지막에 위치 2. ORDER BY 절의 특징 1) 기본적으로 오름차순 2) 숫자형 데이터 타입은 오름차순으로 정렬했을 경우에 가장 작은 값부터 출력 3) 날짜형 ..
SQLD 2과목 1-7장. GROUP BY, HAVING절 [ 목차 ] 1. 집계 함수와 특징 2. 집계 함수의 종류 3. GROUP BY절과 특성 4. Having 절 5. GROUP BY 소그룹의 데이터 중 일부만 얻는 방법 6. CASE 표현을 활용한 월별 데이터 집계 7. 집계 함수와 NULL 1. 집계 함수와 특징 1) 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수 중 하나 2) GROUP BY 절은 행들을 소그룹화 3) SELECT 절, HAVING, ORDER BY절에 사용할 수 있음 4) 그룹에 대한 정보를 제공하므로 주로 숫자유형에 사용하지만 MAX, MIN, COUNT 함수는 문자, 날짜에도 적용 가능 5) 일반적으로 GROUP BY 절과 같이 상용되지만 테이블 전체가 하나의 그룹이 되는 경우 단독으로 사용 가능 집계..
SQLD 2과목 1-5장. WHERE절 [ 목차 ] 1. WHERE 조건절 2. WHERE 조건절을 사용하지 않을 경우의 문제 3. 연산자의 종류 4. 연산자의 우선순위 5. 비교 연산자 6. 문자 유형 비교 방법 7. SQL 연산자 8. 논리 연산자 9. 부정 연산자 10. ROWNUM, TOP 사용 1. WHERE 조건절 1) SELECT [ DISTINCE/ALL] 칼럼명 [ALIAS명] FROM 테이블명 WHERE 조건식; 2) 원하는 자료만 검색하기 위해 SQL문장에 WHERE 절을 이용하여 자료들을 제한할 수 있음 3) WHERE 절을 사용하지 않아서 발생하는 문제점을 방지하기 위해 조건이 없는 FTS 문장은 SQL튜닝의 1차적 검토대상 4) ORACLE의 경우 필수적으로 SELECT 절과 FROM 절로 이뤄지게 구성 5) SQL ..
SQLD 2과목 1-4장. TCL [ 목차 ] 1. 트랜잭션 정의와 특징 2. 트랙잭션의 용어 3. 트랜잭션의 특성 4. 잠금 5. COMMIT 사용 이전 6. COMMIT 사용 7. ROLLBACK 사용 8. COMMIT과 ROLLBACK의 이점 9. SAVEPOINT 10. 추가 내용 1. 트랜잭션 정의와 특징 1) 데이터베이스의 논리적 연산단위 2) 밀접히 관련되어 분리될 수 업슨 한 개 이상의 데이터베이스 조작을 의미 3) 논리적인 작업 단위를 구성하는 세부적인 연산들의 집합 4) 하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함 5) 트랜잭션은 분리할 수 없는 최소의 단위로, 전부 적용하거나 전부 취소하는 ALL OR NOTHING의 개념 6) 대상이 되는 SQL문은 UPDATE, INSERT, DELETE 등 데이터를 수정하..
SQLD 2과목 1-3장. DML [ 목차 ] 1. INSERT 2. UPDATE 3. DELETE 4. SELECT 5. 산술연산자 6. 합성연산자 7. DDL과 DML의 차이 1. INSERT 1) 테이블에 데이터를 입력하는 명령으로 두 가지 유형이 있으며 한 번에 한 건만 입력 2) INSERT INTO 테이블명(칼럼 목록) VALUES(칼럼 목록에 넣을 데이터 목록); 3) INSERT INTO 테이블명VALUES(전체 칼럼에 넣을 데이터목록); 4) 칼럼명과 일벼해야 하는 값을 서로 1:1 매핑해서 입력 5) 칼럼의 데이터유형이 문자형일 경우 ' '로 입력할 값을 입력하고 숫자일 경우 붙이지 않음 6) 2방법은 테이블의 칼럼을 정의할 수 있으며, 칼럼의 순서는 테이블의 칼럼 순서와 매치할 필요가 없고 정의하지 않 은 칼럼은 DE..
SQLD 2과목 1-2장. DDL [ 목차 ] 1. 데이터 유형과 특징 2. 데이터 유형 종류 3. 두 문자열(CHAR, VARCHAR) 유형의 비교4. 테이블과 칼럼의 정의 4. 테이블과 칼럼의 정의 5. 테이블 생성과 조건 CREATE TABLE 6. 제약조건 7. 제약조건의 종류 8. NULL의 DEFAULT의 의미 9. 생성된 테이블 구조 확인 10. SELECT 문자을 통한 테이블 생성 사례 11. ALTER TABLE 12. RENAME TABLE 13. DROP TABLE 14. TUNCATE TABLE 1. 데이터 유형과 특징 1) 데이터베이스의 테이블에 특정 자료를 입력할 때, 그 자료를 받아들일 공간을 자료의 유형별로 나누는 기준 2) 칼럼을 정의할 때 선언한 데이터 유형은 그 칼럼이 받아들일 수 이쓴 자료의 유형을 규..
SQLD 2과목 1-1장. 관계형 데이터베이스 [ 목차 ] 1. 데이터 베이스 정의 2. 파일 시스템과의 비교, 관계형 데이터베이스의 이점 3. SQL의 정의와 특징 4. SQL 명령어 5. Table 6. 테이블의 정규화 7. ERD 1. 데이터베이스 정의 1) 넓은 의미에서 일상적인 정보들을 모아 놓은 것 자체를 의미 2) 일반적으로 특정 기업, 조직, 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것 3) DBMS : 효율적 데이터 관리를 비롯해 데이터 손상을 피하고 필요한 데이터를 복구하는 소프트웨어 시스템 4) 대부분 객체 지원 기능을 추가한 객체 관게형 데이터베이스를 사용하고 있으며, 이를 조작, 관리하는 SQL이 중요 2. 파일 시스템과의 비교, 관계형 데이터베이스의 이점 1) 파일 시스템 : 분산된 데이터 간의 정합성을 유지하..
SQLD 1과목 2-6장. 분산 데이터베이스의 성능 [ 목차 ] 1. 분산 데이터베이스란? 2. 분산 데이터베이스의 투명성 3. 분산 데이터베이스 적용방법 4. 분산 데이터베이스의 장점 5. 분산 데이터베이스의 단점 6. 데이터베이스 분산구성의 가치 7. 분산 데이터베이스의 적용 기법 8. 분산 데이터베이스의 효과적 적용 1. 분산 데이터베이스란? 1) 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/ 성능 등을 극대화 시킨 데이터베이스 2) 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 3) 논리적으로 동일한 시스템에 속하지만 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임으로, 물리 적 Site 분산, 논리적으로 사용자 통합/..
SQLD 1과목 2-5장. 데이터베이스 구조와 성능 [ 목차 ] 1. 1. 슈퍼/세이브타입 모델 1) = Extended ER모델 2) 업무를 구성하는 데이터의 특징을 공통과 차이점의 특징을 고려하여 효과적으로 표현할 수 있음 3) 공통의 부분을 슈퍼타입으로 모델링하고 공통으로부터 상속받아 다른 엔터티와 차이가 있는 속성에 대해서는 별도의 서브엔터티로 구분하여 업무의 모습을 정확하게 표현하면서 물리적인 데이터 모델로 변환을 할 때 선택의 폭을 넓힐 수 있음 4) 논리적 데이터 모델에서 이용되며, 분석/설계단계를 구분하자면 분석단계에서 많이 사용 5) 물리적인 데이터 모델을 설계하는 단계에서는 슈퍼/서브타입 데이터 모델을 일정한 기준에 의해 변환을 해야 함
SQLD 1과목 2-4장. 대량 데이터에 따른 성능 [ 목차 ] 1. 대량 데이터 발생에 따른 문제 2. 대량 데이터 발생에 따른 문제 해결책 3. 한 테이블에 많은 수의 칼럼을 가지고 있는 경우 4. 대량 데이터 저장 및 처리로 인한 성능 향상법 5. 테이블에 대한 수평/수직 분할의 절차 1. 대량 데이터 발생에 따른 문제 1) 설계가 잘 되어있는 데이터 모델도 많은 데이터가 하나의 테이블, 하나의 하드웨어에 저장되어 있으면 성능 저하 발생 2) 중요한 업무에 해당하는 데이터가 특정 테이블에 있는 경우 일의 처리되는 양이 한군데에 몰리는 현상 발생 3) 한 테이블에 많은 데이터의 존재는 인덱스의 Tree구조가 커져 효율성이 떨어져 데이터를 처리할 때 I/O을 많이 유발 4) 한 테이블에 많은 칼럼의 존재는 데이터가 디스크의 여러 블록에 존재, 디스크에서..
SQLD 1과목 2-3장. 반정규화와 성능 [ 목차 ] 1. 반정규화의 정의 2. 무결성이 깨질 위험을 감수하고 데이터를 중복하여 반정규화 하는 경우 3. 반정규화의 적용방법 4. 반정규화의 기법 1. 반정규화의 정의 1) 성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정 2) 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능향상, 개발, 운영의 단순화를 위해 중복, 통합, 분리 등을 수행 3) 데이터 무결성이 깨질 가능성이 있기 때문에 반드시 데이터 무결성을 보장할 수 있는 방법을 고려한 후에 적용 4) 정규화와 Trade-Off 관계이며 정규화만을 강조하면 성능의 이슈가 발생, 반정규화만을 강조하면 무결정 깨짐 위험 2. 무결성이 깨질 위험을 감수하고 데이터를 중복하여 반정규화 하는 경우 1) 기본..
SQLD 1과목 2-2장. 정규화와 성능 [ 목차 ] 1. 정규화를 통한 성능 향상 전략 2. 함수적 종속성에 근거한 정규화 수행 1. 정규화를 통한 성능 향상 전략 1) 데이터에 대한 중복성을 제거하고 데이터가 관심사별로 처리되는 경우가 많기 때문에 성능이 향상되는 특징을 지님 2) 계속된 엔터티의 발생으로 SQL문장의 조인 다량 발생과 성능저하는 반정규화를 적용하여 해결 3) 조회 성능과 입력/수정/삭제 성능은 데이터 모델 구성 방식에 따라 Trade-Off되는 경우가 많음 4) 정규화를 수행하는 것은 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여 입 력/수정/삭제 이상을 제거하는것 5) 데이터의 중복속성을 제거하고 결정자 의해 동일한 의미의 일반속성이 하나의 테이블로 집약되므로 한 테이블의 데 이터 용..
SQLD 1과목 2-1장. 성능데이터 모델링의 개요 [ 목차 ] 1. 성능 데이터 모델링의 정의 2. 성능 데이터 모델링 수행시점 3. 성능 데이터 모델링 고려사항 1. 성능 데이터 모델링의 정의 1) 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조 인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 2) 데이터 용량이 커질수록, 기업의 의사결정 속도가 빨라질수록 데이터 처리 속도가 빨라져야할 필요성을 반증 3) 데이터 모델 구조, 대용량의 데이터, 인덱스 특성을 고려하지 않은 인덱스 생성으로 성능이 저하 4) 성능은 반복적이고 빈번하며 여러 건을 처리하는 데이터 조회의 성능을 보통 의미 5) 성능 데이터 모델링이 단순히 반정규화만을 의미하지 ..
SQLD 1과목 1-5장. 식별자 [ 목차 ] 1. 식별자란? 2. 식별자의 특징 3. 식별자의 분류 4. 식별자의 표기법 5. 주식별자 도출기준 6. 식별자관계와 비식별자 관계의 결정 7. 식별자 관계 8. 비식별자 관계 9. 식별자 관계로만 설정할 경우의 문제점 10. 비식별자 관계로만 설정할 경우의 문제점 11. 비식별자 관계를 선택하는 방법 12. 식별자와 비식별자 관계 비교 1. 식별자란? 1) 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미 2) 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 함 2. 식별자의 특징 1) 주식별자의 특징 1] 유일성 : 주식별자에 의해 엔터티내에 모든 인스턴스들이 유일하게 구분되어야 함 2] 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만..
SQLD 1과목 1-4장. 관계 [ 목차 ] 1. 관계란 무엇인가? 2. 관계의 패어링 3. 관계의 분류 4. 관계의 표기법 5. 관계 체크사항 6. 관계 읽기 1. 관계란 무엇인가? 1) 엔터티 안의 인스턴스 사이의 논리적인 연관성으로서, 존재의 형태 또는 행위로서 서로에게 연관성이 부여된 상태 2) 엔터티와 엔터티 간 연관성을 표현하기 때문에 엔터티의 정의에 따라 영향을 받으며 속성 정의 및 관계 정의에 따라 서도 다양하게 변함 2. 관계의 패어링 1) 관계란 엔터티 안의 인스턴스가 개별적으로 관계(패어링)를 가지는 것 2) 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있음 3) 관계 패어링 : 엔터티의 인스턴스가 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태..
SQLD 1과목 1-3장. 속성 [ 목차 ] 1. 속성이란? 2. 엔터티, 인스턴스, 속성, 속성값의 관계 3. 속성의 표기법 4. 속성의 특징 5. 속성의 분류 6. 엔터티 구성방식에 따른 분류 7. 도메인 8. 속성의 명명 9. 속성의 명명 규칙 1. 속성이란? 1) 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위 2) 업무상 관리하기 위한 최소의 의미 단위 3) 엔터티를 설명 4) 인스턴스의 구성요소, 즉 인스턴스는 속성의 집합 2. 엔터티, 인스턴스, 속성, 속성값의 관계 1) 엔터티는 두 개 이상의 인스턴스와 고유의 성격을 표현하는 두 개 이상의 속성정보를 보유 2) 업무는 엔터티를 구성하는 특징과 인스턴스들은 어떤 성격의 데이터로 구성되는지 파악하는 작업 필요 3) 하나의 속..
SQLD 1과목 1-2장. 엔터티 [목차] 1. 엔터티란 무엇인가? 2. 엔터티와 인스턴스의 표기법 3. 엔터티의 조건 4. 엔터티의 분류 방법 5. 엔터티의 명명 ​ 1. 엔터티란 무엇인가? 1) = 실체, 객체 2) 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것 3) 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상들 간에 동질성을 지닌 인스턴스들이나 그들이 행하는 행위의 집합으로 정의 가능 4) 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성을 지니고 있으며 이는 인스턴스 전체가 공유하는 공통 속성 과 일부만 해당하는 개별 속성이 존재 ex. 학생 엔터티는 학번, 이름, 이수학점, 등록일자, 생일, 주소 등의 속성을 보유 5) 엔터티는 인스턴스의 집합, 인스턴스는 엔터티의 하나의 값이라 ..
SQLD 1과목 1-1장. 데이터 모델링의 이해 [목차] 1. 모델링이란? 2. 모델링의 특징 3. 모델링의 세 가지 관점 4. 데이터 모델링의 정의 5. 데이터 모델링의 목적 6. 데이터 모델이 제공하는 기능 7. 데이터 모델링의 중요성 8. 데이터 모델링의 유의점 9. 데이터 모델링의 3단계 진행 10. 프로젝트 생명주기에서 데이터 모델링 11. 데이터독립성의 이해 ​12. 데이터베이스의 3단계 구조 ​13. 데이터베이스 독립성 요소 14. 데이터베이스 사상 15. 데이터 모델링의 중요한 세 가지 개념 16. 데이터 모델링의 이해관계자 17. 데이터 모델의 표기법 ERD 18. ERD 작성 작업 순서 19. 좋은 데이터 모델의 요소 1. 모델링이란? 1) 살아가며 나타날 수 있는 다양한 현상은 사람, 사물, 개념 등에 의해 발생하며, 이것을 표기법..