본문 바로가기

Develop/DB3

[DB] db 모델링 정규화 관계 맺는법 1.중복을 없애야한다.회원idname1홍길동2전민우 게시글id 제목내용작성자1안녕하세요.....내용1홍길동2백엔드 자바 공부순서 알려드림내용2홍길동 3알고리즘 공부하는방법내용3전민우4요즘 it 백엔드 분야 내용4.... 게시글 테이블에 작성자 컬럼은 홍길동 중복이 되있는것을 확인할수있다.만약 작성자 이름이 홍길동에서 - > 홍길순으로 바꾸면,해당 게시글 테이블의 홍길동이 쓴 게시글을 모두 찾아서 작성자 이름을 홍길순으로 바꿔줘야 하는 문제점이 생긴다. 혹시 실수로 바꾸지 못한 행이있다면 이상현상이 발생한다. 이러한 문제가 발생하지 않기 위해서 데이터 중복을 피해야한다. [규칙 1] 한 컬럼에는 한가지 정보만 들어가게 설계 한다.❌ 한컬럼에 두가지 정보를 넣었을떄.idnameemail1전민우minwoo.. 2025. 7. 22.
@Transaction,DB락 트랜잭션이란? 우리가 DB를 사용하는 이유중 가장 대표적인 에는 이러한 트랜잭션 기능을 사용할수 있기떄문이다. 즉, 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻함. DB 락?여러 사용자가 동시에 같은 데이터를 조회하거나 수정하려 하면 데이터 충돌이 발생할 수 있다, 그래서 이러한 사태를 막기위해해당 세션이 트랜잭션을 시작하면 데이터를 수정하는 동안에나 커밋이나 롤백 전까지는 다른 세션에서 해당 데이터를 수정할수 없게 막는것이 DB 락이다. 기본적인 DB 락 실행 1. 세션1은 트랜잭션을 시작한다.2. 세션1은 memberA의 money를 5000으로 변경을 시도할떄 해당 로우의 락을 획득한다.3. 세션1은 락을 획득하고 해당 로우의 update sql을 실행하고 락을반납. .. 2025. 5. 27.
JDBC ,커넥션풀 이해 1.JDBC?예전에는 각 DB 마다 커넥션을 연결하고,SQL을 전달하고 하는 방법이 모두 달랐음, 그래서 DB를 바꾸거나 하면 이전에 애플리케이션에 사용하던 코드도 변경해야하고, 개발자가 각 데이터 베이스마다 DB에 맞는 커넥션연결,SQL전달 방법을 학습 해야했음.그래서 자바는 JDBC표준이라는 것을 만듬(자바 DB연결 API) : 각 DB회사들은 아래있는 표준 인터페이스를 구현하도록, 즉 껍데기만 만들어놓고, 내부는 각 DB회사들이 알아서 구현하게 하도록 함. JDBC인터페이스 모음java.sql.connection - 연결Statement - 전달 ResultSET -응답 그래서 우리는 표준 인터페이스에만 의존 하기떄문에 DB가 변경되도 코드는 변경하지 않고 , JDBC를 구현하는 라이브.. 2025. 5. 25.