필기_1과목_2장_데이터모델링 및 설계 - JuNijen/Industrial-Engineer-Information-Processing GitHub Wiki

2. Database #11-20

#11_DBA(DataBase Administrator)

● DBA : 데이터베이스 시스템의 모든 관리와 운영에 대한 책임을 지고 있는 사람이나 그룹

● 데이터베이스 설계와 조작에 대한 책임

  • 데이터베이스 구성요소 결정

  • 개념 스키마 및 내부 스키마 정의

  • 데이터베이스의 저장 구조 및 접근 방법 정의

  • 보안 및 데이터베이스의 접근 권한 부여 정책 수립

  • 장애에 대비한 예비(Back up) 조치와 회복(Recovery)에 대한 전략 수립

  • 무결성을 위한 제약 조건의 지정

  • 데이터 사전의 구성과 유지 관리

  • 사용자의 변화 요구와 성능향상을 위한 데이터베이스의 재구성

● 행정 책임

  • 사용자의 요구와 불평의 청취 및 해결

  • 데이터 표현 방법의 표준화

  • 문서화에 대한 기준 설정

● 시스템 감시 및 성능분석

  • 변화 요구에 대한 적응과 성능 향상에 대한 감시

  • 시스템 감시 및 성능분석

  • 자원의 사용도와 병목현상 조사

  • 데이터 사용 추세, 이용 형태 및 각종 통계 등을 종합, 분석함

#12_데이터 모델의 정의

  • 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형

  • 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계과정에서 데이터의 구조를 표현하기 위해 사용되는 도구

  • 데이터의 구조(Schema)를 논리적으로 묘사하기 위해 사용되는 지능적 도구

#13_데이터 모델의 종류

● 개념적 데이터 모델

속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법

  • 종류로는 E-R모델이 있음

● 논리적 데이터 모델

필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법

  • 단순히 데이터 모델이라고 하면 논리적 데이터 모델을 의미

  • 논리적 데이터베이스 모델은 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계모델, 계층모델, 네트워크 모델로 구성

#14_데이터 모델의 구성요소

● 개체(Entity)

  • 데이터베이스에 표현하려는 것으로 사람이 생각하는 개념이나 정보단위 같은 현실 세계의 대상체

  • 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성

  • 파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할 수행

  • 독립적으로 존재하거나 그 자체로서도 구별이 가능

● 속성(Attribute)

  • 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당

  • Entity를 구성하는 항목

● 관계(Relationship)

  • 개체(Entity)간의 관계 또는 속성(Attribute)간의 관계

#15_개체-관계(Entity-Relationship) 모델

  • 개념적 데이터 모델의 가장 대표적인 것으로, 1976년 Peter Chen에 의해 제안됨

  • 개체 타입(entity type)과 이들 간의 관계 타입(relationship type)을 이용해 현실 세계를 개념적으로 표현

  • 데이터를 개체(Entity), 관계(Relationship), 속성(Attribute)으로 묘사함

  • 특정 DBMS를 고려한 것은 아님

#16_E-R 다이어그램

https://blog.kakaocdn.net/dn/dQe9uM/btqDsbwBzom/NPZ7VRccQ45xxbspYixKRK/img.png

#17_관계형 데이터 모델

  • 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델

  • 표(Table)를 이용해서 데이터 상호관계를 정의하는 DB 구조

  • 데이터간의 관계를 기본키(primary)와 이를 참조하는 외래키(foreign key)로 표현

  • 대표적인 언어로는 Oracle, MS-SQL. informix 등이 있음

  • 1:1, 1:N, M:N 관계를 자유롭게 표현할 수 있음

  • 장점 : 간결하고, 보기 편리하고, 다른 데이터베이스로의 변환이 용이

  • 단점 : 성능이 다소 떨어짐

https://media.discordapp.net/attachments/863134400963149898/866314991031418940/tfile.png

출처 : 위키피디아 https://ko.wikipedia.org/wiki/%EA%B4%80%EA%B3%84%ED%98%95_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4

#18_계층형 데이터 모델

  • 데이터의 논리적 구조도가 트리 형태이며, 개체가 트리를 구성하는 노드 역할을 함

  • 개체 집합에 대한 속성 관계를 표시하기 위해 개체를 노드로 표현하고 개체 집

합들 사이의 관계를 링크로 연결

  • 개체간의 관계를 부모와 자식간의 관계로 표현

  • 개체 타입간에는 상위와 하위관계가 존재하며, 일 대 다(1:N) 대응관계만 존재

  • 레코드 삭제 시 연쇄 삭제(Triggered Delete)가 됨

  • 개체 타입들간에는 사이클(cycle)이 허용되지 않음

  • 계층형 모델에서는 개체(Entity)를 세그먼트(Segment)라 부름

  • 대표적인 DBMS는 IMS임

  • 관계의 유형

ㆍ속성 관계(Attribute Relation) : 세그먼트(개체)를 구성하는 속성들의 관계

ㆍ개체 관계(Entity Relation) : 개체와 개체간의 관계를 링크로 표시

https://media.discordapp.net/attachments/863134400963149898/866314697746022470/tfile.png

출처 : 위키피디아 https://ko.wikipedia.org/wiki/%ED%8A%B8%EB%A6%AC_%EA%B5%AC%EC%A1%B0

#19_망(그래프)형 데이터 모델

  • CODASYL이 제안한 것으로, CODASYL DBTG모델이라고도 함

  • 그래프를 이용해서 데이터 논리구조를 표현한 데이터모델

  • 상위와 하위 레코드 사이에서 다 대 다(N:M) 대응관계를 만족하는 구조

  • 레코드 타입간의 관계는 1:1, 1:N, N:M이 될 수 있음

  • 대표적 DBMS : DBTG, EDBS, TOTAL

#20_데이터베이스 설계 순서

  • 요구분석 : 요구조건 명세서 작성

  • 개념적 설계 : 개념 스키마, 트랜잭션 모델링, E-R 모델

  • 논리적 설계 : 목표 DBMS에 맞는 스키마 설계

  • 물리적 설계 : 목표 DBMS에 맞는 물리적 구조의 데이터로 변환

  • 구현 : 특정 DBMS의 DDL로 데이터베이스 작성

⚠️ **GitHub.com Fallback** ⚠️