16 일차 : 논리 데이터베이스 설계

Dev_HG·2020년 7월 13일
0

1. 관계 데이터베이스 모델

1. 관계 데이터 모델(Relation Data Model)

  • 실세계 데이터를 행과 열로 구성된 테이블 형태로 구성된 데이터 모델이다.
  • 수학자 E.G.Codd 박사가 제안한 모델

2. 관계 데이터 모델의 구성

1. 릴레이션 : 행과 열로 구성된 테이블

2. 튜플 : 릴레이션에 행에 해당되는 요소

3. 속성 : 릴레이션의 열에 해당하는 요소

4. 카디널리티(Cardinality) : 튜플(row)의수

5. 치수(Degree) : 애트리뷰트(Column)의 수

6. 스키마(Schema) : 릴레이션이 어떻게 구성되는지, 어떤 정보를 담고 있는지에 대한 기본적인 구조

7. 인스턴스(Instance) : 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합

2. 관계 데이터 언어

1. 관계 대수

1. 관계 대수 개념

  • 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는 가를 기술하는 절차형 정형언어이다.

2. 관계 대수 연산자의 종류

가. 일반 집합 언어

  • 수학의 집합 개념을 릴레이션에 적용한 연산자
  • 합집합(UNION) R U S: 합경 가능한 두릴레이션의 합집합
  • 교집합(INTERSECTION)R ∩ S: 릴레이션에 속하는 모든 튜플로 결과 릴레이션을 구성
  • 차집합(Difference)R - S: R에 존재하고 S에 미 존재하는 튜플로 결과 릴레이션 구성
  • 카티션 프로덕트(Cartesian Product) R X S: R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성

나. 순수 관계 연산자

  • 관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자

2. 관계해석

1. 관계 해석 개념

  • 튜플관계 해석과 도메인 관계 해석을 하는 비절차적 언어이다.

2. 관계 해석 특징

  • 프레디킷 해석(Predicate Calculus)에 기반한 언어이며 비절차적 언어(원하는 정보가 무엇이라는 것만 선언)이다

3. 관계 해석 종류

가. 도메인 관계 해석

  • 원한느 릴레이션을 도메인 해석식으로 정의하는 표기법이다.
    cf : 도메인 해석식(Domain Calculus Expression) : 튜플 변수 대신 도메인 변수를 사용하고, 각 변수는 한 애트리뷰트의 도메인을 범위로 갖는 해석식이다.

나. 튜플 관계 해석

  • 원하는 릴레이션을 튜플 해석식(Tuple Calculus Expression)으로 정의하는 표기법이다.
  • 튜플 관계 해석의 구성요소는 튜플 변수, 한정 애트리뷰트, 원자식, 정형식이 존재한다.
  • 원자식 간 연산을 위해 논리 기호를 사용한다.

3. 관계 대수와 관계 해석 비교

[관계 대수]

  • 절차적 언어(순서 명시)
  • 어떻게 유도하는가?(How)
  • 순수관계 연산자, 일반집합 연산자

[관계 해석]

  • 비 절차적 언어(계산 수식의 유연적 사용), 프레디킷 해석(Predicate Calculus) 기반
  • 무엇을 얻을 것인가?(what?)
  • 튜플 관계 해석, 도메인 관계 해석

3. 시스템 카탈로그와 뷰

1. 시스템 카탈로그

1. 시스템 카탈로그(System Catalog)개념

  • 시스템에 관련이 있는 객체에 관한 정보를 포함하는 시스템 데이터베이스 이다.
  • DDL 실행으로 생성되는 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 데이터베이스 구조 및 통계 정볼르 저장

2. 시스템 카탈로그 특징

  • 시스템 카탈로그들이 자료 사전(Data Dictionary)이라고도 부른다
  • 시스템 카탈로그에 저장된 정보를 메타 데이터(Metadata)라고 부른다
  • 시스템 카탈로그는 테이블로 구성되어 있어 SQL을 이용하여 내용을 검색 가능하다.
  • INSERT, DELETE, UPDATE문으로 시스템 카탈로그를 갱신하는 것은 허용되지 않는다.(시스템 카탈로그는 DBMS가 스스로 생성하고 유지)
  • 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 시스템이 자동으로 갱신된다.
  • 보통의 릴레이션, 인덱스, 사용자 등에 정보를 포함할 뿐 아니라 위치 투명성 및 중복 투명성을 제공하기 위해 필요한 모든 제어 정보 포함한다.

2. 뷰

1. 뷰(View)개념

  • 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블이다.

2. 뷰의 특징

  • 뷰는 물리적이 아닌 논리적으로 구성되어 있고, 논리적 독립성을 제공
  • 뷰를 통해서 데이터를 접근하게 함으로써 뷰에 보이지 않는 데이터를 안전하게 보호하는 효과가 있다.
  • 뷰는 데이터 접근 제어에 대한 보안을 제공한다.
  • 뷰는 DCL인 CREATE으로 생성, DROP문으로 삭제할 수 있다.(ALTER로 뷰 정의 변경 불가능 하다.)
  • 뷰는 삽입, 삭제, 갱신 연산에 제약사항이 따른다.
  • 뷰가 정의된 기본 테이블이 삭제되면 뷰는 자동으로 삭제된다.
  • 뷰 위에 또 다른 뷰를 정의할 수 있다.
profile
꾸준함

0개의 댓글