유디의 공간정보·개발일기

1. 0913_DB Modeling개요, ERD diagram 본문

DB Modeling

1. 0913_DB Modeling개요, ERD diagram

55yudi 2021. 9. 13. 17:45

[DB Modeling (데이터베이스 모델링)]

 

- MySQL Workbench 실행

- 첫 실행인 경우 hr 데이터베이스 연결하기

  File - New Query Tab 클릭 - hr 스키마 스크립트 파일 오픈하기 - 저장하고 번개모양 누르기

  Navigator의 schemas 탭 선택 - 마우스우클릭 - refresh 하면 hr 이 연결된 것을 볼 수 있다.

 

- Reverse Engineer (역공학)

  Database - Reverse Engineer 선택

  hr 체크 - next

 

  계속 next - Execute 하면 다음처럼 EER Diagram이 생긴다.

네모 : 테이블

선 : join

 


[데이터 베이스]

- 통합 관리되는 정보의 집합

- 자료를 통합하여 중복을 없애고 자료를 구조화하여 저장해둔 자료의 집합체
- 회사나 조직의 여러 응용 시스템들이 공용(Shared)하며, 통합(Integrated)되고, 저장(Stored)되어 있으며,

  운영(Operational)되고 있는 데이터의 집합을 데이터베이스라 한다.

- 데이터베이스 기술의 발전은 데이터 모델이나 구조에 따라 세 개의 시대로 구분된다.

  계층형 모델, 네트워크 모델, 관계형 모델, 관계형 이후 모델로 구분할 수 있다.

 

* ODBC/JDBC : 우리가 사용했던 ojdbc6.jar 파일 같은 것처럼 Maven Dependencies로 사용했던 것들

 

- 프로세스 모델링 / 데이터 모델링

 

<Oracle SQL Developer Data Modeler>

- datamodeler x86 설치하고 실행하기

 

- ERD(Entity Relationship Diagram)

  * Logical 탭에서 해야함  

  두번째 아이콘 눌러서 테이블 생성

  두번째 화살표 눌러서 1 대 다 관계 생성

  1) 정보공학 표기법(까마귀발 표기법) (뫄?)

  2) 바커 표기법

바커 표기법 형태

- 마우스 우클릭 - 표기법 에서 현재 표기법을 확인하거나 다른 표기법으로 바꿀 수 있다.


- ERD를 작성하는 과정 = 데이터모델링

 

[엔티티]

- 엔터티 = 테이블(실체) <-- 여러 개의 속성들이 필요하다.

- 속성(Attribute) = 컬럼


[관계]

- 관계 실습하기

3번 --> recursive


[속성]

- 더 이상 분할되지 않는 최소의 데이터 보관 단위

- 엔티티 내부에 표현되며, 관리하고자 하는 데이터들

- 속성들은 반드시 식별자에 종속되어야 한다. 이것은 제2정규형에 해당하는 사항이다.

- 여러 개의 컬럼이 primary key를 이룰 수 있다.

- 엔티티의 인스턴스들 사이의 유일성을 보장하는 속성이다.
- 하나 또는 그 이상의 속성(Attribute)으로 구성한다.
- 모든 엔티티는 반드시 식별자가 있어야 한다.

   식별자 = primary key
- 식별자를 구성하는 모든 속성은 반드시 데이터가 존재해야 한다(Not Null).
- 메인 엔티티와 액션 엔티티는 의미상의 주어가 식별자이지만, 상황에 따라 인조 키(인공 키)로 대체될 수 있다.

 

- 인조 식별자

[정리]

- Entity => 테이블

  * 엑셀시트

      - 컬럼(column)과 로우(row)

      - 2차원 평면

         * 수평방향 컬럼(column)

         * 수직방향 로우(row)

- Relationship => 컬럼 또는 테이블

- Attribute => 컬럼, 속성

  * 식별자 => primary key (PK)

  * 설명자

 


- 예제 실습하기 --> EAR을 가져와서 ERD 그리기

  * 두 개 이상의 컬럼과 두 개 이상의 로우로 이루어지면 엔티티가 될 수 있다.

  - 명사 도출해서 엔티티 / 속성 / 버릴 것들 로 구분하기

  - 각 엔티티의 관계를 동사형으로 나타내기

  - ERD 그리기

일단 테이블과 기본UID(기본키) 지정만 한 상태

- 관계(선) 추가하기

 

- 중간 엔티티(?) 생성

'DB Modeling' 카테고리의 다른 글

2. 0914_ Data modeler(계속), 논리모델, 정규화, sql  (0) 2021.09.14