데이터베이스 설계를 위한 과정
개념적 모델링 : 요구사항을 토대로 필요한 데이터는 무엇인지 등을 추려내는 것
→ 요구분석 단계에서 정의된 엔티티, 속성, 관계 등을 바탕으로 ERD를 생성
- ERD(Entity-Relationship Diagram) : 개체-관계모델 다이어그램
논리적 모델링 : 데이터베이스의 논리적인 구조를 설계하는 것
→ 개념 설계에서 추상화된 데이터를 구체화하여 개체, 속성을 테이블화하고 상세화
물리적 모델링 : 논리적 모델을 물리적인 데이터베이스 구조로 변환하는 것
→ 논리적 설계 단계에서 표현된 데이터를 실제 컴퓨터의 저장장치에 표현화
엔티티(Entity) : 업무의 관심 대상이 되는 정보를 갖고 있거나 관리할 필요가 있는 유, 무형의 사물(개체)
속성(Attribute) : 엔티티에서 관리해야 할 최소 단위 정보 항목(관심이 있는 항목)
소문자, snake case 사용,속성의 의미가 분명히 드러나게 작성
관계(Relationship) : 엔티티 사이의 관련성
카디널리티(Cardinality) : 각 엔티티에 속해 있는 정보 간 관계를 수적으로 표현
주식별자(Primary Identifier) : 엔티티 내 각 인스턴스를 구별하는 기준이 되는 속성
외래식별자(Foreign Identifier) : 관계가 있는 엔티티 간의 연결고리 역할을 하는 속성
참여도
보기 - Data Modeler - 브라우저
관계형 데이터 모델 - 새 관계형 모델 - 테이블을 만들어서 드롭 다운

발생 에러 : SQL Developer 무한 로딩
해결방법 : 셋팅 - 코드편집기 - 완성 인사이트 - SQL 워크시트에서 자동 완성 팝업 사용 체크 해제
db.properties파일, DBUtil클래스는 코드가 같아 재사용함
재사용 과정에서 db.properties를 찾지 못하는 예외가 발생함
해결 방법 : db.properties파일을 삭제하고 다시 만드니까 해결됨..
데이터 베이스를 설계할 때 구조적, 기능적으로 충분히 고려하여 설게해야됨. 관계도를 계속 수정해야하는 불필요한 작업이 더해짐
사용할 기능에 초점을 맞추면서 작업하면 사용해야할 테이블, 컬럼을 더 알맞게 설계할 수 있을 것 같음
Orders 테이블에서 Date를 넣는 것이 더 좋다고하는데 아직 그 이유를 모르겠음
오늘 2일 기간의 팀프로젝트가 시작됬다.
데이터 베이스 모델링부터 분업화할 작업까지 아직 낯설다.
기간이 2일이라 PK, FK를 이용하여 CRUD 작업에 초점을 두다보니 기능적인 부분이 부족해지는 것 같음