솜이의 데브로그

2장 ) 관계형 데이터베이스란 본문

CS/Database

2장 ) 관계형 데이터베이스란

somsoming 2021. 9. 15. 21:57

Reference : 데이터베이스 첫걸음

 

대표적인 DBMS

데이터베이스의 기능을 제공하는 소프트웨어를 DBMS (DataBase Management System)이라고 한다.

대표적인 DBMS에는 Oracle, SQL Server, DB2, MySQL, PostgreSQL, Firebird 등이 있다.

 

 

관계형 데이터베이스란

대부분 데이터베이스는 관계형 데이터베이스를 말하는 경우가 많다.

관계형 데이터베이스(RDB)에서 '관계'란, 2차원 표를 표기할 때 사용한든 단어이다.

결론적으로 '관계형 데이터베이스' 란 데이터를 2차원 표를 사용해 관리하는 데이터베이스 의 개념이다.

 

관계형 데이터베이스의 이점은 프로그래밍 언어를 사용하지 않아도 데이터를 조작할 수 있다는 것이다. 이것을 가능하게 한 것이 'SQL'이라는 언어이다.

 

 

 

SQL 기초지식

SQL이란, 관계형 데이터베이스가 데이터를 조작하기 위해 준비한 언어이다.

ex)

SELECT 이름
	FROM 주소록
    WHERE 주소 LIKE '%서울시%';

 

SELECT : 선택, FROM : ~로부터, WHERE : ~테이블에서, LIKE : ~와 같은

→ 매우 간결하게 기술됨을 알 수 있음.

 

SQL의 4가지 기본 조작

  1. SELECT : 검색
  2. INSERT : 등록
  3. UPDATE : 갱신
  4. DELETE : 제거

 

테이블

  • 관계형 데이터베이스에서 2차원 표를 '테이블'이라 한다.
  • 어떤 테이블에 어떤 데이터를 포함하는가

 

열과 행

  • 열 : column
  • 행 : row
  • 셀과 행이 교차하는 부분은 엑셀에서는 cell (셀) 이라고 함.

 

DBMS와 데이터베이스의 차이

  • DBMS : 데이터베이스의 기능을 제공하는 소프트웨어로, 데이터베이스 관리시스템이다. 데이터베이스를 실현하기 위해 작성된 SW.
  • 데이터베이스 : 기능이나 구조를 나타내는 추상적인 개념.

 

Software 종류

  1. 운영체제
  2. 미들웨어
  3. 애플리케이션

 

DBMS는 운영체제와 애플리케이션의 중간에 있다.

 

 

운영체제

운영체제란 시스템을 동작하게 하기 위한 일종의 토대가 되는 기능을 제공하는 소프트웨어이다.

대표적인 OS로는 Windows, Linux, Unix가 있다.

 

Windows : GUI에 의한 직관적인 조작 가능

Linux, Unix : 상용시스템이라는 비즈니스용에서 주로 사용. CLI

 

 

미들웨어

미들웨어는 '중간 소프트웨어'로, 데이터베이스는 미들웨어에 속한다. 즉, OS에서 동작한다.

OS와 DBMS의 조합을 선택할 때는 주로 다음 항목들을 고려하여 선택한다.

  • 예산
  • 제품 기능
  • 개발자와 운용자의 기술 조합

 

제품에 따라 기능이나 조작방법이 다르다.

 

 

애플리케이션

애플리케이션이란 업무용 기능을 가진 프로그램된 소프트웨어로, 사용자가 가장 빈번하게 조작하는 소프트웨어이다.업무들을 기존인력에 의해 운영되던 처리를 프로그램으로 자동화하여 효율성을 높이고 비용을 줄일 수 있는 것이 장점이다.

 

 

애플리케이션 실현 수단

 

(1) 스크래치 : 직접 프로그램을 작성하는 방법 (Java, C 등 이용)직접 만들기 때문에 업무의 세세한 부분까지 시스템에서 대응 가능하지만 개발 비용이 커짐.

 

(2) 패키지 : 기존에 있던 애플리케이션 소프트웨어를 사는 방법일반적으로 개발 비용을 줄일 수 있지만 패키지의 기능이 부족하여 추가개발이 필요하면 비용이 많이 들게 될 수 있다.

 

애플리케이션은 사용자와 데이터베이스 사이를 비집고 들어가있다. 즉, 애플리케이션을 매개로 데이터베이스에 접근하는 형태.이유 1 : 데이터베이스의 보안을 높이기 위해, 이유 2 : 업무 로직을 애플리케이션에 집중시켜 개발이나 수정에 걸리는 비용을 낮춤.

 

 

 

느낀점

비즈니스 쪽 관점에 대해서는 생각 안해봤는데 재밌는것같다데이터베이스 사용법만 배웠었는데 배경에 대해서 알게되는것도 신선했다