일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- stringreader
- 오블완
- 단국대학교 k-mooc
- CSS 기초
- 우선순위큐
- national instruments
- 블록체인 강의
- Entity
- 딥러닝
- 자바문자열구분
- K-MOOC
- 자바스크립트
- StringBuilder
- 블록체인
- biginteger사용법
- 블록체인강의
- Node
- 디스크블록할당
- K-MOOC 단국대학교 홍보단
- 티스토리챌린지
- attribute
- 머신러닝
- 2차원배열정렬
- 자바입력받기
- html기초
- StringTokenizer
- 시스템프로그래밍
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- 컴파일시스템
- 해시
- Today
- Total
열정 실천
002. 데이터 베이스 설계 - 개념적 설계 _ E-R 다이어그램 (ERD, EERD) 본문
데이터 베이스 설계는
요구 조건 분석 ▶ 개념적 설계 ▶ 논리적 설계 ▶ 물리적 설계 ▶ 구현
이 5단계로 이루어진다.
이 중 개념적 설계에 대해 깊게 공부해보자!!!
개념적 설계 단계에서는 정보의 구조를 얻기 위하여 현실 세계의 무한성와 계속성을 이해하고, 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 이 단계에서는 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행한다. 또한 요구 분석에서 나온 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성한다.
E-R 다이어그램 (ERD)
ERD :: Entity-Relationship Diagram
Entity-Relationship 이름 그대로 개체와 개체 사이의 관계를 한 눈에 알아보기 쉽게 그려놓은 다이어그램이다.
개체(Entity)는 E-R 다이어그램에서 독립적인 정보 단위로 각각의 개체(Entity)는 한 개 이상의 속성(Attribute)를 가진다.
1) Entity (개체)
- 독립적으로 존재하는 객체를 의미하며 동일한 객체는 존재하지 않는다.
- 개체는 한 개 이상의 속성을 가질 수 있다. (has a)
- ERD에서 "사각형"으로 표기한다.
2) Attribute (속성)
- 개체가 가지고 있는 정보를 의미한다. ㅇ
- ERD에서 "타원"으로 표기한다.
- 각각의 개체를 구별할 수 있는 유일한 값인 "기본키 (Primary Key)"는 밑줄을 그어 표기한다. - Identifier
- pk(기본키)가 정의되지 않은 entity를 weak entity라고 하며 단독으로 존재할 수 없고 다른 개체에 의존하여 존재한다.
✨ 속성 종류 ✨
Simple Attribute : 더 이상 나누어지지 않는 속성
Composite Attribute : 하나의 속성 값 밑에 여러 속성이 또 존재하는 복합 속성 (like 주소 - (도시),(번지) )
Multi-Valued Attribute : 하나의 객체가 여러 값을 가질 수 있는 속성 (like 전화번호가 여러개)
3) Relationship (관계)
- 두 개 이상 개체 간의 관계를 의미한다.
- ERD에서 "마름모"로 표기한다. * Cross-foot 표기법도 존재
▶ 용어 헷갈리지?! 잘봐바!◀
* Entity : 하나하나의 instance를 의미
* Entity Set : 동일한 속성(Attribute)를 갖는 Entity 집합
* Entity Type : Entity type을 공유하는 Entity set에 대한 스키마(schema)
* Value Sets (Domains) : 특정 속성이 가질 수 있는 모든 값
학생이라는 Entity Type에 속성값은 (학생 id, 이름, 학년, 연락처)가 있어. 각각의 Entity를 구별하는 속성인 기본키는 학생id라고 할 수 있어. 여러 Entity 중에 (1, 홍길동, 4학년, 소프트웨어학과)는 하나의 entity이고 우리반 학생 모든 entity를 모으면 Entity Set이 되지! 학년이라는 속성이 가지는 Domains는 1,2,3,4 뿐이야! 😁 ^^
✨ 관계 종류 ✨
✨ 까마귀발 표기법 ✨
E-R 다이어그램 표기
ERD 그려보기
주어진 자료
EERD - Enhanced ERD
각각의 개체는 슈퍼클래스 또는 서브클래스라는 또 다른 의미를 가질 수 있다.
지금까지 "has a" 관계만 성립되었다면, EERD는 "is a"가 성립하는 관계 추가된 것이다.
- Disjoint
- Union
Disjoint
슈퍼클래스 : Employee
서브클래스 : Security, Technician, Engineer
d 기호는 disjoint로 서로소 관계를 뜻한다. 즉, 상위클래스인 person은 하위클래스인 세 개의 직업 중 하나만 가질 수 있다. (overlapping X)
Union
Union은 서브타입의 특성들을 슈퍼타입으로 통합할 수 있다는 것을 뜻한다.
슈퍼클래스 : Owner
서브클래스 : Person, Bank, Company
만약 Owner가 Bank서브타입일 경우 Bank속성을 모두 상속받아 전체 속성은 (Owner_Id, B_name, B_address)가 된다.
EERD 3가지 타입 차이
- O (Overlapping): 하위 개체가 동시에 여러 상위 개체에 속할 수 있다.
- D (Disjoint): 하위 개체는 서로 배타적이며, 한 개체는 하나의 하위 개체에만 속할 수 있다.
- U (Union): 여러 상위 개체로부터 하위 개체가 속성을 상속받는다.
'CS > DATABASE' 카테고리의 다른 글
006. SQL - DCL 데이터 조작어 COMMIT, ROLLBACK, GRANT, REVOKE + SAVEPOINT, ROLE (1) | 2024.09.24 |
---|---|
005. SQL - DML 데이터 조작어 _ 연산 및 SQL함수(산술,문자,집계), GROUP BY (0) | 2024.09.24 |
004. SQL - DML 데이터 조작어 SELECT, INSERT, DELETE, UPDATE (0) | 2024.09.24 |
003. SQL - DDL 데이터 정의어 CREATE, ALTER, DROP (0) | 2024.09.24 |
001. 데이터베이스 개요 (1) | 2024.09.21 |