
데이터란 컴퓨터 안에 기록되어 있는 숫자를 의미하며, 이러한 데이터의 집합을 데이터베이스라고 한다.
넓은 의미에서는 "컴퓨터 안에 기록된 모든 것"을 데이터베이스라고 하지만, 일반적으로 데이터베이스라는 개념은 특정 데이터를 확인하고 싶을 때 간단하게 찾아낼 수 있도록 정리된 데이터의 집합을 말한다.

위 그림은 영화 데이터로, 영화의 title, release_year, length, replacement_cost를 저장하고 있다.
이러한 데이터들은 보통 데이터베이스 관리시스템 (DBMS, Database Management System)으로 제어하고 관리한다.
데이터베이스 관리 시스템(DBMS, Database Management System)은 데이터베이스를 효율적으로 관리하는 소프트웨어를 말합니다. 저장장치 내에 저장된 데이터의 집합인 데이터베이스는 다른 개념이다.
- 데이터를 보존하기 위해서
- 체계적으로 관리할 수 있다.
- 생산성 : 시스템 개발 과정에서의 생산성 향상
->데이터검색(Read), 추가(Create), 삭제(Delete), 갱신(Update)- 기능성 : 데이터베이스를 다루는 고급 기능 제공
->복수의 유저 요청 대응, 대용량 데이터 저장, 고속 검색, 기능 확장의 유연함.- 신뢰성 : 하드웨어를 여러 대로 구성하여 신뢰성을 높이는 동시에 성능 향상 도모
->확장성(Scalablity), 부하 분산(Load balancing), 데이터 추출, 데이터 리스토어
->정리하면, 데이터베이스 관리 시스템(DBMS, Database Management System)은 데이터베이스를 관리하는 소프트웨어로, 사용 목적은 생산성 향상과 기능성, 신뢰성 확보에 있다.
2차원 테이블(table) 예시
- Column (열) : 컬럼은 테이블의 각 항목 (
id,책 제목,작가,출판사,가격)을 의미합니다.- Row (행) : 로우는 각 항목들의 실제 값입니다. 2번 행을 보면,
갈매기의 꿈,리처드 바크,나무옆의자,11,520이라는 실제 값이 있습니다.- 각 로우는 저만의
고유 키(Primary Key)가 있습니다.
- 모든 데이터들은 2차원 테이블(Table)들로 표현할 수 있다.
- 테이블의 각 행(row)은 저만의 고유 키(Primary Key)가 있다.
- 각각의 테이블들은 서로 상호 관련성을 가지고 서로 연결될 수 있다.
(데이터베이스를 구성하는 테이블은 수백, 수천 개가 될 수도...)
One to One (일대일)
하나의 A테이블 데이터는 오로지 하나의 B테이블 데이터와 연결됩니다.
예)주민등록번호
- 테이블
Users: 한국 사람들의 이름 정보를 갖고 있는 테이블- 테이블
Identification numbers: 한국 사람들의 주민등록 번호를 갖고 있는 테이블
- Identification numbers 테이블의 user 컬럼은 users 테이블의 id(pk)를 참조합니다.
이와 같은 경우에서 테이블 Users와 테이블 Indentification은 서로
일대일관계이다. 라고 표현합니다.
One to Many (일대다)
하나의 A 테이블 데이터는 B 테이블의 여러 데이터와 연결됩니다.
- Users 테이블의 로우 하나는 Pets 테이블의 여러 로우와 연결됩니다.
- Pets 테이블의 로우 하나는 Users 테이블의 로우 하나와 연결됩니다.
- Pets 테이블의 user_id 컬럼은 users 테이블의 id(pk)를 참조합니다.
이와 같은 경우에서 테이블 users와 테이블 pets는 서로
일대다관계이다. 라고 표현합니다.
Many to Many (다대다)
하나의 A 테이블 데이터는 B 테이블의 여러 데이터와 연결될 수 있습니다.
- Authors 테이블의 로우 하나는 Books 테이블의 여러 로우와 연결됩니다.
- Books 테이블의 로우 하나 또한 Authors 테이블의 여러 로우와 연결됩니다.
이렇게 두 테이블이 서로 각자 다른 테이블의 여러 데이터와 연결 될 때에는 두 테이블에 속한 데이터의 조합을 입력하기 위한
중간 테이블이 하나 생성됩니다.
이와 같은 경우에서 테이블 authors와 테이블 books는 서로다대다관계이다. 라고 표현합니다.
관계형 데이터의 강력한 특징
ACID(Atomicity, Consistency, Isolation, Durability)
트랜잭션(Transaction)