[SQLD] DML, TCL, DDL, DCL
·
SQL/SQLD 자격증
SQLD 2과목 Part 3에 대한 내용입니다. 교재 및 강의(14~15)를 참고하여 정리한 내용입니다.1. DML(Data Manipulation Language)테이블 안의 데이터를 추가/수정/삭제/조회하는 구문이전 글 내용도 참고 가능1.1. INSERT INTO ... VALUES테이블에 데이터(행 단위)를 입력(추가)하는 구문입력하지 않은 컬럼은 자동으로 default 값이 들어감 (DDL에서 정의. NULLABLE한 컬럼 한정.)데이터 파일에 아직 저장된 건 아님!! 최종 저장하려면 TCL문의 COMMIT을 실행해야 함!!-- 1️⃣기본 문법 (꼭 모든 컬럼 다 추가할 필요 없음)INSERT INTO 테이블명 (컬럼 리스트) VALUES (값 리스트)-- 예시INSERT INTO ..
[SQLD] 계층형 쿼리, PIVOT, 정규표현식
·
SQL/SQLD 자격증
SQLD 2과목 Part 2에 대한 내용입니다. 교재 및 강의(12~13)를 참고하여 정리한 내용입니다.(SQL 쿼리 관련하여 이미 알고 있는 내용은 생략/축소하여 기록되어있습니다)1. 계층형 쿼리상위/하위 N개를 확인할 때 사용하는 쿼리로, 인라인 뷰와 ROWNUM을 함께 활용함1.1. 기본 개념한 테이블 내에 계층 관계가 있는 컬럼이 존재할 때 이를 표현하기 위한 쿼리주로 메뉴 정보나 회사 조직 정보를 조회할 때 사용전개에 쓰는 주요 함수START WITH : 계층을 전개할 시작 위치(=루트)를 지정 (ex. '홈' 메뉴를 시작으로 계층 전개 시작)CONNECT BY : 계층 전개 조건을 입력PRIOR가 붙은 쪽을 현재 행으로 해석하면 됨 (아래 예시 참고)NOCYCLE : 전개하다가, 사이클 생기면..
[SQLD] 서브쿼리, 집합연산자, 그룹함수, 윈도우함수, TopN 쿼리
·
SQL/SQLD 자격증
SQLD 2과목 Part 2에 대한 내용입니다. 교재 및 강의(10~12)를 참고하여 정리한 내용입니다.(SQL 쿼리 관련하여 이미 알고 있는 내용은 생략/축소하여 기록되어있습니다)1. 서브쿼리(Subquery)서브쿼리 : 쿼리 내부에 다른 쿼리를 삽입하여 보다 다양하게 데이터를 출력하는 방법SELECT에 쓰이면 스칼라 서브쿼리(Scala Subquery)FROM에 쓰이면 인라인 뷰(Inline View)WHERE에 쓰이면 중첩 서브쿼리(Nested Subquery)1.1. 스칼라 서브쿼리 (Scala Subquery)스칼라 서브쿼리 : SELECT에 사용하는 서브쿼리로, 반드시 하나의 컬럼과 하나의 행만 반환함.출력되는 값이 없으면 NULL을 반환함실행 원리: 메인쿼리에서 출력되는 튜플(행) 개수만큼 ..
[SQLD] 관계형 DB, SELECT문, 함수, CASE, JOIN
·
SQL/SQLD 자격증
SQLD 2과목 Part 1에 대한 내용입니다. 교재 및 강의(6~9)를 참고하여 정리한 내용입니다.(SQL 쿼리 관련하여 이미 알고 있는 내용은 생략/축소하여 기록되어있습니다)1. 관계형 데이터베이스1.1. 관계형 DB 기본 개념데이터베이스(DB) : 데이터를 일정한 형태로 저장해놓은 것계층형 DB는 트리(tree) 형태로 저장하고, 1:N 관계를 표현함네트워크형 DB는 오너(owner)와 멤버(member) 형태로 저장하고, 1:N과 M:N 모두 표현 가능함관계형 DB는 릴레이션(relation)에 데이터를 저장하고, 집합연산과 관계연산이 가능함데이터베이스 관리 시스템(DBMS) : 기존 DB기능(=저장)에다가, 데이터 손상 방지 및 복구, 접근 권한 관리 등 추가 기능을 지원하는 관리 시스템관계형 ..
[SQLD] 정규화, 다양한 관계, 트랜잭션, NULL
·
SQL/SQLD 자격증
SQLD 1과목 Part 2에 대한 내용입니다. 교재 및 강의(4)를 참고하여 정리한 내용입니다.1. 정규화(Normalization)1.1. 정규화 기본 개념정규화(Normalization) : 데이터 중복을 제거하고 데이터가 관심사별로 처리되도록 엔터티를 쪼개서 성능을 향상시키는 작업데이터 모델의 유연성이 높아져서, 비즈니스에 변화가 생겨도 데이터 변경을 최소화할 수 있음대체로 정규화가 좋은 것이지만, 경우에 따라서 '반정규화'가 더 좋을 수도 있음⭐입력/삭제/수정 성능은 무조건 향상! 조회는 대부분 향상되나 저하될 수도 있음!정규화는 함수적 종속성(Functional Dependency)을 근거로 함어떤 기준값(컬럼)에 의해 데이터(다른 컬럼)가 종속되는 현상정규화는 반드시 순차적으로 진행해야 함 ..
[SQLD] 모델링 과정, 스키마, 식별자
·
SQL/SQLD 자격증
SQLD 1과목 Part1에 대한 내용입니다. 교재 및 강의(3)를 참고하여 정리한 내용입니다. 1. 데이터 모델링 과정1.1. 복습데이터 모델링현실 세계의 대상을 ㅊㅅㅎ, ㄷㅅㅎ, ㅁㅎㅎ하여 데이터베이스로 표현하는 것계획/분석/설계할 때뿐만 아니라 구축/운영할 때도 사용데이터 모델링 3단계 (주요 키워드) 1.2. 개념적 데이터 모델링 과정ERD(Entity Relationship Diagram) : 엔터티들 간의 관계를 나타낸 그림으로, 개념적 모델링의 결과물!ERD 작성 절차1. 필요한 엔터티를 도출하고 그린다 (속성은 제외)2. 엔터티를 적절히 배치한다 (중요한 엔터티를 왼쪽 상단에 배치)3. 관계를 설정한다 (선으로 일단 이어줌)4. '관계명'을 기술한다 (엔터티만 봐도 유추되니까 안 적어놓는 ..
[SQLD] 데이터 모델링, 엔터티, 속성, 관계
·
SQL/SQLD 자격증
SQLD 1과목 Part1에 대한 내용입니다. 교재 및 강의(1~2)를 참고하여 정리한 내용입니다.1. 데이터 모델링1.1. 기본 개념데이터 모델링: 현실 세계의 대상을 추상화, 단순화, 명확화하여 데이터베이스로 표현하는 것추상화: 공통적인 특징을 찾고 간략하게 표현함단순화: 누구나 쉽게 이해할 수 있도록 표현함명확화: 해석이 모호하지 않고 한 가지로 명확히 해석되어야 함계획/분석/설계할 때뿐만 아니라 구축/운영할 때도 사용⚠️설계할 때만 필요하고 구축/운영 시에는 필요 없다 (False) 1.2. 데이터 모델링 단계🏠집 짓는 과정에 비유해본다면...0) 집을 만들고 싶어 ➔ 요구사항 접수1) 단순한 설계도를 일단 그려보자 (방, 창문 개수 등) ➔ 개념적 모델링2) 상세한 설계도를 그려보자 (창문 두..