[오라클]데이터베이스 개념

 

 

Database

역할

데이터베이스는 중복을 없애고 결함을 줄이기위해 만들어졌다.

A,B,C 세개의 시스템이 있다고 해보자. 

각각의 시스템이 각각 하나씩 정보를 담은 파일을 갖고 데이터를 관리한다고 할 때,

그것을 동기화 시키는 작업을 일일히 해야 할 것이다. 굉장히 비효율적이다. A시스템에서 하나의 데이터를

업데이트할때마다 동기화를 시키기는 현실적으로 힘들다. 이것을 좀 더 효율적으로 처리하기위해

하나의 세개의 시스템의 세개의 파일을 중복된 데이터없이, 하나의 파일로 만들어서 관리하는 것이 DB다.

문제점

위의 설명은 장점만 설명한것이고, 문제점이 분명 존재한다.

동시성,성능,보안의 문제이다. 이것을 해결해야 무결성이라고 할 수 있다.


동시성 - 여러 시스템에서 하나의 데이터를 가지고 읽고 쓰기를 할 때 충돌이날수있음.

성능 - 여러 시스템에서 하나의 데이터에 붙으면 성능 저하가 일어날 수 있음.

보안 - 여러 시스템이 하나의 데이터에 관계를 가지려고 네트워크상에서 관리를 하면 다른 시스템에서 
끼어들어 보안에 문제가 생길 수 있다.

 

이것을 만족하기 위해 시스템이 직접 쓰는것이 아닌, 관리자를 통해서 데이터를 쓰게 된다.(소프트웨어상에서)

그래서 데이터베이스는 사용자가 직접 접근하는것이 아니고 관리 시스템을 통해서만 접근을 해야한다.

그래서 관리시스템을 만들어야하는데 만들기가 쉽지 않기때문에 전문적으로 관리시스템을 만드는 회사들이 존재하는데

그중에서 대표적인 회사가 Oracle, MySql, SqlServer 세가지이다.

나는 세가지 관리시스템중 오라클을 사용하여 학습을 진행하도록 해보겠다.

 

SQL(Structured Query Language)

앞서 말한 직접 접근하는것이 아닌 관리자를 통해 접근을 하게 된다. 이 접근을 하여 질의를 할때 사용하는 

명령어가 Query Language이다.

그리고 질의를 던질때 단순히 변수의 값이나 타입 등을 돌려 받는것이 아닌, 좀 더 큰 단위의 데이터들의 값을

받을때 ( 좀 더 구조화된 데이터. 예를들어 학교에서 학생 한명의 데이터 ( 이름이나 성적 등 )) 그래서 질의할때

가장 먼저 하게 되는것이 어떤 데이터를 쓸 것인지 밝힌다. (DDL, DML, DCL)

DDL(가장큰단위) - CREATE/ALTER/DROP 

DML(작은단위) - SELECT/INSERT/UPDATE/DELETE

DCL(권한) - GRANT/REVOKE

위의 세가지 명령어들에 대해서는 앞으로 공부를 진행하며 정리하도록 하겠다.

 

댓글

Designed by JB FACTORY