무결성(Integrity)의 개념
  : 정확성 + 일관성 (개체 정확해야하고 중복되어서는 안된다)


무결성 제약조건

  1. 개체 무결성 제약조건
       : 반드시 기본키가 존재하고 Null값이나 중복값을 가질 수 없다.

  2. 참조 무결성 제약조건
       : 참조하는 A, B 릴레이션의 외래키의 값은 반드시 존재해야 한다.

  3. 도메인 무결성 제약조건
       : 속성값이 가질 수 있는 범위를 넘어가서는 안된다.
키(Key)의 개념
  : D/B에서 조건에 만족하는 튜틀을 찾거나 정렬시 기준이 되는 속성

1. 기본키 (Primary Key)
  - 유일성(Unique)과 원자성(최소성: 기본키 하나로 모든값 검색가능)을 가짐
  - 중복값과 Null값 [공백(Space, 영(Zero)값이 아닌 부재정보(missing information)]을 가질 수 없다.
  - 유일한 식별자(검색을 위한 속성)

2. 외래키 (Foreign Key)
  - 테이블과 테이블을 서로 연결 할 때 연결자 역활을 하는 키

3. 후보키 (Candidate Key)
  - 기본키가 될 수 있는 키

4. 대체키 (Alternate Key)
  - 후보키에서 기본키를 제외한 나머지 키
정규화 개념
  : 쉽게말해 효율적인 데이터베이스를 만들기위해 표를 쪼개는 작업을 말한다.
  - 함수적 종속성 등의 이론을 이용하여 표를 나누는 작업
  - 종속성을 최소화하는 작업
  - 검색을 보다 용이해진다.
  - 이상현상 발생을 방지
  - 데이터를 효율적으로 관리 조작

이상(Anomaly)이란?
  :데이터 중복때문에 발생하는 현상

이상의 종류 
  1. 삽입이상
  2. 삭제이상
  3. 갱신이상


정규화 과정

  비정규 Relation
           ↓
     제 1정규형    : 모든 속성은 원자값을 갖는가? (아니면 표를 쪼개 정규화)
           ↓
     제 2정규형    : 완전 함수적 종속관계인가? (부분함수면 표를 쪼개 정규화)
           ↓
     제 3정규형    : 이행적 함수종속이 생겼는가? (생겼으면 표를 쪼개 정규화)
           ↓
   BCNF 정규형  : 모든 결정자는 후보키여야 한다.



* 함수적 종속
  기본키 A와 기본키 B를 통하여 모든값 결정되는 것을 함수적 종속이라 한다.

* 부분함수 종속
  기본키 A와 기본키 B를 통하여 모든값을 결정해야 하지만 B 하나로도 하나이상의 값이 결정될때 부분함수종속이라 한다.

* 이항적 함수 종속
  A가 1, 2, 3, 4를 결정해야 하는데 2가 또다른 X, Y, Z 값을 결정 한다면 2를 이행적 함수 종속이라 한다.
데이터 베이스의 설계 과정

  요구분석 → 설계 [개념적 설계 → 논리적설계 → 물리적 설계] → 데이터베이스 구축 → 유지보수


* 개념적 설계
  - 무엇을? 개체, 속성, 관계 + 제약조건, 권한, 보안
  - 개념 스키마를 통해 ER Diagram으로 표현
  - 아직 전체적인 설계단계이므로 DBMS에 독립적이다. (어떠한 DBMS를 사용할지는 논리적 설계에서 결정)

* 논리적 설계
  - 효율적인 D/B화
  - 정규화 과정을 통해 중복을 없애고 이상현상을 방지한다.
  - DBMS에 따라 서로다른 논리적 스키마 정의

* 물리적 설계
  - 속성별 크기, 타입 등을 설정
  - 저장 레코드 양식 설계
  - 접근 경로 설계
  - 파일의 저장구조 및 탐색 기법
  - 고려사항 : 응답시간, 저장공간의 효율화, 트랜잭션 처리량

관계형 데이터모델(Relational Data Model)의 특징
  : 하나의 개체(Entity)가 Table(=Relation)로 만들어지고 Table간에 관계가 형성되는 구조.
    기본키와 이를 참조하는 외래키를 사용하여 데이터간의 관계를 표현.

릴레이션(Relation)의 구조
  1. 속성(Attribute) = 열 = 컬럼 = Field = Item
  2. 튜플(Tuple) = 행(row) = Record
  3. 차수(Degree) = 속성의 수
  4. 카디널리티(Cardinarity) = 행의수, 튜플의수
  5. 도메인(Domain) = 속성이 가질 수 있는 범위

릴레이션의 특성
  - 한 릴레이션에 포함된 튜플들은 모두 상이함(유일성을 가짐, 중복이 없다)
  - 한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
  - 모든 속성값은 원자값이다.
  - 속성들간에도 순서가 없다.
  - 속성은 릴레이션 내에서 유일한 이름을 가진다.
망형 데이터모델(Network Data Model)의 특징
  - 오너-멤버(Owner-Member) 관계
  - 1:N구조 표현이 좋다.
  - 그래프 구조이다.
  - 한명의 Member는 2명이상의 Owner를 가질 수 있다.

단점
  - M:N표현이 어렵다.
계층형 데이터모델(Hierarchical Data Model)의 특징
  - 트리형태의 자료구조
  - 부모-자식 구조
  - 1:N구조 표현

단점
  - 중복이 발생한다.
  - M:N관계 표현이 어렵다.

계층형 데이터모델(HDM : Hierarchical Data Model) : 트리형태의 자료구조, 부모자식구조

           

망형 데이터모델(NDM : Network Data Model) : 오너-멤버 관계

           

관계형 데이터모델(RDM : Relational Data Model) : 2차원적인 표(Table)구조


* 개체들의 관계로 각 데이터 모델을 구별할 수 있다.
개체-관계(Entity-Relationship) 모델의 특징
  - Peter Chen에 의해 제안
  - 개체 타입간의 관계를 개념적으로 표현
  - E-R모델을 그래프 방식으로 표현
  - 개념적 설계에 가장 많이 사용

확장 E-R모델
  : 기존 E-R모델의 기본키를 검고 작은 원으로 표시

정보모델링
  : 현실세계에 존재하는 개체(entity)를 정보구조로 표현 (개념적)

데이터모델링
  : 현실세계에 존재하는 개체를 컴퓨터 세계의 데이터구조로 표현 (논리적, 개념적)

데이터모델의 개념
  : 현실세계를 데이터베이스에 표현하는 것으로 보기쉽게 도형화 하는 것이다.

데이터모델의 종류
  1. 개념 데이터모델 : E-R모델
  2. 논리적 데이터모델 : 관계모델, 계층모델, 네트워크 모델
  3. 하위수준(물리적) 데이터모델 : 실제 데이터가 컴퓨터에 물리적으로 저장

데이터모델의 구성요소
  - 논리적으로 표현된 데이터구조
  - 구성요소의 연산
  - 구성요소의 제약조건

데이터모델, 스키마, 인스컨스의 관계
   모델(현실세계의 개체) → 스키마(데이터베이스로 설계) → 인스턴스(컴퓨터에 저장)

+ Recent posts