2024-03-26 [데이터베이스(Database) / 관계형 데이터베이스(Relational DataBase)]
1. 데이터베이스(Database)
데이터베이스(Database)란?
쉽게 설명해 필요한 정보들을 한 곳에, 체계적으로 모아 놓은 것을 의미합니다.
일반적으로 데이터베이스는 컴퓨터 시스템 내 전자적으로 저장되어 있는 구조화된 정보 또는 조직화 된 체계적인 데이터의 모음을 의미합니다.
데이터베이스는 일반적으로 데이터베이스 관리시스템(DBMS)에 의해 제어되며,
데이터와 DBMS는 연관된 응용 프로그램과 함께 데이터베이스 시스템이라고 정의됩니다.
오늘날 운영되는 가장 일반적인 유형의 데이터베이스 안의 데이터는 일반적으로 처리 및 데이터 쿼리를 효율적으로 만들기 위해 일련의 테이블에 행과 열로 모델링 됩니다. 모델링이 된 이후 데이터에 쉽게 접근, 관리, 수정, 업데이트, 제어하며 조직할 수 있습니다.
대부분의 데이터베이스는 데이터를 작성하고 쿼리하기 위해 구조화된 *쿼리 언어 SQL을 사용합니다.
쿼리 : 데이터베이스에 정보를 요청하는 것을 의미
데이터베이스를 통해 다량의 데이터를 한 곳에 모아 엑세스하고 다양한 방법으로 데이터를 활용하여 의미있는 정보를 만들 수 있습니다!
여기서 데이터와 정보의 차이를 설명드리자면,
데이터는 현실 세계에서 측정하고 수집한 사실이나 값이고,
정보(Information)는 어떠한 목적이나 의도에 맞게 데이터를 가공 처리한 것입니다.
어떤 의미나 목적을 포함하지 않고 단순 수집된 원시 자료가 데이터, 어떤 목적이나 의도에 따라 데이터를 처리하고 분석하여 데이터에 의미를 부여한 것이 정보입니다.
데이터베이스 작동방식
데이터베이스를 사용하여 사용자는 구조화 또는 구조화되지 않은 다양한 방법으로 정보를 입력할 수 있으며, 소프트웨어 프로그램을 통해 원하는 대로 데이터를 조작하여 각 테이블 별 정보 간의 관계를 형성하고 분석할 수 있습니다.
중요한 점은 모든 데이터베이스에는 DBMS가 필요합니다.
DBMS는 데이터베이스의 "두뇌"이자 데이터와 사용자를 잇는, 브릿지 역할을 하는 구성 요소입니다. 이러한 시스템을 사용하면 사용자는 데이터가 저장되는 위치와 방법을 정확하게 알지 못하더라도 데이터를 조작할 수 있습니다. 대신 시스템은 데이터의 식별과 액세스를 별개로 처리합니다.
DBMS는 사용자가 정보를 추가, 삭제, 변경, 업데이트, 구성할 수 있도록 할 뿐만 아니라 백업 및 복구, 성능 모니터링, 최적화를 포함한 다양한 관리 기능을 제공합니다.
데이터베이스와 스프레드시트 비교
데이터베이스와 마찬가지로 스프레드시트도 데이터를 저장하고 구성하는데 사용됩니다.
두 가지의 차이점이라면 일반적으로 Microsoft Excel에서 사용되는 스프레드시트는 데이터베이스보다 훨씬 간단하며, 수 많은 사용자가 아닌 개별 사용자 또는 소수의 사용자 사용하기에 적합합니다.
데이터베이스와 스프레드시트의 가장 큰 차이점으로는
(1) 데이터를 저장하고 데이터에 액세스 및 조작하는 방법
(2) 저장할 수 있는 정보의 양
(3) 정보에 액세스할 수 있는 사용자입니다.
데이터베이스는 간단한 스프레드시트로 다루기 힘든 방대한 양의 데이터를 저장할 수 있으며 개인이 아닌 많은 사용자가 데이터베이스의 데이터에 액세스하고 조작할 수 있습니다.
또한 사용자는 데이터베이스를 쿼리하여 스프레드시트에서보다 더 복잡하고 포괄적인 매개변수를 사용하여 특정 정보를 찾을 수 있으며, 다양한 변수들을 다양한 방법으로 비교하고 분석할 수 있습니다.
2.관계형 데이터베이스(Relational DataBase)
관계형 데이터베이스(Relational Database)란?
‘고객 데이터’ 테이블과 ‘제품 데이터’ 테이블이 있다고 가정해 봅시다! (엑셀로 비유하자면 각각의 시트가 있다고 생각해 주시면 됩니다.)
고객 데이터와 제품 데이터를 연동하여 하나의 ‘판매 데이터'를 구축하려 하는데요, 이 두개의 데이터를 연동시키기 위해서는 최우선적으로 고려해야 할 것은 ‘고유값’입니다.
예시로 고객 데이터 테이블에 이름이나 전화번호 등의 데이터가 포함되어 있다면 해당 데이터를 고유값으로 지정할 수 있을까요? 고유값은 각 항목을 명확하게 구분해줘야 한다는 특성 때문에 해당 데이터들을 고유값으로 지정할 수 없습니다.
왜냐하면 이름 데이터는 고객 데이터가 많을수록 중복될 가능성이 크고, 전화번호의 경우 추후 변경될 가능성이 높기 때문입니다.
그래서 고유값은 값이 중복되어야 하지 않아야하며, 불변해야 하고, 값이 없으면 안된다는 특징이 있습니다.
그래서 우리는 각 테이블에 고유값을 만들고(EX. 고객 데이터 테이블- 고객ID / 제품 데이터 테이블 - 제품ID), 두 개의 테이블을 합쳐(EX. 고객ID 2번이 제품ID 7번을 구매) 각 고유값을 합쳐 두 개가 연동된 테이블 내 새로운 고유값을 만들어(EX. 고객ID + 제품ID - 판매ID) 두 개의 테이블을 연동할 수 있습니다.
관계형 데이터베이스는 데이터 *키(key)와 값(value)들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 전산정보 데이터베이스를 의미합니다.
- 키(Key) : 테이블의 각 로우에는 저만의 고유 키(Primary key)가 있는데,(특정한 의미가 없는 컬럼으로 각 로우를 구분하거나, 다른 테이블과의 조인을 위한 컬럼으로 생각하면 쉽습니다!) 한 테이블 안의 로우(테이블 안 행을 의미하는 것으로 한 명의 사람이나 하나의 상품 등을 나타내는 경우가 많습니다.)는 다른 테이블들의 로우로 연결이 가능한데, 일반적으로 연결된 로우의 고유 키를 위한 컬럼(외래 키)을 추가함으로써 이루어집니다.
- 여기서 외래 키(Foreign Key)는 무엇일까요? 데이터베이스를 설계할 때 하나의 테이블 만으로는 해당 테이블이 대표하는 데이터를 하나로 정리하기 힘들 수 있습니다. 이런 경우에는 테이블을 더 생성한 후 특정한 의미없는 컬럼을 만들어 두 테이블을 이어주면 되는데, 이러한 것을 외래 키라고 칭합니다.
관계형 모델은 데이터를 테이블로 정리합니다. 각 행은 개별 레코드를 나타내고 각 열은 값을 포함하는 속성으로 구성됩니다. 이 테이블 형식의 데이터베이스 구조를 사용하면 데이터 포인트 간의 관계를 쉽게 설정할 수 있으므로 데이터 자체를 재구성하지 않고도 다양한 방식으로 정보에 액세스할 수 있습니다.
관계형 데이터베이스의 테이블을 조인하여 다양한 데이터 포인트 간의 상호 연결에 대한 심층적인 인사이트를 얻을 수 있습니다.
관계형 데이터베이스 관리 시스템(RDBMS)
관계형 데이터베이스 관리 시스템(RDBMS)은 관계형 테이블을 관리하는 도구와 서비스로 구성된 소프트웨어 계층입니다. (RDBMS와 관계형 데이터베이스라는 용어는 동의어로 간주됩니다.)
- 관계형 데이터베이스가 중요한 이유는 무엇인가요?
관계형 데이터베이스 이전에는 조직에서 컴퓨터의 폴더와 비슷한 계층적 데이터베이스 시스템을 사용했습니다. 이러한 초기 데이터베이스 시스템은 대량의 데이터를 정리할 수 있었습니다. 그러나 데이터 관계를 파악하는 방법에는 한계가 있었습니다.
이러한 문제의 해결책으로 관계형 데이터베이스 모델이 등장했고, 관계형 데이터베이스 모델은 물리적 데이터 스토리지를 데이터베이스 관리 및 사용과 분리했습니다.
관계형 데이터베이스를 사용하면 물리적 데이터 스토리지를 관리할 필요 없이 데이터를 저장하고 검색할 수 있으며, 프로그래밍 방식으로 논리적 데이터 구조를 조작할 수 있습니다.