새벽코딩

[데이터베이스 개론] 데이터베이스란? 본문

DB 모델링 & SQL

[데이터베이스 개론] 데이터베이스란?

J 코딩 2022. 1. 5. 01:17
반응형

흠,, 데이터베이스는 우리 주변에서 심심치 않게(?) 아니 매일 접하는 그냥 개발에 있어서 핵심 포인트라고 생각한다.

 

데이터베이스는 간단히 말해 어떠한 조직또는 시스템에서 여러사람들이 동시에 사용할 수 있도록 저장된 데이터의 집합체이다.

 

데이터베이스가 지닌 특성중 중요한 것은 중복을 최소화해야하며 일관성을 유지해야한다는 것이다.

1. 중복의 최소화

2. 데이터의 일관성 유지

 

데이터베이스의 특성에는 총 4가지가 있다.

1. 실시간 접근성(real-time accessibility)

2. 계속적인 변화(continuous evolution)

3. 동시 공유(concurrent sharing)

4. 내용에 의한 참조(content reference)

 

[한줄로 말하면]

데이터베이스는 실시간으로 항상 변화하며 여러 시스템을 통해서 동일한 데이터를 어떠한 내용을 통해 동시에 접근 가능함

 

데이터베이스는 단계에 따라서 각각의 스키마가 존재한다.

1. 외부단계 - 외부스키마

2. 개념단계 - 개념스키마

3. 내부단계 - 내부스키마

 

[스키마란?]

스키마는 데이터베이스의 기본요소이며, 데이터들간의 논리적구조 및 관계를 기술한 것이다.

 

1. 외부스키마

- 사용자 관점에서 데이터베이스의 논리적 구조를 말하며 사용자마다 다르게 표현될 수 있다.

- 여러개의 외부스키마가 존재가능함

 

2. 개념스키마

- 데이터베이스를 구성하는 조직의 입장에서 통합된 논리적 구조

- 논리적스키라라고도 하며 접근권한, 보안정책, 무결성규칙을 포함

 

3. 내부스키마

- 저장구조를 정의한 것

- 물리적스키마라고도 하며 데이터베이스의 구조를 포함

 

스키마를 만들어가는 과정은 분석, 설계를 하는 과정이며 정의된 스키마들은 논리 모델링, 물리 모델링을 거쳐 문서화된다. => 설계서

설계서를 통해서 DDL, DCL문을 통해 DB의 생성및 운영

 

DB에서 사용하는 언어는 총 세가지가 있다.

1. DDL

2. DML

3. DCL

 

각각은 DB 사용자의 권한을 담당하기도 하며 또는 구조를 설계하기도 한다.

 

DDL은 테이블의 생성또는 수정을 담당한다.

DML은 데이터의 입력, 수정, 삭제, 조회를 담당하는 언어이다.

DCL은 데이터베이스의 객체들에 대한 권한을 정의할 수 있다.

 

[DCL 사용법]

GRANT CREATE SESSION TO (사용자1)

GRANT SELECT, INSERT, DELETE ON (TABLE명) TO (사용자1), (사용자2);

GRANT INSERT (COL1) ON (TABLE명)  TO (사용자1)

반응형
Comments