[DB Schema / ERD] 2022_09_19

HWANGKYOJIN·2022년 9월 19일
0

Database

목록 보기
1/6
post-thumbnail

데이터모델 / 정보모델링

현실세계의 객체를 D/B로 옮기기위해 단순화, 추상화 형태로 표현하기 위한 개념적 모형(관계형 데이터모델)

3대 요소

구조(Scructure) = Schema
데이터들간의 관계

연산(Operation)
데이터베이스 안에서 각자의 개체들이 수행하는 역할 / 행위

제약조건(Constraint)
데이터의 정확성을 위한 무결성 제약 조건

개념적 설계(What? 무엇을 데이터베이스로 만들것인가) --> 논리적 설계 --> 물리적 설계

추상적이기 때문에 보다 구체화 해서 시각화 해야 한다. --> ERD(개체 관계도)

개체와 속성 개체간의 관계로 데이터베이스 의 속성과 관계를 파악 할 수 있다.

개체(Emtitly Type) - DB화 시키고자 하는 대상물 ex) 학생, 학생한명한명은 Instance 이다. 대상물

이 개체이다.

(Entity) Instance = 개체의 개별 하나하나를 가르킨다. 의 집합은 Entiy set이라고 부른다.

학생이라는 개체를 예제로 해보면 학생이라는 개체에서 학번 이름 전공 성별 이라는 Schema(구조)를 가지고

학번 20111111 이름 홍길동 전공 경영학과 성별 남성 <--- 은 학생 인스턴스이고 이러한 인스턴스의 모음을

인스턴스 Set이라 한다.

속성(Attribute) = 학번 속성, 이름 속성, 전공 속성, 성별 속성를 하나의 속성이라고 나타낸다.

그리고 속성에는 Simple Attribute(단순속성) / Composit Attribute(복합속성) 으로 나뉘는데

단순속성은 더이상 분해할수 없는 속성 / 복합속성은 단순속성으로 분해할수 있는 속성을 일컫는다.

속성은 단순속성이 더 좋은 속성이다. 예를들어 주소는 대표적인 복합속성이다 서울시 / 구로구 시와 구로 나눌

수있다.

그리고 속성안의 값을 single value attribute / multi valuse attribute 로 나오고 값 들이 몇

개인지를 나눈다. 이 또한 single value attribute가 더 좋은 속성값이다. 취미, 가지고있는 전자제품

이라던지 여러개의 값이 들어 올 수 있는 것들을 멀티 value attribute라고 부른다. 그리고 또 유도속성

/ 저장속성으로도 나뉜다. 유도속성은 저장되어져있는 속성을 통해 파생된 속성값을 일컫는다. 저장속성은 말그

대로 저장되어져있는 속성이다.

관계타입(Relationship Type)

관계카디널리티 (관계의 갯수)

1:1관계 1:N(일대다)관계 N:M(다대다)관계 이렇게 세가지의 관계타입이 있다. 해당 뿌려지는 기준으로 1대1

1대 N N:M으로 구분 할 수 있다. 아무래도 다대다 관계에서 문제가 많이 발생한다.

(필수참여관계) Mandatory Membershinp - 대응되는 데이터값이 항상 있을때 /

(선택참여관계) Optional Membership - 대응되는 데이터값이 있을수도 없을수도 있을때 동가르미가 있을

수도있다는 의미이다. (Optional ) -|----O<-

크로우핏(까마귀발) - 크로우즈 핏 노테이션을 사용하면 다수(many) 관계를 표현하는 것이 명확해진다.

다대다관계에서 발생될수있는 문제를 해결하기 위해 중간값을 만들어서 두 개체의 중간에 연결해주는 교차엔터티

를 만들어준다. 외래키가 기본키일 때 식별관계 외래키값이 일반속성이면 비식별관계 이다.

주개체(dominant entity) - 강한개체

b개체의 존재를 결정하는 a개체

종속개체(subdominate entity) - 약한개체

a개체의 의해 존재가 결정되는 b개체

< ISA관계 IS - A 관계 >

상하의 관계가 가능할때 상속의 관계 상위개체에서 받는 속성값을 하위에서 상속받아 그대로 사용 할 수 있다.

0개의 댓글