행위자가 꼭 사람이 아니라는 것
설계할 때는 영어 말고 한글로
ㅡㅡㅡㅡㅡ
회원이 가진 속성을 표현
구매할 때는 '(구매)일자'
찜 '일자, 가격'
몇 대 몇인지를 기록해야
-> 테이블로 만들 것인지, 다른 테이블에 ? 하게 할 것인지
1명의 회원이 --- 여러개의 상품을 구매 가능 -> 1:N
반대로 하나의 상품은 --- 여러명에 의해 구매가 되나? -> N:N
1명의 판매자가 --- 여러개의 상품 등록 가능? 1:N
하나의 상품을 여러개의 판매자가 등록 가능? 맞으면 N:N , 아니면 1:N (선생님은 아니라고 보심...ㅎㅎ)
Q. '찜'은
-> N:N
ㅡㅡㅡㅡㅡ
식별자로 사용 가능한 것 : 여기서는 '아이디'
-> 언더라인으로 표시
// 개념 설계
ㅡㅡㅡㅡㅡ
* 피드백 *
1. 선이 cross 되지 않도록 그리기
2. '별점'이란 이름 - 평가의! xx -> '점수'라고 하기
3. 데이터 중복 - 별점, 평점
예외 사항에 두기
4. 회원-회원
5. 좋아요 행위로 빼놓고, N:N
6. 관리자ID 삭제 (관리자 entity 있으니까)
도서 정보들 (이미지, url, ....) 추가 - '책'을 알 수 있게 해주는 것들
UI에서 정말 다 가지고 온 건지 체크하기
빠져있는 것들 추가하기
- '팔로우'도 시간 속성이 필요한건지
- 정말 팔로우만 하면 되는건지? (허락이라던지)
여기서도 '회원 닉네임' 삭제해주기
ㅡㅡㅡㅡㅡ
ERD에서는 테이블의 컬럼을 뽑아내는 과정
- 결과 집합에 넣고 싶은건 (ex - 좋아요 수, 찜 수 등) 아예 지우는게 일반적 (or 색깔 다르게 표현)
* 논리 설계 * (테이블 형태로 갖추는 것)
- 논리 설계를 위해 설치 하나를 해보자
AllFustion Erwin Data Modeler by CA
- 다시 실행할 때는 이름 뒤에가 R7인거 실행하면 됨
사진 1,2
논리설계 - 테이블 구조까지만 할 때는 이거
물리설계 - 특정 자료형까지
아까 만들었건 설계를 가지고, 이제 만들어보자~
1. entity 그려넣기
- 엔터 치면 계속 속성 추가 가능 (맨 위에가 key)
- tab으로 왔다갔다
- 드래그 해서 위치 이동시킬 수도 있음
내일은 key가 없는 것들은 어떻게 해야할지에 대해 알아보도록 하겠다.
-> 그리고 그 다음에 그대로 data base를 만들면 된다.
// 백엔드가 얼마나 단순하고 쉬운지 느껴보자. (프론트엔드가 재밌죠~)
그 다음은 '캔버스'에 대해서 배운다고 한다.
61일차. DB 14 - 모델링 (2정규화, 4정규화, 제약조건 - 도메인(NOT NULL, DEFAULT, CHECK), 엔티티(PRIMARY KEY, UNIQUE)) (0) | 2021.05.17 |
---|---|
60일차. DB 13 - 모델링 (논리설계 실습) (1) | 2021.05.14 |
58일차. DB 11 - 모델링 (개념설계, 논리설계) (0) | 2021.05.12 |
57일차. DB 11 - VIEW, SELF JOIN, 서브 쿼리로 간단하게 표현하기 (0) | 2021.05.11 |
56일차. DB 10 - JOIN (0) | 2021.05.10 |