Challenges/정보처리기사

[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/관계형 데이터모델

뚱요 2021. 9. 7. 00:00
반응형

논리적 데이터 모델

1. 계층형 데이터 모델

  • 트리 구조
  • 1:N 관계

2. 망형 데이터 모델/ CODASYL DBTG 모델

  • 논리적 구조 표현을 그래프 형태
  • 오너-멤버 관계

3. 관계형 데이터 모델

- 계층 모델과 망 모델의 복잡한 구조를 단순화

- 2차원적인 표(Table)를 이용해 데이터 상호 관계를 정의하는 DB 구조

- 기본 키(Primary Key)와 이를 참조하는 외래 키(Foreign Key)로 데이터 간의 관계를 표현

- 대표적인 언어: SQL1:1, 1:N, N:M 관계를 자유롭게 표현

 

3.1 )관계형 데이터 모델(Relational Data Model)의 구성

- <고객> T에 있는 ‘번호’와 <예약서>T 있는 ‘예약번호’는 “기본 키

- <예약> T 있는 ‘번호’, ‘예약번호’는 기본 키를 참조하고 있는 “외래 키

- <고객> 테이블과 <예약> 테이블의 관계는 1:N

# 한 명의 고객은 여러 개의 주문을 신청할 수 있음

- <예약서> 테이블과 <예약> 테이블의 관계는 1:1

# 주문서는 주문번호 1개에 대한 정보만을 가짐

3.2) 관계형 데이터베이스의 구조

- 1970년 IBM에 근무하던 코드(E. F. Codd)에 의해 처음 제안됨

관계형 데이터베이스 구성요소

(1) 속성(Attribute), 열(Column), 필드(Field)

-데이터베이스를 구성하는 가장 작은 논리적 단위

-파일 구조상의 데이터 항목 또는 데이터 필드에 해당

-개체의 특성을 기술

- 논리적 원자 값을 가지고, 순서가 중요하지 않으며, 유일한 이름을 가짐

-디그리(Degree)/차수:속성의 수

(2) 튜플(Tuple), 행(Row), 레코드(Record)

- 속성의 모임으로 구성됨

-파일 구조상 레코드(실제 데이터)와 같은 의미

- 서로 상이한 값을 갖고, 순서가 없음

-카디널리티(Cardinality) / 기수 : 튜플의 수

(3) 도메인(Domain) 20년 1, 2, 3회 기출

-하나의 속성(Attribute, 애트리뷰트)이 가질 수 있는 같은 타입 원자(Atomic)값들의 집합

ex) 성별 속성(Attribute)의 도메인은 ‘남’, ‘여’로 그 외의 값은 입력될 수 없음(일반적)

- 도메인에는 동일한 값이 있을 수 있음 ex) ‘학년’ 속성에는 1, 2, 3, 4 값이 중복

(4) 릴레이션(Relation)

행과 열로 이루어진 테이블

 

3.3) 키(Key)

키(key)

DB 튜플들을 서로 구분할 수 있는 기준이 되는 속성(Attribute)

(1) 후보키(Candidate Key)   20년 1, 2회 기출,22년 1회 실기

- 릴레이션에 있는 모든 튜플에 대해 유일성& 최소성을 만족시켜야 함

- 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들, 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재

유일성(Unique): 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 함
최소성(Minimality): 모든 레코드들을 유일하게 식별하는꼭 필요한 속성으로만 구성되어야 함

(2) 기본키(Primary Key)

- 후보키 중에서 특별히 선정된 주키(Main Key)로 유일성과 최소성을 가지며 튜플을 식별하기 위해 반드시 필요한 키

- 중복된 값과 NULL값을 가질 수 없음(개체 무결성)

 

(3) 대체키(Alternate Key)

- 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미

 

(4) 슈퍼키(Super Key)

- 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키

- 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못함

 

(5) 외래키(Foreign Key) __ 20년 1, 2회 기출문제

- 다른 릴레이션의 기본키를 참조하는 속성 / 속성들의 집합

- 참조되는 릴레이션의 기본키와 대응돼 릴레이션 간의 참조 관계를 표현(참조 무결성 제약 조건)

- 기본키값과 동일하거나 NULL(부재 정보 , 공백, 0)값 갖음

 

3.4) 무결성(Integrity)

- 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성을 의미

종류

(1) 개체 무결성(Entity Integrity, 실체 무결성) __ 20년 1, 2, 3회 기출문제

- 테이블의 기본키(PK)를 구성하는 어떤 속성(Attribute)도 널(NULL)값이나 중복 값이 아닌 원자 값을 갖는 성질

(2) 도메인 무결성(Domain Integrity, 영역 무결성)

- 릴레이션 내의 튜플들이 각 속성(Attribute)의 도메인에 지정된 값 만을 가져야 함

(3) 참조 무결성(Referential Integrity)

- 외래키(FK) 값은 NULL or 참조 릴레이션의 기본키(PK)값과 동일해야

- 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다 규정(속성명은 상이할 수 있음)

(4) 사용자 정의 무결성(User-Defined Integrity)

- 속성 값들이 사용자가 정의한 제약 조건에 만족해야 함

 

데이터 무결성 강화

- 애플리케이션: 데이터 생성, 수정, 삭제 시 무결성 조건을 검증하는 코드를 데이터를 조작하는 프로그램 내에 추가

- 데이터베이스 트리거: 트리거 이벤트에 무결성 조건을 실행하는 절차형 SQL을 추가

- 제약 조건: 데이터베이스에 제약 조건을 설정해 무결성을 유지

반응형