본문 바로가기
✨ DBMS/etc

[DB] 데이터베이스의 특징, 키(Key), 이상 현상, 함수 종속

by 환풍 2023. 8. 2.
728x90
반응형

 

데이터베이스란?

어느 한 조직에서 업무 처리를 위해 다수의 응용시스템 혹은 다수의 사용자들이
공용으로 사용하기 위한 통합 저장된 운영 데이터의 집합이다.

 

통합 데이터 - 하나의 주제에 따라 중복을 최소화한 데이터 집합
저장 데이터 - 사용자나 응용 시스템이 필요 시 언제든지 이용할 수 있도록 저장된 데이터 집합
공용 데이터 - 여러 사용자와 다수의 응용 시스템이 공유할 수 있도록 만든 데이터 집합
운영 데이터 - 중복을 최소화하고 여러 사람이 공유함에 있어 문제가 발생하지 않도록 관리를 필요로하는 데이터

 

특징

  • 계속적인 변화
  • 동시공유
  • 실시간 접근
  • 내용에 의한 참조

 

구성요소

  1.  개체 (Entity) - 실세계에 존재하는 유형 혹은 무형 정보의 대상이며 서로 구별되는 하나하나의 대상.
  2.  속성 (Attribute) - 개체의 특성이나 혹은 상태를 기술하는 것.
  3.  관계 (Relation) - 두 개 이상의 개체 사이 또는 속성 간이 상호 연관성.

 

논리적 구조

 - 사용자 관점에서 본 구조, 사용자가 이해하고 생각하는 것을 나타내는 형태

물리적 구조

 - 저장 장치관점에서 본 구조, 기계 처리에 맞는 형태

 

스키마(Schema)

 데이터베이스의 전체적인 구조와 제약조건에 대한 명세를 기술, 정의한 것

내부 스키마 - 물리적 저장 장치 관점(기계 관점)에서 본 데이터베이스 물리적 구조

개념 스키마 - 논리적 관점(사용자 관점)에서 본 전체적인 데이터 구조

외부 스키마 - 데이터 중 사용자가 사용하는 한 부분에서 논리적인 구조 == (서브 스키마)

 

관계 데이터 모델

용어 설명
릴레이션 자료 저장 형태가 2차원 구조의 테이블로 표현
속성 릴레이션을 구성하는 각 열
튜플 릴레이션의 한 행을 구성하는 속성들의 집합
도메인 하나의 속성이 가질 수 있는 값들의 범위
릴레이션 스키마 릴레이션의 이름과 속성 이름의 집합
릴레이션 인스턴스 릴레이션에서 어느 시점까지 입력된 튜플들의 집합
차수 릴레이션을 구성하는 속성의 수
카디널리티 릴레이션에 입력된 튜플의 수

 

키(key)란?

데이터베이스에서 튜플을 식별하기 위해 사용하는 속성이나 속성의 집합으로,
데이터베이스 참조 또는 검색시 사용한다.

기본 키 (Primary key)

 - 후보 키 중에서 튜플을 식별하기 위해 특별히 선택된 키.

 - 유일성과 최소성 만족해야한다.

 - 중복 불가하며 NULL값이 올 수 없다.

 

후보 키 (Candidate key)

 - 릴레이션에서 각 튜플을 유일하게 식별할 수 있는 속성이나 속성의 집합

 - 유일성과 최소성 모두 만족해야한다.

 

대체 키 (Alternate Key)

 - 후보 키 중에서 기본 키를 제외한 속성.

 -  ex) 학생테이블에서 학번을 기본 키로 했다면, 대체 키는 주민 번호이다. 

        만약 주민 번호를 기본 키로 했다면, 대체키는 학번이다.

 

외래 키 (Foreign Key)

 - 하나의 테이블에서 원하는 자료를 얻지 못하는 경우 다른 테이블을 참조하기 위해 사용되는 속성

 - 참조 릴레이션의 기본 키와 같아야한다.

 

슈퍼 키 (Super Key)

 - 한 릴레이션 내의 튜플들을 식별할 수 있는 후보 키와 다른 속성들과의 모든 조합.

 - 유일성 만족

 - 최소성 만족하지 않음

 


 

무결성 (Intergrity) 제약조건

 

개체 무결성

 - 기본키는 NULL 값이 올 수 없고, 중복될 수 없음을 나타내는 제약조건

 

참조 무결성

 - 외래키는 NULL 값이 올 수 있고, 참조 릴레이션의 기본키와 같아야 하는데 제약조건으로 테이블 참조시 오류가 없도록 하기 위한 제약조건

 

도메인 무결성

 - 릴레이션에서 속성 값의 범위가 정의된 경우 그 속성 값은 정해진 범위 이내의 값으로 구성해야 하는 제약조건이며,

    동일한 속성에 대해 데이터 타입과 데이터 길이가 동일해야함.

 

고유(Unique) 무결성

 - 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 그 속성값은 모두 달라야 하는 제약조건.

 

키 무결성

 - 한 릴레이션에는 최소한 하나의 키가 존재해야 하는 제약조건


이상현상 (Anomaly)

데이터베이스의 논리적 설계 시 하나의 릴레이션에 많은 속성들이 존재하여,
데이터의 중복과 종속으로 인해 발생되는 문제점.  ( 삽입 이상, 삭제 이상, 갱신 이상)

 

삽입 이상

 : 삽입 과정에서 원하지 않는 자료가 삽입되거나 삽입 자료가 부족해 삽입되지 않아 발생하는 문제

 

삭제 이상

 : 하나의 자료를 삭제하고자 할 경우 그 자료가 포함된 튜플이 삭제됨으로 인해 원하지 않는 자료까지 함께 삭제가 이루어져 발생하는 문제

 

갱신 이상

 : 자료를 갱신하는 과정에서 정확하지 않거나 일부 튜플만 갱신됨으로 인해 정보가 모호해 지거나 일관성이 없어져 정확한 정보 파악이 안되는 현상

 

 

함수 종속

이상과 함께 고려해야할 것 중 하나가 종속이다.
종속이란 어떤 릴레이션에서 속성 a,b가 있을 때, a의 값이 b의 값을 함수적으로 결정한다면,
a의 값을 알면 b의 값을 알 수 있거나 a의 값에 따라 b의 값이 달라진다면 b는 a에 함수적 종속 되었다고한다.
( a -> b)


b가 a에 종속되어 a값을 알면 b값을 알 수 있을 때 a를 '결정자'라고 하고 b를 '종속자'라고 한다.
종속은 완전함수종속, 부분함수종속, 이행적 함수 종속 등이 있다.

 

완전 함수 종속

 : 릴레이션에서 한 속성이 오직 기본 키에만 종속 되는 경우.

 

부분 함수 종속

 : 릴레이션에서 한 속성이 기본 키가 아닌 다른 속성에 종속 되거나

   또는 기본 키가 2개이상 합성키로 구성된 경우 이 중 일부 속성에 종속 되는 경우.

 

이행함수 종속

 : 이행적 함수 종속은 릴레이션에서 a,b,c 세 가지 속성 간의 종속이 a->b, b->c 일 때, a->c가 성립되는 경우.

   (즉, a를 알면 b를 알고, b를 알면 c를 알 수 있을때, a를 알면 c를 알수 있음)

  • [제품번호 -> 제품명] [제품명 -> 단가][제품번호 -> 단가]
728x90
반응형

댓글