관계형 데이터베이스에 대해서 알아보는 시간
안녕하세요, 구독자 여러분. [개발PM이 쉽게 쓰는 IT 이야기]
예를 들어, 고객 정보 데이터베이스에는 고객 ID, 이름, 주소, 전화번호 등의 필드가 정의되어 있고, 각 데이터는 해당 필드에 맞게 저장됩니다. 정형 데이터베이스는 데이터의 일관성과 무결성을 유지하기 쉽고, 복잡한 쿼리를 사용하여 데이터를 분석할 수 있다는 장점이 있습니다.
정형 데이터베이스는 [필수조건]으로 '데이터 딕셔너리'가 사전에 구성되어 있어야 합니다.
데이터 딕셔너리는 데이터베이스의 구조와 데이터의 의미를 설명하는 정보의 집합입니다. 데이터 딕셔너리는 데이터베이스의 설계, 개발, 유지 관리에 중요한 역할을 합니다.
데이터베이스 구조: 테이블, 뷰, 인덱스 등의 구조적 정보
데이터의 의미: 데이터의 속성, 유형, 단위 등의 의미 정보
데이터의 관계: 테이블 간의 관계, 데이터 간의 관계
데이터의 제약 사항: 데이터의 유효성, 무결성 등의 제약 사항
* 데이터의 일관성과 무결성이 중요한 경우
예시: 고객 관계 관리 (CRM) 시스템에서 고객의 정보를 저장하는 경우, 고객의 이름, 주소, 전화번호, 이메일 주소 등과 같은 데이터를 정형 데이터베이스에 저장
* 복잡한 데이터 분석이 필요한 경우
예시: 금융 분야에서는 정형 데이터베이스를 사용하여 대량의 거래 데이터를 분석하여 고객의 신용 등급을 산정하거나, 투자 전략을 수립하는 등의 업무를 수행
데이터의 유연성이 떨어집니다. 데이터 구조가 미리 정의되어 있기 때문에, 데이터의 구조가 변경되면 데이터베이스 구조도 변경해야 합니다. 대용량 데이터 처리에 어려움이 있습니다. 비정형 데이터를 저장하기 어렵습니다. 정리하자면, 관계형 데이터베이스를 사용할 때는 3가지의 고려해야 될 사항들이 있습니다.
데이터의 구조가 자주 변경되는 경우
대용량 데이터를 처리해야 하는 경우
비정형 데이터를 저장해야 하는 경우
실제로 현업에서 사용하는 정형 데이터베이스들입니다.
* 관계형 데이터베이스 (RDBMS) MySQL, PostgreSQL, Oracle, SQL Server
관계형 데이터베이스는 데이터를 테이블이라는 구조로 저장하는 데이터베이스입니다. 테이블은 행과 열로 구성되어 있으며, 행은 데이터의 개체를 나타내고, 열은 데이터의 속성을 나타냅니다.
데이터의 구조가 미리 정의되어 있습니다.
데이터의 무결성 및 일관성이 보장됩니다.
복잡한 쿼리를 사용하여 데이터를 분석할 수 있습니다.
* 객체 지향 데이터베이스 (OODBMS) Objectivity/DB, ObjectStore, GemStone/S
객체 지향 데이터베이스는 객체 지향 프로그래밍의 개념을 그대로 적용한 데이터베이스입니다. 객체 지향 데이터베이스는 데이터를 '객체'라는 구조로 저장합니다. 객체는 속성과 메서드를 포함하는 데이터 구조입니다.
객체 지향 데이터베이스는 객체의 데이터 무결성을 지원하지 않습니다.
객체 지향 프로그래밍의 모든 개념을 지원합니다.
데이터의 구조가 유연합니다.
* 객체 관계형 데이터베이스 (ORDBMS) DB2, Informix, Interbase
객체 관계형 데이터베이스는 관계형 데이터베이스의 확장된 형태입니다. 객체 관계형 데이터베이스는 객체 지향 프로그래밍의 개념을 관계형 데이터베이스에 적용합니다. 즉, 객체 관계형 데이터베이스는 '테이블'과 '객체'를 모두 저장할 수 있습니다. 객체 관계형 데이터베이스는 관계형 데이터베이스의 데이터 무결성을 지원합니다.
관계형 데이터베이스의 장점을 그대로 유지합니다.
객체 지향 프로그래밍의 개념을 지원합니다.
요약하자면, 정형 데이터 베이스는 데이터 딕셔너리(사전에 정의된 구조)에 따라 저장되는 데이터베이스입니다.
따라서, 데이터베이스를 선택할 때에는 데이터의 '특성'과 '사용 용도'에 따라 적합한 데이터베이스를 선택하는 것이 중요합니다. 다음 글에서는 비정형 데이터베이스에 대해서 알아 보도록 하겠습니다.
2023/11/08 Jayden
추가로, 비정형 데이터베이스에 대해서 알고싶으시다면?!
https://brunch.co.kr/@joohyung-im/6