일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Variabla
- git revase
- WHEREIN
- Spring
- 배열
- PathVariable
- localStorage
- JDBC
- BCryptPasswordEncoder
- oracle
- Java
- ResultType
- 부적합한열
- git reset
- 이딴게개발자
- git
- HTML
- assertequals
- CRUD
- springboot
- passwordencoder
- react
- mybatis
- JavaScript
- Thymeleaf
- SQL
- git amend
- MVC
- content-box
- useContext
- Today
- Total
개발새발
[SQL] RDBMS, SQL, 그리고 Oracle의 아내 본문
제목이 왜 이러냐면요. 제가 요즘 뒤늦게 '이브, 프시케, 그리고 푸른수염의 아내'와 같은 네이밍에 빠져서
어떤 키워드가 세 개만 보이면 이렇게 부르는 것을 멈출 수가 없어요
물론 입밖으로 중얼대지는 않습니다. 온전히 키보드로만 타닥..탁..탁!!! 치고 뿌듯해하는게 전부예요.
아무튼 드디어 제가 DB를 배웁니다. 근데 이제 SQL을 곁들인.
이렇게 배우다보니 뭐랄까, JAVA보다는 확실히 쉬운데 뭔가 머릿속이 정리되지 않은 듯한 느낌을 받는건 여전하더라구요. 그래서 조금씩이나마나 개념을 정리해보려고 합니다.
서론이 길었네요 암튼 레즈고
1. RDBMS
RDBMS는 Relational DataBase Management System의 약자입니다.
한국어로 보자면 '관계형 데이터베이스 관리 시스템'이네요. 생각해보니 한국어라고 해놓고 4단어 중 2 개가 외래어네요.
한글날에 글을 이렇게 쓰고있자니 마음이 좋지 않습니다. 그런데 또 생각해보니 한글과 한국어는 또 다른 영역의 개념임을 방금 깨달아서 그냥 죄책감 없이 글을 쓰기로 했습니다. 킹 세종 화이팅
아무튼 단어 하나하나를 뜯어서 생각을 해봅시다.
1. DataBase(DB)
여러 사람이나 프로그램이 데이터를 쉽게 공유하기 위해 체계적으로 관리하는 데이터의 집합
그러니까 요점만 말하자면 데이터의 모임 장소네요. 우리가 항상 사용하는 데이터가 바로 여기에 저장되어서 뽑아온다고 보면 됩니다. 그럼 또 DBMS는 결국 이 DB를 관리하는 어떤 시스템을 말하는 것이겠죠?
2. Relational DataBase
관계형 데이터베이스
진짜 아무리 생각해도 이 '관계'라는 말은 너무 직관적이지 못한것같아요.
항상 어디에든 물어보면 이 관계형 데이터베이스는 그냥 'TABLE(표) 형식으로 데이터가 저장된 형태'라고 알면 된다는 대답이 돌아오는데, 도대체 여기에 그놈의 관계가 어디에 있다는 말인가요?
그래서 제가 찾아본 결과...
ROW와 COLUMN을 통해서 TABLE을 구현하게 되면, 이 테이블은 결국 하나의 행렬 구조라고 봐도 무방합니다.
그리고 영어권 사람들은 이렇게 만들어진 어떤 행렬과같은 구조를 Relation이라고 부르고, 우리는 그 용어를 따와서 번역 그대로 '관계형' 데이터베이스라고 부르게 된 것~! 비영어권사람들 살려
2. SQL
그럼 또 관계형 데이터베이스라고 하면 항상 짝꿍처럼 따라다니는 이 SQL이란 무엇인가? 하고 또 풀어서 보니
Structured Query Language
직역하자면 Structured(구조화된) Query(쿼리) Language(언어) 라고 한다.
그러니까 얘는 데이터베이스와 상호작용을 하기 위한 일종의 언어인 셈이다..!
마치 사람이 컴퓨터와 직접 소통하지 못하니 JAVA라는 언어를 써서 개발을 하는 것처럼...!
나는 지금까지 이 SQL 자체를 앞서말한 RDBMS와 정확히 구분하지 못해서 종종 혼돈이 왔던 것같다.
3. Oracle (SQL Developer)
그럼 이제 나는 "오라클이 뭔데?"라는 질문에 자신있게 대답할 수 있다.
Oracle은 관계형 데이터베이스 관리 시스템의 일종이지, SQL 그 자체와는 다른 개념이다.
정확하게 말하자면 RDBMS는 결국 SQL이라는 언어를 통해 데이터를 관리하는 것이 맞다.
그리고 이 RDBMS의 종류로는 항상 순위권을 다투는 MySQL, ORACLE, 그리고 그 외에 SQLite, MariaDB 등등이 있다는 것을 일단은 알아두기만 하자...
한 줄 요약
Data의 집합 → DB(DataBase) → 관리하는 놈 RDBMS → 상호작용 by SQL
'SQL' 카테고리의 다른 글
[SQL] 제약조건(Constraint)에 관한 이야기 (2) | 2023.10.22 |
---|---|
[SQL] SQL 함수 아카이브 (feat.ORACLE) (0) | 2023.10.18 |
[SQL] WHERE IN (feat.다중검색) (0) | 2023.10.18 |