데이터베이스 종류 ⭐⭐⭐

데이터베이스

1. 데이터베이스 개념

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

- 데이터에 대한 효과적인 관리를 위해 자료의 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장이 중요

- 데이터베이스 정의

정의 설명
통합된 데이터 (Integrated Data) 자료의 중복을 배재한 데이터의 모임
저장된 데이터 (Stored Data) 저장 매체에 저장된 데이터
운영 데이터 (Operational Data) 조직의 업무를 수행하는 데 필요한 데이터
공용 데이터 (Shared Data) 여러 어플리케이션, 시스템들이 공동으로 사용하는 데이터

 

2. 데이터베이스 특성

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

 

3. 데이터베이스 종류

① 파일 시스템 개념

- 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리방식

- 종류

종류 개념
ISAM · Index Sequential Access Method
· 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
VSAM · Virtual Storage Access Method
· 대형 운영체제에서 사용되는 파일 관리시스템

 

② 관계형 데이터베이스 관리시스템 (RDBMS : Relational Database Management System)

- 관계형 DBMS는 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스 관리시스템

- 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관관계를 정리

- 변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이

- 종류 : Oracle, SQL Server, MySQL, Maria DB 등..

 

③ 계층형 데이터베이스 관리시스템 (HDBMS : Hierarchical Database Management System)

- 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스

- 데이터에 대한 접근 속도가 빠르지만, 종속적인 구조로 인하여 변화하는 데이터 구조에 유연하게 대응하기가 쉽지 않다.

- 종류 : IMS, System2000 등..

 

④ 네트워크 데이터베이스 관리시스템 (NDBMS : Network Database Management System)

- 데이터의 구조를 네이트워상의 망상 형태로 표현한 데이터 모델

- 트리 구조나 계층형 데이터베이스보다는 유연하지만 설계가 복잡한 단점이 있다.

- 종류 : IDS, IDMS 등..

 

3. 데이터베이스 관리 툴

- DB 관리자(DBA)들이 데이터 베이스를 편리하고 쉽게 다룰 수 있도록 도와주는 도구

- 오픈 소스 기반으로 무료로 사용할 수 있는 툴과 상용화로 비용을 지불해야 사용할 수 있는 툴이 존재

- 기능

기능 설명
데이터베이스 생성, 삭제 CREATE와 DROP 명령을 통해 데이터베이스 생성 및 삭제 기능
SQL 명령어 작성 및 실행 SELECT, INSERT, UPDATE, DELETE 명령을 통해 데이터를 조회, 입력, 수정, 삭제가 가능
상태 모니터링 받은 데이터양, 보낸 데이터양, 동시 연결 수, 실패한 시도 등의 상태 표시
사용자 계정 관리 최상위 레벨의 SYS 계정, SYS로부터 DBA 권한을 받은 SYSTEM 계정, 일반 사용자 계정 등의 관리가 가능
데이터베이스 내보내기 / 가져오기 데이터베이스 마법사를 통해 파일형태로 데이터 내보내기 / 가져오기 가능
환경설정 버퍼의 크기, 동시 접속 클라이언트 숫자, 스레드 숫자 등의 환경변수 설정

 


 

DBMS

1. DBMS 개념

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

- 저장되는 정보는 텍스트, 이미지, 음악 파일, 지도 데이터 등 매우 다양하며, SNS의 발달과 빅데이터의 폭넓은 활용으로 인해 데이터의 종류와 양은 급격히 증가 중이다.

 

2. DBMS 유형

유형 설명
키 - 값 DBMS · 키 기반 Get / Put / Delete 제공, 메모리 기반에서 성능 우선 시스템 및 빅데이터 처리 가능 DBMS
· Unique 한 키에 하나의 값을 가지고 있는 형태
· 예) Redis, DynamoDB

컬럼 기반 데이터 저장 DBMS · Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS
· 데이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현
· 예) HBase, Cassandra

문서 저장 DBMS · 값의 데이터 타입이 문서라는 타입을 사용하는 DBMS
· 문서 타입은 XML, JSON과 같은 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 가능
· 예) MongoDB, Couchbase

그래프 DBMS · 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS
· 노드와 엣지로 특징되는 요소 특화, 노드 간 관계를 구조화하여 저장
· 예) Neo4j, AllegroGraph

 

3. DBMS 특징

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

 

4. 상용 DBMS 및 오픈 소스 기반 DBMS

상용 DBMS

- 상용 데이터베이스 관리시스템은 특정 회사에서 유료로 판매하는 시스템이다.

- 유지보수와 지원이 원활하다.

 

② 오픈 소스 기반 DBMS

- 오픈 소스 기반 데이터베이스 시스템은 오픈 소스 라이선스 정책을 준용하는 범위 내에서 사용이 자유롭다.

- 오픈 소스 기반 데이터베이스 관리 시스템 사용 시 고려 사항

· 기업들의 원가 절감 노력과의 상관관계 파악한다.
· 인공 지능, 클라우드, 빅데이터 등 새로운 기술의 증가에 따른 오픈 소스 데이터베이스 관리시스템의 대응 동향을 분석한다.
· 오픈 소스 진영에서 보안, 안정성에 대한 우려를 해결하고자 노력하는지를 조사한다.
· 정책적으로 오픈 소스 데이터베이스 관리시스템 활성화를 추진하는 사례를 정리한다.

 


 

데이터베이스 기술 트렌드

1. 빅데이터

빅데이터 개념 : 시스템, 서비스, 조직(회사) 등에서 주어진 비용, 시간 내에 처리가능한 데이터 범위를 넘어서는 수십 페타바이트 크기의 비정형 데이터이다.

 

빅데이터 특성

특성 설명
데이터의 양
(Volume)
· 페타바이드 수준의 대규모 데이터
· 빅데이터 분석 규모에 관련된 특성
· 디지털 정보량이 기하급수적으로 폭증하는 것을 의미

데이터의 다양성
(Variety)
· 정형, 비정형, 반정형의 다양한 데이터
· 빅데이터 자원 유형에 관련된 특성
· 로그, 소셜, 위치 등 데이터 유형이 다양해지는 것을 의미

데이터의 속도
(Velocity)
· 빠르게 증가하고 수집되며, 처리되는 데이터
· 빅데이터 수집, 분석, 활용 속도와 관련된 특성
· 가치 있는 정보 활용을 위해 실시간 분석이 중요해지는 것을 의미

 

③ 빅데이터 수집, 저장, 처리 기술

구분 설명
비정형/반정형 데이터 수집 내, 외부 정제되지 않은 데이터를 확보, 이를 통해 필요 정보를 추출하여 활용하기 위해서 효과적으로 수집 및 전송하는 기술
예) 척와(Chukwa), 플럼(Flume), 스크라이브(Scribe)
정형 데이터 수집 내, 외부 정제된 대용량 데이터의 수집 및 전송 기술
예) ETL, FTP, 스쿱(Sqoop), 하이호(Hiho)
분산데이터 저장/ 처리 대용량 파일의 효과적인 분산 저장 및 분산 처리 기술
예) HDFS, 맵 리듀스
분산데이터 베이스 HDFS의 컬럼 기반 데이터베이스로 실시간 랜덤 조회 및 업데이트가 가능한 기술
예) HBase

* HDFS : 대용량 데이터의 집합을 처리하는 응용 프로그램에 적합하도록 설계된 하둡 분산 파일 시스템

* 맵 리듀스 : 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년에 발표한 소프트 프레임워크

 

④ 빅데이터 분석, 실시간 처리 및 시각화를 위한 주요 기술

구분 설명
빅데이터 분석 · 빅데이터를 분석하기 위한 데이터의 가공과 분류, 클러스터링, 패턴 분석을 처리하는 기술
· 데이터 가공을 위한 대표적인 솔루션에는 피그, 하이브가 있고, 데이터 마이닝을 위한 대표적인 솔루션에는 머하웃이 있음
빅데이터 실시간 처리 · 하둡 기반의 실시간 SQL 질의 처리와 요청된 작업을 최적화하기 위한 워크플로우 관리 기술
· 실시간 SQL 질의를 위한 대표적인 솔루션은 임팔라이고, 워크플로우 관리를 ㅜ이한 대표적인 솔루션은 우지가 있음
분산 코디네이션 · 분산 환경에서 서버들 간에 상호조정이 필요한 다양한 서비스를 분산 및 동시처리 제공 기술
· 분산 코디네이션을 위한 대표적인 솔루션은 주키퍼가 있음
분석 및 시각화 · 빅데이터 분석 기술을 통해 분석된 데이터의 의미와 가치를 시각적으로 표현하기 위한 기술
· 분석 및 시각화를 위한 대표적인 솔루션은 알이 있음

 

2. NoSQL(Not Only SQL)

① NoSQL의 개념 : 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어로 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인 연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS이다.

 

② No SQL의 특성

특성 설명
Basically Available · 언제든지 데이터는 접근할 수 있어야 하는 속성
· 분산 시스템이기 때문에 항상 가용성 중시
Soft-State · 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정되는 속성
· 특정 시점에서는 데이터의 일관성이 보장되지 않음
Eventually Consistency · 일정 시간이 지나면 데이터의 일관성이 유지되는 속성
· 일관성을 중시하고 지향

 

  DBMS 유형

유형 설명
Key-Value Store · 키 기반 Get / Put / Delete 제공하는 빅데이터 처리 가능 DB
· Unique 한 Key에 하나의 Value을 가지고 있는 형태
· 예) Redis, DynamoDB

Column Family Data Store · Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DB
· 데이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현
· 예) HBase, Cassandra

Document Store · Value의 데이터 타입이 Document라는 타입을 사용하는 DB
· 문서 타입은 XML, JSON, YAML과 같은 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 할 수 있음
· 예) MongoDB, Couchbase

Graph Store · 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DB
· 예) Neo4j, AllegroGraph

* 온톨로지 : 실세계에 존재하는 모든 개념과 개념들의 속성, 그리고 개념 간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식 베이스

 

3. 데이터 마이닝

① 데이터 마이닝 개념

· 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술이다.

· 데이터 마이닝은 대규모 데이터에서 의미 있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 기법이다.

· 데이터 마이닝은 데이터의 숨겨진 정보를 찾아내어 이를 기반으로 서비스와 제품에 도입하는 과정이다.

· 통계분석은 가설이나 가정에 따른 분석, 검증을 하지만 데이터 마이닝은 수리 알고리즘을 활용하여 대규모 데이터에서 의미 있는 정보를 찾아낸다.

 

② 데이터 마이닝 절차

단계 절차 설명
1단계 목적 설정 · 데이터 마이닝을 통해 얻고자 하는 명확한 목적 설정
· 목적에 따라 사용할 모델과 필요 데이터 정의
2단계 데이터 준비 · 거래정보, 웹로그 데이터, 고객 정보, 데이터 사용량, 소셜 데이터 등 다양한 데이터 활용
· 사전에 운영 데이터 접근에 따른 부하 고려
· 필요시 작업 서버에 저장하여 운영에 지장이 없도록 데이터 준비
· 데이터 정제를 통해 데이터의 품질을 보장하고, 필요시 데이터 추가 등을 통해 충분한 양의 데이터 확보

3단계 가공 · 모델링 목적에 따라 목적 변수 정의
· 필요한 데이터를 데이터 마이닝 소프트웨어에 적용할 수 있는 형식으로 가공 처리
4단계 마이닝 기법 적용 · 1단계의 명확한 목적에 맞도록 데이터 마이닝 기법을 적용하여 정보 추출
5단계 정보 검증 · 데이터 마이닝으로 추출된 정보 검증
· 테스트 데이터와 과거 데이터를 활용하여 최적의 모델 선정
· 데이터 마이닝 결과의 업무 적용 보고서 작성 및 활용

 

③ 데이터 마이닝 주요 기법 :  텍스트 마이닝, 웹 마이닝과 함께 다양한 분양에서 활용되고 있다.

* 텍스트 마이닝 : 대량의 텍스트 데이터로부터 패턴 또는 관계를 추출하여 의미 있는 정보를 찾아내는 기법

* 웹 마이닝 : 웹으로부터 얻어지는 방대한 양의 정보로부터 유용한 정보를 찾아내기 위하여 분석하는 기법

주요 기법 설명
분류 규칙 · 과거 데이터로부터 특성을 찾아내어 분류모형을 만들어 이를 토대로 새로운 레코드의 결과 값을 예측하는 기법
· 마케팅, 고객 신용평가 모형에 활용
예) 우수 고객의 분류 모형 구축으로 마케팅 활용
연관 규칙 · 데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법
· 제품이나 서비스의 교차판매, 매장 진열, 사기 적발 등 다양한 분야에서 활용
예) 넥타이 구매고객의 50% 이상이 셔츠를 구매한다는 정보 분석을 통해 매장의 상품 진열
연속 규칙 · 연관 규칙에 시간 관련 정보가 포함된 형태의 기법
· 개인별 트랜잭션 이력 데이터를 시계열적으로 분석하여 트랜잭션의 향후 발생 가능성 예측
예) A품목을 구매한 회원이 B품목을 구매할 확률은 75%
데이터 군집화 · 대상 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 작업으로 작업의 특성이 분류규칙과 유사
· 정보가 없는 상태에서 데이터를 분류하는 기법
· 분석대상에 결괏값이 없으며, 판촉활동이나 이벤트 대상을 선정하는 데 활용

예) 고객의 지역/연령/성별에 따른 차별화 홍보전략

 


TEST  →  정답은 드래그!

정답 종류
DBMS 데이터베이스라는 데이터의 집합을 만들고, 저장 및 관리 할 수 있는 기능들을 제공하는 응용 프로그램이다. 

 

 

 

 

※ 해당 글은 수제비 2022 도서 참고하였습니다.

 

수제비- IT 커뮤니티 (정보처리기사... : 네이버 카페

수제비-수험생 입장에서 제대로 쓴 비법서(정보처리기사, 정보처리기능사, 빅데이터 분석기사 등 시리즈)

cafe.naver.com

 

데이터 모델 ⭐⭐⭐

데이터 모델(Data Model) 개념

· 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델

· 데이터 모델 표시요소 (연구해서 시해!)

표시요소 설명
연산
(Operation)
· 데이터베이스에서 실제 데이터를 처리하는 작업에 대한 명세
· 릴레이션을 조작하기 위한 연산을 나타냄 (SELECT, PROJECT, JOIN, DIVISION)
구조
(Structure)
· 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계
· 데이터 구조 및 정적 성질을 표현하는 요소
제약조건
(Constraint)
· 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
· 데이터 무결성 유지를 위한 DB의 보편적 방법
· 릴레이션의 특정 컬럼에 설정하는 제약을 의미(개체 무결성, 참조 무결성 등)

 


 

데이터 모델 절차 ( 놈말은 념도 없고 리도 없고!! 먹이네!)

단계 모델 설명
요구조건 분석 - · 도출된 요구사항 간 상충 해결, 범위 파악하여 외부 환경과의 상호작용을 분석을 통해 데이터에 대한 요구 분석
개념적 설계 개념적 데이터 모델 · 사용자의 요구에 대한 트랜잭션을 모델링 하는 단계
· 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델
· 트랜잭션 모델링, View 통합방법 및 Attribute 합성 고려
· DB의 종류와 관계가 없음
· 주요 산출물 : 개체관계 다이어그램(ERD)

논리적 설계 논리적 데이터 모델 · 트랜잭션의 인터페이스를 설계하는 단계
· DBMS에 맞는 논리적 스키마를 설계하는 단계
· 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델
· 논리적 설계 단계에서 정규화를 수행
· 논리적 데이터베이스 구조로 매핑(Mapping)
· 스키마의 평가 및 정제
· 논리적 데이터 모델을 통해 '관계 데이터 모델', '계층 데이터 모델', '네트워크 데이터 모델', '객체 지향 데이터 모델', '객체-관계 데이터 모델' 중 하나의 모델에 맞게 설계
· 관계형 데이터베이스에서는 테이블을 설계하는 단계
물리적 설계 물리적 데이터 모델 · 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계
· 무논리 데이터 모델을 사용하고자 하는 각 DBMS의 특성을 고려하여 데이터베이스 저장구조(물리 데이터 모델)로 변환하는 과정
· 테이블, 인덱스, 뷰, 파티션 등 객체를 생성
· 응답시간, 저장 공간의 효율화, 트랜잭션 처리를 고려하여 설계
· 성능 측면에서 반 정규화를 수행
· 레코드 집중의 분석 및 설계
· 저장 레코드 양식 설계
· 접근 경로(Access Path) 설계
· 주요 산출물 : 테이블 정의서

* 정규화

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

* 반정규화 

정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등 수행하는 데이터 모델링의 기법

 


 

논리 데이터 모델 검증⭐⭐⭐

논리 데이터 모델링 개념

- 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현하는 프로세스

- 개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델

* 개념 모델

주제 영역과 핵심 데이터 집합 간의 관계를 정의하는 모델, 전체 모델에서 중요한 골격이 되는 개체와 관계위주의 모델

 


 

논리적 데이터 모델링 종류

종류 설명
관계 데이터 모델 · 논리적 구조가 2차원 테이블 형태로 구성된 모델
· 기본 키(PK)와 이를 참조하는 외래 키(FK)로 관계 표현
· 1:1, 1:N, N:M 관계를 자유롭게 표현

계층 데이터 모델 · 논리적 구조가 트리 형태로 구성된 모델
· 상하관계가 존재한다(부모-자식)
· 1:N 관계만 허용

네트워크 데이터 모델 · 논리적 구조가 그래프 형태로 구성된 모델
· CODASYL DBTG모델이라고 불림
· 상위와 하위 레코드 사이에 다대다(N:M) 관계를 만족하는 구조

 


 

관계 데이터 모델

1. 관계 데이터 모델

- 관계 데이터 모델 개념

  └  데이터를 행과 열로 구성된 2차원 테이블 형태로 구성한 모델

  └  수학자 E.F.Codd 박사가 제안한 모델

- 관계데이터 모델의 구성요소

구성요소 설명
릴레이션(Relation) 행(Row)과 열(Column)로 구성된 테이블
튜플(Tuple) 릴레이션의 행(Row)에 해당되는 요소
속성(Attribute) 릴레이션의 열(Column)에 해당되는 요소
카디널리티(Cardinality) 튜플(Row)의 수
차수(Degree) 애트리뷰트(Column)의 수
스키마(Schema) 데이터베이스의 구조, 제약 조건 등의 정보를 담고 있는 기본적인 구조
인스턴스(Instance) 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합

 

2. 관계 데이터 모델의 표현

- 데이터 간의 관계를 기본 키와 이를 참조하는 외래 키로 표현

- 테이블 간 관계를 1:1, 1:N, N:M 관계로 목적에 맞게 표현

 

3. 관계 대수

- 관계 대수 개념 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어

- 관계 대수 연산자의 종류

  └  일반 집합 연산자 : 수학적 집합 개념을 릴레이션에 적용한 연산자 (힙과 발라드가 교차하는 마이~) 

연산자 기호 표현 설명
합집합(Union) R∪S 합병 가능한 두 릴레이션 R과 S의 합집합
교집합(Intersection) R∩S 릴레이션 R과 S에 속하는 모든 튜플로 결과 릴레이션 구성
차집합(Difference) R-S R에 존재하고 S에 미 존재하는 튜플로 결과 릴레이션 구선
카티션 프로덕트 × R×S R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성

 

  └  순수 관계 연산자 : 관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자(셀프조인하면 진다!)

연산자 기호 표현 설명
셀렉트(Select) σ σ조건(R) · 릴레이션 R에서 조건을 만족하는 튜플을 반환
프로젝트(Project) π(파이) π속성리스트(R) · 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환
조인(Join) R⋈S · 공통 속성을 이용해 R과 S의 튜플들을 연결해 만든어진 튜플 반환
디지번(Division) ÷ R÷S · 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환
· 릴레이션 A, B가 있을 때 릴레이션 B 조건에 맞는 것들만 릴레이션 A에서 튜플을 꺼내 프로젝션하는 관계

 

4. 관계 해석

- 관계 해석 개념 : 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어

- 관계 해석 특징 : 프레디킷 해석에 기반한 언어이며 비절차적 언어(원하는 정보가 무엇이라는 것만 선언)이다.

 


 

논리 데이터 모델링 속성 (개속관)

구조 설명

개체
(Entity)
· 관리할 대상이 되는 실체 (사물 또는 사건)
· 피터 챈 모델 개체 표시 : 사각형(ㅁ)
· 까마귀발 모델 개체 표시 : 표 형식

속성
(Attributes)
· 관리할 정보의 구체적 항목 (요소 또는 성질)
· 피터 챈 모델 속성 표시 : 타원형(O)
· 까마귀발 모델 속성 표시 : 표 내부
· 속성명은 단수형으로 명명, 개체명을 사용하지 않는다.
· 속성이 필수 사항(Not Null)인지, 아닌지(Null) 고려하여 작성한다.

관계
(Relationship)
· 개체 간의 대응 관계 (두 객채의 관계를 정의)
· 피터 챈 모델 관계 표시 : 마름포(◇)

까마기발 모델 관계 표시 의미
1:1 관계를 표시한다.
1:m 관계를 표시한다.
n:m 관계를 표시한다.

 


 

개체-관계(E-R) 모델

1. 개체-관계(E-R) 모델 개념

- 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 가장 널리 사용되고 있는 모델

- 논리 데이터 모델링에서는 모든 이해당사자와 의사소통의 보조 자료로 활용한다.

- 요구사항으로부터 얻어낸 정보들을 개체, 속성, 관계로 기술한 모델이다.

 

2. 개체-관계(E-R) 다이어그램 기호

구성 기호
개체 사각형
관계 마름모
속성 타원
다중 값 속성 이중타원
관계-속성 연결

 


 

정규화

1. 정규화(Normalization)의 개념

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

 

2. 이상현상 (삽삭갱)

- 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상

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

 

3. 정규화의 단계 (도부이결다조)

단계 조건
1정규형(1NF) · 도메인이 원자값으로 구성
· 원자값으로 구성, 반복 속성/중복 제거가 필요하다.
2정규형(2NF) · 부분 함수 종속 제거(완전 함수적 종속 관계)
· 주식별자가 아닌 속성을 분리한다.
3정규형(3NF) · 이행함수 종속 제거
· 속성에 종속적인 속성을 분리한다.
보이스-코드 정규형(BCNF) · 결정자 후보 키가 아닌 함수 종속 제거
· 모든 결정자가 후보 키가 되도록 하여 결정자 함수 종속성을 제거
·
3차 정규형을 만족하면서 모든 결정자가 후보키 집합에 속한 정규형
· 3차 정규형으로 해결할 수 없는 이상 현상을 해결할 수 있다.

4정규형(4NF) · 다치(다중 값) 종속 제거
· 특정 속성값에 따라 선택적인 속성을 분리한다.
5정규형(5NF) · 조인 종속 제거

 


 

반 정규화 (비정규화, 역정규화)

1. 반 정규화 개념

- 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법이다.

 

2. 반 정규화 특징

장점 단점
· 반 정규화된 데이터 구조는 성능 향상과 관리의 효율성이 증가 · 데이터의 일관성 및 정합성 저하
· 유지를 위한 비용이 별도로 발생하여 성능에 나쁜 영향을 미칠 수 있음
우선순위 비교 조정 과정 중요 : 데이터의 일관성과 무결성 OR 데이터베이서의 성능과 단순화

 

3. 비 정규화 절차

절차 설명
대량 조사 범위 처리 빈도수, 대량 범위 처리, 통계성 프로세스, 테이블 조인 수를 고려한다.
다른방법 유도 뷰 테이블, 클러스터링, 인덱스의 조정, 어플리케이션의 변경 등을 유도한다.
반 정규화를 적용한다.

 

4. 반 정규화 기법 (테병분중 컬중 관중)

구분 수행 방법 설명
테이블 테이블 병합 · 1:1 관계, 1:M 관계를 통합하여 조인 횟수를 줄여 성능을 향상
· 슈퍼타입/서브타입 테이블 통합 통해 성능 향상
테이블 분할 · 테이블을 수직 또는 수평으로 분할하는 것으로 파티셔닝이라고 함
종류 설명
수평 분할 · 테이블 분할에 레코드를 기준으로 활용
수직 분할 · 하나의 테이블이 가지는 컬럼의 개수가 증가하는 경우 사용
· 갱신 위주의 속성 분할, 자주 조회되는 속성 분할, 크기가 큰 속성 분할, 보안을 적용해야하는 속성 분할
중복 테이블 추가 · 대량의 데이터들에 대한 집계합수를 사용하여 실제 통계정보를 계산하는 경우에 효과적인 수행을 위해 별도의 통계 테이블을 두거나 중복 테이블을 추가
종류 설명
집계 테이블 집계 데이터를 위한 테이블을 생성하고 각 원본 테이블에 트리거를 설정하여 사용하는 것으로, 트리거의 오버헤드에 유의 필요
진행 테이블 이력 관리 등의 목적으로 추가하는 테이블로, 적절한 데이터양의 유지와 활용도를 높이기 위해 기본키를 적절히 설정
특정 부분만을 포함하는 테이블 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블을 생성
컬럼 컬럼 중복화 · 조인 성능 향상을 위한 중복 허용
관계 중복관계 추가 · 데이터를 처리하기 위한 여러 경로를 거쳐 조인이 가능하지만, 이때 발생할 수 있는 성능 저하를 예방하기 위해 추가적 관계를 맺는 방법

 

 

 

 

 

※ 해당 글은 수제비 2022 도서 참고하였습니다.

 

수제비- IT 커뮤니티 (정보처리기사... : 네이버 카페

수제비-수험생 입장에서 제대로 쓴 비법서(정보처리기사, 정보처리기능사, 빅데이터 분석기사 등 시리즈)

cafe.naver.com

 

+ Recent posts