2021. 4. 19. 20:45ㆍ코 딩 공 부/O R A C L E
데이터베이스(Database) 개념
개요
● 데이터베이스란?
데이터베이스란 논리적으로 연관된 하나 이상의 자료 모음으로 그 내용을 고도로 구조함으로써 검색과 갱신의 효율화를 꾀한 것으로 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜놓은 자료의 집합체라고 할 수 있다.
● 데이터베이스의 정의
- 통합데이터(Integrated Data) : 여러 군데 분산된 데이터를 통합하여 데이터의 중복을 최소화하기 위한 개념
- 저장데이터(Stored Data) : 컴퓨터가 접근 가능한 매체에 저장된 디지털 데이터를 의미
- 운영데이터(Operational Data) : 특정 조직의 고유 업무를 수행하기 위하여 항상 유지해야하는 데이터
- 공용데이터(Shared Data) : 분산된 파일의 통합 관리를 통해 조직 내의 다수의 사용자나 여러 응용 시스템에서 동일한 데이터를 공유하는 개념
● 데이터베이스 특징
- 실시간 접근(real-time accessibility)이 가능하여 질의에 대한 실시간 처리 및 응답을 처리할 수 있도록 지원해준다.
- 계속적인 변화(continuous evolution) 특성 때문에 삽입, 삭제, 갱신을 통해서 현재의 정확한 데이터를 동적으로 유지할 수 있다.
- 동시 공유(concurrent sharing)가 가능하여 여러 사용자가 동시에 공용할 수 있다.
- 내용에 의한 참조(content reference)가 가능하여 위치나 주소가 아닌 데이터의 내용, 즉 값에 따라 참조할 수 있다.
DBMS(Database Management System)
● 데이터베이스 관리 시스템(DBMS)란?
- DBMS란 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어이다.
- DBMS는 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해 준다.
- DBMS는 데이터베이스의 구성, 접근방법, 유지관리에 대한 모든 책임을 진다.
● 데이터베이스 관리 시스템(DBMS) 종류
오라클, DB2, 인포믹스(Informix), Microsoft SQL Server, 사이베이스(Sybase), PostgreSQL(포스트그레스큐엘), 마리아DB(MariaDB), 티베로 RDBMS 등
● 기존의 파일 처리 방식에서의 문제점
- 종속성으로 인한 문제점
· 종속성 : 응용프로그램과 데이터 파일이 상호 의존적인 관계
· 데이터 파일이 보조 기억 장치에 저장되는 방법이나 저장된 데이터의 접근 방법을 변경할 때는 응용프로그램도 같이 변경하여야 함
- 중복성으로 인한 문제점
· 일관성 : 중복된 데이터간에 내용이 일치하지 않는 상황이 발생하여 일관성이 없어짐
· 보안성 : 중복되어 있는 모든 데이터에 동등의 보안수준을 유지하기가 어려움
· 경제성 : 저장 공간의 낭비와 동일한 데이터의 반복 작업으로 인한 비용의 증가
· 무결성 : 제어의 분산으로 인해 데이터의 정확성을 유지할 수 없음
● DBMS의 필수 기능
- 정의(Definition)기능
· 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능이다.
· 데이터와 데이터의 관계를 명확하게 명세할 수 있어야 하며 원하는 데이터 연산은 무엇이든 명세할 수 있어야 한다.
- 조작(Manipulation)기능
데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능이다.
- 제어(Control)기능
· 데이터베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 해야한다.
· 정당한 사용자가 허가된 데이터만 접근할 수 있도록 보안을 유지하고 권한을 검사할 수 있어야 한다.
· 여러 사용자가 데이터베이스를 동시에 접근하여 데이터를 처리할 때 처리결과가 항상 정확성을 유지하도록 병행제어(Concurrency Control)을 할 수 있어야 한다.
● DBMS의 장단점
- 장점
· 데이터의 중복을 피할 수 있음
· 저장된 자료를 공동으로 이용할 수 있음
· 데이터의 일관성을 유지할 수 있음
· 데이터의 무결성을 유지할 수 있음
· 보안을 유지할 수 있음
· 데이터를 표준화할 수 있음
· 데이터를 통합하여 관리할 수 있음
· 항상 최신의 데이터를 유지함
· 데이터의 실시간 처리가 가능함
· 데이터의 논리적, 물리적 독립성이 보장됨
- 단점
· 데이터베이스 전분가 부족, 전산화 비용이 증가함
· 대용량 디스크로의 집중적인 Access로 과부하(Overhead)가 발생함
· 파일의 예비(Backup)와 회복(Recovery)이 어려움
· 시스템이 복잡함
데이터베이스 언어(Database Language)
개요
● 데이터베이스 언어란?
- 데이터베이스 언어는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 시스템과의 통신 수단이다.
- 데이터베이스 언어는 DBMS를 통해 사용되며 기능과 사용 목적에 따라 데이터 정의 언어, 데이터 조작 언어, 데이터 제어 언어로 구분된다.
● 종류
- 데이터 조작 언어(DML : Data Manipulation Language)
대상 데이터의 검색, 등록, 업데이트 및 삭제를 위한 언어 또는 언어 요소
- 데이터 정의 언어(DDL : Data Definition Language)
데이터 구조의 생성, 업데이트, 삭제를 위한 언어 또는 언어 요소
- 데이터 제어 언어(DCL : Data Control Language)
액세스 제어를 위한 언어 또는 언어 요소
● 절차와 비절차 언어
- 절차 언어(procedural language)
문제를 푸는데 필요한 일련의 수단을 절차라 하고 문제 해결의 절차를 간단히 할 수 있도록 설계된 프로그램 언어가 절차 언어이다. 알기 쉬운 영숫자나 기호에 의해 만들어져 있어 다루기 쉬운 모양으로 되어있다. 프로그램 작성용 언어로서 응용된다.
- 비절차 언어(non-procedure language)
프로그램 작성에 있어서 문제 해결을 위한 과정과 절차에 대한 기술은 시스템에서 이루어지고 프로그래머는 무엇을 할 것인가 하는 기능만을 기술하는 언어이다. 예를 들면 데이터베이스 질의어가 있다.
SQL(Structured Query Language)
● SQL이란?
- 구조화 질의어
- 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
- 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안
- 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택
● SQL 특징
- 대화식 언어 : 온라인 터미널을 통하여 대화식으로 사용함
- 집합단위로 연산되는 언어 : SQL은 개개의 레코드 단위로 처리하기 보다는 레코드 집합단위로 처리하는 언어
- 데이터 정의어, 조작어, 제어어를 모두 지원
- 비절차적 언어 : 데이터 처리를 위한 접근 경로(access path)에 대한 명세가 필요하지 않음. 즉 어떤 데이터를 원하는가만 명시하고 데이터를 검색하는 방법은 명시하지 않음
- 표현력이 다양하고 구조가 간단함
● DQL(Data Query Language)
- 데이터 질의 언어
- SELECT
- 대상 : 필드, 레코드, 테이블
● DML(Data Manipulation Language)
- 데이터 조작 언어
- 레코드 제어 명령어
- 대상 : 필드, 레코드, 테이블, 뷰, 인덱스
- INSERT, UPDATE, DELETE, MARGE(병합)
- 저장된 데이터를 실질적으로 처리하는데 사용
- ROLLBACK 가능
● DDL(Data Definition Language)
- 데이터 정의 언어
- 객체의 생성, 변경, 삭제 명령어
- 대상 : 필드, 레코드
- CREATE, ALTER, DROP, RENAME, COMMENT(주석달기), TRUNCATE(테이블 모든 행 삭제)
- SCHEMA, DOMAIN, TABLE, VIEW, INDEX룰 정의하거나 변경 또는 삭제할 때 사용
- AUTO COMMIT
- ROLLBACK 불가능
● TCL(Transaction Control Language)
- 트랜잭션 제어 언어. 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구시키기 위해서 사용
- Transaction은 여러개의 DML(데이터 조작어) 명령문들을 하나의 작업단위로 묶어놓은 집합이다.
- COMMIT, ROLLBACK
'코 딩 공 부 > O R A C L E' 카테고리의 다른 글
ORACLE - 관계형 데이터베이스 (0) | 2021.04.19 |
---|