데이터베이스
데이터베이스, 흔히 말하는 DB (발음 그대로 '디비') 라고 한다면 가장 먼저 떠오르는 것은 원통 모형이다. 낮은 원통이 2-3개 정도 쌓여서 하나의 긴 원통을 이루는 모양. 데이터베이스에서 가장 먼저 접하여 머리 속에 저장된 정보이다. 조금 더 디테일하게 나아가자면 원통 내부 좌측에 점을 2-3개 정도 그린 형태일까 싶다.
데이터베이스는 체계적으로 구조화된 데이터의 집합을 의미한다. 좀 더 상세하게 데이터베이스와 관련하여, 데이터베이스 관리 시스템, 테이블 (열, 행), 기본 키와 외래 키, 스키마, 데이터 모델링에 대해 설명하자면 아래와 같다.
1. 데이터베이스 (Database):
- 정의: 체계적으로 구조화된 데이터의 집합을 의미합니다.
- 목적: 정보를 저장, 검색, 갱신 및 관리하기 위해 사용됩니다.
- 특징: 데이터의 구조화, 일관성 유지, 공유 가능성 등을 갖고 있습니다.
2. DBMS (데이터베이스 관리 시스템 - Database Management System):
- 정의: 데이터베이스를 생성, 유지, 조작하고 데이터에 대한 액세스를 제어하는 소프트웨어입니다.
- 목적: 효율적인 데이터 관리 및 보안을 제공하여 데이터 일관성을 유지합니다.
- 예시: MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server 등.
3. 테이블 (Table):
- 정의: 데이터를 행과 열의 형태로 구조화한 데이터베이스의 기본 단위입니다.
- 예시: 사용자 정보, 주문 내역 등을 저장하는 데에 사용됩니다.
4. 열 (Column):
- 정의: 테이블에서 각 열은 특정 유형의 데이터를 저장하는 데 사용됩니다.
- 예시: 사용자 테이블의 열로는 이름, 나이, 이메일 등이 있을 수 있습니다.
5. 행 (Row):
- 정의: 테이블에서 각 행은 하나의 레코드 또는 데이터 항목을 나타냅니다.
- 예시: 사용자 테이블에서 각 행은 특정 사용자의 정보를 포함합니다.
6. 기본 키 (Primary Key):
- 정의: 테이블에서 각 행을 고유하게 식별하는 데 사용되는 열 또는 열의 집합입니다.
- 목적: 중복을 방지하고 데이터를 고유하게 식별합니다.
7. 외래 키 (Foreign Key):
- 정의: 다른 테이블의 기본 키를 참조하는 열입니다.
- 목적: 테이블 간의 관계를 설정하고 데이터 일관성을 유지합니다.
8. 스키마 (Schema):
- 정의: 데이터베이스의 구조를 정의하는 데 사용되는 전체적인 청사진입니다.
- 목적: 테이블, 열, 관계, 제약 조건 등의 정보를 포함합니다.
9. 데이터 모델링 (Data Modeling):
- 정의: 데이터베이스의 구조를 설계하고 표현하는 프로세스입니다.
- 목적: 데이터의 구조와 관계를 명확하게 정의하여 효율적인 데이터베이스를 만듭니다
데이터를 공부하기 위해 가장 기본적으로 알아야 할 것들이다. 쉽게 말하자면 데이터를 모아 놓은 데이터베이스가 있고, 이 데이터베이스 자체를 만들어내거나 데이터베이스 안에 있는 데이터를 조작하는 등 관리하는 기능을 하는 데이터베이스 관리 시스템이 있다.
보통 데이터베이스 안에 저장된 데이터들은 테이블 형태로 저장된다. 테이블은 우리 말로 '표'라고 하는데, 엑셀을 떠올리면 이해하기 쉽다. 테이블의 가로를 행, 세로를 열이라고 한다. 보통 하나의 데이터베이스에는 여러 개의 테이블이 존재한다. 그리고 테이블에는 이름이 존재한다.
데이터를 쌓아만 놓는다고 되는 것이 아니다. 우리는 이 데이터를 활용해서 가치를 만들어낸다. 데이터베이스에 저장된 테이블을 이용해서 데이터 분석을 하는 것인데, 저장된 테이블들을 서로 연결해서 새로운 테이블을 만들어내고, 그 안에서 의미 있는 분석을 할 수도 있다. 그리고 주민등록번호처럼 고유하게 식별되어야 의미 있는 값들이 존재할 수 있는데, 이를 위해서 고유 키와 외래 키의 개념이 등장한다. 테이블의 각 행이 특정한 무언가임을 가리키기 위해 고유 키를 설정할 수 있고, 다른 테이블에서 특정 테이블과 연결을 위해 고유 키를 참조하여 연결시킨 것이 외래 키이다.
'CS 지식 > 데이터베이스' 카테고리의 다른 글
[DB] 데이터베이스 기초 : 관계형 데이터베이스(SQL)와 비관계형 데이터베이스(NoSQL) (1) | 2023.11.23 |
---|