본문 바로가기

스터디/정보처리기사

[ 3과목/필기 ] 데이터베이스 구축

반응형
[2022년 1회 필기] : 데이터베이스 구축(3과목)

 

1번은 논리적 설계 시 고려사항

데이터 베이스 설계 단계 :

1. 개념 설계 : ERD작성

2. 논리 설계 : 스키마 평가 및 정제, 정규화, 트랜젝션 인터페이스 설계

3. 물리 설계 : 성능 고려 → 레이블, 클러스터링, 인덱스, 뷰 생성 > 반정규화

 

WHERE 조건절이 없는 DELETE 명령어 수행 → 내용 삭제

DROP TABLE 수행 → 테이블 삭제

 

SQL 문법

  • DDL (정의어) : CREATE / DROP / ALTER
  • DML (조작어) : INSERT / UPDATE / DELETE / SELECT
  • DCL (제어어) : COMMIT / ROLLBACK / REVOKE / GRANT

 

> : 왼쪽이 오른쪽에 포함되는 관계

슈퍼키 > 후보키 > 기본키 / 대체키

 

슈퍼키 : 유일성 만족O, 최소성 만족X

후보키 : 유일성 만족O, 최소성 만족O

후보키에서 적합한 키를 기본키로 사용

후보키에서 기본키가 아닌 나머지를 대체키라고 부름

 

뷰 : 물리적 테이블로부터 논리적으로 생성한 가상의 테이블

  • 여러 개 생성이 가능하다
  • 뷰끼리 조합하여 새로운 뷰 생성이 가능하다
  • 물리적 테이블에 종속적이다. (물리적 테이블 삭제 시 같이 삭제됨)
  • ALTER 불가. DROP 후 다시 생성해야 함.

4번. 뷰에는 일반적으로 SELECT 문만 시행한다. (읽기용)

1. 기본 SELECT문 : 

SELECT * (ALL)

SELECT FROM 테이블

 

2. 조건문 추가 :

SELECT FROM 테이블 WHERE (조건문 AND/OR)

 

3. 그룹 추가 :

SELECT FROM 테이블 WHERE (조건문 AND/OR) GROUP BY 속성 HAVING 조건문

 

4. 정렬 추가 :

SELECT FROM 테이블 WHERE (조건문 AND/OR) GROUP BY 속성 HAVING 조건문 ORDER BY 속성 ASC/DSC

 

1번. 열 이름을 다시 부여할 수 있는 키워드 → ALTER (REVOKE : 권한뺏기)

2번. 생성(CREATE) 변경(ALTER) 제거(DROP)

3번. DISTINCT 사용 시 중복 값을 제거함.

       예) SELECT DISTINCT 학년

 

사원 테이블로부터 급여 값을 가져오므로 5개의 값을 가져온다.

 

변형 ) SELECT DISTINCT 급여 FROM 사원;

          중복을 제거하여 30000, 35000, 40000 이렇게 3개의 값을 가져온다.

트랜잭션 상태 : 

실행시작 → 활동 → 부분완료 (COMMIT) → 완료

                          → 부분완료 (ROLLBACK) → 철회

                          → 실패 (COMMIT) → 완료

                          → 실패 (ROLLBACK) → 철회

 

COMMIT을 하면 실제 DB에 반영된다.

1번. GRANT

2번. REVOKE

4번. ROLLBACK

UNION연산 : 중복상관없이 그대로 합침

 

분산 데이터베이스 시스템 : 

  • 데이터베이스 시스템 구축 시에 한 대의 물리적 시스템에 데이터베이스 관리 시스템을 설치하고 여러 명의 사용자가 데이터베이스 관리 시스템에 접속하여 데이터베이스를 사용하는 구조를 중앙 집중형 데이터베이스라고 한다.
  • 그에 반해, 물리적으로 떨어진 데이터베이스에 네트워크로 연결하여 단일 데이터베이스 이미지를 보여주고 분산된 작업 처리를 수행하는 데이터베이스를 분산 데이터 베이스라고 한다.

4번. 분산 데이터베이스 시스템의 주요 구성 요소는 분산처리기, 분산 데이터베이스, 통신 네트워크 등이 있다.

P2P 시스템은 필요 없음. 

단일 데이터베이스는 분산 데이터베이스 시스템이 맞지 않는 개념임.

 

 

 

 

[ 참고 자료 ]

https://www.comcbt.com/

https://www.youtube.com/watch?v=-6hvrQJghEw&list=PLniy99c_7Zfo2WD2mED6jDX4NyHyKLwbF&index=3

https://velog.io/@yewon-july/Distributed-Database