[Oracle] DataBase Modeling

JH·2023년 4월 13일
0

Oracle

목록 보기
6/6

1. TIL

A. DB Modeling

데이터베이스 설계를 위한 과정

  • 데이터베이스에 저장될 데이터의 구조, 형식, 관계 등을 결정
  • 데이터베이스의 성능과 안정성을 결정하는 중요한 단계

개념적 모델링 : 요구사항을 토대로 필요한 데이터는 무엇인지 등을 추려내는 것
→ 요구분석 단계에서 정의된 엔티티, 속성, 관계 등을 바탕으로 ERD를 생성

논리적 모델링 : 데이터베이스의 논리적인 구조를 설계하는 것
→ 개념 설계에서 추상화된 데이터를 구체화하여 개체, 속성을 테이블화하고 상세화

물리적 모델링 : 논리적 모델을 물리적인 데이터베이스 구조로 변환하는 것
→ 논리적 설계 단계에서 표현된 데이터를 실제 컴퓨터의 저장장치에 표현화


엔티티(Entity) : 업무의 관심 대상이 되는 정보를 갖고 있거나 관리할 필요가 있는 유, 무형의 사물(개체)

속성(Attribute) : 엔티티에서 관리해야 할 최소 단위 정보 항목(관심이 있는 항목)
소문자, snake case 사용,속성의 의미가 분명히 드러나게 작성

관계(Relationship) : 엔티티 사이의 관련성

카디널리티(Cardinality) : 각 엔티티에 속해 있는 정보 간 관계를 수적으로 표현

주식별자(Primary Identifier) : 엔티티 내 각 인스턴스를 구별하는 기준이 되는 속성

외래식별자(Foreign Identifier) : 관계가 있는 엔티티 간의 연결고리 역할을 하는 속성

참여도

  • | 필수 : 반드시 존재
  • O 선택 : 반드시 존재 X
  • ⍦ : 1개 이상 존재


SQL Developer에서 ERD 만들기

보기 - Data Modeler - 브라우저
관계형 데이터 모델 - 새 관계형 모델 - 테이블을 만들어서 드롭 다운
SQL Developer - 관계형 데이터 모델



2. 에러

발생 에러 : SQL Developer 무한 로딩
해결방법 : 셋팅 - 코드편집기 - 완성 인사이트 - SQL 워크시트에서 자동 완성 팝업 사용 체크 해제

db.properties파일, DBUtil클래스는 코드가 같아 재사용함
재사용 과정에서 db.properties를 찾지 못하는 예외가 발생함
해결 방법 : db.properties파일을 삭제하고 다시 만드니까 해결됨..


3. 보완 해야 할 것

데이터 베이스를 설계할 때 구조적, 기능적으로 충분히 고려하여 설게해야됨. 관계도를 계속 수정해야하는 불필요한 작업이 더해짐
사용할 기능에 초점을 맞추면서 작업하면 사용해야할 테이블, 컬럼을 더 알맞게 설계할 수 있을 것 같음
Orders 테이블에서 Date를 넣는 것이 더 좋다고하는데 아직 그 이유를 모르겠음


4. 느낀점

오늘 2일 기간의 팀프로젝트가 시작됬다.
데이터 베이스 모델링부터 분업화할 작업까지 아직 낯설다.
기간이 2일이라 PK, FK를 이용하여 CRUD 작업에 초점을 두다보니 기능적인 부분이 부족해지는 것 같음

profile
잘해볼게요

0개의 댓글