• 데이터베이스
    • 정의 : 공동으로 사용될 데이터를 중복을 배제하여 통합하고 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영데이터
      • 통합된 데이터
      • 저장된 데이터
      • 운영 데이터
      • 공용 데이터
    • DBMS : 데이터베이스를 관리해주는 소프트웨어
      • 필수 기능 : 정의, 조작, 제어
    • 스키마 : 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것
      • 종류
        • 외부 스키마 : 각 개인의 입장에서 필요로하는 데이터 베이스의 논리적 구조
        • 개념 스키마 : 데이터베이스의 전체적인 논리적 구조
        • 내부 스키마 : 물리적 저장장치의 입장에서 본 데이터베이스 구조
    • 데이터베이스 설계
      • 순서
        • 요구 조건 분석
        • 개념적 설계 : 현실세계에 대한 인식을 추상적 개념으로 표현하는 과정
        • 논리적 설계 : 특정 DBMS가 지원하는 논리적 자료 구조로 현실 자료를 변환시키는 과정
        • 물리적 설계 : 논리적 구조로 표현된 데이터를 물리적 구조의 데이터로 변환시키는 과정
        • 구현
  • 데이터 모델
    • 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 체계적으로 표현한 개념적 모형
    • 표시할 요소
      • 구조, 연산, 제약조건
    • 구성 요소
      • 개체 : 데이터 베이스에 표현하려는 것
      • 속성 : 데이터베이스를 구성하는 가장 작은 논리적 단위
      • 관계 : 개체와 개체 사이의 논리적인 연결
      • E-R 모델
        • E-R 다이어그램
          • 사각형 : 개체 타입
          • 마름모 : 관계 타입
          • 타원 : 속성
          • 이중 타원 : 다중값 속성
          • 밑줄 타원 : 기본키 속성
          • 복수 타원 : 복합 속성
          • 선, 링크 : 개체 타입과 속성을 연결
  • 관계형 데이터베이스
    • 2차원적인 표를 이용해서 데이터 상호 관계를 정의하는 데이터베이스
    • 릴레이션 : 데이터들을 표의 형태로 표현한 것
      • 튜플 : 릴레이션 구성하는 각각의 행, 튜플 수 는 카디널리티
      • 속성 : 데이터 베이스를 구성하는 가장 작은 논리적 단위, 속성 수는 디그리
      • 도메인 : 하나의 속성이 취할 수 있는 같은 타입의 원자의 집합
    • 제약 조건
      • 키 : 탐색 혹은 정렬할 때 기준이 되는 속성
        • 후보키 : 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합
          • 유일성, 최소성 만족
        • 기본키 : 후보키 중에서 특별히 선정된 주키
        • 대체키 : 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키
        • 슈퍼키 : 속성들의 집합으로 구성된 키, 최소성 만족 X
        • 외래키 : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
      • 무결성 : 데이터베이스에 저장된 데이터 값과 현실세계의 실제값이 일치하는 정확성
        • 종류
          • 개체 무결성 : 기본키를 구성하는 어떤 속성도 Null이나 중복값을 가질 수 없다
          • 참조 무결성 : 외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일
          • 도메인 무결성 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다
          • 사용자 정의 무결성 : 속성값들이 정의된 제약조건에 만족
          • NULL 무결성 : 릴레이션의 특정 속성 값이 NULL이 될 수 없도록 하는 규정
          • 고유 무결성 : 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성값들이 서로 달라야 한다
          • 키 무결성 : 하나의 릴레이션에는 적어도 하나의 키가 존재
          • 관계 무결성 : 릴레이션에 어느 한 튜플의 삽입 가능여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부를 지정한 규정
    • 관계대수 & 관계해석
      • 관계대수 : 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적 언어
        • 순수 관계 연산자
          • Select (시그마): 선택 조건을 만족하는 튜플의 부분집합을 구해 새로운 릴레이션을 만듦
          • Project (파이): 릴레이션에서 속성값만을 추출하여 새로운 릴레이션을 만드는 연산
          • Join (세모두개): 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만듦
          • Division (나누기) : 교집합이 있는 두 릴레이션 에서 한 릴레이션에서 겹치는 속성을 제외한 속성만을 구하는 연산
        • 일반 집합 연산자
          • 합집합 : 튜플의 합집합
          • 교집합 : 튜플의 교집합
          • 차집합 : 튜플의 차집합
          • 교차곱 : 두 릴레이션에 있는 튜플들의 순서쌍을 구하는 연산
      • 관계해석 : 관계데이터의 연산을 표현하는 방법
  • 이상 / 함수적 종속
    • 이상 : 데이터의 중복이 발생하고 중복 때문에 테이블 조작 시 문제가 발생하는 현상
      • 삽입이상
      • 삭제이상
      • 갱신이상
    • 함수적 종속
  • 정규화
    • 테이블의 속성들이 상호종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정
    • 정규화 과정
      • 제1정규형 : 테이블의 모든 속성 값이 원자값으로만 되어있는 정규형
      • 제2정규형 : 기본키가 아닌 모든 속성이 기본키에 대하여 완전함수적 종속을 만족하는 정규형
      • 제3정규형 : 기본키가 아닌 모든 속성이 기본키에 대해 이행적 함수적 종속을 만족하지 않는 정규형
      • BCNF : 모든 결정자가 후보키인 정규형
      • 제4정규형 : 다중값 종속이 존재할 경우 R의 모든 속성이 A에 함수적 종속관계를 만족하는 정규형
      • 제5정규형 : 조인 종속이 R의 후보키를 통해서만 성립되는 정규형
      • 도메인이 원자값 → 부분적 함수 종속 제거 → 이행적 함수 종속 제거 → 결정자이면서 후보키가 아닌 것 제거 → 다치 종속 제거 → 조인 종속성 이용
  • 반정규화
  • 트랜잭션 분석/CRUD 분석
  • 인덱스 : 데이터 레코드를 빠르게 접근하기 위해 <키값, 포인터>쌍으로 구성되는 데이터구조
  • 뷰 : 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상 테이블
  • 클러스터 : 동일한 성격의 데이터를 동일한 데이터블록에 저장하는 물리적 저장 방법
  • 파티션 : 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것
  • 분산 데이터베이스 설계
  • 데이터베이스 보안
  • 스토리지 : 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술
  • 자료 구조
  • 정렬