본문 바로가기
🌈 백엔드/데이터베이스

DB_데이터베이스_데이터 모델 및 언어

by 개발자 알마 2023. 4. 21.
반응형

 

[1]  데이터 모델


(1) 데이터 모델

1. 데이터 모델의 정의

-정의 : 데이터베이스 설계 과정에서 데이터의 구조를 논리적으로 표현하기 위해 사용되는 도구 

 

2. 데이터 모델의 종류 

  • 논리적 데이터 모델 : 개념 데이터 모델을 상세화하여 논리적인 데이터의 집합, 관리, 항목,관계를 정의한 모델 구조 
  • 개념적 데이터 모델 : 속성으로 기술된 개체 타입간의 관계를 이용하여 데이터 집합을 정의하고 관계를 정의한 모델 구조

 

 

(2) 데이터 모델링

 

1. 데이터 모델링의 정의 

- 정보 시스템을 구축하기 위해 사용되는 데이터를 분석하여 제약조건을 체계적으로 정의하고 개념적인 도구를 이용하여 간결하고 이해하기 쉽게 표현한 도구

 

 

2. 데이터 모델링의 3단계 

 

  • 1 단계 : 개념적 데이터 모델링

        - 추상화 수준이 높은 수준을 형상화 하기위해 사용하며 조직, 데이터 요구사항 을 찾고 분석하는 과정

 

  • 2단계 : 논리적 데이터 모델링

        - 개념적 데이터 모델을 레코드 타입의 논리적 구조로 변환하는 과정 

        - 키, 속성, 관계 등을 정확하게 표현하기 위한 동작 

        - ERD 모델을 표현한 개념적 데이터 모델을 데이터베이스로 구현하기 위한 중간단계 

 

  • 3단계 : 물리적 데이터 모델링 = 데이터 구조화 

       - 논리적 구조가 물리적 저장장치에 저장될수 있도록 데이터 구조로 변환하는 과정 

 

 

(3) 데이터 모델의 구성요소

1. 구조 

- 데이터 베이스의 정적 성질

- 데이터베이스에 표현될 개체 타입

- 개체와 개체의 관계의 구조

 

2. 연산

- 데이터 베이스의 동적 성질

- 개체 인스턴스 처리 작업을 명세하고 상태 변환을 표현한다

 

3. 제약조건

- 데이터베이스에 허용되는 개체 인스턴스에 대한 논리적 제약을 명세한 조건

-데이터 조작에 대한 규정 

 

 

 

 

[2] 개념적 모델링 > ERD 


(1) 개체 관계 모델 ERD의 정의

1. ERD 정의 

- 개념적 데이터 모델링에서 사용하는 E-R-Diagram 엔티티-관계 다이어그램 설계

- 개체 타입과 관계 타입을 통해 현실 세계를 표현한 모델

 

2. ERD 모델 표현식

 

 

 

 

 

기본형식 표현 형태 의미
개체 집합
데이터 수집의 대상이 되는 실제 사물
(장소이름 , 사건명 , 물건 등) 
속성
개체의 구조를 나타내는 특성
관계
개체와 개체의 관계에 대한
연관성의 의미
연결
개체와 개체를 연결한 것을 표현한것

 

 

 

 

[3] 논리적 데이터 모델링 종류 


(1) 논리적 데이터 모델의 정의

-ERD 모델을 표현한 개념적 데이터 모델을 데이터베이스로 구현하기 위한 중간단계 

(2) 논리적 데이터 모델링 종류 

1. 관계 데이터 모델

 

고유번호 이름 부서 내선
101 김알파 경영팀 1234
102 이베타 영업팀 1235
103 오메가 인사팀 1236

 

- 릴레이션 (테이블 표) 집합으로 데이터베이스를 표현한다 . 

- 릴레이션의 구성 

  • 릴레이션 스키마 = 관계 스킴 
  • 릴레이션 인스턴스
  • 애트리뷰트 (속성) : 테이블 필드 ; 
  • 투플 : 레코드 ; 테이블 표의 행 
  • 차수 : 애트리뷰트 갯수 
  • 타디널리티 : 투플 갯수

 

 

 

 

- 관계 데이터 모델 종류 : 개체 릴레이션 , 관계 릴레이션 

- DBMS 종류 : 오라클 ORACLE , 마이크로소프트 MS-SQL , 시스템 아르 System R

 

2. 망 데이터 모델 = 네트워크형 데이터 모델

 

- 링크로 데이터 베이스를 표현한다 

- 일반 그래프 성질이 있다

- 레코드들은 오너 1 :  멤버 n 의 관계이다

- DBMS 종류 : DBTG , IDMS , TOTAL 

 

3.계층 데이터 모델

 

- 링크로 데이터 베이스를 표현한다

- 각 레코드가 계층적 트리형태로 표현 

- 1 : n의 부자 관계로 형성된다 

-사이클이 허용되지 않고 상하 레벨 관계이다 

- DBMS 종류 : IMS , SYSTEM 2000 

 

 

 

 

[4] 관계 데이터 모델 이해하기


(1) 관계 데이터 모델 의 개요

- 관계 데이터 베이스 시스템

 

(2) 릴레이션

1. 릴레이션의 정의

- 릴레이션 = 테이블 표 

2. 릴레이션의 구성

  • 릴레이션 스키마 = 관계 스킴 
  • 릴레이션 인스턴스
  • 애트리뷰트 (속성) : 테이블 필드 ; 
  • 투플 : 레코드 ; 테이블 표의 행 
  • 차수 : 애트리뷰트 갯수 
  • 타디널리티 : 투플 갯수

3. 릴레이션의 특성

  • 튜플의 유일성 : 중복이 없다 
  • 튜플의 무순서성 : 튜플 간에는 순서가 상관없다 
  • 속성의 무순서성 : 애트리뷰트(속성) 간에는 순서가 상관없다 
  • 속성의 원자값 : 애트리뷰트(속성)은 논리적으로 분해할수 없는 원자값을 가진다 

 

 

(3) 키 Key

1. 키 Key 의 정의 

- 튜플들을 유일하게 구분하는 애트리뷰트(속성)값 

- 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할수 있는 유일한 기준

-애트리뷰트(속성) 값으로 튜플을 구분함

- 제약조건 : Not Null 개체 무결성 , 참조 무결성 

 

 

2. 키 Key의 종류 

 

 

  • 슈퍼키  : 개체집합에서 개체를 식별할수 있는 속성 , 유일성 
  • 후보키 : 슈퍼키의 부분집합 , 유일성, 최소성 
  • 기본키 PK : 후보키 중에 선택되는 키 , 유일성, Not Null(개체 무결성) 제약조건을 가진 값 (주민번호) 
  • 대체키 : 후보키 중에 선택되지 않은 키 
  • 외래키 FK : 릴레이션 r(R) , 릴레이션 s(S) 에서 r이 참조하는 s 기본키가 r에서 사용되는 속성 , 참조무결성 제약조건에 따라 r.FK는 반드시 s.PK에 존재하는 값이 있어야함 

 

※ 유일성 : 1개의 키 값으로 유일하게 튜플을 식별할수 있어야함

최소성 : 키를 구성한 속성을 하나 제거하면 1개의 키값으로 유일하게 식별되면 안된다. 최소의 속성으로 구성해야한다 

 

 

 

[5] 릴레이션의 관계 연산


(1)릴레이션의 관계 대수

1. 관계 대수의 정의 

- 릴레이션을 처리하기 위한 연산의 집합 

- 연산의 피연산자 = 릴레이션

- 피연산자와의 연산 결과 = 릴레이션  

 

2. 관계대수의 특징

  • 수학의 폐쇄 성질
  • 절차적 언어 
  • 중첩된 수식 표현 가능
  • 목적 : 어떻게 유도하는가?

3. 관계 대수의 연산의 분류

 

① 일반 집합 연산자 

  • 차수와 애트리뷰트 구조가 같아야한다
  • 대응 애트리뷰트 별로 도메인이 같아야한다
  • 종류 : 합집합∪ , 교집합 ∩, 차집합 -  , 곱집합 X

② 순수 관계 연산자 

  • 근원연산 : 다른 연산자로 표현불가
  • 복합연산 : 다른 연산자 ( 교집합, 조인,디비젼)으로 표현가능
  • 종류 : 셀렉트σ , 프로젝트π , 조인 ▷◁ , 디비젼 ÷ , 리네임 ρ

※ 프로젝트 : 특정 속성만 추출한다. 열의 부분집합

  셀렉트 : 특정 튜플만 추출한다. 행의 부분집합

(2) 관계 해석

1. 관계 해석 특징

  • 수학의 술어 논리를 기반으로 한 개념을 데이터베이스로 구성 
  • 비절차적 언어 
  • 프레디킷 해석 기반 
  • 코드에 정의된 내용을 릴레이션에 적용하여 형태와 내용을 결정하는 조건으로 구성한다 
  • 목적 : 무엇을 얻을것인가

 

2.관계 해석 종류 

  • 튜플 관계 해석
  • 도메인 관계 해석 
  • 종류 : OR 연산 ∨ , AND 연산 ∧ , NOT 연산 ㄱ, 전칭 정량자 ∀, 존재 정량자 ∃

 

 

 

 

[6]  VIEW 뷰

 


(1) 뷰의 개요

- 원본 테이블을 기존대로 두고 , 노출하고 싶은 정보만 모아서 만든 가상 테이블 

-  데이터를 제한적으로 보여주기 위해 1개 이상의 테이블로 생성하는 가상 테이블 

- 뷰는 다른 뷰에 참조될수 있다 

- 가상 테이블이기 때문에 저장되지 않고 정의만 시스템 카탈로그에 저장된다 

- 독자적인 인덱스를 가질수 없다

- 정의를 변경할수 없어 삭제후 재생성해야한다

(2) 뷰의 장점

- 데이터의 독립성과 무결성을 보장한다

- 하나의 테이블로 여러개의 상이한 뷰를 정의할수 있다

- 데이터 접근 제어로 사용자별 보안 기능이 가능하다

- 사용자의 데이터 관리를 간단하게 한다 

 

(3) 뷰의 보안 

- "뷰의 정의"가 권한 부여 기법을 사용한다

-  뷰를 통해 접근하기 때문에 권한이 없는 사용자는 뷰에 보이지 않는 데이터는 볼수 없다

- 갱신, 삽입,삭제 연산에 제약이 있다 

 

 

 

반응형

댓글