🔗조인
·
Computer Science/Database
🧩 조인의 종류조인(Join)이란 두 개 이상의 테이블을 묶어서 하나의 결과물로 만드는 작업입니다. 조인의 종류: 내부 조인(inner join): 두 테이블의 교집합입니다. 양쪽 모두에 데이터가 있는 행만 표기합니다.왼쪽 조인(left outer join): 왼쪽 테이블의 모든 행을 표기하고, 오른쪽은 매칭되는 것만 붙입니다.오른쪽 조인(right outer join): 오른쪽 테이블의 모든 행을 표기하고, 왼쪽은 매칭되는 것만 붙입니다.합집합 조인(full outer join) : 두 테이블의 모든 행(합집합)을 표기합니다.💻 조인 코드 예시1. 내부 조인 : 두 테이블 간에 교집합을 나타냅니다.SELECT * FROM TableA AINNER JOIN TableB B ONA.key=B.key 2..
🔖 인덱스
·
Computer Science/Database
🏗️ B-트리(B-Tree)인덱스는 대개 B-트리라는 자료 구조로 이루어져 있습니다. 트리 구조는 최상단의 루트 노드(Root Node), 가장 끝단의 리프 노드(Leaf Node), 그리고 그 사이를 연결하는 브랜치 노드(Branch Node)로 나뉩니다.탐색 효율성 예시: 만약 데이터 'E'를 찾는다고 가정해 봅시다. 인덱스가 없다면 A, B, C, D, E 순서대로 전체 테이블을 훑어야 하므로 5번의 탐색이 필요합니다. 하지만 B-트리 구조를 활용하면 루트에서 경로를 찾아 단 두 번 만에 리프 노드의 'E'에 도달할 수 있습니다. 구체적인 작동 원리 (Key: 57 검색 시): 키값 57을 찾는다고 가정할 때, 탐색은 항상 루트 노드에서 시작하여 브랜치 노드를 거쳐 리프 노드로 내려갑니다.루트 노..
🔍 데이터베이스의 종류
·
Computer Science/Database
🏛️ 관계형 데이터베이스(RDBMS)Relational DataBase Management System 행(Row)과 열(Column)로 구성된 표(Table) 형식으로 데이터를 저장하고 관리하는 데이터베이스입니다. 테이블 간의 '관계'를 통해 데이터를 구조화하며, SQL(Structured Query Language)이라는 언어를 사용하여 데이터를 조작합니다.대표적인 제품: MySQL, PostgreSQL, Oracle, SQL Server (MSSQL) 등SQL의 특징: 모든 RDBMS는 ANSI SQL(표준 SQL)을 준수하지만, 각 제품마다 성능 향상이나 고유 기능을 위해 특화된 독자적인 문법을 가집니다.Oracle: PL/SQLSQL Server: T-SQLMySQL: SQL (표준을 따르되 ..
🔐 트랜잭션과 무결성
·
Computer Science/Database
📦 트랜잭션(Transaction)데이터베이스에서 논리적 기능을 수행하기 위한 작업의 단위입니다. DB 접근 방법인 쿼리들을 하나로 묶은 단위이며, 작업의 완전성을 보장합니다. 주요 특징으로 원자성, 일관성, 독립성, 지속성이 있으며, 앞 글자를 따 ACID라 부릅니다.⚛️ 원자성(Atomicity)"All or Nothing" 트랜잭션 내의 모든 작업이 완벽하게 수행되었거나, 아예 수행되지 않아야 함을 보장합니다. 중간에 문제가 생기면 롤백하여 아무 일도 없던 것처럼 만듭니다.주의점: 트랜잭션 단위 내 외부 API 호출은 지양해야 합니다. 롤백 시 외부 API 호출 취소가 어렵기 때문입니다.용어 설명: 커밋(commit) :여러 쿼리가 성공적으로 처리되어 변경 내용을 영구 저장하는 것.롤백 :에러나 ..
📐 ERD와 정규화 과정
·
Computer Science/Database
ERD(Entity Relationship Diagram)는 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 하며, 릴레이션(테이블) 간의 관계들을 정의한 설계도입니다.🏗️ ERD의 중요성ERD는 시스템의 요구 사항을 기반으로 작성되며, 이를 토대로 실제 데이터베이스가 구축됩니다. DB 구축 이후에도 디버깅을 하거나 비즈니스 프로세스를 재설계해야 할 때, 길잡이가 되는 설계도 역할을 담당합니다.하지만 ERD는 관계형 구조로 표현할 수 있는 데이터에는 유용하지만, 비정형 데이터를 표현하는 데는 한계가 있다는 단점이 있습니다. 용어 설명: 비정형 데이터:비구조화 데이터를 말하며, 미리 정의된 데이터 모델이 없거나 정해진 규칙으로 정리되지 않은 정보(예: 동영상, 오디오, 소셜 미디어 피드 등)를 뜻합니..
🗄️ 데이터베이스의 기본
·
Computer Science/Database
데이터베이스(DB, DataBase)는 일정한 규칙이나 규약을 통해 구조화되어 저장된 데이터의 집합입니다. 이 데이터베이스를 제어하고 관리하는 통합 시스템을 DBMS(DataBase Management System)라고 부릅니다.데이터베이스 내부의 데이터는 각 DBMS마다 정의된 쿼리 언어(query language)를 사용하여 삽입(Insert), 삭제(Delete), 수정(Update), 조회(Select) 등의 작업을 수행할 수 있습니다. 또한, 실시간으로 접근할 수 있고 여러 사용자가 동시에 공유할 수 있다는 특징이 있습니다.구조는 보통 데이터베이스 -> DBMS -> 응용 프로그램 순서로 연결되어 데이터를 주고받습니다. 예를 들어, MySQL이라는 DBMS가 있고, 그 위에서 작동하는 Node...