CS-Theory/DB
-
정규화는 항상 옳은가 ? Join 은 정답일까?CS-Theory/DB 2023. 8. 12. 19:15
데이터 베이스의 정규화는 데이터의 중복을 제거하기 위하여 진행을 한다. 데이터의 중복을 없에는 것은 꼭 자원을 효율적으로 사용을 하는 것 이라고 할 수 가 있을까 ? -> 두가지의 테이블을 만들어 fk 를 통한 join 도 비용이라는 것을 알아야한다. 즉 , 정규화와 비정규화의 tradeOff 에 앞서 도메인 이해를 바탕으로 조회용 데이터와 쓰기 용 데이터를 먼저 구별을 하는게 올바른 설계의 첫 걸음이라고 생각이 든다. 정규화의 장점 1. 중복을 제거 2. 데이터를 한곳에서 관리 3. 데이터 정합성 유지가 쉽다 비 정규화의 장점 참조 없이 읽기가 가능하다. 정규화를 언제 사용하는게 효과 적일까 ? 데이터의 최신성을 고려한 판단이 하나의 기준이 될 수 가 있다. 사용자의 이름과 닉네임 고유한 식별자가 있는..
-
Transaction (1) 정의 , ACID 특성CS-Theory/DB 2023. 8. 9. 23:29
데이터베이스의 트랜잭션이란 , 데이터 베이스에서 수행하는 작업 또는 논리의 하나의 단위이다. 운영체제로 부터 자원을 할당 받아 실행하는 작업의 단위인 프로세스와 유사한 정의 인것 같다. 논리의 단위라는것이 중요하다 , 트랜잭션의 결과가 물리적으로 , 하드디스크에 변경이 된다라는걸 의미 하지 않는다. ??? 데이터 베이스에 WRITE 과 관련된 트랜잭션이 발생을 하면 , RAM에서의 결과를 COMMIT 이라는 명령어를 해야 하드디스크에 변화가 생긴다. 추가로 + ACID 의 개념이 들어가게 설명을 하자. 데이터베이스의 트랜잭션이란 , ACID 속성이 있는 작업 그룹이며 , DB 의 어떤 변화가 있는 경우를 일컫는 말이다. 정리 하자) 데이터 베이스의 트랜잭션이란 , ACID 속정이 있는 작업 그룹으로 DB..