It's going to be one day 🍀

안녕하세요! 매일 매일 공부하려고 노력하는 백엔드 개발자 지망생의 공부 흔적입니다.

Back-End/DBMS

[DBMS] 데이터베이스와 SQL

2jin2 2024. 2. 21. 15:52

데이터베이스란?

여러 사람들이 공유할 목적으로 통합하여 관리하는 데이터의 집합.

 

DBMS란?

DataBase Management System의 약자로 데이터베이스를 관리하는 시스템이라는 의미임.

DBMS와 데이터베이스의 관계

ex) "데이터베이스"라는 창고가 있고, 창고에는 "데이터"라는 화물이 쌓여있음. 하지만 창고가 화물을 옮길 수 없기 때문에 "DBMS" 트럭의 도움을 받음.

+) DBMS에는 PostgreSQL, MySQL, MariaDB 등 여러 종류가 있음. 

 

SQL이란?

Structured Query Language의 약자로 언어의 한 종류. 데이터베이스에서 데이터를 추가, 조회, 수정, 삭제하는데 특화된 언어임.

CRUD : 추가(Create), 조회(Read), 수정(Update), 삭제(Delete)의 앞 글자를 딴 단어임.

SQL은 데이터를 정의, 조작, 제어하는데 목적에 맞게 크게 세가지로 구분됨.

 

RDBMS란?

Relational Database Management System의 약자. 관계형 데이터베이스라고 함.

2개의 행, 4개의 열

- 테이블은 행(가로)과 열(세로)로 구성됨. 

- 위 테이블에서 행은 각 고객을 나타내며, 열은 고객의 속성을 나타냄.

 

관계형 데이터베이스(RDBMS)의 특징

고객 정보 테이블, 주문 정보 테이블

위 테이블을 보면 고객 정보와 주문 정보는 어떠한 관계가 있음.

-> 한 명의 고객은 여러 개의 주문을 할 수 있고, 고객과 주문은 1:N 관계임.

 

이렇게 관계형 데이터베이스는 테이블 간의 관계를 정의하여 데이터 사이의 연관성을 표현함. 

- 1:1 관계 : 한 개의 행이 다른 한 개의 행에 대응

- 1:N 관계 : 한 개의 행이 다른 여러 개의 행에 대응

- N:M 관계 : 여러 개의 행이 다른 여러 개의 행에 대응 

 

+)

NoSQL

SQL을 사용하지 않고도 데이터베이스를 사용할 수 있는 방법


데이터베이스 용어

 

테이블 : 테이블(table)은 데이터베이스에서 데이터를 구성하기 위한 가장 기본적인 단위임. 행과 열로 구성됨

행 : 행(row)은 테이블의 가로로 배열된 데이터의 집합임. 레코드(record)라고 부르기도 함.

열 : 열(column)은 각 요소에 대한 세로로 된 속성을 나타내며 무결성을 보장함(열끼리 유형이 같아야됨)

기본키 : 기본키(primary key)는 행을 구분할 수 있는 식별자임. 이 값은 테이블에서 유일하고 중복 값을 가질 수 없음. 수정되어서는 안되며 Null값이면 안됨.

쿼리 : 쿼리(query)는 데이터베이스에서 데이터를 조회하거나 삭제, 생성, 수정 같은 처리를 하기 위해 사용하는 명령문임. SQL이라는 데이터베이스 전용 언어를 사용하여 작성함.

 

 

데이터베이스 실습

CREATE TABLE students (
	name VARCHAR(255) NOT NULL,
	age INT NOT NULL,
	address VARCHAR(255) NOT NULL);
	
INSERT INTO students (name, age, address) VALUES
('이황', 28, '경상북도'),
('정약용', 29, '경기도'),
('김정호', 30, '전라북도'),
('박지원', 31, '전라북도'),
('김홍도', 32, '경기도'),
('신윤복', 33, '서울특별시'),
('김광균', 34, '서울특별시'),
('한용운', 35, '경상남도'),
('박두진', 36, '경기도');	

SELECT * FROM students;