본문 바로가기
개발/교육

(데이터베이스)26일차

by kakk789 2022. 5. 2.

용어정리

File system 상

file, record, key, field

Data Modeling 상

Entity, Tuple, Identifier, Attribute

R-DB 상

Table(Relation), Row(Instance), Key, column

모델링

  • 조직의 정보 구조를 개체, 관계, 속성, 식별자로 나타내는 것

데이터 모델링의 목적

  1. 데이터 품질 향상 (무결성, 확장성, 비중복성, 정확성 등)
  2. 연관 조직의 정보 요구에 대한 정확한 이해를 제공
  3. 개발자, 설계자, 분석가, 사용자 간에 의사 소통 수단
  4. 신규 및 개선 시스템에 대한 기반 제공

모델링 과정

개체파악            - 개체 및 관계 정의
식별자파악         - 식별자 정의
상세화              - 정규화
통합                 - 사용자뷰 통합
검증                 - 모델의 품질 검증
물리모델링 
데이터베이스 구현

논리모델링의 구성 

  • 개체
  • 관계
  • 속성
  • 식별자

논리 모델링의 체계

  • 개체 정의 시 명칭을 사람이 이해할 수 있도록 설정
  • 개체의 차수 유형 특징
1:n (대부분)
1:1
1:0
m:n (확실하지 않을 경우)

기호 설명

개체 정의 시 주의사항

  • 단일 사례를 개체로 만들지 않는다. ( 해당의 경우는 프로그래밍으로 처리 )
  • 개체가 고립되지 않도록 하기.
  • 동의어를 각각의 개체로 만들지 않음. (사원, 직원 처럼 같은 의미로 만들지 말 것)
  • 식별자 외에 동일한 속성을 가진 개체를 생성하지 말 것

부모테이블 따지는 방법

  • 레코드가 어디에 먼저 들어가야 할지를 생각해볼것 

정규화

  • 이상현상(삽입이상, 삭제이상, 갱신이상)을 해결하기 위해 함수적 종속관계를 정확하게 유지하도록 테이블을 분리해야한다.
  • * 함수적 종속관계 * - A를 알면 B를 알 수 있다.

식별관계 : 부모의 주 식별자가 자식의 주 식별자로 가는것 

(자신의 테이블 식별자 1개, 부모 식별자 1개 총 2개)

비식별관계 : 부모의 주식별자가 자식의 일반 속성으로 감 (FK)

 

아래와 같은 표를 테이블 화 하시오.

무 정규화

제1 정규화

  • '반복 그룹 속성'을 추출한다
  • 자식 개체 주 식별자에 반드시 속성이 추가된다
  • 주식별자를 가지고 나간다

제2 정규화

  • 주식별자에 '완전 기능 종속'이 되지 않는 속성을 추출한다.(기본키가 아닌 속성들이 기본키에 완전 종속되지 않으면)
    (주식별자 속성이 여러개 일 때 대상이 됨)
  • 부모개체가 추출되고 반드시 식별관계이다

제3 정규화

  • 주 식별자에 '이행 종속 속성'을 추출한다 
  • 일반 속성으로 식별이 가능한 속성들을 추출한다. (쉽게 말해, 일반 속성에 다른 테이블로 만들 만한 가치가 있고, 기본키가 있는 경우)
  • 부모개체가 추출되고 반드시 비 식별관계

예시 확인 (더보기 클릭)

더보기

수강신청 ERD 비식별 예시

	1) 학생은 매학기에 수강신청한다.
	2) 학생은 등록 학기별로 신청학점, 이수학점, 평균학점, 과락 수 등을 관리한다.
	3) 학생정보에는 학번, 성명, 주민등록번호, 성별, 우편번호, 주소등을 관리한다.
	4) 수강 신청은 개설된 강의를 신청하는 것으로 신청일자와 변경일자 등을 학기 별로 
		관리하며 평가를 수행하고 취득한 평점을 관리한다.
	5) 평가를 위한 시험점수는 중간고사, 기말고사, 출석점수, 과제물점수, 
		평소점수로 구성된다.
	6) 강의에는 해당과목이 있으며 과목은 과목코드와 과목명을 포함한다.
	7) 강의는 강의를 담당하는 교수가 있으며 배정 강의실 번호, 학점수, 
		수강제한 인원등의 정보를 관리한다.

 

거래처대장을 표현하시오 (비식별)

 

인사기록카드(비식별)

 

아래의 요구사항대로 테이블을 구축하라 (비식별)

    다음은 CarRus라는 자동차 렌트회사의 영업관리 시스템에 대한 업무 프로세스입니다. 
    사용자 요구사항(User-Requirement)을 읽어 보시고 실체(Entity), 
    속성(Attribute), 관계(Relationship)을 분석한 후 개념적 ERD를 
    작성하고 관계를 표현하세요. 그리고 작성된 ERFD 기반으로 
    생성할 수 있는 테이블의 명세서 및 스크립트를 작성하세요.

    요구사항)
    CarsRus는 현재 북미 지역의 여러 대여 사무소에서 운영하는 자동차 예약 시스템을 
    자동화하고자 한다.
    고객이 CarsRus에 차량대여를 요청하면 CarsRus의 대여 대행자는 
    대여위치에서 대여날짜에 대여할 수 있는 자동차를 조회하여 
    고객을 대신해 예약을 해 준다. 고객은 어느 한 곳의 인계위치에서 
    자동차를 인도받아 사용한 후에 반납위치에서 반납할 수 있다. 
    다른 위치에서 반납된 자동차는 CarsRus의 운전수들이 원래의 위치로 옮겨 놓기도 한다.
    자동차 타입별(이그제큐티브, 살롱, 스포츠카 등)로 대여되며 고객은 자동차 옵션으로 
    사양(에어컨, 오토매틱등)을 선택할 수 있다. 

    각 지역별로 자동차 대여에 관련된 모든 서비스 History를 관리한다. 
    각 지역의 서비스 부서는 신규차량을 추가하거나 보유 자동차에 대한 서비스 예약 업무를 
    수행하며 서비스 부서가 미리 계획을 세워 놓은 기간 동안에는 해당 차량을 
    대여할 수가 없다. 대여료는 자동차 타입에 따라 정해져 있고 일별로 
    또는 주별로 부과된다. 대여기간에 따라 그리고 차량을 대여한 곳과 
    반납지가 다르냐 여부에 따라 대여료를 계산하는 알고리즘이 있다. 
    각 대여 대행자 자동차 타입에 대해 대여료율를 각자 다르게 책정할 수 있고 
    다른 사무소에 비해 비싸게 받을 수 있다.

    향후 시스템이 개발되면 고객은 인터넷을 통해 자신이 대여할 수 있는 
    자동차를 직접 조회하여 예약할 수도 있다.

ERwin 초기설정

1. Model - Model Properties

2. Logical, Physical 모두 IE로 설정

ERwin DDL 만들기

1. Tools - Forawrd Engineer/Schema Generation...

2. Preview 클릭

3. 필요 명령어만 복사하여 사용

ERWIN 저장 시 

  • ERwin 3.5.2로 저장 필수
반응형

'개발 > 교육' 카테고리의 다른 글

(HTML, CSS ) 29일차  (0) 2022.05.09
(데이터베이스) 27일차  (0) 2022.05.03
(데이터베이스)18일차  (0) 2022.05.01
(데이터베이스)25일차  (0) 2022.04.29
(데이터베이스)24일차  (0) 2022.04.28

댓글