논리적 데이터 모델
1. 계층형 데이터 모델
- 트리 구조
- 1:N 관계
2. 망형 데이터 모델/ CODASYL DBTG 모델
- 논리적 구조 표현을 그래프 형태
- 오너-멤버 관계
3. 관계형 데이터 모델
- 계층 모델과 망 모델의 복잡한 구조를 단순화
- 2차원적인 표(Table)를 이용해 데이터 상호 관계를 정의하는 DB 구조
- 기본 키(Primary Key)와 이를 참조하는 외래 키(Foreign Key)로 데이터 간의 관계를 표현
- 대표적인 언어: SQL, 1: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)
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을 추가
- 제약 조건: 데이터베이스에 제약 조건을 설정해 무결성을 유지
'Challenges > 정보처리기사' 카테고리의 다른 글
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/정규화, 반정규화 (0) | 2021.09.09 |
---|---|
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/관계대수 & 관계해석 (0) | 2021.09.08 |
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/E-R(개체-관계) 모델 (0) | 2021.09.06 |
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/ 데이터 모델 구성 요소 (0) | 2021.09.05 |
[정보처리기사]3.데이터베이스 구축/논리 데이터베이스 설계/ 데이터베이스 (0) | 2021.09.04 |