[SQLD 총정리] 1과목 2장 데이터 모델과 SQL
·
🏆 자격증/SQLD
정규화 : 데이터베이스의 이상현상을 막기 위해, 데이터의 중복을 최소화하면서 테이블을 보다 잘 조직된 상태로 분해하는 과정 이상현상(Anomaly)- 삽입이상- 갱신이상- 삭제이상 정규화의 결과- 데이터의 입력, 수정, 삭제 성능 향상- 조인의 횟수가 증가하면 데이터의 조회 성능 하락 가능성 증가(무조건적인 하락 X)- 불필요한 트랜잭션을 줄일 경우 시스템 성능이 향상될 수 있다.  정규화 절차설명제1정규화릴레이션의 속성값이 모두 원자값만으로 구성되어야 한다. - 중복값을 제거한다.- 기본키를 설정한다. 제2정규화기본키가 2개 이상의 속성으로 이루어진 경우 부분 함수종속성을 제거한다.제3정규화기본키를 제외한 칼럼 간의 종속성을 제거한다. 이행 함수종속성을 제거한다.BCNF기본키를 제외하고 후보키가 있는 ..
[SQLD 총정리] 1과목 1장 데이터 모델링의 이해
·
🏆 자격증/SQLD
데이터 모델링 모델링- 구축하고자 하는 정보시스템에 맞게 현실세계의 데이터를 약속된 표기법으로 표현- 업무의 흐름을 가시화, 명세화하며 정보시스템을 구축하기 위한 분석, 설계 과정의 일환- 업무 프로세스와 데이터를 분석하여 추상화 (단순화, 축약, 구성요소) 모델링의 특징- 추상화(Abstraction) : 축약, 단순화- 단순화(Simplification) : 약속된 표기법- 명확화(Clarity) : 혼란이 없어야 한다.  모델링 시 유의사항- 중복(Duplication) 최소화 : 데이터 불일치 발생- 비유연성(Inflexibility) 최소화 : 변화에 잘 적응한다. 데이터 정의와 처리하는 부분이 분리되어 있다. (유연하다)- 비일관성(Inconsistency) 최소화 : 데이터 관계를 명확히 모..
[SQLD 총정리] 2과목 3장 관리 구문
·
🏆 자격증/SQLD
TCL트랜잭션의 특징(ACID) (= 관계형 데이터베이스 특성) * 트랜잭션이란? : 데이터베이스의 작업, 동작의 최소 실행 단위 (더이상 쪼개질 수 없는 작업) 특징설명원자성(Atomicity)하나의 트랜잭션으로 묶인 연산들은 All or Nothing의 개념으로 모두 실행되든지 아니면 전혀 실행되지 않아야 한다.일관성(Consistency)트랜잭션의 결과는 데이터베이스의 정합성을 깨지 않는다는 것으로서 트랜잭션 이전에 데이터베이스에 오류가 없다면 트랜잭션 이후에도 오류가 없다. 고립성(Isolation)트랜잭션은 독립적으로 수행되며 다른 트랜잭션이 실행 중간에 간섭하거나 영향을 미치지 않는다. 영속성(Durability)트랜잭션의 결과는 데이터베이스에 영구적으로 저장되어 유지된다.  1. COMMIT..
[SQLD 총정리] 2과목 2장 SQL 활용
·
🏆 자격증/SQLD
서브쿼리: 쿼리 안의 쿼리 * 서브쿼리 위치에 따른 구분종류서브쿼리가 들어가는 위치스칼라 서브쿼리SELECT문의 칼럼 입력 위치인라인 뷰FROM절의 테이블 입력 위치중첩 서브쿼리WHERE절, HAVING절의 칼럼 똔느 테이블 입력 위치 - VIEW: 가상으로 동적인 테이블을 만든 것 * 메인쿼리의 사용 여부에 따른 구분 (중첩 서브쿼리의 종류임!)- 서브쿼리에서는 메인쿼리를 참조(메인쿼리의 컬럼)할 수 있다. 종류설명연관 서브쿼리메인쿼리의 칼럼을 서브쿼리에서 사용비연관 서브쿼리메인쿼리의 칼럼을 서브쿼리에서 사용하지 않음중첩 서브쿼리: 쿼리 안, 특히 WHERE절과 HAVING절에 다른 쿼리가 중첩되어 들어간 경우를 지칭- 반환하는 값의 형태가 하나가 아니며, 다양한 반환값을 지님반환값 유형설명단일행(Si..
[SQLD 총정리] 2과목 1장 SQL 기본
·
🏆 자격증/SQLD
관계형 데이터베이스 개요관계형 데이터베이스(RDB; Relational Database)- E.F Codd 박사의 정규화 이론에 따라 데이터의 일관성 문제를 근본적으로 해결한 데이터베이스 시스템- 2차원 구조의 행과 열로 구성된 테이블- SQL(Structured Query Language)이라는 공통의 질의언어를 정의해 데이터 조회, 가공, 추출이 가능 릴레이션 = 테이블 = 엔터티 레코드 = 튜플 = 행 필드 = 속성 = 열칼럼 헤더 = 스키마 SELECT문 (조회 쿼리): 데이터를 조회하는 명령어로, WHERE절을 통해 특정 조건의 열만 조회할 수 있다. - 테이블에 대한 별명(Alias) 부여 가능  * FROM 테이블1, 테이블2, 테이블3; -> 자연적인 JOIN이 일어난다. TRIM : 문자..
[과목 2] 1장 SQL 기본
·
🏆 자격증/SQLD
SQL 문장들 종류- 데이터베이스를 정의하고 접근하기 위해서는 데이터베이스 관리 시스템과의 통신수단이 필요하다. -> 데이터 언어(Data Laguage)- 그 기능과 사용 목적에 따라 DDL, DML, DCL로 구분된다. 명령어의 종류명령어설명데이터 정의어(DDL: Data Definition Language)CREATEALTERDROPRENAME- 테이블과 같은 데이터 구조 정의- 구조를 생성, 변경, 삭제, 이름 변경과 관련된 명령어데이터 조작어(DML: Data Manipulation Laguage)SELECT- 데이터베이스에 들어있는 데이터를 조회하거나 검색(=RETRIEVE)INSERTUPDATEDELETE- 데이터베이스 테이블에 들어있는 데이터에 변형을 가하는 종류의 명령어- 테이블에 새로운..
[과목 1] 2장 데이터 모델과 성능
·
🏆 자격증/SQLD
1. 성능 데이터 모델링이란?: 데이터베이스 성능 향상을 목적으로 설계 단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것만약 어떤 트랜잭션이 성능이 저하되면 안 되는 특징을 갖고 있다면,프로젝트 초기에 운영환경에 대비한 테스트 환경을 구현하고 그곳에 트랜잭션을 발생시켜 실제 성능을 테스트해 봐야 한다. 이때, 데이터 모델의 구조도 변경하면서 어떠한 구조가 해당 사이트에 성능상 가장 적절한 구조인지 검토하여 성능이 좋은 모습으로 디자인 하는 전략이 요구된다. 데이터의 증가가 빠를수록 성능 저하에 따른 성능 개선 비용은 증가한다.데이터 모델은 성능을 튜닝하면서 변경이 될 수 있는 특징이 있다. 분석/설계 단계에서 성능을 고려한 데이터 모델링을 수행할 경우 성능 저하..
[과목 1] 1장 데이터 모델링의 이해
·
🏆 자격증/SQLD
1. 모델링의 특징1. 현실세계를 일정한 형식에 맞추어 표현하는 추상화의 의미를 가질 수 있음2. 시스템 구현만을 위해 진행하는 사전단계의 작업으로서 데이터베이스 구축을 위한 사전작업의 의미가 있음-> 시스템 구현을 포함한 업무분석 및 업무형상화를 하는 목적도 있음3. 복잡한 현실을 제한된 언어나 표기법을 통해 이해하기 쉽게 하는 단순화의 의미를 가지고 있음4. 애매모호함을 배제하고 누구나 이해가 가능하도록 정확하게 현상을 기술하는 정확화의 의미를 가짐 발생시점에 따른 엔터티 분류- 기본/키엔터티 (Fundametal Entity, Key Entity)- 중심 엔터티 (Main Entity)- 행위 엔터티 (Active Entity) 2. 데이터 모델링이 필요한 주요 이유1. 업무정보를 구성하는 기초가 ..
[SQLD] 06. 관계형 데이터베이스 개요, SELECT
·
🏆 자격증/SQLD
Overview데이터베이스 소개, 엔터티, 속성관계 (Relationship)식별자, 데이터 모델정규화, 관계와 조인모델이 표현하는 트랜잭션, null, 본질 vs 인조관게형 데이터베이스 개요함수, WHEREGROUP BY, HAVING, ORDER BYJOIN서브쿼리집합 연산자, 그룹 함수, 윈도우 함수TOP-N, 계층 쿼리PIVOT과 UNPIVOT, 정규 표현식DML, TCLDDL, DCL01. 관계형 데이터베이스 개요데이터베이스 관련 용어 정리1. 데이터베이스(DataBase, DB): 데이터를 일정한 형태로 저장해 놓은 것 (ex. 엑셀도 하나의 데이터베이스) 2. 데이터베이스관리시스템(DataBase Management System, DBMS): 기존 데이터베이스 기능에 추가로, 데이터 손상을 ..
[SQLD] 04, 05 정규화, 관계와 조인의 이해, 모델이 표현하는 트랜잭션의 이해
·
🏆 자격증/SQLD
Overview데이터베이스 소개, 엔터티, 속성관계 (Relationship)식별자, 데이터 모델정규화, 관계와 조인모델이 표현하는 트랜잭션, null, 본질 vs 인조관게형 데이터베이스 개요함수, WHEREGROUP BY, HAVING, ORDER BYJOIN서브쿼리집합 연산자, 그룹 함수, 윈도우 함수TOP-N, 계층 쿼리PIVOT과 UNPIVOT, 정규 표현식DML, TCLDDL, DCL01. 정규화정규화란?: 데이터에 대한 중복을 제거하고 데이터가 관심사별로 처리되도록 엔터티를 쪼개 성능을 향상(조회/입력/수정/삭제 등) 시키는 활동* 대체적으로 정규화가 좋은 것이며, 경우에 따라서는 반정규화가 더 이득일 수도 있음 (반정규화: 중복 포함, 엔터티 합침)* 정규화 시 입력/삭제/수정(DML)은 성..