3과목 데이터 입출력 구현

YunGyu Choi·2023년 1월 25일
0

정보처리기사

목록 보기
3/10

1. 데이터 모델

1) 표시요소

  • 연산 : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세
  • 구조 : 데이터베이스에 논리적으로 표현될 대상으로서 개체타입과 개체타입간의 관계
  • 제약조건 : 데이터 무결성 유지를 위한 데이터베이스의 보편적 방법

2) 데이터 모델 절차

  • 요구조건 분석 : 도출된 요구샇아 간 상충을 해결하고 범위 파악
  • 개념적 설계 : 현실세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조 도출, ERD산출
  • 논리적 설계 : 트랜잭션의 인터페이스를 설계하는 단계, DBMS에 맞는 스키마 설계, 정규화 수행
  • 물리적 설계 : 특정 DBMS의 특성 및 성능을 고려하여 데이터베이스 저장구조로 변환, 테이블 명세서 산출

3) 논리적 데이터 모델링 종류

  • 관계 데이터 모델 : 논리 구조가 2차원 테이블 형태로 구성된 모델
  • 계층 데이터 모델 : 논리적 구조가 트리 형태로 구성된 모델
  • 네트워크 데이터 모델 : 논리적 구조가 그래프 형태로 구성된 모델, 상하관계 존재, 1:N 관계만 허용

4) 논리 데이터 모델 구성요소

  • 개체 : 관리할 대상이 되는 실체
  • 속성 : 개체가 가지고 있는 요소 또는 성질
  • 관계 : 두 개체 간의 관계

2. 정규화

: 관계데이터 모델링에서 데이터의 중복성을 제거하여 이상현상 방지, 일관성, 정확성 유지를 위해 무손실 분해하는 과정

1) 이상현상 : 데이터 중복성으로 인해 릴레이션 조작시 발생하는 비합리적 현상

  • 삽입 이상 : 정보 저장시 해당 정보의 불필요한 세부 정보 입력해야 하는 경우
  • 삭제 이상 : 정보 삭제시 원하지 않는 다른 정보가 함께 삭제되는 경우
  • 갱신 이상 : 중복 데이터 중에서 특정 부분만 수정되어 중복값이 모순을 일으키는 경우

2) 정규화 단계

  • 1정규형 : 속성 값이 원자값이어야 충족
  • 2정규형 : 부분 함수 종속 제거해야 충족
  • 3정규형 : 이행적 함수 종속 제거해야 충족
  • 보이스-코드 정규화 : 결정자 함수 종속 제거해야 충족
  • 4정규형 : 다치 종속 제거해야 충족
  • 5정규형 : 조인 종속 제거해야 충족

3) 비정규화

  • 정규화된 엔터티, 속성, 관계에 대해 성능향상과 단순화를 목적으로 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
  • 단점 : 정합성 및 일관성 저하, 성능에 오히려 악영향을 줄 수 있음

3. 데이터베이스

: 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터 집합

1) 특성

  • 실시간 접근성 : 쿼리에 대하여 실시간 응답이 가능해야함
  • 계속적인 변화 : 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신 데이터 유지
  • 동시 공용 : 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 함
  • 내용 참조 : 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라, 사용자가 요구하는 데이터 내용을 데이터 찾음

2) 종류

  • 파일 시스템 : 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 위치 정의한 뒤 관리
  • ISAM : 자료 내용은 주저장부에, 자료 색인은 자료우치와 함께 색인부에 기록
  • VSAM : 대형 운영체제에서 사용되는 파일 관리 시스템
  • RDBMS : 관계형 데이터베이스, 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하관계로 표시하여 관계 정리
  • HDMBS : 계층형 데이터베이스, 데이터를 상하 종속적인 관계로 계층화하여 관리
  • NDBMS : 네트워크 데이터베이스, 데이터의 구조를 네트워크 상의 망 형태로 표현한 데이터 모델

3) DMBS : 데이터 관리의 복잡성을 해결, 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 기능을 지원하는 소프트웨어

  • 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대해 서로 다른 데이터가 저장되는 것을 허용X
  • 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 일정
  • 회복성 : 장애 발생시 특정 상태로 복구
  • 보안성 : 불법적인 노출, 변경, 손실로 부터 보호
  • 효율성 : 응답시간, 저장공간 활용등이 최적화 되어 사용자, 소프트웨어, 시스템 요구조건 만족

4) NoSQL : 전통적인 RDBMS와 구분하기 위한 표현, 데이터 저장에 스키마X , 조인연산 불가능, 수평적 확장 가능

  • Basically Available : 언제든지 데이터에 접근 가능
  • Soft-Sate : 노드 상태는 내부 정보가 아닌 외부 정보를 통해 결정
  • Eventually Consistency : 일정 시간이 지나면 데이터 일관성이 유지

5) 파티션 종류

  • 레인지 파티셔닝 : 연속적인 숫자나 날짜를 기준으로 하는 파티셔닝, 손쉬운 관리 기법 제공, 관리시간 단축
  • 해시 파티셔닝 : 파티션 키의 해시함수 값에 의한 파티셔닝 기법
  • 리스트 파티셔닝 : 특정 파티션에 저장될 데이터에 대한 "명시적 제어가 가능한" 파티셔닝
  • 컴포지트 파티셔닝 : 범위분할 + 해시함수 적용, 재분할하는 파티셔닝 하는 기법
  • 라운드로빈 파티셔닝 : 라운드로빈 분할로 회전하면서 새로운 행이 파티션에 할당하는 방식

4. 빅데이터

: 시스템, 서비스, 조직 등에서 주어진 비용, 시간 내 처리 가능ㅎ나 데이터 범위를 넘어서는 크기의 비정형 데이터

1) 데이터 수집, 저장, 처리 기술

  • ETL : 조직의 데이터를 단일 데이터 저장소에 결합시 사용
  • Sqoop : 하둡 - 관계형데이터베이스 간 데이터 전송
  • Chuckwa : 대규모 분산 시스템 모니터링을 위한 오픈소스 데이터 로그 수집 시스템
  • Flume : 분산형 로그 수집 기술
  • Scribe : 대용량 실시간 데이터 수집
  • Scrapy : 파이썬 기반 비정형 데이터 수집
  • HDFS : 대용량 데이터의 집합처리를 하는 응용 프로그램에 적합하도록 설계된 하둡 분산 파일 시스템
  • Map Reduce : 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년에 발표한 소프트웨어 프레임워크
  • 분산 데이터베이스 : HDFS의 칼럼 기반 데이터베이로 실시간 랜덤조회 및 업데이트가 가능한 기술

2) 데이터 마이닝 : 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾는 기술

  • 분류 규칙 : 과거 데이터로 부터 특성을 찾아내어 분류 모형을 만들고 이를 토대로 새로운 레코드의 결과 예측
  • 연관 규칙 : 데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법
  • 연속 규칙 : 연고나 규칙에 시간관련 정보가 포함
  • 데이터 군집화 : 정보가 없는 상태에서 데이터를 분류하는 기법

3) 기타

  • 텍스트 마이닝 : 대량의 텍스트 데이터로부터 패턴 or 관계를 추출하여 의미있는 정보를 찾는 기법
  • 웹 마이닝 : 웹으로 부터 얻어지는 방대한 양의 데이터로부터 유용한 정보를 찾아내기 위해 분석하는 기법
  • 온톨로지 : 실세계에 존재하는 모든 개념과 개념들의 속성, 그리고 개념간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해놓은 지식 베이스
  • 시멘틱 웹 : 인터넷 환경에서 리소스에 대한 정보를 기계가 처리할 수 있는 온톨로지 형태로 표현하고 이를 기계가 처리할 수 있도록 하는 기술
profile
velog에는 이론을 주로 정리하고, 코드와 관련된 것은 Git-hub로 관리하고 있어요. 포트폴리오는 링크된 Yun Lab 홈페이지를 참고해주시면 감사하겠습니다!

0개의 댓글