[Sec 1. 데이터베이스 개념]
데이터베이스
- 정의 (공장통운)
- 공유 데이터 : 공동으로 사용
- 저장 데이터 : 컴퓨터가 접근 가능한 매체에 저장
- 통합 데이터 : 중복 최소화
- 운영 데이터 : 조직의 목적을 위한 필수 데이터
- 데이터 언어 (DMC)
- DDL : 구조와 제약 조건 정의
- DML : 처리 및 조작
- DCL : 보안, 권한, 무결성 및 병행 제어
- 스키마
- 외부 스키마 (사용자 뷰) : 여러 개 존재 가능
- 개념 스키마 (전체적인 뷰) : 하나만 가능
- 내부 스키마 (저장 스키마) : 물리적 저장장치 관점
- 장점
- 통합 : 모든 데이터를 DB로 통합 관리 → 중복성과 불일치 감소
- 독립성 : 프로그램과 데이터 분리 → 데이터의 변경으로 인한 종속성 감소
- 동시성 제어 : 데이터의 일관성을 유지, 파일 시스템에 비해 응답 시간이 느림
- 백업 및 복구 : 시스템이 고장 나기 이전의 일관된 데이터베이스 상태로 복구 가능
- 데이터베이스 종류
- 계층형 DB : 데이터를 트리 형태로 표현, 다대다 x
- 네트워크 DB : 데이터를 그래프 형태로 표현, 다대다 o, 오너-멤버 관계, CODASYL DBTG
- 관계형 DB : 데이터의 상호 관계를 테이블 형태로 표현, SQL로 데이터 처리
- 객체지향형 DB : 객체 지향 개념(클래스, 상속 등) 이용, 비정형 데이터 관리
- 객체관계형 DB : 객체형+관계형
- NOSQL : 샤딩(분할) 지원, 비정형 데이터 관리, 스키마 없음, 비관계형 DBMS
[Sec 2. 데이터베이스 설계]
- DB 설계 단계(개논물) : 요구 조건 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현
- 개념 설계 단계 : E-R 다이어그램으로 개념적 스키마 구성
특정 DBMS든 목표 DBMS든 상관 x - 논리적 설계 단계 : 트랜잭션 인터페이스 설계, 스키마의 평가 및 정제, 정규화
목표 DBMS(계층형, 네트워크형, 관계형 등)에 맞는 설계 - 물리적 설계 단계 : 데이터 효율적으로 저장 목적, 기계장치 입장에서 성능과 관련한 것, 레코드 집중의 분석 및 설계, 인덱스 설계, 물리적 스키마 생성, 반정규화
특정 DBMS(ORACLE, MSSQL, MYSQL, DB2)에 맞는 설계
- 개념 설계 단계 : E-R 다이어그램으로 개념적 스키마 구성
- 관계형 데이터베이스 관리 시스템(RDBMS)
- ORACLE : Oracle 개발
- MSSQL : Microsoft 개발, Windows 환경에서 사용, IIS 서버와 호환성
- MYSQL : 오픈 소스
- DB2
[Sec 3. 데이터 모델링]
- 데이터 모델
- 구조 : 개체, 개체 타입(속성의 집합), 개체 인스턴스(행), 개체 세트(개체 인스턴스 집합), 속성(열), 관계(개체 간 연관성)
- 중요 요소 : 구조, 연산, 제약 조건 (구연산 제약)
- 개체-관계 모델(Entity Relation Model)
- 개체(사각형)
- 속성(원) : 단일 값 속성, 다중 값 속성, 단순 속성, 복합 속성, 유도 속성, 널 속성, 키 속성
- 관계(마름모) : 1:1, 1:N, N:M
- 연결(선 링크) : 개체와 속성 연결
- 정규화
: 중복성을 최소화(독립성↑, 종속성↓)하기 위해 릴레이션을 분해한다.
: 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.
: 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.- 이상(Anomaly) 현상
- 삽입 이상 : 데이터 삽입 시 불필요한 데이터가 함께 삽입되는 현상
- 삭제 이상 : 한 튜플을 삭제할 때 연쇄 삭제 현상
- 갱신 이상 : 갱신 시 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상
- 함수적 종속
- 완전 함수적 종속
- 부분 함수적 종속
- 이행적 함수 종속 : X → Y, Y → Z ⇒ X → Z
- 정규화 과정 (도부이결다조: 사장님, 두부 이걸 다 줘요?)
: 비정규형 → 1NF → 2NF → 3NF → BCNF(강한 제 3정규형) → 4NF → 5NF- 비정규형→1NF : 도메인이 원자값
- 1NF→2NF : 부분적 함수 종속 제거
- 2NF→3NF : 이행적 함수 종속 제거
- 3NF→BCNF : 결정자이면서 후보키가 아닌 것 제거
- BCNF→4NF : 다치 종속 제거
- 4NF→5NF : 조인 종속성 이용
- 이상(Anomaly) 현상
- 논리 데이터 모델 품질 기준 (정완준최일활 : 정완이가 준 강아지 중 제일 활발해!)
: 정확성, 완전성, 준거성, 최신성, 일관성, 활용성
[Sec 4. 관계 데이터베이스 모델]
- 관계 데이터 릴레이션 (표)
- 속성(Attribute) : 각 열 → 차수(Degree) : 속성의 수
- 튜플(Tuple) : 각 행 → 카디널리티(Cardinality) : 튜플의 수
- 도메인(Domain) : 한 속성이 가질 수 있는 동일한 타입의 모든 값의 집합/범위 (학년 : 1~6, 성별 : 여자/남자)
릴레이션
- 구성
- 스키마(Schema) : 릴레이션의 구조나 뼈대, 릴레이션의 이름과 그 릴레이션에 포함된 속성들의 집합으로 구성
- 인스턴스(Instance) : 스키마에 따라 실제로 저장된 데이터의 집합
- 특징
- 튜플의 유일성
- 튜플의 무순서성
- 속성의 원자성
- 속성의 무순서성
- 동적 변화성
관계 데이터 언어
- 관계 대수 : 절차적 방법(연산의 순서 명시), 릴레이션을 처리하기 위한 연산의 집합으로 피연산자와 그 결과 모두가 릴레이션이다.
- 순수 관계 연산자
- Select(σ) : 주어진 조건을 만족하는 튜플 선택
- Project(π) : 속성 리스트에 주어진 속성 값만을 추출
- Join(⋈) : 두 릴레이션에서 연관된 튜플들을 결합
- Division(÷) : 관련이 있는 튜플 반환
- 일반 집합 연산자
- Union
- Intersection
- Difference
- Cartesian Product
- 순수 관계 연산자
- 관계 해석 : 비절차적 방법(결과만 명시), 수학의 Predicate Calculus에 기반을 둠
- 연산자 : OR, AND, NOT
- 정량자 : For All, At Least
** 관계대수와 관계해석은 관계 데이터베이스를 처리하는 기능과 능력 면에서 동등하다.
- 시스템 카탈로그(System Catalog)
DBMS가 스스로 생성하고 유지하는 데이터베이스 내의 특별한 테이블의 집합체
시스템 카탈로그 = 데이터 사전(DD), 카탈로그에 저장된 정보 = 메타 데이터
사용자는 SQL을 이용하여 내용을 검색해볼 수 있으나 갱신은 불가능
구성 요소 : 테이블, 뷰, 칼럼, 인덱스, 데이터베이스, 응용계획, 패키지, 접근권한 등
'Data Analysis > 정보처리기사' 카테고리의 다른 글
| [3과목 데이터베이스 구축] 03. SQL 활용 (1) | 2024.04.19 |
|---|---|
| [3과목 데이터베이스 구축] 02. 물리 데이터베이스 설계 (1) | 2024.04.18 |
| [2과목 소프트웨어 개발] 05. 인터페이스 구현 (0) | 2024.04.18 |
| [2과목 소프트웨어 개발] 04. 애플리케이션 테스트 관리 (0) | 2024.04.18 |
| [2과목 소프트웨어 개발] 03. 제품 소프트웨어 패키징 (0) | 2024.04.18 |