본문 바로가기

Study

(40)
[SQLD] SQLD 정리 (1) 뷰1. 기본 테이블이 삭제되면 그 테이블 참조해 만든 뷰 역시 삭제2. 뷰 참조해 또 다른 뷰 생성 가능3. 원본 테이블 노출되지 않으므로 데이터 안전하게 보호 가능4. 가상의 테이블이므로 물리적으로 구현되지 않아 저장공간 차지 X속성1. 파생속성은 가급적 적게 정의하는 것이 좋음2. 파생속성은 다른 속성에 영향 받아 발생하는 속성3. 설계속성은 업무상 필요한 데이터 외 업무를 규칙화하기 위해 기본 속성 변형하는 속성데이터베이스 트랜잭션1. 원자성 (atomicity) : 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행 or 전혀 실행되지 않은 상태로 남아야 함2. 일관성 (consistency) : 트랜잭션의 작업 처리 결과는 항상 일관성 있어야 함43. 고립성, 독립성 (isolation) : 트랜..
[SQLD] SQLD 2과목 SQL기본 및 활용 (2) GROUP BY절- 각 행을 특정 조건에 따라 그룹으로 분리해 계산하도록 하는 구문식- 그룹에 대한 조건은 WHERE절에서 사용 X- GROUP BY절 사용하면 데이터 요약되므로 요약되기 전 데이터와 함께 출력 X HAVING절- 그룹 함수 결과를 조건으로 사용할 때 사용하는 절- 내부적 연산 순서가 SELECT절보다 먼저이므로 SELECT절에서 선언된 Alias 사용 불가 ORDER BY절- 출력되는 행의 순서 사용자가 변경하고자 할 때 ORDER BY절 사용- ORDER BY 뒤에 명시된 컬럼 순서대로 정렬 -> 1차 정렬, 2차 정렬 전달 가능- 정렬 순서는 오름차순 (ASC), 내림차순 (DESC)으로 전달 (생략 시 오름차순 정렬)- 유일하게 SELECT절에 정의한 컬럼 별칭 사용 가능- S..
[SQLD] SQLD 2과목 SQL 기본 및 활용(1) 데이터베이스(Database)와 DBMS (Database Management System)- 데이터베이스 : 데이터의 집합- DBMS : 데이터를 효과적으로 관리하기 위한 시스템 (ORACLE, MYSQL 등) 관계형 데이터베이스 구성 요소- 계정 : 데이터 접근 제한 위한 여러 업무별/시스템별 계정 존재- 테이블 : DBMS의 DB 안에서 데이터가 저장되는 형식- 스키마 : 테이블이 어떠한 구성으로 되어있는지, 어떤 정보 가지고 있는지에 대한 기본적인 구조 테이블- 행(로우), 열(컬럼) 갖는 2차원 구조로 구성- 데이터 입력해 저장하는 최소 단위- 컬럼은 속성이라고도 부름 특징- 하나의 테이블은 반드시 하나의 유저 (계정) 소유여야 함- 테이블간 관계는 일대일 (1:1), 일대다 (1:N), 다대다..
[SQLD] SQLD 1과목 데이터 모델링의 이해 (2) 정규화 (DB Normalization)- 최소한의 데이터만을 하나의 엔터티에 넣는식으로 데이터를 분해하는 과정- 데이터 중복 제거하고 데이터 모델 독립성 확보- 이상현상 줄이기 위한 데이터 베이스 설계 기법- 논리 데이터 모델링 수행 시점에서 고려 이상현상 (Abnormality): 정규화를 하지 않아 발생하는 현상 (삽입이상, 갱신이상, 삭제이상)정규화 단계1. 제 1 정규화 (1NF): 테이블 컬럼이 원자성 (한 속성이 하나의 값을 갖는 특성) 갖도록 테이블 분해하는 단계ex) 구매 테이블의 제 1 정규화 2. 제 2 정규화 (2NF)- 제 1 정규화 진행한 테이블에 대해 완전 함수 종속 만들도록 테이블 분해- 완전 함수 종속 : 기본키 구성하는 모든 컬럼의 값이 다른 컬럼 결정짓는 상태- PK ..
[SQLD] SQLD 1과목 데이터 모델링의 이해 (1) 모델링현실 세계의 비지니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는 과정 모델링 특징1. 단순화 (Simplification): 불필요한 세부 사항 제거 2. 추상화 (Abstraction): 간략하게 표현 3. 명확화 (Clarity): 정확하게 현상 기술데이터 모델링 3가지 관점1. 데이터 관점데이터가 어떻게 저장되고, 접근되고, 관리되는지 정의하는 단계 2. 프로세스 관점-데이터가 시스템 내에서 어떻게 흐르고 변환되는지 확인 3. 데이터와 프로세스 관점 어떤 데이터 사용하는지, 데이터가 어떻게 생성되고 변경되는지 명확하게 정의데이터 모델링 유의점1. 중복 (Duplication): 같은 정보 저장하지 않도록 설계 2. 비유연성 (Inflexibility): 잦은 모델 변경 ..
[SQLD] 핵심요약 (3) 엔터티- 관리해야 할 대상이 엔터티가 될 수 있음- 인스턴스 2개 이상- 업무에서 사용애햐 함 (프로세스)- 관계를 하나 이상 가져야 함 - 유형 엔터티- 개념 엔터티- 사건 엔터티 - 기본 엔터티- 중심 엔터티- 행위 엔터티속성- 기본 속성- 설계 속성- 파생 속성도메인- 데이터 유형- 크기- 제약조건 : Check, primary key, Foreign key, not null, unique...식별자- 유일성 : 유일하게 인스턴스 구분- 최소성 : 최소 컬럼으로 해야 함- 불변성 : 값 바뀌지 않아야 함- 존재성 : not null- 위 4개 만족하면 후보키 될 수 있으며, 그 중 하나 대표하는 것이 기본키 식별자 & 비식별자식별자- 강한관계- PK 많아짐 (조인시)- SQL 복잡해짐 비식별자- 약..
[SQLD] 핵심요약 (2) 조건문Decode- select decode(col1,'A',1,'B',2,3) from dual; (col이 A면 1, B면 2, 아니면 3) case- case when col = 'A' then 1 when col = 'B' then 2 else 3 end;- case col when 'A' then 1 when 'B' then 2 else 3 end;집계함수- Count, min sum, max 등- null은 포함되지 않음 - (1, null, 2, 3, null) 의 데이터를 기준으로 결과는 다음과 같음- Count() : 3- Sum() : 6- Avg() : 2- Min() : 1- Max() : ..
[SQLD] 핵심요약 (1) SQL 연산순서- From- Where- Group by- Having- Select- Order byDML- Select, Insert, Update, Delete DDL- Alter, Create, Modify, Drop TCL- Rollback, Commit DCL- Grant, RevokeDISTINCT: 컬럼값들의 중복 제거 한 결과 출력- Select distinct col from table;- Select distinct col1, col2 from table; (col1과 col2의 값이 모두 같지 않은 것만 출력)Alias- Select 절에서 사용가능, where 절에서는 사용 불가- Select col as name from table; = select col name from ta..