데이터베이스 4

[MySQL] 정규화(Normalization)

정규화정규화(Normalization) : 이상 현상이 발생하지 않도록, 릴레이션(테이블)을 관련 있는 속성들로만 구성하기 위해 릴레이션을 분해(decomposition)하는 과정 데이터의 중복을 최소화하고, 데이터의 무결성을 유지하며, 효율적인 구조로 테이블을 구성하기 위한 논리적 설계 과정이라고 볼 수 있다. 이상현상(anomaly) : 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입·수정·삭제 연산을 수행할 때 발생할 수 있는 부작용이상 현상의 종류삽입 이상새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제갱신 이상중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제삭제 이상투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 정규화는 이..

Back-end/Database 2025.05.25

[MySQL] 트랜잭션 (Transaction)

트랜잭션(Transaction)하나의 연속적인 업무 단위로, 데이터베이스에서 일련의 연산들이 모두 성공적으로 완료되어야만 실제로 반영되는 작업트랜잭션에 의한 관계는 필수적인 관계 형태를 가진다.여러 SQL 문을 하나로 묶을 때 사용한다.데이터베이스에 접속하는 동시에 트랜잭션 시작트랜잭션 제어 명령을 실행할 때 기존 트랜잭션이 끝남그리고 새로운 트랜잭션이 시작트랜잭션 명령어 (TCL)트랜잭션 명령어 (TCL, Transaction Control Language) : 트랜잭션의 실행 여부를 결정하는 명령어 1. 명령어 종류DML 명령에 대해서만 적용되어 2개 이상의 INSERT, UPDATE, DELETE 문을 실행할 때 트랜잭션 처리 필요 2. AUTO COMMIT 모드명령 실행 시 마다 COMMIT 자동..

Back-end/Database 2025.05.20

[MySQL] 제약 조건 (Constraint)

제약 조건제약 조건(Constraint)이란 데이터의 무결성을 지키기 위한 제한된 조건을 의미한다.특정 데이터를 입력할 때 무조건적으로 입력되는 것이 아닌, 어떤한 조건을 만족했을 때 입력되도록 제약할 수 있다. 쉽게 말해, "이 컬럼에는 반드시 값이 있어야 해!" 또는 "이 값은 다른 테이블에 있는 값이어야 해!" 같은 규칙을 만들어두는 것제약 조건의 종류예시CREATE TABLE students ( student_id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT CHECK (age >= 0), email VARCHAR(100) UNIQUE);student_id: 기본 키 (중복·NULL 불가)name: 반드시 값 있어야 함age: 0 이상이어야 ..

Back-end/Database 2025.05.19

[MySQL] Mac 환경에서 sample 데이터 다운 받기

윈도우 환경에서는 설치와 동시에 샘플 데이터를 바로 다운받을 수 있는데 맥에서는 바로 다운이 안되어서 수동으로 설치해줘야 한다.샘플 데이터 다운로드 https://dev.mysql.com/doc/index-other.html MySQL :: Other MySQL DocumentationOther MySQL Documentation This page provides additional documentation. There's even more available on these extra pages: MySQL Server Doxygen Documentation Title HTML Online MySQL Server (latest version) View Expert Guides Example Databas..

Back-end/Database 2025.05.12