본문 바로가기
Programming/PHP+MySQL(Database)

DBMS_데이터베이스 관리 시스템 개요

by 어깨 :) 2023. 3. 31.
728x90

그림 1. DBMS(출처 https://maily.so/queryaddict/posts/692 ff5)

 

 

 

 

1)  데이터베이스  관리  시스템의  등장  배경


▪  파일  시스템의  문제점
✓   같은  내용의  데이터가  여러  파일에  중복  저장  ⇨  데이터  중복성
- 저장  공간의  낭비는  물론  데이터  일관성과  데이터  무결성을  유지하기  어려움


✓   응용  프로그램이  데이터  파일에  종속적  ⇨  데이터  종속성
-  사용하는  파일의  구조를  변경하면  응용  프로그램도  함께  변경해야  함


✓    데이터  파일에  대한  동시  공유, 보안, 회복  기능이  부족
✓    응용  프로그램  개발이  쉽지  않음

 

 

 

 

2)  데이터베이스  관리  시스템  개요  


▪  데이터베이스  관리  시스템
✓  DBMS(Database Management System)
✓  파일  시스템의  문제를  해결하기  위해  제시된  소프트웨어
✓  조직에  필요한  데이터를  데이터베이스에  통합하여  저장하고  관리함

 

 

▪   데이터베이스  관리  시스템의  주요  기능

정의기능
데이터베이스  구조를  정의하거나  수정  가능


조작기능

데이터를  삽입, 삭제, 수정 검색하는  연산  가능


제어기능

데이터를  항상  정확하고 안전하게  유지  가능

 

 

 

 

3)  데이터베이스  관리  시스템의  구성  요소  


▪  3단계  데이터베이스(DB) : 데이터베이스의  3단계  표현(ANSI의  3단계  데이터베이스  구조)
✓    데이터베이스에  대한  관점(View) : 개인, 기관  전체, 저장장치
-  외부  단계
-  개념  단계
-  내부  단계


▪  스키마
✓    데이터베이스의  구조(데이터  객체, 관계)와  제약조건의  명세
✓    3단계  데이터베이스  구조
-  외부  스키마  (external schema)
-  개념  스키마  (conceptual schema)
-  내부  스키마  (internal schema)

 

 

 

▪  데이터  언어(Data Language) : 데이터베이스의  정의, 조작, 제어를  위한  시스템과의  통신 수단


✓    데이터  정의어(DDL) : 테이블  관계의  구조를  생성하는 데  사용하며  CREATE, ALTER,  DROP 문  등

 

데이터 정의 언어(영어: data definition language, DDL)는 컴퓨터 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터의 데이터를 정의하는 컴퓨터 언어 또는 컴퓨터 언어 요소이다. Document Type Definition (DTD)는 순수한 데이터 정의 언어의 예이다 (DTD는 XML의 맥락에서 사용된다). 데이터 정의 언어의 또 다른 예로는 데이터베이스 언어 SQL의 명령어의 부분 집합이 있다.

SQL의 데이터 정의 언어의 문장은 관계형 데이터베이스의 구조를 정의한다. SQL에 의해 정의되는 관계형 데이터베이스의 구조는 쌍(행), 속성(열), 관계(테이블), 인덱스 파일 위치 등 데이터베이스 고유의 특성을 포함한다. SQL의 데이터 정의 언어의 문장의 집합은 관계 데이터베이스 관리 시스템(RDBMS)의 일부이며 SQL 방언에 의해 많은 차이가 있다.

* 구문
SQL의 데이터 정의 언어의 주요 지침은 다음과 같다.

CREATE - 새로운 데이터베이스 관계 (테이블), VIEW, 인덱스, 저장 프로시저 만들기
DROP - 이미 존재하는 데이터베이스 관계(테이블), 뷰, 인덱스, 저장 프로시저를 제거한다.
ALTER - 이미 존재하는 데이터베이스 개체에 대한 변경, RENAME의 역할을 한다.
TRUNCATE - 관계 (테이블)에서 데이터를 돌이킬 수 없는 제거

 

https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0_%EC%A0%95%EC%9D%98_%EC%96%B8%EC%96% B4

 

데이터 정의 언어 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 데이터 정의 언어(영어: data definition language, DDL)는 컴퓨터 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터의 데이터를 정의하는 컴퓨터 언어 또는 컴퓨터 언어

ko.wikipedia.org

 

 

 

 


✓    데이터  저작어(DML) : 테이블에  데이터를  검색, 삽입, 수정, 삭제하는  데  사용하며  SELECT, INSERT, DELETE, UPDATE 문  등

 

데이터 조작 언어(영어: Data Manipulation Language, DML)는 데이터베이스 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터 데이터베이스에 대해 데이터 검색, 등록, 삭제, 갱신을 위한, 데이터베이스 언어 또는 데이터베이스 언어 요소이다. 2007년 현재 가장 대중적 데이터 조작 언어는 SQL 데이터 조작 언어이다. SQL은 관계형 데이터베이스에 대해 검색 및 업데이트 등의 데이터 조작을 위해 사용된다. 다른 데이터 조작 언어로는 IMS / DL1 데이터 조작 언어와 CODASYL 데이터베이스 (IDMS 등)의 데이터 조작 언어 등이 있다. 데이터 조작 언어는 초기에는 응용 프로그램 소프트웨어에 의해 사용되는 머물러 있었지만, (SQL의 출현에 따라) 데이터베이스 사용자에 따라 사용되어 갔다.

*종류
데이터 조작 언어는 문장의 첫 단어로 표시하는 기능을 가진다. 데이터 조작 언어에서 문장의 첫 단어는 대부분의 경우 동사이다. SQL의 경우 이러한 동사는 다음과 같다.

SELECT - 검색 (질의)
INSERT - 삽입 (등록)
UPDATE - 업데이트 (수정)
DELETE - 삭제


데이터 조작 언어는 데이터베이스 공급업체(벤더) 간에 언어 및 기능에서 많은 차이를 가지는 경향이 있다. SQL은 ANSI / ISO에서 제정된 표준이 있다. 그러나 데이터베이스 벤더들은 표준의 범위를 넘어 고유의 확장 기능을 제공하고 있다. 데이터 조작 언어에는 기본적으로 두 가지 종류가 있다.

선언적 데이터 조작 언어
절차적 데이터 조작 언어

 

https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0_%EC%A1%B0%EC%9E%91_%EC%96%B8%EC%96% B4

 

데이터 조작 언어 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 데이터 조작 언어(영어: Data Manipulation Language, DML)은 데이터베이스 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터 데이터베이스에 대해 데이터 검색, 등록, 삭

ko.wikipedia.org

 

 

 

 

 

 

 

 

✓    데이터  제어어(DCL) : 데이터의  사용  권한을  관리하는  데  사용하며  GRANT, REVOKE 문  등

데이터 제어 언어(영어: Data Control Language, DCL)는 데이터베이스에서 데이터에 대한 액세스를 제어하기 위한 데이터베이스 언어 또는 데이터베이스 언어 요소이다. 권한 부여(GRANT)와 박탈(REVOKE)이 있으며, 설정할 수 있는 권한으로는 연결(CONNECT), 질의(SELECT), 자료 삽입(INSERT), 갱신(UPDATE), 삭제(DELETE) 등이 있다.

*구문
SQL의 주요 데이터 제어 언어는 다음과 같다.

GRANT - 특정 데이터베이스 사용자에게 특정 작업을 수행 권한을 부여
REVOKE - 특정 데이터베이스 이용자에게 부여한 특정 권한을 박탈 권한


SQL의 GRANT 및 REVOKE 데이터베이스 사용자로 설정할 수 있는 권한에는 다음과 같은 것이 있다.

CONNECT- 데이터베이스 또는 스키마에 연결하는 권한
SELECT - 데이터베이스에서 데이터를 검색하는 권한
INSERT - 데이터베이스에 데이터를 등록할 수 있는 권한
UPDATE - 데이터베이스의 데이터를 업데이트할 수 있는 권한
DELETE - 데이터베이스의 데이터를 삭제할 수 있는 권한
USAGE - 스키마 또는 함수와 같은 데이터베이스 개체를 사용할 수 있는 권한


오라클 데이터베이스에서는 데이터 제어 언어의 명령 실행은 암시적 커밋을 수반한다. PostgreSQL에서는 데이터 제어 언어의 명령 실행은 트랜잭션의 맥락에서 이루어지므로 롤백을 할 수 있다.

https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0_%EC%A0%9C%EC%96%B4_%EC%96%B8%EC%96% B4

 

데이터 제어 언어 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 데이터 제어 언어(영어: Data Control Language, DCL)는 데이터베이스에서 데이터에 대한 액세스를 제어하기 위한 데이터베이스 언어 또는 데이터베이스 언어 요소이

ko.wikipedia.org

 

 

 

 

728x90