데이터베이스 2

[DataBase] MySQL로 정규화를 적용하여 테이블 설계 해보기

오늘은 정규화를 적용하여 중복을 제거하고 독립성을 높여 재사용성이 높은 테이블을 설계해보도록 하겠다. 해당 테이블은 회원이 구매할 제품들을 담아놓은 테이블이다. 🔷 제1 정규화칼럼의 원자성을 확보하고 기본키를 설정하는 절차이다. 테이블의 칼럼은 하나의 값만 가질수있는것을 중시하고, 현재 테이블에서는 제품명에 여러개의 값이 들어가있는것을 볼수있다. 이 경우 원자성을 위하여 분해를 해주도록 한다.이제 기본키를 설정한다. 기본키를 설정하는 방법은 해당 칼럼이 다른 속성을 함수적으로 종속하고있는지 즉 A가 변할경우 B도 변하는가를 기준으로 설정하면 된다. 위에서 기본키로 잡을수 있는것은 쇼핑 ID / 제품코드 / 회원ID 가 있다. 쇼핑ID가 변한다면 모든 속성이 변하므로 완전 함수 종속 제품코드가 변한다면 ..

데이터베이스 2025.02.05

[MySQL] Inner Join & Outer Join 의 차이점

🔶 JOIN 이란?한 데이터베이스 내에서 분리되어있는 여러 테이블에서 원하는 결과를 도출해내기 위해컬럼을 기준으로 행을 합쳐 사용하는것을 말한다.   🔶 JOIN을 사용하는 이유는 뭘까? 테이블을 분리하는 이유가 무엇일까? 우리가 어느 목적지를 향해 모험을 하고 죽으면 다시 처음으로 리스폰 하는 게임을 한다고 가정하였을 때만약 세이브 포인트를 다 무시하고 목적지로만 곧바로 직진하게된다면 매우 빠른 속도로 클리어할것이다. 그러나 모험을 하다보면 생각치도 못한 변수나 좋지않은 상황이 발생할수도 있다. 그럴때 마다 다시 처음으로 되돌아가 시작하게된다면 어쩌면 훨씬 더 시간이 많이 걸리게될 수 있다.그것을 방지하기 위해 세이브포인트가 있는 것이다 . 목적지로 향하는 시간이 조금 더딜수 있으나 세이브포인트로 ..

데이터베이스 2025.01.16