본문 바로가기

DB 데이터베이스 관계도(1:1, 1:n, n:m)

(5)
DB) Index란? 사용 이유? ☑️ Index란?→ 인덱싱은 데이터베이스 내에서 데이터 검색 속도를 향상시키기 위한 구조 → 인덱싱은 책의 색인처럼 동작하며, 빠른 데이터 검색을 가능하게 해줌 ☑️ RDBMS에서 age가 20인 행을 찾으려면, where age = 20 이렇게 찾을 수 있지만, 행이 1억개라면 1억번 찾아야 됨 ✔️ 대안 → 인덱싱을 통하여, 데이터를 더 빠르게 조회 가능✔️ 정렬해둔 사본을 인덱스라고 부름 ⛳️ 인덱싱 방법1) Binary search tree 만약 5가 어디에 저장되어 있는지 찾으려면, Binary search tree 구조를 통하여 아래 예시에서는 2번의 질문으로 찾을 수 있었음 2) B-tree Binary search tree보다 개선된 방법으로 B-tree라는 구조가 있음(아래 사진) 3..
partitioning vs sharding vs replication ☑️ Partitioning : 하나의 DB에서 테이블을 row, column으로 세분화하여, 데이터를 유지보수 및 불필요한 데이터를 조회하지 않음으로써 성능 향상 기대☑️ 파티셔닝을 왜 사용해야 되는지? → 아래 예시에서 content라는 용량이 큰 데이터는, 게시판을 조회할 때 필요하지 않은 정보 → 불필요한 정보 조회를 줄임으로써, 데이터 성능 향상 기대☑️ 사용 예시1. 자주 사용되는 데이터만 묶거나2. 민감한 정보만 따로 묶어서 관리(user_id, user_name과 민감한 정보 password, token)☑️ 전체 데이터 필요 시: 테이블을 Join하여 사용 ✔ 실제 게시판 List에서는 id~comment_cnt까지의 정보만 필요하지만, Article 테이블에는 content..
index란? * index란 데이터베이스에서 검색 속도를 향상시키기 위해 사용하는 자료구조이다.  마치 책의 목차처럼, 특정 데이터를 빠르게 찾을 수 있도록 도와줌.!! index를 쓰는 이유: - 조건을 만족하는 튜플(들)을 빠르게 조회하기 위해.- 빠르게 정렬(order by)하거나 그룹핑(group by)하기 위해. 1. 인덱스의 역할데이터 조회 속도 향상: 인덱스를 사용하면 테이블 전체를 탐색(Full Table Scan)하지 않고,필요한 데이터가 저장된 위치를 빠르게 찾아  접근 가능. • 검색 성능 최적화: 대량의 데이터가 있는 테이블에서도 효율적인 검색이 가능하도록 최적화됩니다. • 정렬 성능 향상: ORDER BY, GROUP BY 같은 연산 시 성능이 향상됩니다. 2. 인덱스의 동작 원리 • 데이터베..
git, github 협업 시 * 하단의 링크 참고해서 진행       출처 : https://www.youtube.com/watch?v=IT41djAKUgg
관계형 데이터 모델링 1:N * 1:N 관계 => 저자는 여러개의 댓글을 가질 수 있지만, 댓글은 하나의 저자에 의해서만 작성 될 수 있다. (=댓글은 하나의 저자만 가질 수 있다) * 또 다른 예시 (출처:https://velog.io/@gillog/DB-11-1N-NM-%EA%B4%80%EA%B3%84) 1:N 관계(일대다 관계) 1:N 관계는 한 쪽 엔티티가 관계를 맺은 엔티티 쪽의 여러 객체를 가질 수 있는 것을 의미한다. 현실세계에는 1:N관계가 많이 있는데, 실제 DB를 설계할 때 자주 쓰이는 방식이다. 1:N 관계는 N:M 관계처럼 새로운 테이블을 만들지 않는다. 예를 들어, 부모와 자식 관계를 생각해보면, 부모는 자식을 1명, 2명, 3명, 그 이상도 가질 수 있다. 이를 부모가 자식을 소유한다고(has a 관계) 표..