728x90
728x90
이번 시간은 정보처리기사 실기에서 다루는 3장 데이터 입출력 구현에 대해서 정리를 해보았습니다.
* 이 글은 정보처리기사 공부 목적으로 쓴 글입니다. 그러다 보니 혹시 제가 잘못 작성한 부분이 있거나 수정이 필요하다면 댓글로 알려주시면 감사하겠습니다.
데이터 모델 | 현실 세계의 정보를 컴퓨터가 이해할 수 있도록 표현한 모델 |
데이터 모델의 구성요소 | 연구제 ① 연산 ② 구조 ③ 제약조건 |
데이터 모델의 절차 | 개논물 개념적 → 논리적 → 물리적 |
개념적 데이터 모델 | - 현실 세계의 정보를 추상적, 개념적으로 표현 - DB 종류에 무관 - 주요 산출물 : E-R 다이어그램 |
논리적 데이터 모델 | - 논리적 데이터베이스 구조로 매핑 - 목표 DBMS 설정, 스키마 설계 - 정규화 수행 - 모델링 종류: 관계네 ① 관계 데이터 모델 ② 계층 데이터 모델 ③ 네트워크 데이터 모델 |
물리적 데이터 모델 | - 객체 생성 (테이블, 뷰, 인덱스 등) - 반 정규화 수행 |
관계 데이터 모델 | - 2차원 테이블 형태 - Codd 박사가 제안 - 1:1, 1:N, N:M 자유롭게 표현 |
계층 데이터 모델 | - 트리 형태 - 상하 관계 존재 - 1:N 관계만 허용 |
네트워크 데이터 모델 | - 그래프 형태 - CODASYL DBTG 모델이라고도 함 - 상위-하위 레코드 간 N:M 관계 |
관계 대수 | 원하는 정보를 어떻게 유도하는가에 대한 절차적 정형 언어 - 일반 집합 연산자 합교차카 - 순수 관계 연산자 셀프조디 |
일반 집합 연산자 | 1. 합집합(Union): R ⋃ S (전체) 2. 교집합(Intersection): R ⋂ S (공통) 3. 차집합(Difference): R﹣S (R에만 존재하고 S에는 없음) 4. 카티션 프로덕트(CARTESIAN Product): R 𝙓 S (R과 S에 속한 모든 튜플 연결) |
순수 관계 연산자 | 릴레이션이 하나만 나오면 𝞼 또는 π 이고, 릴레이션이 둘 나오면 ⋈ 또는 ÷ 이다! 1. 셀렉트 𝞼 : 𝞼 조건 (R) (R에서 조건을 만족하는 튜플 반환) ⇒ 가로 2. 프로젝트 π : π 속성리스트 (R) (R에서 주어진 속성들로만 구성된 튜플 반환) ⇒ 세로 3. 조인 ⋈ : R ⋈ S (공통 속성으로 R과 S의 튜플 연결하여 반환) 4. 디비전 ÷ : R ÷ S (S의 모든 튜플과 관련된 R의 튜플 반환) |
관계 해석 | 원하는 정보가 무엇인가에 대한 비절차적 언어 (프레디킷 해석 기반) |
ERD (E-R 다이어그램) | 현실의 정보를 사람이 이해할 수 있는 형태로 표현해, 개체와 개체의 속성 개체 간 관계를 도식화한 다이어그램 |
E-R 다이어그램 구성요소 | - 개체: ☐ - 속성: ○ - 다중 값 속성: ◎ - 관계: ◇ - 관계-속성: — |
정규화 (Nomralization) | 데이터의 중복성을 제거하여 이상 현상을 방지하는 과정 |
이상 현상 (Anomaly) | 데이터 중복으로 인해 릴레이션 조작 시 발생하는 비합리적 현상 - 삽입, 삭제, 갱신 이상 삽삭갱 |
정규화 단계 | 도부이결다조 1NF, 2NF, 3NF, 보이스-코드(BC)NF, 4NF, 5NF |
1차 정규화 | 도메인은 원자값으로만 |
2차 정규화 | 부분 함수 종속성 제거 (완전 함수적 종속 관계) |
3차 정규화 | 이행 함수 종속성 제거 (A→B, B→C, A→C일 때 이행 함수 종속 관계) |
보이스-코드 정규화 | 결정자는 모두 후보키 |
4차 정규화 | 다치(다중값) 종속 제거 |
5차 정규화 | 조인 종속 제거 (릴레이션의 모든 조인 종속이 후보키를 통해서만 설립) |
반 정규화 (De-Nomralization) | 정규화된 개체/속성/관계를 단순화하는 기법 - 장점 : 성능 & 관리 효율성 ⬆️ - 단점 : 일관성 & 무관성 ⬇️ |
반 정규화 기법 | 테병분중 컬중 관중 1. 테이블 병합 2. 테이블 분할 3. 중복 테이블 추가 : 집진특 집계 테이블, 진행 테이블, 특정 부분만을 포함하는 테이블 4. 중복 컬럼 허용 5. 중복 관계 허용 |
데이터베이스 | 다수의 인원과 시스템이 사용할 목적으로 관리하는 데이터 집합 통저운공 1. 통합된 데이터 2. 저장된 데이터 3. 운영 데이터 4. 공용 데이터 |
데이터베이스 특성 | 접변동내 1. 실시간 접근성 : 쿼리에 실시간으로 응답 2. 계속적인 변화 : 삽입/삭제/갱신으로 최신 데이터 유지 3. 동시 공용 : 다수 사용자가 이용 4. 내용 참조 : 사용자가 요구하는 내용으로 참조 |
데이터베이스의 종류 | 1. 파일 시스템 개념 : DB 전 단계의 데이터 관리 방식 2. 관계형 DBMS (=RDMBS) : 관계형 데이터 모델을 기반으로 하는 DB 관리 시스템 3. 계층형 DBMS (=HDMBS) : 데이터를 상하 종속 관계로 계층화한 모델 4. 네트워크형 DBMS (=NDBMS) : 데이터를 망상 형태로 표현한 모델 |
DBMS | 데이터의 추가, 변경, 삭제 등의 관리 기능을 제공하는 소프트웨어 |
DBMS의 유형 | 키컬도그 1. Key-Value DBMS 2. Column Family Data Store DBMS 3. Document Store DBMS 4. Graph DBMS |
Key-Value DBMS | - Unique한 키에 하나의 값을 갖는 형태 ex) Redis, DynamoDB |
Column Family Data Store DBMS | - Key안에 (Column, Value) 조합의 필드를 갖는 DBMS - 구글의 Bigtable 기반 ex) HBase, Cassandra |
Document Store DBMS | - 값의 데이터 타입이 문서 타입(XML, JSON)인 DBMS ex) MongoDB, Couchbase |
Graph DBMS | - 시멘틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현 ex) Neo4j, AllegroGraph |
온톨로지 | 실세계에 존재하는 개념 정보를 컴퓨터가 이해할 수 있도록 서술한 지식베이스 |
DBMS의 특징 | 일회무효보 1. 데이터 일관성 : 조작 후에도 데이터는 변함없음 2. 데이터 회복성 : 장애 발생 시 복구되어야 함 3. 데이터 무결성 : 동일한 내용에 서로 다른 데이터가 저장되지 않아야 함 4. 데이터 효율성 : 응답 시간, 저장 공간 등을 최적화해야 함 5. 데이터 보안성 : 불법적인 노출, 변경으로부터 보호해야 함 |
빅데이터 특성 | V3 1. Volumn (양) : PB 수준의 대규모 데이터 2. Variety (다양성) : 유형이 로그, 소셜, 위치 등 다양해짐 3. Velocity (속도) : 정보가 빠르게 증가하고 수집됨 |
빅데이터 수집 및 처리 기술 | 1. 비정형 데이터 수집 ex) 척화(Chuckwa), 플럼(Flume), 스크라이브(Scribe) 2. 정형 데이터 수집 ex) 스쿱(Squoop), 하이호(Hiho), ETL, FTP 3. 분산 데이터 저장/처리 ex) HDFS(하둡 분산 파일 시스템), 맵리듀스(구글이 발표) 4. 분산데이터 베이스 ex) HBase |
빅데이터 분석 및 처리 기술 | 1. 빅데이터 분석 - 데이터 가공 ex) 피그(Pig), 하이브(Hive) - 데이터 마이닝 ex) 머하웃(Mahout) 2. 빅데이터 실시간 처리 - 실시간 SQL 처리 ex) 임팔라(Impala) - 요청 작업의 워크플로우 관리 ex) 우지(Oozie) 3. 분산 코디네이션 - 분산 처리 기술 ex) 주키퍼(Zookeeper) 4. 분석 및 시각화 - 시각화 기술 ex) R |
NoSQL | =Not Only SQL. 전통적인 RDBMS가 아닌 DBMS를 지칭 (조인 연산 불가, 수평적으로 확장 가능) |
NoSQL의 특징 | BASE 1. Basically Available : 언제든지 접근 가능해야 함 2. Soft-State : 노드의 상태는 외부 정보로 결정됨 3. Eventually Consistency : 일정 시간이 지나면 데이터 일관성이 유지됨 |
NoSQL의 유형 | 키컬도그 (DMBS 유형에서 'DBMS'라는 단어 제외) 1. Key-Value 2. Column Family Data Store 3. Document Store 4. Graph |
데이터 마이닝 | 대규모 데이터 속에서 의미있는 정보를 파악해 의사결정에 활용하는 기법 |
데이터 마이닝 기법 | 분연 연데 1. 분류 규칙 (Classification) : 과거 데이터로부터 분류 모델을 만들어 이를 토대로 새로운 결과 값을 예측 2. 연관 규칙 (Association) : 데이터 항목 간 종속 관계를 찾아냄 ex. 넥타이 구매자는 셔츠도 같이 구매함 3. 연속 규칙 (Sequence) : 연관 규칙에 '시간' 관련 정보가 포함된 기법 4. 데이터 군집화 (Clustering) : 유사한 특성을 지닌 그룹으로 분류하되 정보가 없는 상태에서 분류 |
텍스트 마이닝 | 대량의 텍스트 속에서 의미있는 정보를 찾아내는 기법 (자연어, 문서 처리기술 적용) |
웹 마이닝 | 웹으로부터 얻는 방대한 정보 속에서 의미있는 정보를 찾아내는 기법 (데이터 마이닝 기술 응용) |
스택 | 한 방향으로만 PUSH(삽입) & POP(삭제) |
큐 | 끝(Rear)에서는 Enqueue(삽입) & 앞(Front)에서는 Dequeue(삭제) |
데크 | 양쪽 끝에서 PUSH(삽입) & POP(삭제) |
728x90
300x250
'개인공부 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 5. 인터페이스 구현 (0) | 2024.05.02 |
---|---|
[정보처리기사 실기] 4. 통합 구현 (0) | 2024.05.01 |
[정보처리기사 실기] 2. 화면 설계 (1) | 2024.04.30 |
[정보처리기사 실기] 1. 요구사항 확인 (1) | 2024.04.30 |
[필기]1. 소프트웨어 설계 - 요구사항 확인(2) (4) | 2024.01.24 |