개념 정리/Database

[Database] 개념 공부 1 (기본 용어)

kyeoneee 2017. 5. 9. 17:58
반응형

작년에 수업을 들으면서 배웠던 개념들이 시간이 지나서 헷갈려서 다시 정리를 해보려고 한다. 지극히 내 중심의 개념정리라서 나에게 필요한 부분들만 후에 다시 확인하기 쉽도록 적어 놓으려 한다.



기본 용어

   개체(Entity) 

: 표현하려는 유무형 정보의 객체, 정보의 단위, 하나 이상의 속성(Attribute)로 구성

- 개체 타입(열들의 이름의 집합 개념), 개체 인스턴스(튜플 하나하나), 개체 집합(튜플들의 집합)


   관계(Relation) 

: 두 개 이상의 개체들 사이의 연관성을 의미

- 속성 관계(개체 내의 관계), 개체 관계(개체 간의 관계)

- 1:1 관계, 1:N 관계, N:M관계


   속성(Property) 

: 개체의 특성을 표현



스키마

   외부 스키마(external schema)

- 개개 사용자의 데이타베이스 정의

- 전체 데이타베이스의 한 논리적인 부분

- subschema


   개념 스키마(conceptual schema)

- 기관 전체적인 데이타베이스 정의

- 모든 응용에 대한 전체적인 통합된 데이타 구조

- schema


   내부 스키마(internal schema)

- 저장 장치 관점에서 표현

- 개념 스키마의 저장구조를 정의



데이타언어

   데이타 정의어(DDL, Data Definition Language)

: 데이타베이스의 정의 및 수정

- 요소 : 논리적 데이타 구조의 정의, 물리적 데이타 구조의 정의, 논리적 데이타 구조와 물리적 데이타 구조 간의 사상 정의


   데이타 조작어(DML, Data Manipulation Language)

: 사용자(응용 프로그램)와 DBMS 사이의 통신 수단

- 절차적 DML : 저급어, what & how를 명세, 한번에 하나의 레코드만 처리, 응용 프로그램 속에 삽입 되어 사용, DML 예비 컴파일러

- 비절차적 DML : 고급어, what만 명세, 한번에 여러개의 레코드 처리, 독자적 & 대화식 사용(Query Language)


   데이타 제어어(DCL, Data Control Language)

: 공용 데이타베이스 관리를 위한 데이타 제어를 정의하고 기술하는 언어

- 데이타를 관리하기 위한 도구 : 보안, 무결성, 회복, 병행수행



ER다이어그램

   데이터 모델링 과정에서 현실 세계를 개체 타입과 관계 타입을 통해 개념적으로 표현을 한다. 특정 DBMS을 고려 하는 것은 아님.



데이타베이스의 종류

   계층형 데이타베이스

 : 데이터 관계를 트리 구조로 정의하여 부모, 자식 형태를 갖는 구조이다. 각 데이터 개체들은 상하 관계를 나타내는 링크로 구성된다.(상위 레코드가 복수의 하위 레코드를 갖는 구조) 데이터의 중복 문제가 생길 수 있는 단점이 있다.


   네트워크형 데이타베이스

 : 그래프 구조를 기반으로 하여 개체와 개체 관계를 그래프 구조로 연결한다. 계층형 데이타베이스와는 다르게 상위 개체를 여러개를 가질 수 있는 차이점이 있다. 계층형 데이타베이스의 중복 문제를 해결하였으나 구조가 복잡하여 추후에 구조를 변경하기 복잡한 단점이 있다.


   관계형 데이타베이스

 : 관계형 데이타 모델을 사용하며 현재까지 가장 안정적이고 효율적으로 여겨저 가장 많이 사용되는 데이타 베이스이다. Column과 Row(레코드 혹은 튜플로 불림)로 구성된 하나 이상의 테이블간의 관계를 나타낼 때 사용한다. 고유 키(Primary key)가 각 Row를 구분할 수 있도록 한다. 각 테이블/관계는 하나의 엔티티 타입을 대표하며 Row는 그 엔티티 종류의 인스턴스를 대표하고 Column은 그 인스턴스의 속성이 되는 값들을 나타낸다.


   NoSql 데이타베이스
: Not Only Sql의 약자인 NoSql은 모든 비관계형 데이타베이스 제품군을 설명하는데 사용되는 용어이다. 기존 관계형 데이타베이스는 스키마 수정이 용이하지 못하는 등 확장성이 떨어지는 등의 단점을 보완한 데이타베이스이다. 관계형 모델을 사용하지 않고 클러스터에서 잘 동작하며 빅데이터가 주를 이루는 웹 환경을 위해 구축되었고 스키마가 없는 특징을 가졌다. NoSql은 대부분이 오픈소스라는 특징도 가지고 있다.




반응형