[데이터리안 | 입문반25기] Week 2 데이터베이스 이론

sookyoung.k·2024년 1월 20일
0
post-thumbnail

테크 블로그를 만들어보자!

테크 블로그 관리가 어려운 사람들은 링크드인 계정을 만들어보자!

  • 자격증, 수료증
  • 프로젝트
  • 보유기술
  • 특허

링크드인, 로켓펀치 → 나에 대한 이력서 겸 SNS 플랫폼

노션 이력서

🗄️ 데이터 베이스란?

주소록에서부터 시작되었다!

요즘 시대에는 엑셀이나 스프레드 시트에서 가장 많이 사용하고 있다! (데이터베이스에 필요한 최소한의 기능을 갖추고 있음)

"DB 어떤 거 써보셨어요?"

DB = 데이터를 관리하는 프로그램 + 그 안에 저장된 데이터

데이터를 관리하는 프로그램 = DBMS(Database Management System)

전... 오라클과 MySQL을 써봤습니다!

📎 데이터베이스의 기본 기능

1-1. 데이터 검색 (SELECT)

SELECT * FROM (테이블) WHERE (컬럼명) LIKE (값)

  • 데이터 추출 - 원본 데이터 자체를 변형시키는 것은 아니다! (수정, 삭제 불가)

1-2. 데이터의 갱신

새로운 데이터 추가
INSERT INTO (테이블) VALUES (컬럼값 1, 컬럼값 2, ...);

  • 값을 넣기 싫은 컬럼은NULL을 넣어준다

특정 데이터 수정
UPDATE (테이블) SET (변경할 컬럼명) = (변경할 값) WHERE (컬럼) = (값)

  • WHERE 조건을 넣지 않으면 컬럼의 모든 값이 변경된다

특정 데이터 제거
DELETE FROM (테이블) WHERE (컬럼) = (값)

  • 마찬가지로 WHERE 조건을 넣지 않으면 모두 삭제됨!

  • 데이터 삭제는 한 행이 사라지는 것!

'질의(SELECT)' ➡️ 데이터 검색
'등록, 수정, 제거' ➡️ 데이터 갱신

데이터 갱신은 분석 시에는 잘 사용하지 않는다

2. 동시성 제어

동시에 여러 사용자로부터 검색, 갱신 요청을 받지만, 그럼에도 오류 없이 데이터를 잘 관리할 수 있어야 한다

  • 하나의 데이터를 동시에 두 명이 수정하려는 시도를 한다! DB에 최종적으로 수정되는 값은?
  1. A가 입력 중일 때 B는 파일을 열 수 없게 하기
  2. A가 먼저 입력 중일 때는 B가 파일을 볼 수만 있게 하기
  3. A가 먼저 입력 중일 때 B도 파일을 수정할 수 있게 하기 (이 경우 마지막 엔터친 사람 값으로 수정)

⚠️ 3번의 경우 Dirty Write라고 하여 선호되는 방식은 아니다

3. 장애 대응

✔️ 데이터를 한 곳에 저장 x

✔️ 복수의 장소에 분산해서 저장을 하는 등의 데이터 보호를 하고 장애에 대응할 수 있어야 한다!

4. 보안

✔️ 보존된 데이터를 어떻게 숨길 것인지!

✔️ 해킹이나 외부 자극에 뚫리지 않아야 한다!

🗃️ 데이터베이스의 종류

1. 관계형 데이터베이스

2차원 표 형식으로 관리하는 데이터베이스
가장 주류를 이루는 데이터베이스

RDB(Relational Database), RDBMS

ORACLE, PostgreSQL, MySQL, SQL Server, SQLite 등

2. NoSQL 데이터베이스

대량의 데이터를 고속으로 처리해야하는 웹 서비스에서 최근 자주 사용된다

redis, mongoDB, HBASE, casandra

3. 계층형 데이터베이스

🗂️ SQL이란?

Structured Query Language, 관계형 데이터베이스를 조작하기 위한 언어

기본적으로 관계형 데이터베이스를 조작하는 명령어는 SQL이라는 표준 문법을 따른다! (프로그램마다 조금씩 다르게 사용하는 것들이 있을 뿐)

profile
영차영차 😎

0개의 댓글