데이터베이스 (27)

반응형

 

ERwin Data Modeler

 

(5장의 테이블 명세서를 기반으로 ER 다이어그램을 작성한다.
사용하는 프로그램은 ERwin Data Modeler 이다.

 

 

 

설정

 

정보공학 표기법을 사용하기 위해 아래와 같은 방식으로 ERwin을 설정한다.

 

1

 

1. Model 의 Model Properites 을 클릭한다.

 

2

 

2. Notation 을 클릭한 후 Logical Notation과 Physical Notation을 IE로 설정한 후 OK을 클릭한다.

 

 

 

파일 생성

 

1

 

1. File의 New를 클릭한다.

 

2

 

2. Logical/Physical 을 클릭 후 OK를 클릭한다.

 

3

 

3. 생성된 화면을 확인한다.

 

 

 

Entity 생성

 

1

 

1. 상단의 Entity을 클릭한다.

 

2

 

2. 화면에 클릭하여 Entity을 생성한다.
테이블 명, 기본키(PK), 컬럼명 순으로 기입한다.
이때 FK의 경우 기입하지 않는다.

 

 

 

1 : N Relationship

 

1

 

1. 상단의 Identifying relationship 을 클릭한다.

 

2

 

2. 각각의 Entity를 클릭하여 관계를 연결한다.
이때 자재번호가 null일 수 없기에 NULL이 포함되지 않는 관계를 변경한다.

 

3

 

3. 선 위에서 오른쪽 마우스 클릭 후 Relationship Properties 을 클릭한다.

 

4

 

4. One or More (P) 로 변경한 후 OK을 클릭한다.

 

5. 근무 테이블의 경우 하단의 방식 진행 후 나타나기에 제외한다.

 

5. FK의 위치를 변경한다.
이때 FK인 사업장번호가 PK가 아닌 FK이므로 키를 드래그 해 하단으로 내린다.

 

결과 화면

 

 

 

N : M Relationship

 

1

 

1. 상단의 Many-to-many relationship을 클릭한다.

 

2

 

2. 각각의 Entity에 클릭하여 관계를 연결한다.
이때 N:M 관계는 null이 있을 수 없기에 NULL이 포함되지 않는 관계를 변경하지 않아도 된다.

 

3

 

3. 선 위에서 오른쪽 마우스 클릭 후 Create Association Entity 을 클릭한다.

 

4

 

4. 다음(N) 을 클릭한다.

 

5

 

5. 다음(N) 을 클릭한다.

 

6

 

6. Entity Name 을 입력한 후 다음을 클릭한다.

 

7

 

7. 마침을 클릭한다.

 

8

 

8. 위와 같이 수정한다.
PK 클릭 후 Tab 시 각 속성을 추가, 수정할 수 있다.

 

결과 화면

 

 

 

논리 모델링 완료

 

결과 화면

 

근무와 사원, 근무와 사업장의 경우도 NULL 값이 불가능 하기에 변경하여야 한다.

 

 

 

물리 모델링 작업

 

1

 

1. Logical을 Physical 으로 변경한다.

 

2

 

2. 데이터를 입력한다.

근무와 같은 테이블은 연결을 통해 만들어졌으므로 자동으로 변환되는 요소들이 있다. 그러니 기본이 되는 테이블 먼저 작성해야 한다.

+ 삭제할때는 관련된 테이블 먼저 삭제 후, 기본이 되는 테이블을 삭제해야 한다.

 

3

 

3. Datatype 을 변경한다.

 

4

 

4. Null Option으로 NOT NULL 여부를 변경한 후 모든 컬럼을 변경했다면 OK를 클릭한다.

모든 테이블을 위와 같이 변경한다.

 

 

 

Oracle SQL Developer 와 ERWin 설정과 연결

 

1. 권한을 부여한다.

 

https://forest-of-coding.tistory.com/6

 

[Database] 1.5장 Oracle user 접속 및 사용권한 부여

Oracle SQL Developer 사용 전 설정할 것 1. Win키 + R 를 누를 시 아래와 같은 실행창을 띄운다. 2. 실행창에 cmd를 입력한다. sqlplus sys/java@localhost:1521 as sysdba 3. 위의 코드를 입력하여 Oracle DB에 접속한다. 4

forest-of-coding.tistory.com

 

위의 객체 및 데이터 조작 권한 부여 참조하여 cmd에서 권한을 부여해야 한다.

 

 

2

 

2. Database 의 Database Connection을 클릭한다.

 

3, 4

 

3. Database, Authentication, User Name, Password을 입력한다.

 

4. Value에 127.0.01:1521/ex을 입력한 후 Connect 을 입력한다.

 

5

 

5. ToolsForward Engineer > Schema Generation 을 클릭한다.

 

6

 

6. Trigger의 오른쪽 부분을 전부 체크해제한 후 Generate 을 클릭한다.

 

7

 

7. succeeded 가 됐다면 OK를 클릭한다.

 

8

 

8. SQL Developer에서 접속 후 연결된 테이블을 확인한다.

 

 

반응형
반응형

 

ERD 표기법

 

ER다이어그램 표기 기호

 

 

 

요구사항 분석

 

1. 조사범위 결정 (= 요구 추출)

 

2. 요구사항 수집 (=요구 분석 및 정의)

 

3. 요구 확인

 

 

 

요구사항 분석 예시

 

- 구축 목표

한국건설은 전국을 대상으로 수십 개의 사업장을 가지고 있으며, 전체 3000여명의 직원이 현장에서 근무하고 있다. 
현재 사업장관리와 사업장자재관리가 수작업으로 처리되어 많은 비용과 시간이 소요되고 있기 때문에 이들에 대한  전산화를 계획하고 있다. 
이번 전산화 사업이 완료되면 보다 빠르고 편리하게 사업장과 사업장자재를 관리할 수 있을 것으로 기대하고 있다.

 

 

1) 한국 건설의 구조

·  한국건설은 10대 건설회사 중 하나로 수십 개의 사업장에 직원들이 근로하며 한국건설은 수백 개의 하청업체를 가지고 있다. 
·   직원으로 충당할 수 없는 인원은 하청업체를 두어서 관리한다. 
·   하지만 이러한 상관관계는 생략하고 사업장 관리 부분만 개체로 표현하기로 한다.

 

2) 서비스와 제한점
·   사원이 근무하는 사업장을 확인할 수 있으며 한 명의 사원은 어느 기간 동안에는 하나의 사업장에만 근무할 수 있으며, ·   그 기간이 지나면 다른 사업장에서 근무할 수 있다. (=> 사원하고 사업장은 N : M 관계)
·   구입한 사업장자재는 한 사업장에서만 사용할 수 있으며, 한 사업장에서 관리하는 사업장 자재는 많다.

 

3) 사용자 요구 사항을 분석한 결과
·   사원은 (사원번호, 사원명, 주소, 전화번호, 직급, 부서명)의 속성을 갖는다.
·   사업장은 (사업장번호, 사업장명, 주소, 전화번호, 공사금액, 투입인원, 시공일자, 예상완공일, 완공일, 비고)의 속성을 갖는다.
·   사업장의 비고는 공사중과 공사완료로 구분한다.
·   사업장자재는 (자재코드, 자재명, 수량, 구입가격, 구입일)의 속성을 갖는다.
·   한 사원은 일정 기간 동안 하나의 사업장에서 근무하며 그 기간이 지나면 다른 사업장에서 근무한다.
·   구입한 사업장자재는 하나의 사업장에서만 관리할 수 있다.

 

 

 

데이터 모델링 3단계

 

데이터 모델링이란 데이터 구조에 데이터들이 어떻게 연결되어 있는지 파악할 수 있게 시스템 일부를 시각화한 것을 말한다.

개념, 논리, 물리 데이터 모델링으로 구성되어 있다. 최종 모델링이 작성되면 그것을 산출물이라고 한다.

Erwin 데이터 모델러를 사용하여 작성한다. 사이트를 이용하여 작성할 수도 있다. (사이트: https://www.erdcloud.com/)

 

점점 구체화 됨

 

1. 개념 데이터 모델링

업무를 분석한 후 개체(엔티티)를 추출한 후 관계를 정의하여 속성들을 부여한다.

개체(엔티티) 간의 관계를 표현하기 위해 개체 - 관계 다이어그램(ERD)를 작성한다.

ex) 개념 ERD, ERD

 

2. 논리 데이터 모델링

중복을 없애주는 과정(정규화)을 진행한다.

식별자(대표되는 속성을 정함)를 확정한다.

 

3. 물리 데이터 모델링

속성에 대한 타입크기를 정한다.

=> 데이터 스키마(구조)를 정하는 과정

ex) 테이블 명세서 => 대부분 산출물이 완료됨.

 

 

 

개념 ERD

 

개념 ERD 란 개념적으로 파악하기 위해 그린 것을 이야기한다.

 

주의 해야 할 점

1. 도형의 크기 일정해야함.

2. 도형 밖으로 글씨가 나오면 안 됨.

3. PK를 왼쪽이나 위쪽에 놔야함. (PK는 밑줄)

4. 한 곳에서 선이 뻗어져 나와야 함.

5. 도형들이 겹치면 안 됨.

6. 선들이 꺾여 있으면 안 됨.

7. 1:1, 1:N, N:M의 관계를 기입해야 함

8. 모든 이름은 띄워쓰기를 하면 안 됨.

 

 

요구사항 분석 예시의 개념적 ERD

 

이후 개념 ERD를 테이블 형태로 변환하여 작업 진행한다. 테이블 형태로 변환하여 작업한 것을 통상적으로 ERD라고 한다.

 

 

 

테이블 명세서

 

사원 테이블

 

사업장관리 테이블

 

자재 테이블

 

근무 테이블

 

반응형
반응형

 

관계형 데이터 모델

 

: 관계형 데이터베이스(RDB)에서 사용하는 모델이다.

 

관계형 데이터 모델 구성 요소

 

- 관계 연산

UNIO : 합집합

INTERSECT : 교집합

DIFFERENCE : 차집합

PRODUCT : 카티젼 곱

RESTRICTION : 수평적인 부분 집합

PROJECTION : 수직적인 부분 집합

JOIN

 

관계 연산

 

 

- 관계형 데이터 모델의 성공 요인

 

1. 단순하고 이해가 쉬움 : 테이블 형식

2. 수학적 이론 기반

3. 비절차적인 질의어 사용 : SQL 사용

4. 지속적인 투자와 기술 지원

 

 

 

제약 조건

 

1. 엔터티 무결성 규칙 (= 개체 무결성 규칙)

: 튜플의 유일성을 보장하기 위한 제약 조건

 

- 기본키(PK)

 · 튜플 유일성 보장을 위해 하나 이상의 속성으로 구성된 식별자

 · 유일성(uniqueness)와 최소성(minimality)을 만족

 

· 유일성

: 기본 키를 구성하는 값이 릴레이션내에서 유일

 

· 최소성

: 유일성을 해치지 않는 최소 속성

 

 

2. 참조 무결성 규칙

: 데이터의 일관성을 보장하기 위한 제약 조건

기본 키와 참조 키 간의 관계가 항상 유지된다는 걸 보여준다.

참조하기 위해서는 참조되는 속성 값이 해당 릴레이션에 존재해야 한다.

외래키(foreign key = FK) : 다른 릴레이션의 칼럼 값을 참조하는 칼럼

 

 

3. 도메인 무결성 규칙 (= 영역 무결성 규칙)

: 속성에서 허용 가능한 값의 범위를 지정하기 위한 제약 조건

특정 속성 값이 그 속성에 정의된 도메인에 속한 값이어야 한다는 규칙

ex) 성별의 경우 '남', '여'로 입력받게 한다. 이때 '남', '여'를 제외한 값은 입력하지 못한다.

 

 

 

SQL(Structured Query Language) 이란

 

: 비절차적 언어로 간단한 SQL문을 사용하여 작업을 요청할 수 있다.

대부분의 관계형 DBMS에서 채택하고 있는 질의어이다.

 

+비절차적 언어 : 사용자가 자신이 원하는 바만 명시하면 되며 DBMS을 어떻게 처리할지 명시할 필요 없는 언어.

+질의어(DQL) : 데이터베이스와 정보 시스템에 질의를 할 수 있게 하는 언어

 

 

- SQL 사용 방식

1. 대화식 SQL : 직접 SQL 문을 입력하고 실행결과를 확인하는 방식 ex) 최종 사용자들이 사용

2. 내장식 SQL : C, Java 와 같은 프로그램 안에 포함되어 SQL 문을 사용하는 방식 ex) 응용 프로그래머가 사용

 

 

 

관계형 데이터베이스 주요 용어 요약

 

객체 : 논리적 표현

관계 : 테이블, 튜플들의 집합

: 가상의 테이블, 테이블처럼 사용되지만 실제 데이터를 갖지 않음

튜플 : 행, 레코드

속성 : 열, 컬럼, 필드

도메인 : 사용자가 정의한 데이터 범위의 데이터 타입

카디날리티 : 행들의 수

차수 : 열들의 수

: 튜플을 유일하게 구별할 수 있는 속성 모음

널값(Null) : 존재하지 않는 값

 

반응형
1 ··· 4 5 6 7 8 9