- DB 모델링
- 물리모델링 실습
- Forward Engineering 방법
- 개인 프로젝트
- DB 모델링 검토
## [물리모델]
- 특정 DBMS에 맞춘 물리적인 모델링
### 21. DBMS에 맞춰서 테이블명과 컬럼명을 설정한다.
- DBMS에서 테이블명과 컬럼명을 작성할 때 보통 다음의 규칙에 따라 작성한다.
예) first name(FST_NM), regist date(REG_DT), teacher assignment(TCH_ASN)
- 단어는 알파벳 3자 또는 4자로 축약해서 표현한다.
- 단어와 단어 사이는 밑 줄( \_ )로 표현한다.
dbmodeling-21.exerd
ㄴ 논리/물리 동시편집 선택
=>
dbmodeling-21.exerd
=>
dbmodeling-21.exerd
ㄴ 물리 모드 선택
=>
ㄴ 직원 테이블 명 -> mart_staff
ㄴ 각각의 물리 이름 정해주기
=> sno : staff_number
ㄴ 회원 테이블 명 -> mart_member
ㄴ 각각의 물리 이름 정해주기
=> mno : member_number
ㄴ 관리자 테이블 명 -> mart_manager
ㄴ 각각의 물리 이름 정해주기
ㄴ 고객 테이블 명 -> mart_customer
ㄴ 각각의 물리 이름 정해주기
ㄴ ctno : cart_number
ㄴ 지점 테이블 명 -> mart_branch
ㄴ 각각의 물리 이름 정해주기
=> brno : branch_number
ㄴ 문의사항 테이블 명 -> mart_customer_inquiry
ㄴ 각각의 물리 이름 정해주기
=> qno : inquiry_number
=> cdt : created_date
=> resp : response
ㄴ 장바구니 테이블 명 -> mart_cart
ㄴ 각각의 물리 이름 정해주기
=> ctno : cart_number
=> cnt : count
ㄴ 제품 테이블 명 -> mart_item
ㄴ 각각의 물리 이름 정해주기
=> ino : item_number
=> stock_qty : stock quantity
ㄴ 제품구매 테이블 명 -> mart_item_purchase
ㄴ 각각의 물리 이름 정해주기
=> pno : purchase_number
=> pur_qty : purchase quantity
=> pay_method : payment_method
ㄴ 제품사진 테이블 명 -> mart_item_photo
ㄴ 각각의 물리 이름 정해주기
=> ipno : item_photo_number
ㄴ 공지사항 테이블 명 -> mart_notice
ㄴ 공지유형 테이블 명 -> mart_notice_type
ㄴ 각각의 물리 이름 정해주기
=> nno : notice_number
=> ntno : notice_type_number
=> view_cnt : view_count
=> cdt : created_date
dbmodeling-21.exerd
### 22. 도메인(domain) 정의 및 적용
- 비슷한 종류의 컬럼들을 묶어 새 타입으로 정의한다.
- 이점: 타입을 변경할 때 한 번에 여러 컬럼을 변경할 수 있어서 유지보수에 좋다.
dbmodeling-22.exerd
ㄴ Window > Show View > Other... 선택
=>
ㄴ eXERD 의 도메인 창 띄우기
=>
=>
=>
dbmodeling-22.exerd
ㄴ 널 허용 잠시 체크 해제
=>
=>
ㄴ 우편번호에 사용
=>
=>
=>
=>
=>
dbmodeling-22.exerd
ㄴ 도메인에 설정되어있는 데이터 타입을 변경하면 해당 도메인으로 설정된 모든 항목의 데이터 타입이 변경됨
### 23. 번호가 자동 증가하는 컬럼을 지정
- 테이블의 PK 중에서 자동으로 증가해야 하는 컬럼을 지정한다.
dbmodeling-23.exerd
=>
ㄴ 자동 증가 체크하기
=>
dbmodeling-23.exerd
=>
ㄴ 자동 증가 체크하기
=>
dbmodeling-23.exerd
=>
ㄴ 자동 증가 체크하기
dbmodeling-23.exerd
=>
ㄴ 자동 증가 체크하기
=>
dbmodeling-23.exerd
=>
ㄴ 자동 증가 체크하기
=>
dbmodeling-23.exerd
=>
ㄴ 자동 증가 체크하기
=>
dbmodeling-23.exerd
=>
ㄴ 자동 증가 체크하기
=>
dbmodeling-23.exerd
=>
ㄴ 자동 증가 체크하기
### 24. 기본 값 및 제약 조건 설정
- 일부 컬럼에 대해 기본 값을 설정한다.
- 일부 컬럼의 값의 범위를 지정한다.
dbmodeling-24.exerd
=>
=>
dbmodeling-24.exerd
=>
### 포워드 엔지니어링(forward engineering)
- 모델 ----> 코드
- 참고: 리버스 엔지니어링(reverse engineering)
코드 ----> 모델
=>
ㄴ 모델 탭 열기
=>
ㄴ 필요없는 테이블 정리해주기
=>
=>
ㄴ 이름을 studydb 로 변경
ㄴ 포워드 엔지니어링 선택
=>
=>
=>
ㄴ 모두 복사
=>
=>
ㄴ ddl.sql 파일 생성
=>
ddl.sql
ㄴ 복사한 코드 붙여넣기
터미널에서 mysql 실행하기
ㄴ ddl.sql 파일 내용을 복사하여 터미널에 붙여넣기
=> 주의할 점 : iterms 이용 시 오류 발생 가능성이 있으므로 기본 터미널을 이용하자
ㄴ 에러가 발생한 부분해결하기
=>
=>
ㄴ 다시 포워드 엔지니어링 실행 후 터미널에 코드 붙여넣어 실행
=>
ㄴ 테이블이 제대로 생성되었는지 확인하기
'네이버클라우드 > JAVA 웹 프로그래밍' 카테고리의 다른 글
JAVA 59일차 (2023-08-14) 자바 프로그래밍_로그아웃 구현하기_개인프로젝트 - 마트 관리 시스템 (0) | 2023.08.15 |
---|---|
JAVA 59일차 (2023-08-14) 자바 프로그래밍_DB모델 적용_개인프로젝트 - 마트 관리 시스템 (0) | 2023.08.15 |
JAVA 57일차 (2023-08-10) 자바 프로그래밍_DB모델링 연습_논리모델_개인프로젝트 - 마트 관리 시스템 (0) | 2023.08.10 |
JAVA 56일차 (2023-08-09) 자바 프로그래밍_56. 웹 애플리케이션 자바 표준 기술 JavaEE 도입_개인프로젝트 - 마트 관리 시스템 (0) | 2023.08.09 |
JAVA 55일차 (2023-08-08) 자바 프로그래밍__Servlet API 사용법_2 (0) | 2023.08.09 |