일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- SAP
- docker
- 노드
- node.js
- 오라클
- JavaScript
- sap mm
- 파이썬
- 자바
- ABAP
- 딥러닝
- Python
- 영어
- 자바스크립트
- Spring Framework
- 오라클 디비
- nodejs
- IT
- Oracle DB
- db
- Java
- oracle
- SAP ABAP
- SAP ERP
- 도커
- Programming
- 유럽여행
- 머신러닝
- Mac
- 비지니스영어
- Today
- Total
JIHYUN JEONG
[DB] 오라클(Oracle) 데이터베이스 데이터 모델링[UML] 05 본문
오라클(Oracle) 데이터베이스를 공부해 보겠습니다
DB 데이터 모델링에서 대해서 오늘은 알아보도록 하겠습니다.
- 데이터 모델링
• 데이터 모델링
- 데이터베이스를 구축하고 하는 대상이 되는 기관에서 사용되는 데이터를 분석하여 제약조건을 체계적으로 정의하고 개념적인 도구를 이용해서 간결하고 이해하기 쉽게 표현하는 것
• 데이터 모델링의 중요성
- 데이터베이스 사용자 간에 의사소통을 쉽게 해준다
- 전체적인 조화와 균형을 유지할 수 있게 해준다
• 데이터 모델링의 종류
- 개념적 데이터 모델
- 논리적 데이터 모델
- 물리적 데이터 모델
• 개념적 데이터 모델
- 고수준의 데이터 모델
- 전체 시스템에 대한 개념적인 정보를 나타내는데 사용
- 개체-관계 모델(ER Model, Entity-Relationship Model)이 대표적인 개념적 데이터 모델이다.
• 논리적 데이터 모델
- 표현 데이터 모델 또는 구현 데이터 모델
- 구축할 시스템의 이미지
- 네트워크 데이터 모델
- 계층 데이터 모델
- 객체지향 데이터 모델
- 객체-관계 데이터 모델
- 관계형 데이터 모델 (우리는 이것을 해볼것임)
• 논리적 데이터 모델(관계형 데이터 모델)
- 데이터베이스의 구조를 이차원의 표를 이용하여 표현하는 모델
- 간단하고 균등한 데이터 구조
[ 그림 ]
• 논리적 데이터 모델(계층형 데이터 모델)
- 하위 데이터들이 상위 데이터 하나를 갖는 모델
- 데이터의 관계를 트리(Tree) 형태로 나타난다.
- 세그먼트 : 필드의 집합은 세그먼트
- 루트(Root) 세그먼트 : 맨위에 있는 세그먼트
[그림]
• 논리적 데이터 모델(네트워크 데이터 모델)
- 데이터구조가 복잡해지면서 계층형 데이터 모델로 표현하기 어려운 데이터 구조를 그래프 형태로 표현한 모델
- 설계가 어렵고, 사용자가 이해하며 사용하기 어렵
[그림]
• 논리적 데이터 모델(객체지향형 데이터 모델)
- 객체를 지향하는 개념과 데이터베이스 개념을 통합하여 되도록 실세계와 유사하게 데이터를 표현하는 데이터 모델
- 재사용이 쉬워서 유지보수가 편하다
- 시스템 자원을 많이 요구하고 확실히 정립된 개념이 아직 없다.
• 물리적 데이터 모델
- 컴퓨터 내부에서 데이터들이 실제로 어떻게 저장되는 가를 표현
- ER(Entity-relationship) 데이터 모델
• ER(Entity-relationship) 데이터 모델
- 개념적 데이터 모델
- 엔티티(Entity), 애트리뷰트(Attribute), 관계(Relationship)를 이용해서 실세계를 개념적으로 표현하는 기법
• ER 모델의 구성요소
- 엔티티(Entity)
- 애트리뷰트(Attribute)
- 관계(Relationship)
• 엔티티 (Entity)
- 모델의 관리 대상
- 사람과 물건, 장소 같은 실체가 있는 것이나 개념을 엔티티로 선택
- 시스템 구축 단계까지 진행되면 파일이나 데이터베이스의 테이블로 구현
- ER 다이어그램에서는 사각형으로 표현
[그림]
• 애트리뷰트 (Attribute)
- 엔티티의 구성 요소
- ER 다이어그램에서는 타원으로 표현
[그림]
• 관계(Relationship)
- 엔티티 간의 관계를 나타내는 것으로 1:1, 1:N, M:N 관계를 표현
- 관계는 관계형 데이터베이스로 매핑(Mapping, 사상) 되는데, ER 다이어그램에서는 마름모로 표현
[그림]
• 엔티티
- 실제로 존재하는 대상들
- ER 모델에서 가장 기본이 되며, 고유하게 식별이 되어야만 한다.
[그림]
• 엔티티 타입(Entity Type)
- 여러 엔티티가 모여서 하나의 집단을 이룬 형태
- ER 다이어그램에서 엔티티 타입은 사각형으로 표현
[그림]
[그림]
• 애트리뷰트 (Attribute)
- 엔티티 또는 관계가 갖는 성질이나 특성
- 엔티티는 반드시 하나 이상의 키 애트리뷰를 갖고 있어서 나머지 애트리뷰트를 유일하게 정의할 수 있다.
- ER 다이어그램에서 애트리뷰트는 타원으로 표현
• 단순 애트리뷰트(Simple Attribute)
[그림]
• 키 애트리뷰트(Key Attribute)
- 엔티티들을 식별할 수 있는 유일한 제약조건을 갖는 애트리뷰트
[그림]
• 복합 애트리뷰트(Composite Attribute)
- 두 개 이상의 애트리뷰트로 이루어진다.
- 각각의 애트리뷰트는 그 자체로도 독립적인 의미가 있다.
[그림]
• 다치 애트리뷰트(Multivalue Attribute)
- 애트리뷰트 하나에 여러 값이 들어갈 수 있는 애트리뷰트
[그림]
• 관계 타입 (동사형으로 많이 쓰임)
- 엔티티 타입 간의 관계를 표현할 때 사용
- 엔티티 간에 존재하는 수학적 관계를 말한다.
- ER 다이어그램에서 마름모를 사용하여 표현
[그림]
• 카디널리티 비율(Cardinality Ratio)
- 두 엔티티 타입 사이의 관계에서 참여자의 수를 표현 하는 것
- 1:1, 1:N, M:N 등이 있다.
- ER 다이어그램에서는 실선 위에 1 또는 N을 표기해서 구분
※ 주로 1:N 이 많이 쓰임
• 카디널리티 비율 – 일대일(1:1) 관계
- 하나의 엔티티에 대하여 하나의 엔티티만이 관계
• 카디널리티 비율 – 일대다 (1:N) 관계
• 카디널리티 비율 – 다대다 (M:N) 관계
[ 논리적 설계]
7.1 관계형 데이터베이스
• 논리적 설계
- 논리적 설계는 ER 다이어그램을 데이터베이스 관리 시스템에 매핑(Mapping, 사상)하는 것이다
• 관계(테이블 또는 릴레이션)
- 흔히 부르는 테이블이라는 이름으로 사용되고 있다. 관계의 행은 애트리뷰트라고 하고, 열은 투플이라 하며 실제 데이터의 값이 들어감
• 투플(레코드 또는 행)
- 관계를 구성하는 각각의 행을 의미하며, 애트리뷰트의 모임으로 구성
• 애트리뷰트(속성 또는 열)
- 데이터베이스를 구성하는 가장 작은 논리적 단위, 개체의 특성을 기술
• 도메인
- 애트리뷰트가 취할 수 있는 같은 타입의 원자 값들의 집합을 의미
- 실제 애트리뷰트 값이 나타 날 때, 그 값의 합법 여부를 시스템이 검사하는 데에도 이용
※ 엔티티는 후에 테이블이 되고, 관계는 테이블이 될수도 있고 테이블의 속성이 될수도 있다.
[실습 1]
<acme DVD 대여점 업무 프로세스>
1. 회원 가입을 한 고객은 원하는 DVD를 대여할 수 있다.
2. 회원은 고유의 ID와 이름, 비밀번호, 주민번호, 전화번호, 주소 등에 대한 정보를 가진다
3. DVD는 고유한 DVD번호와 제목, 장르, 등급, 출시일, 감독, 주연, 대여가격에 대한
정보를 가진다.
4. DVD 대여 시 대여일, 반납일, 대여료 등의 정보가 발생하며
회원에게는 대여가격의 10%에 해당하는 마일리지가 적립된다.
5. 대여기간은 1주일이며 연체시 연체료가 발생한다.
○ 순서
- 엔티티 뽑기
- 관계
[실습 2]
<한국대학교 업무 프로세스>
1. 모둔 학생은 고유한 학번, 이름, 주소, 생년월일, 나이 정보를 가지고 있으며
특정학과에 소속 된다.
2. 학과는 학과명, 학과사무실위치, 전화번호 등을 관리하고
학교내에 같은 이름의 학과는 없다.
3. 학생은 수강할 과목을 등록하는데, 과목에는 과목번호, 과목명, 과목개요 등의 정보가 있다.
4. 교수는 교수번호로 식별할 수 있고 교수이름, 전공분야, 소속학과 등의 정보가 있다.
5. 교수는 과목을 강의하고 학생에 대해 전공 지도를 한다.
[실습 3]
<MySweethome 쇼핑>
MySweethome 쇼핑은 온라인&TV 홈쇼핑 회사다.
1. 고객은 회원가입을 한 후 상품을 주문할 수 있다.
2. 고객은 한번에 한개 혹은 여러 개의 상품을 주문할 수 있고
주문내역을 확인하거나 수정, 삭제할 수도 있다.
3. 고객은 결제 수단으로 신용카드나 무통장 입금, 포인트를 사용할 수 있다.
4. 주문이 완료된 상품은 배송 상태를 확인해 볼 수 있고
5. 배송 완료 후에는 정해진 포인트를 적립받을 수 있다.
• ER 다이어그램을 관계형 스키마로 변환하는 과정
[그림1]
[그림2
• 엔티티 타입을 관계형 스키마로 매핑
[그림]
• 1:1 관계 타입의 변환
[그림]
[그림2]
※ 어느쪽으로 가도 상관없다.
• 1:N 관계 타입의 변환
[그림1]
[그림2]
※ 1:N 에서는 많은쪽으로 속성들을 몰아준다.
• M:N 관계 타입의 변환
[그림1]
[그림2] – 수강테이블에 '과목번호', '학번' 이 추가
과목번호 | 학번 |
• ER 다이어그램과 관계 모델과의 대응 관계
[ 실습 2-1 ]
[ 실습 2-2 ]
[ 실습 2-3 ]
'Information Technology > Database' 카테고리의 다른 글
[DB] 오라클(Oracle) 데이터베이스 JDBC(Java Database Connectivity) 07 (0) | 2013.02.25 |
---|---|
[DB] 오라클(Oracle) 데이터베이스 VP-UML CE (not for commercial use) 06 (2) | 2013.02.25 |
[DB] 아빠도 따라하는 오라클 데이터베이스 4일차 (0) | 2013.02.22 |
[DB] 아빠도 따라하는 오라클 데이터베이스 3일차 (0) | 2013.02.22 |
[DB] 아빠도 따라하는 오라클 데이터베이스 2일차 (0) | 2013.02.21 |