sqld

sqld 필기시험 정리

svdjcuwg4638 2023. 3. 17. 22:35

데이터 모델링의 특징

  • 추상화 : 현실 세계를 간략하게 표현한다
  • 단순화 : 누구나 쉽게 이해할 수 있도록 표현한다
  • 명확성 : 명확하게 의미가 해석되어야 하고 한 가지 의미를 가져야 한다.

 

데이터 모델링 단계

1. 개념적 모델링 : 전사적 관점, 추상화 수준이 가장 높은 수준의 모델링, 업무 측면에서 모델링한다

2. 논리적 모델링 : 재사용성을 높인다

3. 물리적 모델링 : 성능,보안,가용성 등을 고려하여 데이터베이스를 구축

 

데이저 모델링 관점 종류

데이터, 프로세스, 데이터와 프로세스

 

ERD 작성 절차

1. 엔터티를 도출하고 그린다.

2. 엔터티배치

3. 엔터티관계를 설정

4. 관계명을 서술

5. 관계 참여도를 표현

6. 관계필수 여부를 표현

 

3층 스카마의 구조

  • 외부 스카마 : 응용 프로그램이 접근하는 데이터베이스
  • 개념 스카마 : 통합 데이터베이스 구조
  • 내부 스카마 : 물리적 저장 구조

 

엔터티 종류

1)  유형과 무형에 따른 엔터티 종류

1. 유형 엔터티 : 지속적으로 사용되는 엔터티

2. 개념 엔터티 : 유형 엔터티는 물리적 형태가 있지만, 개념 엔터티는 물리적 형태가 없다

3. 사건 엔터티 : 비즈니스 프로세스를 실행하면서 생성되는 엔터티

 

2)  발생 시점에 따른 엔터티 종류

1. 기본 엔터티 : 키 엔터티라고한다, 독립적으로 생성되는 엔터티

2. 중심 엔터티 : 기본과 행위의 중간

3. 행위 엔터티 : 2개이상의 엔터티로부터 발생

 

속성

속성이란 엔터티가 가지는 항목이며 더 이상 분리되지 않는다, 하나의 값만 가진다, 주식별자에 종속되며 기본키가 변경되면 속성값도 변경이된다

속성의 종류

  • 단일 속성 : 하나의 의미 회원id,이름
  • 복합 속성 : 주소 시,군,동
  • 다중값 속성 : 여러 갱의 값을 가질 수 있는 상품 리스트

특성에 따른 속성의 종류

  • 기본 속성 : 본래의 속성
  • 설계 속성 : 데이터 모델링 과정에서 발생되는 속성, 유일한 값을 부여
  • 파생 속성 : 다른 속성에 의해서 만들어지는 속성

 

카테시안 곱

릴레이션에 존재하는 모든 데이터를 조합하여 연산하는 것

 

주식별자(기본키, primary key)

최소성 , 대표성, 유일성, 불변성

 

키의 종류 

1. 기본키 : 후보키 중에서 대표하는 키

2. 후보키 : 유일성과 최소성을 만족하는 키

3. 슈퍼키 : 유일성은 만족하지만 최소성은 만족하지 않는다

4. 대체키 : 후보키중에서 기본키를 선정하고 남은 키

5. 외래키 : 참조 무결성을 확인하기 위해서 사용되는 키

 

정규화 

  • 제 1정규화 : 속성의 원자성 확보, 기본키 설정
  • 제 2정규화 : 기본키가 2개 이상 부분 함수 종석성을 제거
  • 제 3정규화 : 이행 함수 종속성을 제거
  • BCNF : 기본키를 제외 후보키 있는 경우 후보키가 기본키를 종속시키면 분해한다

 

클러스터링

정보를 저장할때 물리적으로 저장하여 조회시에 인접 블록을 연속적으로 읽기 때문에 성능이 향상

 

파티션

  • range partition : 데이터 값의 범위를 기준으로 파티션을 수행
  • list partition : 특정한 값을 지정하여 파티션을 수행한다
  • composite partition : 범위와 해쉬를 복합적으로 사용하여 파티션 수행(2개이상의 파티션사용)

sql 종류✨(중요)

  • DDL : crate, alter, drop, rename, truncate
  • DML : insert, update, delete, select
  • DCL : grant, revoke
  • TCL : commit, rollback, savepoint

트랜잭션의 특성

원자성 : 연산의 전부가 실행되거나 전혀 실행되지 않아야한다

일관성 : 트랜잭션 실행 결과로 데이터베이스의 상태가 모순되지 않아야 한다

고립성 : 트랜잭션 실행 중에 생성하는 연산의 중간결과는 다른 트랜잭션이 접근할 수 없다

영속성 : 실행이 성공적으로 완료하면 그 결과는 영구적 보장이 되어야 한다

 

SQL 실행 순서

파싱(parsing)  >  실행(Execution)  >  인출(Fetch) 

 

view의 장점과 단점

장점

보안기능, 데이터관리 간단, select문이 간단해짐

 

단점

독자적인 인덱스❌ , 연산이 제약, 데이터 구조 변경 ❌

 

NULL 관련 함수🎇(중요)

NVL : nvl(mgr, 0)  =  mgr 칼럼이 null 이면 0으로 바꾼다

NVL2 : nvl2(mgr,1,0) = mgr 칼럼이 null이 아니면 1을 null이면 0을 반환

NULLIF : nullif(exp1, exp2) = exp1과exp2가 같으면 null을 반환 ( 같지않으면 exp1을 반환)

COALESCE : coalesce(exp1, exp2, exp3, ....) = exp1부터 순차적으로 null이 아닌 값을 확인 null이 아니면 그값을 반환

 

select문의 실행 순서🎈(중요)

from - where - group by - having - select - order by

프웨그해샐오

 

UNION  AND UNION ALL

UNION : 두개의 테이블을 하나로 만드는 연산이며 중복을 제거한다

UNION ALL : 두개의 테이블을 하나로 만들며 중복제거를 하지 않는다

 

MINUS, EXCEPT(MS-SQL)

앞의 select문에는 있고 뒤에 쓰는 select문에 없는 집합을 조회하는 것이다

ex ) 앞의 select문에 (10, 20,30, 40) 이 있고 뒤 select문에는 (10, 20, 30) 이 있으면 결과는 40이 나온다

 

RANK 종류와 기능

RANK() : 중복값은 중복등수, 등수 건너뜀(1위, 1위, 3위, 4위)

DENSE_RANK() : 중복값은 중복등수, 등수 안 건너뜀(1위, 1위, 2위, 2위)

ROW_NUMBER() : 중복값이 있어도 고유 등수 부여(1위, 2위, 3위, 4위)

 

ROLE

ROLE은 데이터베이스에서 OBJECT(테이블, 프로시저, 뷰) 등의 권한을 묶어서 관리할 수 있다.