정처기, 20230414

cptkuk91·2023년 4월 14일
1

EIP

목록 보기
10/20

데이터베이스 용어

  • 속성(Attribute): DB를 구성하는 가장 작은 논리적 단위 (열 / Degree)
  • 릴레이션(Relation): 릴레이션 스키마와 릴레이션 인스턴스로 구성된다.
  • 도메인(Domain): Attribute가 취할 수 있는 값
  • 튜플(Tuple): 테이블에서 행에 해당 / Cardinality(기수)

외래키

참조되어 릴레이션의 기본키와 대응되어 릴레이션 간에 참조관계를 표현

참조 무결성

참조할 수 없는 외래키 값은 가질 수 없다.

기본키

  • Unique defines
  • Major Key
  • Null 값을 가질 수 없다. → 개체 무결성

개체 무결성

기본키를 구성하는 어떤 속성값도 Null값이나 중복값을 가질 수 없다.

Null

  • 해당없음
  • 정보의 부재를 나타냄
  • 공백 또는 0은 데이터나 Null이 아니다.

대체키(Alternative Key)

후보키(Candidate Key)가 둘 이상일 때 기본키를 제외한 나머지 후보키

슈퍼키

유일성은 만족하지만, 최소성을 만족시키지 못한 키

학번 + 주민번호는 유일성을 만족한다. 하지만 학번, 주민번호 하나만 써도 유일한다. 따라서 최소성을 만족시키지 못한다.

데이터 무결성

데이터 정확성과 관계가 깊다.

도메인 무결성

정의된 도메인 속한 값이어야 한다.

사용자 정의 무결성

사용자가 정의한 제약조건을 만족해야 한다.

무결성 강화방법

  1. 제약 조건
  2. 애플리케이션
  3. 데이터 베이스 트리거

관계 대수

  • 순수 관계: select, project, join, division
  • 일반 집합 연산자: Union(합집합), Intersection(교집합), Difference(차집합)

Select 연산자

조건에 맞는 튜플 구하는 연산
시그마를 사용하는 관계 대수 연산자

Project 연산자

열을 선택하는데 사용, 중복 발생 시 중복 제거 = 부분집합
파이 사용

차수(Degree)는 더하고, Cardinality는 곱한다.

관계 해석 (관계 대수와 다르다.)

  • 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성
  • 관계해석으로 표현한 식은 관계대수로 표현할 수 있다.
파이(이름)(시그마(학과) = 컴퓨터(학생))
# 컴퓨터과 학생의 이름을 검색하라.
# SELECT 이름 FROM 학생 컴퓨터과

정규화의 목적

  • 중복을 배제하여 이상 발생 방지
  • 속성 간 종속 관계를 분석하여 한개의 릴레이션을 여러개의 릴레이션으로 분해
  • 이상의 종류에는: 삽입 이상, 삭제 이상, 갱신 이상 (관계형 데이터 베이스 릴레이션 조작할 때 발생하는 이상 현상)
  • 데이터 중복으로 곤란한 현상이 발생한다.

반정규화

  • 의도적으로 정규화원칙 위배
  • 시스템 성능 향상과 효율성 증가

반정규화에서 테이블 통합

1:1, 1:N, 슈퍼/서브타입 관계 통합

반정규화에서 테이블 추가해야 하는 경우

  • 정규화로 인해 수행 속도가 느려진 경우
  • 많은 범위의 데이터를 자주 처리해야 하는 경우
  • 특정 범위 데이터를 자추 처리해야 하는 경우
  • 처리 범위를 줄이지 않고는 수행 속도 개선이 어려운 경우

테이블 통합 (반정규화)

  • 데이터 검색은 간편하지만 ROW 수가 증가하여 처리량이 증가

중복 속성 추가

  • JOIN이 자주 발생하는 경우
  • 접근 경로가 복잡한 속성인 경우
  • 엑세스 조건으로 자주 사용되는 경우

중복 속성 추가 시 고려 사항

  • 테이블 중복과 속성의 중복을 고려한다.
  • 일관성 및 무결성에 유의한다.
  • SQL GROUP Function 해결 가능해야 한다.

카탈로그

  • 여러가지(다양한) 객체에 관한 정보를 포함하고 있는 시스템 DB
  • 뷰, 인덱스, 접근 권한

데이터 사전 → Meta Data

  • DB에 포함되는 모든 데이터 객체들에 대한 정의 or 명세
  • 사용자는 시스템 카탈로그를 갱신할 수 없다.
  • 일반 사용자는 SQL을 이용해 내용을 검색해볼 수 없다.

Data Directory

  • 시스템만 접근할 수 있으며, 데이터 접근에 필요한 정보를 관리한다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글