DA 4

mariadb 에서 unsigned 컬럼 join 시 문제점

unsigned 컬럼은 부호 없는 정수를 나타내며, 일반적으로 양수만을 저장할 때 사용됩니다. DB 관점에서의 문제점 1. 데이터 불일치: unsigned 컬럼을 가진 테이블을 다른 테이블과 조인할 때, 부호 있는 정수 컬럼을 가진 테이블과 조인하면 데이터 불일치 문제가 발생할 수 있습니다. 이는 음수 값을 가지는 부호 있는 정수 컬럼과 양수 값을 가지는 unsigned 컬럼 간에 일치하지 않는 데이터가 발생할 수 있음을 의미합니다. 2. 인덱스 문제 ✨: unsigned 컬럼을 사용하면 해당 컬럼에 대한 인덱스가 부호 없는 정수 범위 내에서만 작동합니다. 따라서 음수 값이 있는 컬럼을 조인하거나 비교할 때 인덱스를 사용하지 못할 수 있습니다. 3. 형변환 오버헤드: unsigned 컬럼과 부호 있는 정..

DA 2024.01.24

모델링 스터디(쇼핑몰)

- 우리 매장을 찾는 고객명단을 기록 - 구매한 내용 기록 예시 데이터로 아래와 같이 기록된다고 가정한다. 1) 원장 데이터 > 고객은 여러번 방문 가능하고 방문해서 아무것도 사지 않을 수 있다. 2) 원장 데이터 정렬 > 구매한 적이 없는 고객으로 정렬하면 L자형 테이블이 되었다. L자형 테이블의 문제는 공간 낭비가 생긴다. 3) L자형 테이블 분리 > L자형 테이블 분리하여 빈공간 제거 4) 고객 중복데이터 제거 및 기본키 설정 > 고객테이블의 중복값 제거 및 고객이름이 구분자로 가능하다고 가정하여 PK로 설정 > 구매테이블에 고객테이블 pk인 고객이름 컬럼 생성 5) 관계 설정 > 1:N 관계 설정 6) 물리 모델 설계 7) ERD 생성

DA 2023.04.09

제 1-2-3 정규화 & 역정규화

1. 정규화란? ERD내에서 중복요소를 찾아 제거해 나가는 과정 - 중복된 데이터는 많은 문제를 일으킨다. 2. 데이터베이스 정규화 절차 2.1 제 1 정규화 -> 제1차 정규화는 같은 성격과 내용의 컬럼이 연속적으로 나타나는 컬럼이 존재할 때, 해당 컬럼을 제거하고 기본테이블의 PK를 추가해 새로운 테이블을 생성하고, 기존의 테이블과 1:N 관계를 형성하는 것이다. tag필드를 보면, 값들이 여러개가 있다. 하나의 필드에 값들이 여러개 있으면 안된다. 이를 정규화 시키보자. 1. 우선 하나의 title은 여러개의 tag를 갖는다. 또한 하나의 tag(rdb)는 여러개의 title(mySQL, Oracle)을 갖는다. 2. 그러면 title과 tag를 테이블 두개로 분리했을때 이들의 관계는 M:N이 된다..

DA 2022.12.16

데이터 모델링 개념

https://www.erdcloud.com/ ERDCloud Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool. www.erdcloud.com 1. 데이터모델링이란? 데이터 모델링이란 정보시스템 구축의 대상이 되는 업무 내용을 분석하여 이해하고 약속된 표기법에 의해 표현하는걸 의미한다. 그리고 이렇게 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용되는, 데이터베이스 설계의 핵심 과정이기도 하다. 특히 데이터를 추상화한 데이터 모델은 데이터베이스의 골격을 이해하고 그 이해를 바탄으로 SQL문장을 기능과 성능적인 측면에서 효율적으로 작성..

DA 2022.12.16