본문 바로가기

SQL22

SQLD - (10) 관계형 데이터베이스 개요 데이터베이스(Database) — 가치를 부여하기 위한 구조적 저장✅ 데이터란 무엇인가?데이터는 컴퓨터가 무언가를 처리할 때 대상이 되는 모든 값을 의미한다.워드프로세서에서는 문서의 텍스트, 메신저에서는 주고받는 메시지가 모두 데이터다.즉, 현실 세계로부터 수집되거나 측정된 사실이며, 그 자체로는 가공되지 않은 원석이다.그렇기 때문에 데이터를 그대로 두면 가치가 없다.우리가 원하는 정보를 얻기 위해선 데이터를 구조화하고, 가공하고, 보관할 수 있는 체계가 필요하다.이 효율적인 고민의 결과물이 바로 데이터베이스(Database)다.✅ 데이터베이스란?데이터베이스는 데이터를 일정한 구조와 규칙에 따라 통합하여 저장한 것을 의미한다.보통은 디스크나 메모리 등 저장 장치에 비의존적 형태로 관리되며,특정 프로그램에.. 2025. 7. 26.
SQLD - (9) 식별자 ✅ Null의 개념 — 값이 없다는 것의 의미Null은 데이터베이스에서 "값이 없다"는 상태를 의미한다.중요한 점은 이게 0이나 공백 같은 특별한 값이 아니라,"아예 값이 존재하지 않음"을 의미하는 미정의 상태라는 것이다.📌 Null ≠ 0📌 Null ≠ 공백📌 Null ≠ "Null"(문자열)즉, Null은 데이터가 존재하지 않음을 나타내는 의미 있는 부재(absence)이다.🔸 Null 값에 대한 오해 방지0숫자 0이라는 정의된 값공백 ('')빈 문자열이라는 존재하는 값"Null"‘N’, ‘u’, ‘l’, ‘l’ 문자가 들어간 문자열 값Null값 자체가 없음, 정의되지 않은 상태 💡 Tip: Null 값 연산 처리1. 단일행 연산Null이 연산에 포함되면 결과는 Null이 된다.→ 왜냐하면 .. 2025. 7. 25.
SQLD - (8) 모델이 표현하는 트랜잭션의 이해 2.3 트랜잭션(Transaction) — 데이터 정합성을 지키는 원자적 단위데이터베이스는 매일 수많은 쓰기 작업(삽입, 수정, 삭제)을 처리한다.하지만 이 작업들이 중간에 끊기거나 일부만 적용된다면, 시스템은 금세 데이터 오류와 정합성 문제에 빠지게 된다.그래서 도입된 개념이 트랜잭션(Transaction) 이다.한마디로, 데이터의 정합성을 지키기 위한 '작업 단위'의 정의이다.트랜잭션이란 무엇인가?트랜잭션은 데이터베이스에서 하나의 논리적 작업 단위를 말하며,삽입·수정·삭제 등의 작업이 모두 완료되거나 전혀 반영되지 않아야 한다는 원칙을 따른다.즉, 트랜잭션은 "성공 아니면 아무것도 하지 않는다"는 철학을 갖는다.📌 트랜잭션 관련 SQL 명령어COMMIT트랜잭션의 작업을 정상적으로 DB에 반영ROLL.. 2025. 7. 24.
SQLD - (7) 관계와 조인의 이해 2.2 반정규화(Denormalization) — 성능을 위한 균형 감각정규화는 데이터 구조를 건강하게 만들기 위한 첫걸음이지만, 때로는 너무 건강한 것이 문제일 수도 있다.테이블을 너무 잘게 나누면, 데이터베이스는 정보를 꺼내올 때 여러 테이블을 조인해야 하고, 그 과정에서 성능 병목이 생기기 시작한다.그래서 실무에서는, 정규화된 구조를 다시 묶거나 덜어내는 ‘반정규화(Denormalization)’를 적극적으로 고민하게 된다.✅ 반정규화란 무엇인가?반정규화(Denormalization)는 정규화를 통해 나눠진 테이블 구조를 다시 조정하여,조회 성능이나 운영 편의성을 높이는 방향으로 데이터를 구조화하는 기법이다.정규화가 데이터 무결성과 일관성을 위한 설계라면,반정규화는 성능과 효율성을 위한 현실적 조정.. 2025. 7. 18.
SQLD - (6) 정규화 Chapter 2. 데이터 모델과 SQL2.1 정규화(Normalization) — 데이터 이상현상을 막는 구조 설계의 기술“정규화”란 데이터베이스 설계에서 가장 기본이면서도, 가장 중요한 개념 중 하나다.정규화를 하지 않으면 어느 순간, 당신의 서비스는 데이터 오류와 불일치에 시달리게 된다.✅ 정규화란 무엇인가?정규화(Normalization)는 데이터베이스 내 데이터를 논리적으로 분해하여, 중복을 제거하고 구조를 체계화하는 작업이다.비즈니스가 커질수록 데이터는 계속 입력되고 수정되며 삭제되는데,이 과정에서 구조가 잘못되면 의도치 않은 오류가 발생할 수 있다. 이를 데이터 이상현상(Anomalies)이라 부른다.정규화를 수행하면중복이 줄고데이터 무결성이 향상되며관리가 쉬워진다.하지만 동시에 테이블이 세.. 2025. 7. 16.
SQLD - (5) 식별자 1.5 식별자(Identifier) — 데이터를 유일하게 구별하는 기준데이터를 다루는 시스템에서는 수천, 수만 개의 데이터가 동시에 존재한다. 이들을 서로 구별하지 못하면 검색도, 수정도, 참조도 불가능해진다.바로 이때 필요한 것이 식별자(Identifier)이다.1.5.1 식별자의 개념식별자(Identifier)란, 하나의 엔터티 인스턴스를 유일하게 구별할 수 있는 속성을 말한다.사람으로 치면 주민등록번호, 여권번호와 같은 고유한 신분증과 같다.단순히 이름이나 나이처럼 중복 가능한 정보로는 데이터의 식별이 불가능하다.예시사원명은 같은 이름을 가진 동명이인이 존재할 수 있기 때문에 식별자가 될 수 없다.반면 사번은 사내에서 유일하게 부여된 값이므로 식별자로 적합하다.1.5.2 주 식별자 (Primary .. 2025. 7. 12.