일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 데이터분석
- 매수
- 알트리아
- 자격증
- JNJ 주식
- 도미노피자
- 분석
- 스플렁크
- 서울교통공사
- 정보처리기사 필기
- 서교공
- 미국주식
- ADsP
- 빅데이터
- 애브비
- It
- 분석기획
- 정보처리기사 데이터베이스
- 배당주
- 2019년
- 미국 배당주
- ABBV
- DPZ
- at&t
- 존슨앤존슨
- 장기투자
- 미국 주식
- 준전문가
- 전자계산기 구조
- 매도
- Today
- Total
My Log
[정보처리기사 데이터베이스] #3. 관계형 데이터베이스 모델 본문
1. 관계형 데이터베이스
가. 개요
- 개체나 관계를 릴레이션이라는 표로 표현하여 간결하고 보기 편리하며, 다른 데이터베이스로의 변환이 용이하다.
- 성능이 다소 떨어지는 단점이 있다.
나. 릴레이션(Relation)의 구조
1) 튜플(Tuple)
- 릴레이션의 각 행을 말하며, 파일의 레코드와 같은 의미
- 튜플의 수 = 카디널리티, 기수, 대응수
2) 속성(Attribute)
- 데이터베이스를 구성하는 가장 작은 논리적 단위
- 파일구조의 데이터 필드에 해당
- 속성의 수 = 디그리, 차수
3) 도메인(Domain)
- 하나의 속성이 가질 수 있는 원자값들의 집합
- 성별 속성의 도메인은 '남'과 '여'이다.
다. 릴레이션의 특징
- 하나의 릴레이션에 포함된 튜플은 모두 상이하다.
- 튜플 사이에는 순서가 없다.
- 속성들 간의 순서가 없다.
- 속성의 명칭은 유일해야 하며, 속성의 값은 원자값만을 저장한다.
2. 키(Key)
- 키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때
튜플을 서로 구분하는 기준이 되는 속성이다.
가. 후보키(Candidate Key)
- 튜플을 유일하게 식별 가능한 속성들의 부분집합
- 모든 튜플에 대해서 유일성과 최소성을 만족
* 유일성 : 키 값으로 하나의 튜플만을 유일하게 식별할 수 있는 성질
* 최소성 : 튜플을 유일하게 식별할 때, 꼭 필요한 속성만으로 구성
나. 기본키(Primary Key)
- 후보키 중에서 선택한 메인 키
- Null 값을 가질 수 없다.
* Null : 아직 알려지지 않거나 모르는 값
- 기본키로 정의된 속성의 값은 중복되는 값이 존재할 수 없음
다. 대체키(Alternative Key, 보조키)
- 후보키가 둘 이상일 때, 기본키를 제외한 나머지 후보키를 말함
라. 슈퍼키(Super Key)
- 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성을 만족시키지 못하는 키
마. 외래키(Foreign Key)
- 릴레이션 간 관계를 맺고 있을 때, 참조하는 릴레이션의 기본키와 같은 속성을 외래키라고 함
- 릴레이션 간 참조 관계를 표현하는데 중요한 도구로 사용
- 외래키로 지정된 속성은 참조 릴레이션의 기본키와 동일한 도메인을 가진다.
3. 관계대수 및 관계해석
가. 관계대수
- 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어
- 피연산자와 결과값은 릴레이션이다.
1) 순수 관계 연산자
ㄱ. Select(σ) : 원하는 튜플을 구하는 연산
ㄴ. Project(π) : 원하는 속성을 추출하는 연산
ㄷ. Join(⋈) : 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산
(자연조인일 경우 속성을 중복표시하지 않음)
* 자연조인 : 조인되는 속성명과 도메인이 같은 경우, 속성을 한 번만 표기하는 방법
ㄹ. Division(÷)
2) 일반 집합 연산자
- 교차곱을 제외한 나머지 연산자는 속성의 수가 같고, 각 속성의 도메인이 같아야 한다.
ㄱ. 합집합(Union) : 튜플의 합집합, 중복되는 튜플은 제거된다.
카디널리티 : |R∪S| ≤ |R| + |S|
ㄴ. 교집합(Intersection) : 튜플의 교집합
카디널리티 : |R∩S| ≤ MIN { |R|, |S| }
ㄷ. 차집합(Difference) : 두 릴레이션의 차집합
카디널리티 : |R - S| ≤ |R|
ㄹ. 교차곱(Cartesian Product) : 두 릴레이션에 있는 튜플들의 순서쌍을 구하는 연산
카디널리티 : |R x S| = |R| x |S|
나. 관계해석
- 관계 데이터의 연산을 표현하는 비절차적 언어이다.
- 원하는 정보가 무엇이라는 것만 정의한다.
- 튜플 관계해석과 도메인 관계해석이 있다.
- 질의어로 표현한다.
4. 정규화
가. 개요
- 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정을 말한다.
- 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정이다.
- 정규화가 진행될수록 만족시켜야 할 제약 조건이 늘어난다.
- 정규화는 데이터베이스의 논리적 설계단계에서 수행한다.
나. 정규화의 목적
1) 데이터 구조의 안정성
2) 효과적인 검색 알고리즘
3) 속성 간의 중복성을 최소화하여, 이상(Anomaly)의 발생을 방지
* 이상(Anomaly) : 데이터들이 불필요하게 중복되어, 릴레이션 조작 시 예기치 못한 현상이 발생하는 것
여러 종류의 사실들이 하나의 릴레이션에 모두 표현되어 발생
4) 데이터 삽입 시, 릴레이션을 재구성할 필요성을 줄임
다. 이상(Anomaly)의 종류
1) 삽입 이상 : 데이터 삽입 시, 원하지 않는 값들도 함께 삽입되는 현상
2) 삭제 이상 : 데이터 삭제 시, 의도와 상관없는 값들도 함께 삭제되는 현상
3) 갱신 이상 : 속성 값을 갱신할 때, 일부 튜플의 정보만이 갱신되어 정보의 모순이 발생하는 현상
라. 정규화 과정
* 부분적 함수 종속 : 기본키가 여러 개의 속성으로 구성되어 있을 때, 일부 속성만으로 결정되는 값이 있는 경우를 말함
* 이행적 함수 종속 : A→B, B→C 이면, A→C가 성립되는 경우를 말함
* 결정자 : 다른 속성의 값을 결정하는 속성을 결정자라 함
'자격증 기록 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 데이터베이스] #2. 데이터 모델링 및 설계 (0) | 2019.09.13 |
---|---|
[정보처리기사 데이터베이스] #1. 데이터베이스 개념 (0) | 2019.09.12 |