DB 기술 지식

데일리·2022년 4월 3일
0

기술 지식

목록 보기
1/6

1. PK, FK, ER 모델이란?

  • PK: 테이블에서 유일하게 각 Row를 구분하는 속성
  • FK: 다른 테이블의 PK의 값을 참조하여 테이블에 표현하는 컬럼
  • ER
    • 요구사항으로부터 얻어낸 정보들을 개체, 속성, 관계성으로 기술하는 데이터 모델
    • 개체(Entity): 개체란 단독으로 존재하는 객체를 의미하며 동일한 객체는 존재하지 않는다.
    • 속성: 개체가 갖는 속성을 의미한다.
    • 관계: 엔티티 타입 간의 관계를 의미

2. 참조 무결성이란?

  • 기본키와 참조키 간의 관계가 항상 유지됨을 보장한다.
  • 참조되는 테이블의 행을 이를 참조하는 참조키가 존재하는 한 삭제될 수 없고 기본키도 변경할 수 없다.

3. RDBMS

  • 모든 데이터를 2차원 테이블로 표현
  • 테이블은 ROW과 컬럼으로 이루어진 기본 데이터 저장 단위
  • 상호관련성을 가진 테이블의 집합

4. Commit & Rollback

  • commit: 쿼리문을 수행하고 크 쿼리문 수행결과에 대해서 확정을 짓는 것
  • rollback: 사용자가 쿼리문을 실수로 수행했을 때 데이터를 원복시키기 위해 사용하는 것

5. DB 정규화란?

  • 데이터의 일관성, 데이터 중복을 최소화하기 위해 하나의 테이블을 둘 이상 분리하는 작업

6. DB 정규화 목적?

  • 자료 저장에 필요한 저장 공간을 최소화하고 자료의 삽입, 갱신 및 삭제에 따른 이상현상을 제거하고(데이터 무결성 유지), 자료 구조의 안정성 최대화를 위해서 이다.

7. 정규화

  • 1 정규화: 원자값이 아닌 도메인을 분해
  • 2 정규화: 부분 함수 종속성을 제거
  • 3 정규화: 이행 함수 종속 제거
  • BCNF: 결정자가 후보키가 아닌 함수 종속 제거

8. SQL

  • DDL: CREATE, DROP
  • DML: UPDATE, SELECT, DELETE
  • DCL: GRANT, REVOKE
  • TCL: COMMIT, ROLLBACK

9. 데이터베이스 이상

  • 삽입 이상: 원하지 않은 자료가 삽입
  • 삭제 이상: 하나의 자료만 삭제하고 싶지만, 그 자료가 포함된 튜플 전체가 삭제됨으로 원하지 않은 정보가 손실
  • 갱신 이상: 일부만 변경하여 데이터가 불일치 하는 모순

10. 인덱스

  • 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상 시키기 위한 자료 구조
  • 사용하면 좋은 경우
    • 규모가 작지 않은 테이블
    • INSERT, UPDATE, DELETE가 자주 발생하지 않는 컬럼
    • JOIN이나 WHERE 또는 ORDER BY에 자주 사용되는 컬럼
    • 데이터의 중복도가 낮은 컬럼

11. 트랜젝션

  • 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위
  • 특성
    • 원자성: 트랜잭션이 데이터베이스에 모두 반영되거나, 전혀 반영되면 안된다.
    • 일관성: 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야한다.
    • 독립성: 어떤 하나의 트랜잭션이라도, 다른 트랜잭션의 연산에 끼어들 수 없다는 점
    • 지속성: 트랜잭션이 성공적으로 완료되었을 경우 경과는 영구적으로 반영되어야 한다.

12. 뷰

  • 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상 테이블
  • 뷰는 저장장치내에는 물리적으로 존재 X
  • 장점
    • 논리적 데이터 독립성을 제공
    • 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를 지원한다,
    • 사용자의 데이터 관리를 간단하게 해준다.
    • 접근 제어를 통한 자동 보안이 제공된다.
  • 단점
    • 독립적인 인덱스를 가질 수 없다.
    • ALTER를 사용할 수 없다.
    • 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신, 연산에 제약이 따른다.

13. 데이터 베이스 스키마

  • 데이터 베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것
  • 개념 스키마: 데이터베이스의 전체적인 논리적 구조
  • 내부 스키마: 물리적인 저장장치에 입장에서 DB가 저장되는 방법을 기술
  • 외부 스키마: 사용자의 입장에서 필요한 데이터베이스 정의

14. 프로시저, 트리거, 사용자 정의 함수

  • 프로시저: 처리 결과를 반환하지 않거나 한 개 이상의 값을 반환
  • 트리거: 데이터 베이스 시스템에서 이벤트가 발생할 때 마다 자동적으로 수행되는 절차형 SQL
  • 프로시저와 유사하고 RETURN을 사용하여 처리 결과를 단일 값으로 반환
profile
하루에 한편 씩 읽기 좋은 테크 로그

0개의 댓글