작년에 수업을 들으면서 배웠던 개념들이 시간이 지나서 헷갈려서 다시 정리를 해보려고 한다. 지극히 내 중심의 개념정리라서 나에게 필요한 부분들만 후에 다시 확인하기 쉽도록 적어 놓으려 한다.
기본 용어
개체(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은 그 인스턴스의 속성이 되는 값들을 나타낸다.
'개념 정리 > Database' 카테고리의 다른 글
[Database] 개념 공부 3 (SQL) (0) | 2017.05.15 |
---|---|
[Database] 개념 공부 2 (관계 대수와 관계 해석) (0) | 2017.05.14 |