본문 바로가기
자바과정/DB(Oracle)

데이터베이스란? 1부

by Parkej 2021. 3. 14.

한 외국인분의 블로그에서 DB 관련 내용을 보다가 글이 너무 좋아서 공부겸 포스팅하게 되었습니다. 글을 그대로 복붙해서 한게 아닌 직접 타이핑하면서 원리를 이해하고 한글로 적으면서 단어 연결이 매끄럽지 않은 부분은 제가 아는 지식선에서 수정하여 적었습니다. 

 

포스팅할 글은 총 10부까지 있으며 천천히 시작합니다.

 

출처 : medium.com/omarelgabrys-blog/database-introduction-part-1-4844fada1fb0

 

(영어를 구글번역해서 한건데.... 문장이 안맞는것들은 제가 흐름대로 해석하여 적었습니다. 혹시 맞지 않는 문장연결이나 뜻이 애매모한것이 있다면 댓글로 적어주세요 많이 부족합니다...)


DB가 필요한 이유

- 데이터를 어디에 저장하고 싶을때, 이 데이터는 무엇이든 될 수 있음. 고객, 제품, 직운, 주문 등에 관한 것일 수 있음
이 데이터들은 텍스트형식, 숫자, 날짜, 문서 파일, 이미지, 오디오 또는 비디오 등등 일 수 있다.

- 회사의 고객에 대한 데이터가 있는 경우  가장 먼저 떠오르는 것은 스프레드 시트(대표 : 엑셀)를 여는것임. 그 다음 저장하려는 데이터를 쓰기 시작함.

- 고객 이름, ID, 직위 등이 될 수있음. 고객을 추가하거나 나중에 삭제할 수 있으며 수정할 수도 있다. 그리고 이것이 다임..

이제 우리는 일종의 데이터를 가지고 있으며 사용자는 필요를 충족시키는 방식으로 스프레드 시트에 저장함. 데이터가 있는 것만으로는 데이터베이스가 문제가 생기지 않는다. 문제는 다음에 오는것.. 잠재적인 문제가 많이 있다

고객이 10000명 정도인 데이터가 있는 경우 " 이 엑셀 시트를 아래로 스크롤하여 9999명의 고객을 볼거냐? " 보안이 우려된다면 어떻게 하냐?, 실수로 중복 정보를 입력한 경우 등등 문제가 많다.

그러면 다음 " 실제로 데이터베이스가 언제 필요하냐 " 라는 문제를 고려해보자

크기
 - 수천 또는 백만의 고객 정보가 있을 수 있다.

정확성
 - 잘못된 데이터 입력.. 실제로 이런 시트파일에 잘못된 데이터를 입력하는 것을
막을 수 없다.

보안
 - 대이터가 민감하고 데이터에 대한 액세스를 제한해야하는 경우 모든 사람과
공유 할 필요는 없다 또는 누가 모든 지점에서 모든 변경을 수행했냐?

여분
 - 중복 데이터(동일한 데이터의 여러 복사본 포함)로 충돌이 발생하면
반복되지 않는 고유 데이터만 있으면 된다.

중요성
 - 연결이 끊어지거나 충돌이 발생하여 데이터를 잃어 버리면 어떠냐? 
당신은 그 고통을 느꼇을거다. 그리고 고객의 주문, 환자의 알레르기 항공편
예약 등과 같은 중요한 데이터를 잃는 것은 용납 할 수 없다.

덮어 쓰기
 - 여러 사람이 동시에 같은 데이터를 덮어 쓰게하는것은 어떻냐 ?
동시에 10명 또는 100명 정도 ? 결국 모든 사람이 다른 사람의 변경 사항을
덮어 쓰게 된다.

이러한 문제 중 하나 또는 모든 문제에 대해 "예"라고 말하면 데이터를
안정적이고 안전하게 유지관리 할 수 있다. 따라서 데이터베이스가 필요하다


데이터베이스란?

 

 - 이러한 문제의 중요성은 사용자의 요구에 따라 변경되기 때문에 해당 데이터의 규칙을 적용하는것은 데이터를 배치하는 구조화 된 시스템이며 규칙은 사용자의 것이다. 

(문제는 크기 때문일 수 있지만 다른 사람은 민감도가 높은 데이터 양이 적다.)

 

 - 백그라운드에서 진행되는 것은 일반 사용자가 볼 수 없는 것들이다. 

 보안, 강화된 데이터 무결성, 빠르게 접근하고 안정적으로 접근 할 수 있는 능력, 견고성, 동시에 많은 사람에게 서비스를 제공하고 데이터 충돌 손상없이 없어야 하드웨어 문제가 없이 올바르게 살아남는다. (??? 하드웨어가 망가지지 않는다는듯..?)

 

- 이것이 우리가 여기서해야 할 일이다. 구조를 설명하고 규칙을 정의하는 방법을 이해하면 보이지 않는 모든 일이 실제로 발생한다.

 


데이터베이스 관리 시스템(DBMS : DataBase Management System)

 - 우리는 종종 데이터베이스가 Oracle, MySQL, SQL server, MongoDB 라고 잘 대답하지 못한다.

그러나 이들은 데이터베이스가 아니라 데이터베이스 관리 시스템(DBMS)이다.

 

 - DBMS는 개인용 컴퓨터 또는 서버에 설치되는 소프트퉤어이며, 이를 사용하여 하나 이상의 데이터베이스를 관리한다.

 

 - 데이터베이스에는 실제 데이터와 해당 데이터에 대한 규칙이 있으며 DBMS는 실제 데이터를 둘러싸고 관리하는 프로그램이며 데이터에 지정한 규칙을 적용한다. 예를 들어 규칙은 정수 또는 문자열과 같은 데이터 유형 또는 이들 간의 관계 일 수 있따.

 

Oracle, MySQL 등등

 

 - 실제로는 여러 데이터베이스를 갖는 것이 매우 일반적임. 주문 및 고객정보를 처리하는 데이터베이스는 인적 자원 정보를 처리하는 데이터베이스와 완전히 독립적 일 수 있다. 그리고 많은 조직에서 데이터베이스가 여러 개가 아니라 여러 DBMS가 있다. 때로는 하나의 DBMS가 다른 것보다 더 낫기 때문이다. 

 

다양한 DBMS가 있으며 다음과 같이 분류된다.

  •  관계형 데이터베이스 관리 시스템
  • 계층적 데이터베이스 시스템
  • 네트워크 데이터베이스 시스템
  • 객체지향 데이터베이스 시스템
  • NoSQL 데이터베이스 시스템

우리는 관계형 데이터베이스 관리 시스템(RDBMS)에 초점을 맞출 것이다. 왜..?

 

  • 가장 일반적으로 사용된다.
  • 여기서 논의 할 원칙을 모두 사용할 수 있다.
  • NoSQL 데이터베이스에 뛰어들 것이라는 것을 알고 있다면 대부분의 소개에서는 관계 데이터베이스 개념을 이미 이해하고 있다고 가정하고 이러한 개념을 사용하여 NoSQL 데이터베이스에서 제공하는 내용을 설명한다.

RDBMS는 Oracle, MySQL, SQL Server, SQLite, DB2 등과 같다.

 

마무리

 - 이제 데이터베이스가 필요한 이유, 데이터베이스가 무엇인지, 데이터베이스와 DBMS의 차이점을 이해했다. 이것은 다음 튜토리얼에서 데이터베이스 기본 사항을 이해하는 것 첫 번째 단계로 이동할거다.

반응형

'자바과정 > DB(Oracle)' 카테고리의 다른 글

JDBC 연결 테스트  (0) 2021.03.15
데이터베이스란? 2부(DB와 테이블)  (0) 2021.03.14
SQL 조건문  (0) 2021.03.12
SQL 기본 정리  (0) 2021.03.12
JDBC 프로그램 작성  (0) 2021.03.12

댓글