티스토리 뷰

스키마

외부 스키마

  • 사용자나 프로그래머가 필요로 함.
  • 다른 말로 서브스키마
  • 여러 사용자와 공유 가능
  • 데이터베이스에 여러 개 존재 가능

내부 스키마

  • 데이터베이스의 구조
  • 데이터의 저장 방법을 기술
  • 물리 장치와 밀접함

개념 스키마

  • 한 개의 데이터베이스에 한 개만 존재
  • 보통 스키마라고 하면 얘를 말함.
  • 데이터베이스의 정의

데이터 모델 종류

개념적 데이터모델

  • E-R모델
  • 속성으로 기술 된 개체 타입과 그 관계를 이용해서 현실 세계를 표현한 모델

논리적 데이터모델

  • 필드로 기술 된 데이터 타입과 이를 이용한 현실 세계를 표현한 모델
  • 데이터 관계에 따라서 관계, 계층, 네트워크 모델이라고 나뉘어 불림.

E-R 다이어그램

모양 역할
사각형 개체 타입
다이아몬드 관계 타입
타원 속성 타입
밑줄 타원 기본키 속성
복수 타원 복합적 속성
관계도형 1:1, 1:n, n:n 관계 표현
실선 속성 연결

후보키

  • 기본키가 될 수 있는 조건을 갖춘 키들의 집합
  • 튜플 식별이 가능해야 함
  • 최소성과 유일성

기본키

  • 후보키 중에서 선택 된 유일한 키
  • 튜플을 구분 가능한 키

대체키

  • 기본키를 제외한 나머지 후보키

슈퍼키

  • 유일성

외래키

  • 릴레이션끼리의 참조를 위한 키

이상현상(Anomaly)

정규화를 거치지 않은 데이터들이 릴레이션을 조작할 때 발생시키는 에러

삽입 에러

  • 데이터 삽입 시, 원하지 않는 데이터까지 삽입되는 현상

삭제 에러

  • 데이터 삭제 시, 원하지 않는 데이터까지 같이 삭제 되는 현상

갱신 에러

  • 데이터 갱신 시, 일부 데이터가 갱신이 되지 않아서 데이터 사이에 모순이 발생하는 현상

스택(Stack)

  • 후입선출 (LIFO)
  • 삽입과 삭제가 같은 곳에서 이루어짐

스택의 용도

  • 인터럽트
  • 수식 연산 (후위표기법)
  • 0 주소 지정방식
  • 재귀 순서제어
  • 컴파일러의 번역

큐(Queue)

  • 선입선출 (FIFO)
  • 삽입과 삭제가 서로의 반대 방향에서 이루어짐.
  • 현실세계에서의 줄과 같음

큐의 용도

  • 작업 스케줄링

정렬

힙정렬

  • 시간복잡도 log₂n
  • 복잡하지만 효율적인 정렬
  • 최소 힙에서는 부모 노드보다 자식 노드가 작아야한다.
  • 최대 힙에서는 부모 노드보다 자식 노드가 커야한다.

버블정렬

  • 배열의 처음부터 끝까지 순차적으로 탐색하여 정렬하는 방식
  • n번과 n+1번의 숫자 크기를 비교하여 위치를 변경하면서 배열의 마지막까지 탐색하는게 1회전

삽입정렬

  • n번 데이터를 n+1번부터 n+회전 수까지의 데이터들과 순차적으로 비교하여 정렬하는 기법

선택정렬

  • 배열 상에서 가장 크거나 작은 값을 n+(회전 수-1)번째에 대입하는 방식

해싱

  • 해시테이블이라는 기억공간이 할당 됨.
  • DMA 방식에서 해싱을 주로 이용함.
  • 접근 속도가 빠름
  • 기억 공간이 많이 필요
  • 검색 속도가 빠름
  • 갱신 횟수가 많을 수록 유리함

순차파일

  • 데이터를 물리적으로 연속 된 공간에 저장하는 방식
  • 구현이 쉬움
  • 여러 매체에서 응용 가능
  • 탐색이 오래걸림
  • 검색이 오래걸림
  • 갱신이 오래걸림
LIST