지난 포스팅에선 데이터 모델의 종류와 데이터베이스와 관련된 기타 용어들에 대하여 정리하였다.
이번 포스팅에선 관계형 데이터베이스에 대하여 자세히 정리하겠다.
저번 포스팅에 이어서 오늘 정리하는 데이터베이스 개념들은 개념에 대한 설명이 주어지고 그에 해당하는 단어를 쓸 수 있어야하는 단답형으로 출제되는 문제이기 때문에 개념에 대한 설명이 주어졌을 때 그 개념을 떠올릴 수 있을정도로 공부해야된다는 생각을 하면서 공부하길 바란다.
1. 관계형 데이터베이스와 구성 요소
1.1 관계형 데이터베이스 특징:
● 다른 데이터베이스로의 변환이 용이하다
● 성능이 저하된다
1.2 구성 요소
이해를 돕기위해 하나의 표를 가져오겠다.
● 속성(위의 예시 릴레이션에선 '학번, 이름, 컴퓨터성적, 학과' 가 이에 해당한다):
○ 동의어 : Attribute, Field, Column(열)
○ 데이터베이스를 구성하는 가장 작은 논리적 단위
○ 차수(degree): 속성의 수(위의 예시 릴레이션에선 4개 이다)
○ 도메인(Domain): 하나의 속성이 취할 수 있는 같은 타입의 원자들의 집합
(위의 예시 릴레이션에선 '컴퓨터 성적' 속성에 대한 도메인은 0~100이다)
2. 키
2.1 키(key)란?
- 릴레이션 내에서 각각의 튜플들을 식별하기 위한 식별자
2.2 키의 종류
이해를 돕기 위한 릴레이션 2개를 가져왔다
● 후보키(candidate key)(교수 릴레이션-->교수번호)
(학생 릴레이션-->학번, 주민번호)
○ 튜플을 유일하게 구분할 수 있는 속성들의 부분집합
○ 기본키가 될 수 있는 속성들
○ 유일성과 최소성을 만족시켜야한다
--> 유일성: 하나의 키로 튜플을 고유하게 식별할 수 있는 키의 특징
--> 최소성: 키를 구성하는 속성 하나만 제외시켜도 유일성이 깨지게끔 꼭 필요한
최소한의 속성으로만 구성되도록 하는 키의 특징
● 기본키(primary key):
○ 후보키 중 대표로 지정된 키
○ 특정 튜플을 유일하게 구분할 수 있는 속성)
○ null값과 중복값을 가질 수 없다
● 대체 키(alternate key)(==보조키):
○ 후보키들 중 기본키가 아닌 나머지 후보키
● 슈퍼 키(super key)(학생 릴레이션-->(학번), (주민번호), (학번, 주민번호)...):
○ 튜플을 고유하기 식별할 수 있는 속성들의 집합
○ 유일성은 만족시켜야하나, 최소성은 만족시킬 필요 없음
● 외래 키(foreign key)(학생 릴레이션-->교수번호):
○ 다른 릴레이션을 참조할 시, 참조하는 릴레이션의 속성
3. 무결성 및 기타 용어
3.1 무결성: 데이터베이스에 저장되는 데이터값들이 항상 일관성을 갖도록 제약 조건을 두어
안정적이며 결함없는 데이터들을 보존하도록 하는 데이터베이스의 특징
3.2 무결성 종류:
● 참조 무결성
○ 개체들 간에 관계에 대한 제약 조건
○ 릴레이션들은 서로 참조할 수 없는 외래키값을 가질 수 없다
● 개체 무결성
○ 한 릴레이션의 기본 키를 구성하는 어떠한 속성값도 null이나 중복값을 가질 수 없다
● 도메인 무결성
○ 특정 속성의 값들은 해당 속성의 도메인을 벗어날 수 없다
● 널 무결성
○ 릴레이션 내의 특별히 지정한 속성을 널값을 갖지 못하도록 한다
● 키 무결성
○ 하나의 테이블엔 적어도 하나의 키가 존재헤야한다
● 관계 무결성
○ 릴레이션에 대하여 특정 튜플의 삽입 가능 여부
○ 릴레이션과 다른 릴레이션의 튜플 사이의 관계에 대한 적절성 여부를 다루는 규칙
3.3 기타 용어:
● 정규화
○ 함수의 종속성을 이용하여 데이터들의 중복을 최소화시키고 이에 따라 데이터
저장 공간의 최소화, 데이터 구조의 안정성 극대화, 데이터의 무결성 극대화,
아노말리 현상 최소화를 목적으로 하는 작업
○ 함수의 종속성:
- 한 릴레이션 내에 존재하는 속성 X와 Y에 대하여 X의 특정 튜플 1개당 Y에서 해당하는
튜플이 단1개만 해당할 경우, 즉 특정 속성 X의 특정 튜플 1개로 속성Y의 튜플을
고유하게 식별할 수 있으면 이를 Y는 X에 함수적 종속된다 라고 하고, X-->Y로
표현하며, X를 결정자, Y를 종속자라고 부른다
- 위의 정의를 잘 이해해보면 이는 고등학교때 배운 함수의 성립 조건과 비슷하다는것을
알 수 있다 (정의역 1개당 치역 1개만 해당해야 된다)
○ 아노말리 현상:
데이터 중복등에 의한 이유로 생기는 예기치 못한 오류
● 뷰(view)
○ 특정 테이블의 내용을 사용자에게 보여주기 위해 만든 가상의 테이블
● 시스템 카달로그
○ 앞서도 소개한 개념이다(-->데이터 사전)
○ 메타 데이터를 저장한다.
● 트랜잭션
○ 데이터베이스에서 하나의 논리적 연산을 수행하기 위한 단위
○ 회복(recovery)의 단위 --> 회복: 트랜잭션 실행 도중 예기치 못한 오류로 인해
데이터베이스가 손상되었을 시, 데이터베이스가
손상되기 이전의 정상 상태로 복구하는 작업
회복의 종류
→ 로그: 데이터베이스의 데이터들이 변경될
때 마다 변경되는 정보에 한하여
따로 복구 장치에 복사해두는 방식
→ 덤프: 데이터베이스의 데이터들이 변경될
때 마다 데이터베이스 전체가 복구
장치에 복사되는 방식
○ 트랜잭션의 성질
- 원자성: 트랜잭션 연산은 데이터베이스 전체에 반영되거나 전부 다 반영되지
않아야 하는 성질
- 일관성: 트랜잭션의 연산이 성공적으로 종료 시, 데이터들은 일관적인 형태로
저장되어야 하는 성질
- 격리성: 둘 이상의 트랜잭션 연산이 발생 시, 두 연산은 서로에게 영향을 미치면
안되는 성질
- 영속성: 트랜잭션의 연산이 성공적으로 종료 시, 연산의 결과는 영구적으로
반영되어야 하는 성질
● 인덱스
○ 다량의 데이터들을 보다 더 효율적으로 관리하고, 검색하기 위해 보조기억장치에
저장되는 데이터들의 위치정보
○ 탐색의 수는 줄어드나 데이터 갱신 속도가 저하된다
● ODBC(Open Database Connectivity)
○ 표준 개방형 응용프로그램 인터페이스 규격
○ 데이터베이스가 교체되더라도 응용프로그램은 교체하지 않고 그대로 사용 가능하도록
해준다
● Stored Procedure
○ 클라이언트와 서버 DBMS 사이의 고속화기법으로 DBMS에 저장되어있는 연산이다
○ Stored Procedure을 호출하는 것 만으로도 해당 계산의 처리 결과를 얻을 수 있다
● 내장 SQL
○ 응용프로그램 내에 내포되어있는 SQL문으로 응용프로그램 실행 시, 함께 실행됨
● 색인 순차 접근 방식
○ 다량의 레코드들을 블록 단위로 나누고 한 블록 안에서는 순차적으로, 블록 별로는
시작 레코드의 위치를 기록한 색인 파일을 통해 해당 레코드를 찾는 방식
○ 레코드에 순차적으로 접근하는 방식과 색인(Index)을 통해 선택적으로 접근하는
방식 전부 제공한다
이해를 돕기 위해 그림을 그려서 설명해보았다
이번 포스팅에선 관계형 데이터베이스에 대하여 자세히 정리해보았다.
다음 포스팅에선 관계형 데이터베이스를 다루기 위한 SQL문에 대하여 정리하겠다.
'정보처리 기능사 정리' 카테고리의 다른 글
5. SQL 기본 문법 - DCL (0) | 2022.08.30 |
---|---|
4. SQL 기본 문법 - DDL (0) | 2022.08.23 |
2. 데이터베이스-2 (0) | 2022.08.20 |
1. 데이터 베이스-1 (0) | 2022.08.15 |
정보처리기능사 실기 공부 방법 (0) | 2022.08.15 |