1. 데이터베이스
1.1 데이터와 데이터베이스, DBMS
데이터와 정보
- 데이터는 사전적인 의미로 자료와 정보라는 두 가지 의미가 있다.
- 데이터베이스 분야에서는 데이터와 정보는 다른 의미로 해석한다.
데이터
- 정제하지 않은 값이나 사실 또는 자료 자체를 의미한다.
정보
- 수집한 데이터를 어떤 목적을 위해 분석, 가공하여 가치를 추가하고 새로운 의미를 이끌어 낼 수 있는 결과로
파일 시스템과 DBMS
- 과거 데이터베이스 개념 이전에는 데이터를 파일 시스템을 이용해서 관리했다.
- 파일 시스템은 분산된 데이터들을 관리하는 관리체계였기 때문에 많은 문제가 발생했고 이를 해결하기 위해서 DBMS가 등장하게 됐다.
DBMS를 통한 데이터 관리?
- 효율적인 데이터 관리를 위해 데이터베이스 관리 시스템이 등장했다.
DBMS
는 데이터베이스의 데이터 조작과 관리를 극대한 시스템 소프트웨어입니다.
- 실무에서는 데이터베이스와 데이터베이스 관리 시스템을 따로 구분하지 않고 DB또는 데이터베이스라고 한다고 합니다.
- 데이터베이스 관리 시스템을 통한 데이터 관리란 여러 목적으로 사용할 데이터의 접근, 관리 등의 업무를 DBMS에 요청하면 DBMS는 자신이 관리하는 데이터베이스로 관련 작업을 수행하고 결과 값을 제공하는 등의 작업을 진행합니다.
1.2 데이터 모델
데이터 모델
이란 컴퓨터에 데이터를 저장하는 방식을 정의해 놓은 개념 모형으로 대표 데이터 모델에는 계층형, 네트워크형, 관계형, 객체 지향형이 있습니다.
*여기서 우리가 배우는 언어는 관계형 데이터 모델이다.
계층형 데이터 모델과 네트워크형 데이터 모델
- 계층형과 네트워크형 데이터 모델은 1960 ~ 1980년대 말까지 상업용 데이터베이스 시장에서 많이 사용한 데이터 모델이다.
계층형 데이터 모델
은 트리 구조를 활용해 데이터 관련성을 계층별로 나눠 부모 자식 같은 관계를 정의하고 데이터를 관리합니다.
- 부모는 여러 자식을 둘 수 있지만 자식은 여러 부모를 둘 수 없다는 것이 특징입니다.
- 망형 데이터 모델이라고도 불리는
네트워크 데이터모델
은 그래프 구조를 기반으로 한다.
- 개체 간 관계를 그래프 구조로 연결하기 때문에 자식 개체가 여러 부모 개체를 가질 수 있다는 점에서 계층형 데이터 모델과 차이가 있다.
객체 지향형 모델
- 1980년대 후반에 등장한 모델로 객체 지향 프로그래밍에서 사용하는 객체 개념을 기반으로 한 데이터 모델이다.
- 상속, 오버라이드, 데이터를 독립된 객체로 구성하는 것이 가능합니다.
관계형 데이터 모델
- 현대에 가장 많이 사용하는 관계형 데이터베이스의 바탕이 되는 모델입니다.
- 데이터 간 관계에 초점을 둔다는 점이 다른 데이터 모델과의 차이점입니다.
[관계형 데이터 모델의 핵심 구성 요소]
개체
- 데이터화하려는 사물, 개념 정보의 단위로 관계형 데이터베이스의 테이블 개념과 대응되며 테이블은 릴레이션으로 표기하기도 합니다.
속성
- 개체 구성하는 데이터의 가장 작은 논리적 단위로 데이터의 종류, 특성, 상태 등을 정의 합니다. 데이터베이스의 열(column) 개념과 대응됩니다.
관계
- 개체와 개체 또는 속성 간의 연관성을 나타내기 위해 사용합니다. 관계형 데이터베이스에서는 테이블 간의 관계를 외래키 등으로 구현하여 사용합니다.
1.3 관계형 데이터베이스와 SQL
관계형 데이터베이스란?
관계형 데이터 모델 개념을 바탕으로 데이터를 저장하고 관리하는 데이터베이스를 의미합니다.
- RDBMS 관계형 데이터베이스를 관리하는 시스템은 DBMS에 데에터 간의 관계를 강조하기 위해 'relational'을 붙여
RDBMS
라고 부릅니다.
SQL이란?
SQL
은 RDBMS
에서 데이터를 다루고 관리하는 데 사용하는 데이터베이스 질의 언어입니다.
SQL 사용 목적에 따른 종류
- DQL - 조회 명령어
- DML - 저장, 수정, 삭제하는 명령어
- DDL - RDBMS 내 데이터 관리를 위한 객체 생성, 수정, 삭제 명령어
- TCL - 트랜잭션 데이터의 영구 저장, 취소 등과 관련된 명령어
- DCL - 데이터 사용 권한과 관련된 명령어
[정리]
📖 데이터베이스? 데이터베이스 관리 시스템?
효율적인 데이터의 관리를 위해서 등장한 개념으로 실무에선 둘을 같은 의미로 사용한다.
📖 데이터 모델?
데이터를 저장해 놓은 방식에 따라 종류가 달라지며 현대에는 관계형 데이터베이스 모델을 많이 사용한다.
📖 관계형 데이터베이스?
데이터 간의 관계에 초점을 맞춘 데이터베이스 모델로 DBMS에 관계를 강조하기 위해서 Relational이 붙은 DBMS를 RDBMS라고 합니다.
📖 SQL?
- 관계형 데이터베이스를 사용할 때 데이터를 다루고 관리하는 데 사용하는 데이터베이스 질의 언어 입니다.
- 이때 sql은 사용 목적에 따라서 종류가 나뉘게 됩니다.