데이터 베이스 무결성
- 개체 무결성 : 한 릴레이션의 기본키를 구성하는 어떤 속성값도 NULL값이나 중복값을 가질 수 없다.
- 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 하고, 릴레이션은 참조할 숭 ㅓㅄ는 외래키 값을 가질 수 없다.
- 도메인 무결성 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다.
- 사용자 정의 무결성 : 속성 값들이 사용자가 정의한 제약 조건에 만족해야 한다.
트랜잭션 : DB에서 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산이다.
- 활동(Activity) : 트랜잭션이 실행 중인 상태
- 실패(Failed) : 트랜잭션 실행에 오류가 발생해 중단된 상태
- 철회(Aborted) : 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태
- 부분 완료(Partially Commited) : 트랜잭션을 모두 성공적으로 실행한 후 Commit 연산이 실행되기 직전의 상태
- 완료(Committed) : 트랜잭션을 모두 성공적으로 실행 후 Commit 연산을 실행한 후의 상태
- 원자성(Atomicity) : 연산은 DB에 반영되도록 모두 완료되던지 아니면 반영되지 않도록 복구되어야 한다. 모든 명령은 완벽히 수행되어야 하고, 하나라도 오류가 발생하면 모두 취소되어야 한다.
- 일관성(Consistency) : 실행을 성공적으로 완료하면 언제나 일관성 있는 DB로 된다. 수행 전 = 수행 후
- 독립성(Isolation) : 격리성, 순차성이라고도 한다. 둘 이상의 트랜잭션이 동시 병행되는 경우, 어느 하나의 트랜잭션 실행에 다른 하나가 끼어들 수 없다. 연산이 완전히 완료될 때까지 그 결과를 참조할 수 없다.
- 영속성(Durability) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.
분산 데이터 베이스 : 논리적으로 같은 시스템에 속하지만 물리적으로는 네트워크를 통해 분산되어 있는 데이터베이스이다. 지역 자치성, 자료 공유성, 시스템 성능, 효용성 및 융통성, 신뢰성 및 가용성이 높아진다. 분산 제어가 가능하고 장애가 전체 시스템에 영향을 끼치지 않는다. 분산 처리기, 분산 데이터 베이스, 통신 네트워크로 이뤄져 있다.
- 위치 투명성(Location Transparency) : 접근하려는 DB의 실체 위치를 알 필요 없이 단지 DB의 논리적 명칭만으로 접근이 가능하다.
- 중복 투명성(Replication Transparency) : 동일한 데이터가 여러 곳에 중복되어 있어도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용이 가능하다. 시스템은 자동으로 여러 데이터에 대한 작업을 수행한다.
- 병행 투명성(Concurrency Transparency) : 분산 데이터 베이스와 관련된 다수의 트랜잭션이 동시에 실행되어도 그 수행 결과는 서로 영향 받지 않는다.
- 장애 투명성(Failure Transparency) : 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 트랜잭션은 정확하게 수행한다.
정규화 : 함수적 종속성 등의 종속성 이론을 이용해 바람직한 스키마로 만드는 과정
- 1NF : 도메인이 원자값
- 2NF : 부분적 함수 종속 제거
- 3NF : 이행적 함수 종속 제거
- BCNF : 결정자이면서 후보키가 아닌 것 제거
- 4NF : 다치 종속 제거
- 5NF : 조인 종속성 제거
반정규화 : 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 의도적으로 정규화 원칙을 위배한다. 테이블 통합, 테이블 분할, 중복 테이블 추가, 중복 속성 추가
데이터 베이스 키
- 기본키(Primary Key) : 후보키 중에서 특별히 선정된 키로 중복값, NULL값을 가질 수 없다.
- 대체키(Alternate Key) : 후보키 중에서 선정된 기본키를 제외한 나머지 후보키이다.
- 후보키(Candidate Key) : 속성 중 튜플을 유일하게 식별하기 위해 사용되는 속성의 부분 집합으로 유일성과 최소성을 만족한다.
- 슈퍼키(Super Key) : 속성의 집합으로 구성된 키로 모든 튜플에 대해 유일성은 만족하지만 최소성은 만족하지 못한다.
- 외래키(Foreign Key) : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성의 집합으로 릴레이션 간의 관계를 표한할 때 사용한다.
SQL 명령어
- DDL(Data Define Language) : 정의, 변경, 삭제에 관련된 명령어이다.
- CREATE : 스키마, 도메인, 테이블, 뷰, 인덱스를 정의한다.
- ALTER : 테이블에 대한 정의를 변경한다.
- DROP : 스키마, 도메인, 테이블, 뷰, 인덱스를 삭제한다.
- DML(Data Manipulation Language) : 데이터를 실질적으로 처리하는데 사용하는 명령어이다.
- SELECT ~ FROM ~ WHERE : 검색
- INSERT INTO ~ : 삽입
- DELETE ~ FROM ~ WHERE : 삭제
- UPDATE ~ SET ~ WHERE : 변경
- DCL(Data Control Language) : 데이터 보안, 무결성, 회복, 병행 수행 제어에 관련된 명령어이다.
- COMMIT : 수행된 결과를 저장하고, DB 조작 작업이 정상적으로 완료되었음을 알려준다.
- ROLLBACK : DB 조작 작업이 비정상적으로 종료되었을 때 원래 상태로 복구한다.
- GRANT : 사용자에게 사용 권한을 부여한다. TO 명령어와 같이 사용한다.
- REVOKE : 사용자의 사용 권한을 취소한다. FROM 명령어와 같이 사용한다.
- TRUNCATE : 데이터를 삭제하는 명령어로 ROLLBACK 으로 되돌릴 수 없다.
- DISTNCT : 중복을 제거한다.
- GROUP BY ~ HAVING
- ASC : 오름차순
- DESC : 내림차순으로 보통 생략
관계 대수 : Relational Algebra, 관계형 데이터 베이스에서 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는지를 기술하는 절차적 언어로 연산의 순서를 명시한다.
- 순수 관계 연산자
- SELECT : σ, 튜플 중 선택 조건을 만족하는 튜플의 부분집합을 구해 새 릴레이션을 만든다.
- PROJECT : π, 속성 리스트에서 제시된 속성 값만 추출해 새 릴레이션을 만든다.
- JOIN : ⋈, 공통 속성을 중심으로 두 릴레이션을 하나로 합쳐 새 릴레이션을 만든다.
- DIVISION : %, 해당 속성을 제외한 나머지 속성만을 구하는 연산이다.
- 일반 집합 연산자(UNION-합집합, INTERSECTION-교집합, DIFFERENCE-차집합, CARTESIAN PRODUCT-교차곱)
관계해석 : Relational Calculus, E.F.Code가 수학의 술어해석에 기반을 두고 제안한 것으로 , 연산을 표현하는 방법이다. 계산 수식을 이용해 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 가진다. 튜플과 도메인 관계해석이 있으며 관계대수로 표현한 식은 관계 해석을 표현할 수 있다.
개념적 설계(정보 모델링, 개념화) : 정보의 구조를 얻기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현한다. 개념 스키마 모델링, 트랜잭션 모델링, 요구조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성
논리적 설계(데이터 모델링) : 현실 세계의 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장 장치에 저장하도록 특정 DBMS가 지원하는 논리적 자료 구조로 변환한다. 개념 스키마를 평가 및 정제, DBMS에 따라 서로 다른 논리적 스키마 설계, 트랜잭션 인터페이스 설계, 테이블 설계
물리적 설계(데이터 구조화) : 논리적 구조로 표현된 데이터를 물리적 구조 데이터로 변환한다. DB 파일의 저장 구조, 액세스 경로 결정, 저장 레코드 양식, 순서, 접근 경로 등을 사용해 저장되는 방법을 묘사한다. 트랜잭션 처리량, 응답 시간, 디스크 용량, 저장 공간의 효율화
스키마 : Schema, 데이터 베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타 데이터의 집합이다.
- 외부 스키마 : 사용자나 응용 프로그래머가 개인의 입장에서 필요로 하는 데이터 베이스의 논리적 구조를 정의한 것이다.
- 개념 스키마 : 데이터 베이스의 전체적인 논리적 구조, 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스이다. 하나만 존재하며 개체 간의 관계와 제약 조건, 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
- 내부 스키마 : 물리적 저장장치에서 본 데이터 베이스 구조,실제로 저장될 레코드의 형식 정의, 저장 데이터의 항목 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
'정보처리기사' 카테고리의 다른 글
[필기] 제 5과목 - 정보시스템 구축 관리 요점 정리 (0) | 2023.02.26 |
---|---|
[필기] 제 4과목 - 프로그래밍 언어 활용 요점 정리 (0) | 2023.02.26 |
[필기] 제 2과목 - 소프트웨어 개발 요점 정리 (0) | 2023.02.26 |
[필기] 제 1과목 - 소프트웨어 설계 요점 정리 (0) | 2023.02.26 |
정보처리기사 실기 - 통합 구현 (2) (0) | 2022.01.17 |