[정보처리기사]1단원 데이터베이스 오답노트
1단원 데이터베이스 오답노트
1장. 데이터베이스
데이터베이스의 정의
ID SOS (Integrated-Database(Define)-Stored-Operational-Shared) : 아이디 긴급구조
- 통합된 데이터 (Integrated Data)
- 저장된 데이터 (Stored Data)
- 운영 데이터 (Operational Data)
- 공용 데이터 (Shared Data)
- 배타적 데이터 (Exclusive Data) 는 데이터베이스 정의에 해당하지 않음
논리적 독립성
논리적 구조를 변경
2장. 스키마
데이터 조작언어 (DML : Data Manipulation Language)
데이터 처리
응용프로그램 - DBMS
인터페이스 제공
SQL 유형
SUIDE
조회, 삽입, 갱신, 삭제
- Select
- Insert
- Update
- Delete (!= DROP)
- 데이터 정의 언어 (DDL : Data Definition Language)
- 데이터(스키마, 도메인, 테이블, 뷰) 생성 및 삭제
- SQL 유형
CAD
- CREATE
- ALTER
- DROP
- 데이터 조작 언어 (DCL : Data Control Language)
- 보안(권한), 무결성, 회복 및 복구
- 병행제어
- 종류
CRGR
- COMMIT
- ROLLBACK
- GRANT
- REVOKE
내부 스키마 (Internal Schema)
실제로 저장되는 것
물리적 저장장치
내부 레코드
- If defines how the data are physically arranged on a storage device - as seen by a system programmer or system designer
시스템 디자이너 및 시스템 프로그래머 관점
- DELETE 는 SUIDE 의 DML 부문
- 데이터 정의 언어 (DDL : Data Definition Language)
- 데이터(스키마, 도메인, 테이블, 뷰) 생성 및 삭제
- SQL 유형
CAD
- CREATE
- ALTER
- DROP
개념 스키마 (Conceptual Schema)
the overall logical structure
4장. 데이터베이스의 구성요소
- 데이터베이스 설계 중 물리적 설계
- 저장 레코드 (파일 접근, 저장 방법)
- 옵션 선택시 고려사항
- 응답시간
- 저장공간 효율화
- 트랜잭션 처리도
- 데이터베이스 설계 순서
개논물
CLP
- 요구 분석 (Requirement Formulation)
- 개념적 설계 (Conceptual Schema)
- 논리적 설계 (Logical Schema)
- 물리적 설계 (Physical Schema)
- 데이터베이스 구현
- 설계
- 무결성, 보안성
- 개념적 설계
개모독
- 트랜잭션 모델링 수행
- 독립적인 개념 스키마 설계
- 논리적 설계
논인종
- 트랜잭션 인터페이스
- 종속적인 논리적 스키마 설계
- 물리적 설계
-
- 저장 레코드 (파일 접근, 저장 방법)
- 옵션 선택시 고려사항
- 응답시간
- 저장공간 효율화
- 트랜잭션 처리도
- 개념적 설계
E-R 다이어그램
all the entities(organizations, departments, users, programs, and data) that play roles in the system, as well as the relationships between those entities.
- 사각형 (Rectangle) : 개체 (Entity)
- 타원 (Ellipse) : 속성 (Attribute)
- 마름모 (Diamond) : 관계 (Relationship)
5장. 관계 데이터 구조
답
가
임- 후보키 (Candidate Key) : 유일성과 최소성을 모두 만족
- minimal subset of attributes
- uniquely identifies each tuple in the relation
- designated as the primary
- 예를들어
사원번호
나주민등록번호
- 기본키 (Primary Key) : 유일한 구분자
- 대체키 (Alternative Key) : 후보키들 중 기본키 제외한 나머지 후보키들
사원번호
가기본키
일때,주민등록번호
- 외래키 (Foreign Key) : 기본키와 대응되어 참조관계 표현
- 슈퍼키 (Super Key) : 유일성은 만족하나 최소성은 만족하지 않음
- 복합키(Composite Key) 라고도 불림
- Security (보안)
- 권한이 없는 사용자로부터 데이터베이스를 보호
- 사용자들이 데이터베이스를 사용하고자 할 때 언제든지 사용할 수 있도록 보장
- Security involves ensuring that users are allowed to do the things they are trying to do.
- Integrity (무결성)
- 권한이 있는 사용자로부터 데이터베이스를 보호
- 데이터베이스를 정확하게 사용할 수 있도록 보장
- Integrity involves ensuring that the thing they are trying to do are correct.
- 무결성
- 개체 무결성
- 기본키의 속성은 NULL이나 중복값을 가질 수 없음
- 참조 무결성
- 외래키는 반드시 해당 릴레이션에 존재해야 함
- 속성명은 다를 수 있음
- 개체 무결성
- 릴레이션 특징
- 원자 값
- 튜플은 서로 다른 값
- 튜플은 순서 없음
- 순서 중요 X
- 속성은 유일한 이름
6장. 관계대수
- Select : 수평적 부분집합 (시그마 이용) = SELECT
- Project : 수직적 부분집합 (파이 이용) = WHERE
- Join
- Division : 두 릴레이션에서 모든조건을 만족하는 튜플들을 릴레이션 A에서 분리
- 관계대수
- 릴레이션을 처리하기 위한 연산의 집합
- 피연산자가 릴레이션 결과도 릴레이션
- 기술적인 절차적 특성
- 연산의 집합
- 정규화
- 속성 간 중복성, 종속성을 피하기 위함
- 중복을 최소화, 삽입, 삭제, 갱신 이상의 발생을 방지
- 연산시간이 감소되진 않음
- 하나의 릴레이션을 여러개의 릴레이션으로 분해
- 효과적인 검색 알고리즘 생성
- 어떤 릴레이션이라도 데이터베이스에 표현
- SELECT 속성명
- FROM 테이블 이름
- WHERE 조건
- GROUP BY 속성명
- HAVING 그룹에 대한 조건
- ORDER BY 정렬
- DISTINCT : 중복제거
- IS NULL
이상 (Anomaly)
데이터의 중복으로 인하여 관계연산을 처리할 때 곤란한 현상이 발생 여러 종속 관계를 하나의 릴레이션에 표현하기 때문에 발생
- 삽입 이상
- 삭제 이상
- 갱신 이상
7장. 뷰
- 뷰
- 가상 테이블
- 검색은 동일
- 논리적 데이터 독립성 제공
- 연쇄 작용으로 삭제
- 보안 (접근제한)
- 실제 데이터 저장 X
- 독립적인 인덱스 X
- 뷰를 이용한 또 다른 뷰 생성 가능
- 사용자 관리 용이 (필요한 데이터만 뷰로 정의)
- 뷰는 변경 X - 지우고 다시 만들어야함
- 제약이 없는 것 X
9장. 트랜잭션
- 병행제어의 목적
- 데이터베이스 공유 최대화
- 시스템 활용도 최대화
- 데이터베이스 일관성
- 사용자에 대한 응답시간 최소화
- 병행제어의 기법
낙타로
- 로킹
- 로킹 단위가 작아지면 로크수가 많아짐
- 오버헤드가 커지고 관리하기는 복잡하지만
- 공유도(병행성) 수준이 높아짐
- 데이터베이스, 파일, 레코드, 필드가 로킹단위가 될 수 있음
- 상호배타적
- 낙관적
- 타임스탬프
- 로킹
- 트랜잭션 특성
- 원자성 (Atomicity)
- 모두 반영되든지 안되든지
- 일부수행 X
- 송금하는 도중 장애가 발생하였을 경우 부작용을 방지하는 특성
- 일관성 (Consistency)
- 실행을 성공하면 언제나 일관성있는 데이터베이스로
- 수행전이나 수행후나 일관적이여야 함
- 격리성, 독립성 (Isolation)
- 연산이 실행중 다른 연산이 접근할 수 없음
- 각 트랜잭션은 다른 트랜잭션을 인식하지 못함
- 영속성, 지속성 (Durability)
- 완료되면 무조건 지속되어야 함
- 원자성 (Atomicity)
- 분산 데이터베이스
Recovery
장애로 인해 손상된 데이터베이스를 복구하는 작업
- 연기 갱신 기법 (Deferred Modification)
- 즉각 갱신 기법 (Immediate Update)
- 그림자 페이지 대체 기법 (Shadow Paging)
- 검사점 기법 (Check Point)
9장. 자료구조의 분류
- 터미널(끝) 노드 : 자식이 없는 노드
- d, i, j, f, g, h
- Tree의 Degree 차수 : 가장 자식이 많은 노드의 간선 수
- 스택
- 한쪽 끝에서 삽입과 삭제가 일어나는 자료구조
- FILO, LIFO
10장. 수식의 표기법
- 전위 표기법 (Polish notation, Prefix)
- 괄호 순으로 부호를 앞으로 전부 빼서 처리
- 중위 표기법 (Infix notation)
- 후위 표기법 (Reverse Polish notation)
- 괄호 순으로 부호를 뒤로 전부 빼서 처리
12장. 이분 검색(이진 검색)
- 해싱
- DAM(직접 접근 방법) 파일을 구성할 때 사용
- 접근속도는 빠르나, 많은 기억공간을 요구
- 키 값으로부터 레코드가 저장되어 있는 주소를 직접 계산해 산출된 주소로 바로 접근
- 종류가 아닌것은
d
가 안들어가 있는것을 찾으면 됨
- Collision 충돌
- 서로 다른 키가 동일한 홈 주소를 가짐
- Synonym
- 동일한 홈 주소로 인해 충돌이 일어난 레코드 집합
카르노맵에 따라서
x, yz 00 01 11 10 0 0 1 3 2 1 4 5 7 6 z, xy 00 01 11 10 0 0 2 6 4 1 1 3 7 5