* DDL / DML / DCL
- DDL(데이터 정의어)
. 스키마, 도메인, 테이블, 뷰, 인덱스를 정의하거나 변경 또는 삭제할 때 사용하는 언어
.. CREATE, ALTER, DROP
- DML(데이터 조작어)
. 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는 데 사용되는 언어
.. SELECT, INSERT, DELETE, UPDATE
- DCL(데이터 제어어)
. 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는 데 사용되는 언어
.. COMMIT, ROLLBACK, GRANT, REVOKE
* 데이터베이스 설계
- 개념적 설계(정보 모델링, 개념화)
. 정보의 구조를 얻기 위하여 현실 세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
. 개념적 설계 단계에서는 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행함
. 개념적 설계 단계에서는 요구 분석 단계에서 나온 결과인 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성
. DBMS에 독립적인 개념 스키마를 설계
- 논리적 설계(데이터 모델링)
. 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장 장치에서 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정
. 개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화
. 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계
. 트랜잭션의 인터페이스를 설계
. 관계형 데이터베이스라면 테이블을 설계하는 단계
- 물리적 설계(데이터 구조화)
. 논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장 장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정
. 물리적 설계 단계에서는 다양한 데이터베이스 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정
. 저장 레코드의 양식, 순서, 접근, 경로, 조회가 집중되는 레코드와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사
. 물리적 설계 시 고려할 사항 : 트랜잭션 처리량, 응답 시간, 디스크 용량, 저장 공간의 효율화 등
* 무결성
- 개체 무결성 : 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복값을 가질 수 없다는 규정
- 참조 무결성 : 외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야함(즉, 릴레이션은 참조할 수 없는 외래키 값을 가지리 수 없음)
* 트랜잭션
- 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위
- 한꺼번에 모두 수행되어야 할 일련의 연산
- 상태
. 활동(Active) : 트랜잭션이 실행 중인 상태
. 실패(Failed) : 트랜잭션 실행 중 오류가 발생하여 중단된 상태
. 철회(Aborted) : 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태
. 부분 완료(Partially Commited) : 트랜잭션의 마지막 연산까지 완료했지만, Commit 연산이 실행되기 직전의 상태
. 완료(Commited) : 트랜잭션이 성공적으로 종료되어 Commit 연산까지 수행한 상태
- 특성
. Atomicity(원자성) : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야 함
. Consistency(일관성) : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함
.Isolation(독립성, 격리성, 순차성) : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음
. Durability(영속성, 지속성) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함
* 정규화
- 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정
- 논리적 설계 단계에서 수행
- 데이터 중복을 배제하여 이상(Anomaly)의 발생 방지함
- 자료 저장 공간의 최소화가 가능
- 과정
. 1NF(제1정규형) : 릴레이션에 속한 모든 도메인(Domain)이 원자값(Atomic Value)만으로 되어 있는 정규형 (릴레이션의 모든 속성 값이 원자 값으로만 되어 있는 정규형)
. 2NF(제2정규형) : 릴레이션 R이 1NF이고, 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는 정규형
. 3NF(제3정규형) : 릴레이션 R이 2NF이고, 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형
. BCNF(Boyce-Codd 정규형) : 릴레이션 R에서 결정자가 모두 후보키(Candidate Key)인 정규형
. 4NF(제4정규형) : 릴레이션 R에 다치 종속 A ->>B가 성립하는 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형
. 5NF(제5정규형, PJ/NF) : 릴레이션 R의 모든 조인/종속이 R의 후보키를 통해서만 성립되는 정규형
* 관계형 데이터베이스
- 튜플(Tuple)
. 릴레이션을 구성하는 각각의 행을 말함
. 튜플은 속성의 모임으로 구성됨
. 파일 구조에서 레코드와 같은 의미
. 튜플의 수를 카디널리티(Cardinality) 또는 기수, 대응수라고 함
- 속성(Attribute)
. 데이터베이스를 구성하는 가장 작은 논리적 단위
. 파일 구조상의 데이터 항목 또는 데이터 필드에 해당됨
. 속성은 개체의 특성을 기술함
. 속성의 수를 디그리(Degree) 또는 차수라고 함
- 도메인(Domain)
. 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합
. 도메인은 실제 애트리뷰트 값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는데에도 이용됨
. (예) 성별 애트리뷰트의 도메인은 '남'과 '여'로, 그 외의 값은 입력될 수 없음
'기타' 카테고리의 다른 글
[정보처리기사] 5과목 정보시스템구축관리 헷갈리는 부분 정리 (0) | 2023.05.07 |
---|---|
[정보처리기사] 4과목 프로그래밍언어활용 헷갈리는 부분 정리 (0) | 2023.05.06 |
[정보처리기사] 2과목 소프트웨어개발 헷갈리는 부분 정리 (0) | 2023.05.06 |
[정보처리기사] 1과목 소프트웨어설계 헷갈리는 부분 정리 (1) | 2023.05.06 |
[Eclipse] 특정 프로젝트 인코딩 방식 변경하기 (1) | 2023.04.08 |