- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- C언어
- 프로그래밍 입문
- 자바
- 파이썬
- python
- 동적할당
- 안드로이드 스튜디오
- til
- Java
- Firebase
- 공유대학
- 프로그래머스
- sql
- 비주얼 베이직
- 안드로이드
- oauth
- 알고리즘
- 로그인
- 백준
- 연결리스트
- 구글 로그인
- 자료구조
- android studio
- firebase google
- 컴퓨터공학과
- 코딩테스트
- 정렬
- 배열
- C++
Archives
코딩하는 해달이
[데이터 베이스 설계] 3주차 본문
키 속성(Key Attributes)
- 어떤 개체에 대해서 항상 유일한 값을 갖는 속성(또는 속성들의 집합)
- 학생의 학번, 책의 ISBN, 자동차의 차량번호, …
- 특정 Snapshot이 아닌, 해당 개체의 모든 가능한 Snapshot의 집합을 고려하여 파악되어야 함
- 다음의 SSN, 이름, 혈액형 중 키 속성을 찾으시오.
- 복합 키(Composite Key)
- Composite Attribute가 키 속성이 되는 경우
- 복합 키는 유일성과 최소성을 가져야 함
- (팀명, 등번호) vs. (팀명, 등번호, 선수명)
- 각 개체는 하나 이상의 키를 가질 수 있음
- 어떤 개체는 키를 갖지 않을 수도 있음
- 약성 개체(Weak Enity)
- 요구 사항 분석
- 회사는 여러 개의 부서로 구성되어 있다
- 각 부서는 부서명, 부서 번호, 부서 내 직원 수, 그리고 그 부서를 관리하는 직원(관리자)의 정보를 갖고 있다.
- 직원은 최대 하나의 부서를 관리할 수 있다. 한편 해당 직원이 부서 관리자로 근무를 시작한 정보도 저장해야 한다.
- 각 부서는 여러 지역에 위치하고 있을 수 있으며, 각 부서는 여러 프로젝트를 동시에 관리할 수 있다. 각 프로젝트는 고유의 프로젝트명, 프로젝트 번호를 가지며, 하나의 프로젝트는 하나의 지역에서만 진행된다.
- 직원에 대해 직원명, 주민번호, 주소(시/도, 상세주소), 급여, 성별, 생년월일의 정보를 저장한다.
- 각 직원은 하나의 부서에 소속되어 있으며, 여러 프로젝트에 참여할 수 있다.
- 한편 각 직원이 참여한 프로젝트에 대해 해당 직원의 주당 근무시간 정보도 관리해야 한다
- 각 직원에 대해 해당 직원의 직속상사(감독자)에 대한 정보를 관리한다.
- 각 직원은 여러 명의 부양가족을 가질 수 있다. 부양 가족에 각각에 대해 부양가족명, 성별, 생년월일, 그리고 해당 직원과의 관계에 대한 정보를 관리한다.
-
요구 사항 정리
- Entity 부서 : 부서명, 부서번호, 관리자, 관리시작일, 직원수, 지역
- Entity 프로젝트 : 프로젝트명, 프로젝트번호, 지역, 부서
- Entity 직원 : 이름, 주민번호, 성별, 주소, 급여, 생년월일, 부서, 감독자, (프로젝트, 주당근무시간)
- Entity 부양가족 : 직원, 이름, 성별, 생년월일, 관계
- 관계(Relationship) 설정
- 한 개체의 속성이 다른 개체를 참조할 때 관계가 형성됨
- [부서]의 [관리자] 속성은 [직원] 개체를 참조함
- [직원]의 [프로젝트] 속성이 [프로젝트] 개체를 참조함
- 관계의 차수(Degree)
- 관계에 참여하는 개체의 수
- - Binary, Ternary, Unary, …
-
관계의 대응수(Cardinality)
-
해당 개체가 해당 관계에서 참여할 수 있는 관계 인스턴스의 최대 수
- - 1:1, 1:N, (or N:1), M:N
-
- 대응 수에 따른 관계의 분류
- 일대다 관계
- [근무]관계의 [근무시작일] 속성이 이동한다면...
- 일대일 관계
-
[관리] 관계의 [관리시작일] 속성이 이동한다면 …
-
- 다대다 관계
-
[참여] 관계의 [주당근무시간] 속성이 이동한다면 …
-
- 일대다 관계
반응형
'학교 공부 > 데이터 베이스 설계' 카테고리의 다른 글
[데이터 베이스 설계] 4주차 (0) | 2023.03.23 |
---|---|
[데이터베이스 설계] 2주차 (0) | 2023.03.09 |
Comments