데이터베이스 5

[JDBC] 자바 JDBC 연동

JDBCJDBC(Java Database Connectivity)는 애플리케이션이 데이터베이스와 통신할 수 있도록 돕는 API로, Java 프로그램이 데이터베이스에 연결해서 조회하거나, 삽입, 수정, 삭제(CRUD) 할 수 있게 해주는 자바 표준 인터페이스이다. JDBC가 수행하는 역할데이터베이스와 같은 데이터 소스에 연결데이터베이스에 쿼리와 업데이트 명령문을 보냄.귀하의 질의에 대한 답변으로 데이터베이스에서 수신된 결과를 검색하고 처리.JDBC 구성 요소JDBC API데이터베이스와의 편리한 통신을 위한 다양한 방법과 인터페이스를 제공, Java SE, Java EE가 여기에 해당.JDBC 드라이버 관리자데이터베이스 연결을 위해 올바른 데이터베이스별 드라이버를 로드하는 역할JDBC 테스트 스위트JDBC ..

Back-end/java 2025.06.04

[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