반응형

# 관계형 데이터베이스 주요 용어

테이블

  • 같은 속성을 공유하는 행(Row) 들의 모임.
  • 행고과 컬럼의 2차원 구조를 가진 데이터 저장소.

열(Column)

  • 테이블의 세로 방향.
  • 각각의 열은 유일한 이름을 가지고 있고, 자신만의 데이터 타입을 가진다.
  • 속성(Attribute).

행(Row)

  • 테이블에서 가로 방향.
  • 관계된 데이터의 묶음.
  • 튜플(Tuple) 또는 레코드(Record).

값(Value)

  • 각각의 행과 열에 대응하는 값.

키(Key)

  • 테이블에서 행의 식볋자로 이용되는 열.
  • 기본키(Primary Key).

관계(Relationship)

  • 테이블 간의 관계.
  • 일대일, 일대다, 다대다.
반응형
반응형

# 데이터베이스 정규화의 성능 고려사항

  • 정규화 시 데이터 처리조건에 따라 성능이 향상 또는 저하 될 수 있다.
  • 정규화로 인해 조인 증가 시 데이터 조회 성능이 저하될 수 있다.
  • 데이터 조회와 입력/수정/삭제의 성능이 Trade-Off 되어 발생하기도 한다.
  • 조회 : 데이터 처리 조건에 따라 성능이 다르게 나타난다, 단일 테이블 조회 시 데이터 중복 제거로 조회 성능이 향상된다, 다수의 테이블을 조인하여 조회 시 I/O 증가와 조인 연산으로 조회 성능이 저하되기도 한다.
  • 입력/수정/삭제 : 데이터 중복 제거 되어 일반적으로 성능이 향상된다.

# 반정규화 성능 고려사항

  • 중복성의 원리(테이블 중복성, 컬럼 중복성, 관계 중복성)를 이용, 데이터 조회 성능을 향상시키는 역할을 한다.
  • 데이터 조회 시 I/O 양이 많아서 성능 저하가 예상되는 경우 반정규화를 수행해 성능을 향상시킨다.
  • 정규화로 인해 엔티티가 증가하고 조인의 개수가 많아지는 경우 반정규화를 고려한다.
반응형

'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글

서브쿼리  (0) 2022.05.09
관계형 데이터베이스 주요 용어  (0) 2022.04.22
주 식별자 도출 기준  (0) 2022.04.20
스칼라 서브쿼리, 인라인 뷰, 뷰  (0) 2022.03.29
DML, TCL  (0) 2022.03.28
반응형

# 주 식별자 도출 기준

  • 해당 업무에서 자주 이용되는 속성을 주 식별자로 지정.
  • 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주 식별자로 지정하지 않는다.
  • 복합으로 주 식별자를 구성 할 경우 너무 많은 속성이 포함되지 않도록 한다.
반응형
반응형

# 스칼라 서브쿼리 (Scalar Subquery)

  • 1 Row, 1 Column 만을 반환하여 컬럼처럼 사용이 가능한 서브 쿼리이다.
  • 주로 SELECT 절에서 사용.
  • 단일행 서브 쿼리이기 때문에 결과를 2건 이상 반환하면 에러가 발생한다.
SELECT A.EMP_NAME
	, A.SALARY
	, ( SELECT AVG(SALARY)
		FROM EMP
		WHERE DEPT_ID = A.DEPT_ID ) AS AVG_SALARY		// 스칼라 서브쿼리.
FROM EMP A;

# 인라인 뷰 (Inline View)

  • FROM 절에서 사용.
  • SQL 문이 실행될 때만 임시로 생성되는 동적인 뷰이기 때문에 Dynamic View 라고도 함.
SELECTB.DEPTNAME
	, A.AVG_SALARY
FROM ( SELECT DEPT_ID
        , AVG(SALARY) AS AVG_SALARY
        FROM EMP
        GROUP BY DEPT_ID 
	) A	// 인라인 뷰
	, DEPT B
WHERE A.DEPT_ID = B.DEPT_ID;

# 뷰 (View)

  • 하나 이상의 테이블에서사용자에게 데이터를 보여주기 위해 재정의한 가상 테이블(Virtual Table)이다.
  • 테이블은 실제 데이터를 갖고 있지만, 뷰는 실제 데이터를 가지지 않는다.

## 뷰의 특징

1. 독립성

  • 테이블 구조가 변경되어도 뷰를 재정의하면 되기 때문에, 애플리케이션을 변경할 필요가 없다.

2. 편리성

  • 복잡한 SQL문을 단순한 형태로 변환 가능.

3. 보안성

  • 민감한 정보를 제외하여 뷰를 정의하면 보안이 강화된다.
반응형

+ Recent posts