본문 바로가기

아카이브/DataStorage

데이터베이스 이론

반응형

데이터베이스 관리 시스템 (DBMS)


데이터베이스 안에 저장된, 데이터에 사용자들이 쉽게 접근할 수 있도록 하는 프로그램이다. DBMS는 사용자 요청을 처리하는 데 있어, 데이터의 무결성과 인가된 사용자만 접근할 수 있도록 하는(이것도 무결성) 것을 보장한다.



스키마와 인스턴스


스키마는 메타데이터(데이터를 위한 데이터)이다. 인스턴스를 위한 틀이다.

인스턴스는 스키마에 대한 명세대로 실제 구현한 데이터이다. 




관계형 데이터베이스 모델에서, 하나 이상의 테이블 혹은 다른 뷰에서,

사용자가 원하는 데이터를 선택하여 사용자 정의에 의해 나타내는 것이다. 실제 데이터들은 다른 테이블들에 흩어져 있을 수 있지만, 가상의 테이블을 만들어서 실제 테이블인 것처럼 나타낸다.

뷰가 호출되는 과정은 해당 뷰를 위한 쿼리문을 가지고 있다가 호출하는 방식이다.(자세한 내용은 업데이트 필요)


CREATE VIEW 뷰이름 AS SELECT 구문;    // 뷰 생성

DROP VIEW 뷰이름;                    // 뷰 삭제


참고로, 뷰를 가지고 실제 데이터를 직접 수정할 수 없다.


데이터베이스 정규화



데이터베이스의 꽃, 다른 말로 헬게이트.  정규화를 이끌어 내는 수학적인 내용과 증명은 다시 공부할 수 없을 것 같다.(필요할 때가 온다면 하겠지만.)


정규화의 목적은, 이상적인 테이블 설계를 위해서 관계(Relation)를 재구성하고 테이블들을 분리/결합하는 과정이다.

이 과정에서 데이터의 중복이나 종속성이 줄어든다. (완전할수도 아닐수도 있다. Best를 찾는 과정이다)


과정 1NF -> 2NF -> 3NF -> BCNF -> 4NF -> 5NF

이상현상

함수 종속성

부분함수종속

이행적함수종속





후보키 

기본키

슈퍼키

외래키




무결성


개체

참조

도메인



트랜잭션


반응형