| 유형 | 설명 |
|---|---|
| 정형 데이터 | - 행(Row)과 열(Column) 구조가 명확하게 정의된 데이터 - 일정한 형식을 가지므로 검색·정렬·집계가 빠름 - 관계형 데이터베이스(DBMS)에서 주로 사용 |
| 비정형 데이터 | - 정해진 구조가 없는 데이터 -표 형태로 정리되어 있지 않아 즉시 분석이 어려움 - 사진, 영상, 음성 등 대용량 데이터에 해당 |
| 반전형 데이터 | - 구조는 있으나, 고정된 행·열 형태는 아님 - 태그 또는 키-값 형태로 구성됨 - 웹·모바일 환경에서 데이터 교환에 자주 사용(JSON, XML, HTML) |
1) DB(Database)
2) DBMS(Database Management System)
3) DBMS의 종류
| 종류 | 설명 |
|---|---|
| 계층형 DBMS | -데이터를 트리(Tree) 구조로 저장 - 부모-자식(1:N) 관계만 표현 가능 - 구조가 단순하지만 유연성이 낮음 |
| 네트워크형 DBMS | - 그래프 구조로 데이터 관계 표현 - M:N 관계 표현 가능 - 구조는 유연하나 설계와 관리가 복잡함 |
| 관계형 DBMS(RDBMS) | - 테이블(table)형태로 데이터 저장 - 행(Row)과 열(Column) 구조 기반 - SQL을 사용하여 데이터를 저장 - 종류: Oracle, MSSQL, MySQL, MAriaDB |
| 객체지향 DBMS | - 객체(Object) 단위로 데이터 저장 - 클래스, 상속 등 객체지향 개념 지원 - 특수 분야 시스템에서 활용 |
| NoSQL DBMS | - 관계형 모델을 사용하지 않음 -유연한 구조로 대용량 데이터 처리 가능 - 분산 환경 및 확장성에 강점이 있음 - 종류: MongoDB, Redis 등 |
| 특징 | 설명 |
|---|---|
| 추상화(Abstraction) | - 현실 세계의 복잡한 데이터를 이해하기 쉬운 구조로 표현 |
| 단순화(Simplification) | - 불필요한 요소를 제거하여 데이터 구조와 관계를 간결하게 만듦 |
| 명확화(Clarification) | - 데이터의 구조와 사용 방법을 명확히 정의하여 공통된 이해를 제공 |
| 유의점 | 설명 |
|---|---|
| 중복(Duplication) | - 동일한 데이터를 여러 곳에 저장하지 않도록 한다. - 예: 회원 전화번호를 여러 테이블에 저장하면 수정 시 모두 변경해야 한다. - 정규화(Normalization)를 통해 중복을 최소화한다. |
| 비유연성(Inflexibility) | - 업무 변경 시 데이터 구조를 쉽게 수정할 수 있도록 설계한다. - 프로그램과 데이터 구조를 분리하여 설계한다. |
| 비일관성(Inconsistency) | - 동일한 데이터는 항상 값은 값을 유지해야 한다. - 예: 회원 전화번호가 화면마다 다르면 문제가 발생한다. - 관계(Relationship)와 속성(Attribute)을 명확하게 정의해야 한다. |
비즈니스 요구사항을 수집하고 분석
수집방법: 사용자 인터뷰, 문서분석, 사용 사례검토
시스템에 필요한 데이터, 데이터 간 관계, 데이터 사용 방식 등을 파악
| 작업 | 설명 |
|---|---|
| 엔터티와 속성 정의 | - 각 엔터티의 속성을 정의 - 일반적인 수준에서 데이터 타입을 지정 |
| 관계 설정 | - 엔터티 간 관계를 명확히 정의 - 왜래 키(Foreogn key) 개념을 반영 |
| 정규화 | - 데이터 중복을 최소화하고 논리적 일관성을 확보 |
논리적 모델을 특정 DBMS에 맞춰서 구현 가능한 형태로 변환
쿼리 성능을 테스트하여 모델의 정확성을 검증
필요한 경우 스키마를 조정하여 성능을 개선
주요 작업
| 작업 | 설명 |
|---|---|
| 구체적인 데이터 타입 지정 | - DBMS에서 지원하는 실제 데이터 타입을 지정 |
| 인덱싱 및 최적화 | - 검색 속도 향상을 위해 인덱스를 생성 |
| 저장 공간 할당 | - 데이터 저장 공간을 계산하고 설정 |
| 보안 및 접근 제어 설정 | - 사용자 권한 및 보안 정책을 적용 |