1. 외래키(Foreign Key)상품테이블과 주문테이블이 있다고 생각해보자. 아직 두 테이블간의 관계는 정해지지않은 상태다. 두 테이블의 관계는 어떻게 될지 생각해보자. 하나의 상품은 여러 주문에서 구매할 수 있고(재고만있다면..), 하나의 주문은 여러 상품을 구매할 수 있다. 다대다(N:M) 관계라는 뜻이다. ERD상으로는 이렇게 그릴 수 있지만 보통 RDB에서 다대다 관계는 중간에 관계 테이블을 추가해서 사용한다. 주문_상품이라는 관계 테이블을 추가했다(주문 테이블이 너무 허전해서 아무렇지않은듯 속성도 추가했다.). 주문_상품 테이블은 각각 상품 테이블과 일대다, 주문 테이블과 다대일 관계를 갖고있다. 주문_상품이 없는 상품은 존재할 수 있지만 주문_상품이 없는 주문은 존재할 수 없음도 ERD에 표..
1. 자연키(Natural Key)회원 테이블을 만든다고 가정해보자. 약간 속성의 차이는 있겠지만 대부분 이런형태의 테이블구조가 나올것이다. 이제 회원이 늘어날때마다 각각의 속성들에 대응하는 값들을 갖고있는 로우가 하나씩 추가될것이다. 그럼 이제 해당 로우들을 각각 고유하게 구별할 수 있는 기본키(primary key)를 지정해야한다. 어떤 컬럼을 기본키로 지정해주면 좋을까?성별은 회원이 몇명이든 2개의 값밖에 들어갈 수 없다. 필연코 각 로우별 중복적인 값이 들어올수밖에 없는 속성이므로 기본키로 적합하지않다(불가능하다.).이름도 동명이인이 충분히 있는만큼 적합하지않다. 주소는 가능할까? 주소를 가지고 기본키로 설정하면 내가 가입한곳을 동생이 가입하기 힘든사태가 벌어질수도 있을것 같다.그럼 남은것 중 전..
- Total
- Today
- Yesterday
- java8
- frontcode
- DesignPattern
- go-core
- db
- programming
- MySQL
- JPA
- Spring
- java
- OOP
- Kotlin
- http
- backend개발환경
- Jackson
- javascript
- generics
- toby
- code
- 정규표현식
- Design Pattern
- JavaScript Core
- TEST
- mariadb
- clean code
- servlet
- frontend개발환경
- spring cloud
- EffectiveJava
- Git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |