글
[데이터베이스] DBMS
DBMS
1) 영구적인 저장
-대용량 데이터를 저장할 수 있는 기능 제공
2) 프로그램 인터페이스
-데이터의 접근과 수정을 가능하게 하는 우수한 '질의 언어' 제공
3) 트랜잭션 관리
-여러 데이터의 동시 접근을 지원
(1)고립성 : 트랜잭션들이 한순간에 하나만 실행되는 것과 같은 결과.
(2)일관성 : 트랜잭션의 실행이 완료된 후에는 데 이터 베이스가 모든 일관성 조건을 만족해야함
--------로킹(locking) :고립성과 일관성 보장
(3)원자성 : 트랜잭션이 완전히 실행되거나 전혀 실행되지 않도록 하는 것.
(4)지속성 : 여러 가지 에러 및 실패로부터 원상태로의 회복을 가능케 하는 기능
--------로깅(logging) : 지속성과 원자성의 보장
트랜잭션 완료 (commit)
● 새로운 데이터베이스를 생성하고 데이터 정의언 어(Data definition language:DDL)를 사용하여 스키마(데이터의 논리적 구조)를 정의할 수 있도록 한다. ● 질의 언어(query language)또는 데이터 조작언어(data manipulation language : DML)라 불리는 언어를 사용하여 데이터를 질의(query)하거나, 데이터를 변경 시킬 수 있는 기능을 제공 ● 대용량 데이터를 오랜 시간동안 보호하고, 효율 적으로 데이터에 접근할 수 있도록 해주는 저장장소 제공 ● 동시에 많은 데이터 접근(병행수행)을 제어(한 사용자의 수행이 다른 사용자에게 영향을 주지 않도록 하고 동시데이터 접근에 의한 우발적인 데이터 손상이 발생치 않도록 한다.) ○클라이언트 서버(Client-Server)구조가 일반적이다. ○멀티미디어 데이터를 처리하기 위해 객체지향 접근방식을 사용.
|
DBMS의 정보 통합
◆데이터 웨어하우스(warehouse) -유산 데이터베이스들로부터 중앙 데이터베이스로 정보를 복사(유산데이터 베이스의 갱신과 동시에 갱신할 필요는 없다.) 기획과 분석을 위해 사용될 수 있음 ◆데이터 마이닝(mining) -데이터들에게서 흥미호운 혹은 비정상적 패턴을 찾는다.
|
질의 컴파일러
◆질의 파서 -문자열 형태의 질의를 트리 구조로 변환 ◆질의 선 처리기 -질의에 대한 의미 조사 및 초기 질의 계획작성 ◆질의 최적화 -효과적인 질의 계획을 선택
|
◎데이터베이스 모델링 및 구현절차
- 착상 -> E/R설계 -> 관계형 스키마 -> 관계형DBMS
|
◎E/R모델 설계원칙
(1) 충실성 : 다루고자 하는 상황을 충실히 나타낸다. (2) 중복회피 : 하나의 사실 ->하나의 정보 (3) 단순화 : 필요이상의 요소는 설계에 넣지 않음 (4) 올바른 관계성의 선택 (5) 올바른 요소의 선택 |
○E/R모델에서의 키
-키는 둘 이상의 애트리뷰트로 구성될 수도있다. -가능한 키가 둘 이상일 수도 있다. -엔티티의 키는 루트 엔티티 집합의 요소에서 찾을 수 있어야 한다. |
●제약(constraint)을 모델링
(1)키: 객체나 엔티티를 구별할 수 있는 애트리뷰트나 애트이뷰트들의 집합(유일성과 최소성), 키는 밑줄
(2)단일값 제약:특정한 역할을 하는 값이 유일해야 한다.
◆애트리뷰트 값이 반드시 존재해야 하는 경우
>>키에 속하는 애트리뷰트
◆애트리뷰트 값이 있을수도 있고 없을 수도 있는 경우
>>실제값 대신에 null값이 사용될 수 있음
(3)참조 무결성 제약 (둥근화살표로 표기)
: 주어진 역할에 대해 정확히 하나(exactly one) 이 존재해야 한다는 것이다.(허상포인터 사용안함)
-
참조되는 객체의 삭제를 금지한다.
-
참조되어지는 객체가 삭제되면 이 객체를 참조하고 있던 모든 객체도 같이 삭제 된다.
-
관계성은 다대일이나 일대일이다.
(4)도메인제약: 애트리뷰트의 값이 특정 값의 집합에 속해야 한다.
(5)일반제약: 데이터베이스에서 지켜져야 할 임의의 무결성 단정을 말한다.
릴레이션 : 2차원 테이블
-요소들이 원자적 값을 가지는 튜플들의 집합
애트리뷰트 : 릴레이션의 각 열에 대한 이름 튜플(tuple) : 릴레이션의 행 스키마: 릴레이션의 이름과 릴레이션의 애트리뷰트의 집합 [예] movie(title, year, length, filmType) 도메인 : 릴레이션의 각 애트리뷰트에 연관된 타입
|
◆관계성
- 관계성 R에 연관된 엔티티 집합들의 키 애트리 뷰트들을 R에 대한 릴레이션 스키마의 애트리뷰트들로 만든다.
-
관계성이 애트리뷰트를 가지면, 이 애트리뷰트도 릴레이션 R의 애트리뷰트로 만든다.
-
-
S에 R의 모든 애크리뷰트와 T의 키를 포함시켜도 된다. (역도 가능)
-
모든 것을 하나의 테이블로 표현해도 된다.
EX)무성만화는 voices 관계성에 starName이 없으므로 NULL로 표현할 수 있다.
◆함수 종속성
◆수퍼키
-키를 포함하고 있는 애트리뷰트의 집합(최소성을 만족할 필요는 없다.)
●함수적 종속성에 관한 규칙들
(1) 분할/결합 규칙
(2) 단순 종속성
(3) Armstrong의 공리
1. 재귀성 :
2. 증가성 :
3. 이행성 :
(4) 애트리뷰트의 총합
(5) 추론규칙
A->B, B->C 만족 : A->C
관계 데이터베이스 설계
이상(anomaly)
(1)중복 : 정보들이 불필요하게 여러 튜플에 반복되는 현상
(2)갱신이상 : 여러 튜플에 중복되어 나타나는 정보가 하나의 튜플에서만 변경되고 다른 튜플에서는 갱신되지 않은 상태로 남아있는 문제
(3)삭제이상 : 어떤 값들의 집합이 공집합니 되는 경우(부수적인 결과로 다른 정보를 잃게 되는 경우)
BCNF : 함수적 종속성에 따른 중복성 제거
3NF : 함수적 종속성의 보존, 무손실 조인
다중값 종속성
(1) 보완규칙
(2) 모든 함수적 종속성은 다중값 종속성이다
(다중값 종속성에서 분할/결합 규칙은 성립하지 않는다)
'DataBase' 카테고리의 다른 글
[웹 프로그래밍] MySQL 이용하여 Database 구축하기 (0) | 2014.05.23 |
---|