728x90

데이터베이스 구축

1장 논리 데이터베이스 설계

70. 데이터베이스 설계

데이터베이스 설계 순서

             요구 조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현

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

개념적 설계 : 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정. 개념 스키마 모델링, 트랜잭션 모델링 설계. DBMS   독립적인 E-R 다이어그램으로 작성.

논리적 설계 : 논리적 자료 구조로 변환시키는 과정. 트랜잭션 인터페이스 설계. 테이블을 설계하는 과정.

물리적 설계 : 논리적 구조로 표현된 데이터를 물리적 구조의 데이터로 변환.

구현 : 데이터 베이스 스키마를 파일로 작성한다. DDL 이용.

 

71. 데이터 모델의 개념

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

 

데이터 모델의 구성 요소

             1) 개체(Entity) : 데이터베이스에 표현하려는, 사람이 생각하는 개념이나 정보 단위 같은 현실의 대상

             2) 속성(Attribute) : 데이터의 가장 작은 논리적인 단위, 파일 구조상의 데이터 항목이나 데이터 필드에 해당.

             3) 관계(Relationship) : 개체간의 관계 또는 속성 간의 논리적인 연결

 

개념적 데이터 모델 : 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적으로 표현. E-R 모델이 대표적

논리적 데이터 모델 : 개념적 구조를 컴퓨터가 이해하고 처리할 수 있게 변환하는 과정. 관계 모델, 계층 모델, 네트워크 모델   로 구분한다.

 

데이터 모델에 표시할 요소

             1) 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계로, 데이터 구조 및 정적 성질

             2) 연산(Operation) : 실제 데이터를 처리하는 작업에 대한 명세

             3) 제약 조건(Constraint) : 실제 데이터의 논리적인 제약 조건

 

72. 데이터 모델의 구성 요소 - 개체(Entity)
개체는 데이터베이스에 표현하려는 것. 현실 세계의 대상체.파일 시스템의 레코드에 대응한다.

 

73. 데이터 모델의 구성 요소 - 속성(Attribute)
속성의 수를 디그리(Degree) 또는 차수라고 한다.

 

속성의 종류 : 속성의 특성과 개체 구성 방식에 따라 분류할 수 있다.

 속성의 특성에 따른 분류

             기본 속성 : 일반적인 속성

             설계 속성 : 원래 존재하지 않고 설계 과정에서 도출해내는 속성

             파생 속성 : 다른 속성으로부터 계산이나 변형의 영향을 받아 발생하는 속성

 개체 구성 방식에 따른 분류

             기본키 속성 : 개체를 별할 수 있는 속성

             외래키 속성 : 다른 개체와의 관계에서 포함된 속성

             일반 속성 : 개체에 포함되어 있고, 기본키, 외래키가 아닌 속성

 

74. 데이터 모델의 구성 요소 - 관계(Relationship)

관계의 형태 : 일 대 일(1:1), 일 대 다(1:N), 다 대 다(N:M)

관계의 종류

             종속 관계(Dependent) : 두 개체 사이의 주, 종 관계를 표현한 것으로 식별/비식별 관계로 나뉜다.

             중복 관계(Redundant) : 두 개체 사이에 2번 이상 종속 관계가 발생하는 관계

             재귀 관계(Recursive) : 개체가 자기 자신과 관계를 갖는 것

             배타 관계(Exclusive) : 배타적 AND, 배타 OR 관계로 구분한다.

 

75. 식별자

하나의 개체 내에서 각각의 인스턴스를 유일하게 구분할 수 있는 구분자.

주 식별자 : 개체를 대표하는 유일한 식별자 / 보조 식별자 : 주 식별자를 대신하여 개체를 식별할 수 있다.

주 식별자의 4가지 특징 : 유일성, 최소성, 불변성, 존재성

내부 식별자 : 개체 내에서 스스로 만들어진 식별자 / 외부 식별자 : 다른 개체와의 관계에서 사용하는 식별자

단일 식별자 : 주 식별자가 한 가지 속성 / 복합 식별자 : 두 개 이상의 속성으로 구성

원조 식별자 : 업무에 의해 만들어진 가공되지 않은 원래의 식별자 / 대리 식별자 : 주 식별자의 속성이 두 개 이상인 경우      속성을 하나의 속성으로 묶어 사용하는 식별자.

 

76. E-R 모델

피터 첸에 의해 제안됨

피터 첸 표기법

사각형 : 개체, 마름모 : 관계, 타원 : 속성.

정보 공학 표기법

바커 표기법

 

77. 관계형 데이터 모델

2차원적인 표(Table)를 이용해서 데이터 상호 관계를 정의하는 DB 구조. 기본키와 외래키로 데이터 간의 관계를 표현한다.

관계형 모델의 대표적인 언어로 SQL이 있다.

 

78. 관계형 데이터베이스의 구조

튜플 : 테이블의 행. 속성의 모임, 레코드와 같은 의미. 튜플의 수를 카디날리티(Cardinality)라고 한다.

속성 : 가장 작은 논리적 단위. 데이터 필드. 개체의 특성을 기술한다. 속성의 수를 디그리(Degree) 또는 차수라고 한다.

도메인 : 하나의 속성이 취할 수 있는 같은 타입의 원자 값들의 집합.

 

79. 관계형 데이터베이스의 제약조건 -

: 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트

후보키 : 기본키로 사용할 수 있는 속성들. 유일성과 최소성을 만족시켜야한다.

기본키 : 주키. NULL값을 가질 수 없다.

대체키 : 기본키를 제외한 나머지 후보키

슈퍼키 : 유일성을 만족하지만 최소성을 만족하지 않는 속성.

외래키 : 다른 릴레이션의 기본키를 참조하는 속성

 

80. 관계형 데이터베이스의 제약조건 - 무결성

무결성 : DB에 저장된 값과 현실의 실제 값이 일치하는 정확성을 의미한다. (무결성과 가장 관련된 속성은 데이터의 무결성)

개체 무결성 : 테이블의 기본키 중 어떤 속성도 NULL값이나 중복값을 가질 수 없다.

도메인 무결성 : 속성 값이 도메인에 속한 값이어야 한다.

참조 무결성 : 외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야 한다. 즉 참조할 수 없는 외래키 값을 가질 수     없다.

사용자 정의 무결성 : 사용자가 정의한 제약 조건에 만족해야 한다.

데이터 무결성 강화 방법 : 애플리케이션, 트리거, 제약조건을 이용한다.

 

81. 관계대수 및 관계해석

관계대수 : 관계형 DB에서 원하는 정보를 검색하기 위해 어떻게 유도하는가를 기술하는 절차적인 언어이다.

Select : 시그마(릴레이션). 행에 해당하는 튜플을 구한다.

Project : 파이(릴레이션). 열에 해당하는 속성을 추출한다.

Join : 카티샨 프로덕트를 수행한 후 Select를 수행한 것과 같다.

Division, 교집합, 합집합, 차집합, 교차곱 등

관계 해석 : 수학의 술어 해석에 기반을 둔 것. 정보가 무엇이라는 것만 정의하는 비절차적 특성

 

82. 정규화(Normalization)

정규화 : 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정. 논리적 설계 단계에서 수행한다. 정규화를 할수록 데이터의 정확성을 높아지지만, 물리적 접근이 복잡하고, 조인이 많아져서 조회 성능이 저하된다.

정규화의 목적 : 데이터 구조의 안정성 및 무결성 유지. 효과적인 검색 알고리즘 생성. 중복을 배제하여 이상(Anomaly)의 발생 방지.

이상의 종류

             삽입 이상(Insertion Anomaly) : 릴레이션에 데이터를 삽입할 떄 원하지 않는 값도 삽입되는 현상.

             삭제 이상(Deletion Anomaly) : 삭제할 때 다른 값도 함께 삭제되는 연쇄

             갱신 이상(Update Anomaly) : 갱신할 떄 일부 정보만 갱신되어 정보에 모순이 생기는 현상.

1NF : 모든 도메인이 원자값으로 구성되어 있다.

2NF : 기본키가 아닌 모든 속성이 기본키에 대해 완전 함수적 종속을 만족

3NF : 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형

BCNF : 릴레이션 R에서 결정자가 모두 후보키인 정규형

4NF : 릴레이션 R에 다치 종속이 성립하는 경우 모든 속성이 A에 함수적 종속 관계를 만족한다.

5NF : R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형.

 

83. 반정규화(Denormalization)

데이터 모델을 통합, 중복, 분리하는 과정으로 의도적으로 정규화 원칙을 위배한다. 성능과 관리 효율성은 증가하지만 데이터의 일관성 및 정합성이 저하될 수 있다. 지나치면 성능이 저하할 수 있다.

테이블 통합 : 1:1, 1:N관계 테이블 통합, 슈퍼/서브타입 테이블 통합 등.

테이블 분할 : 수직 또는 수평으로 분할.

중복 테이블 추가

중복 속성 추가 : 데이터를 조회하는 경로를 단축하기 위해 자주 사용하는 속성을 하나 더 추가하는 것. 조인이 자주 발생하거나 접근 경로가 복잡한 경우 추가한다.

84. 시스템 카탈로그

시스템 카탈로그 : 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.

카탈로그의 특징 : 일반 이용자도 SQL을 이용해 내용을 검색할 수 있지만 갱신하는 것은 안된다. DBMS가 스스로 생성, 유지

Data Directory : 데이터 사전에 수록된 데이터를 실제로 접근하는 데 필요한 정보를 관리 유지하는 시스템. 시스템만 접근 가능. (데이터 사전과 다른 것이니 헷갈리지 말자.)

질의 최적화기 : 사용자의 요구를 효율적인 형태로 변환, 질의를 처리하는 전략을 모색

트랜잭션 처리기 : 복수 사용자 환경에서 평행으로 동시에 일어나는 트랜잭션 문제를 해결해, 각각 사용자가 이용할 수 있게 한다.

메타 데이터 : 데이터를 설명하는 데이터. 데이터 사전(Data Dictionary)에 저장된다.

 

728x90

+ Recent posts