11. 테이블 설계

박선규's avatar
Jan 29, 2024
11. 테이블 설계

게시판(테이블 설계)

  • 컬럼이 늘어날 경우 조회가 불가능해서 안된다.
    • select 할 때 마다 컬럼이 늘어나있다
  • 중복이 될 경우 데이터의 일관성이 깨져서 안된다.(update시에 힘든 문제 발생)
    • 프로그램이 돌아갈때 언젠가는 실수 발생
    • 그러나 수정할 일이 없는 데이터는 중복이 되어도 상관없다.
  • 정규화 1번:콤마해서 집어 넣을경우 하나의 컬럼의 원자성이 깨진다.
notion image
☝🏻
게시글은 내용이 두건 이상이다. 제목과 내용 등으로 구성
오브젝트는 무조건 테이블을 초기화한다.
오브젝트가 되는건은 무조건 테이블 만들기
 

관계형 테이블

📌
notion image
“N-N” 은 무조건 연관테이블이 나온다. 즉 동사테이블(행위테이블)이 나온다!!!! EX) 구매자와 과일 판매 여러 명이 여러 과일을 살 수 있으니 N-N의 관계이므로 구매테이블이 나오게 된다!!
구매테이블에서 혹시라도 누가 구매를 하면 2개의 트랜잭션이 필요해진다 구매 한 INSERT트랜잭션 1개, 과일 수량을 가진 테이블의 수량을 UPDATE 트랜잭션 이 필요하다.
 
notion image
“1-N” 은 Foreign Key가 필요하다. 이 Foreign Key는 N의 테이블에 추가한다! 행위 테이블이 필요없다!
외래키(Foreign Key)는 한 테이블의 열(또는 열들)이 다른 테이블의 기본키(Primary Key)를 참조하도록 설정하는 제약 조건입니다. 이를 통해 두 개의 테이블 간에 관계를 형성하고, 데이터의 일관성과 무결성을 유지할 수 있습니다.
왼쪽 부터 user관점에서 board를 몇 개 만들 수 있는지?
boad관점에서 board 1개를 user 몇 명 이서 만드는지?
 
관계를 볼때는 row(행)을 본다.
 
 
 
배 구매테이블에서는 qty(재고)가 나올일이 없다 가격이 워낙 높아서
 
 
 
명사를 다 만들고 동사로 짠다.
 
 
드라이빙테이블:select form 뒤에 오는 테이블
 
 
 
 
 
실습
이미지 테이블 조회
notion image
 
 
 
 
 
 
 
 

 
notion image
 
inner join
데이터가 중복 되서는 안될 때 복합 유니크를 걸어야된다.
 
 
제목1 댓2
제목2 댓글2
제목3 x
제목4 x
 
 
Share article
RSSPowered by inblog