역사 데이터베이스
pattern
데이터베이스
정의
- 컴퓨터 시스템에 전자적으로 저장되는 구조화된 정보 또는 데이터의 조직화된 모음.
- 데이터베이스 관리 시스템(DBMS)에 의해 제어됨.
- 데이터와 DBMS를 하나로 묶어 데이터베이스 시스템이라고 하며 간략하게 데이터베이스라고도 함.
- 대부분의 데이터베이스에서 데이터는 처리 및 데이터 쿼리를 효율적으로 수행하기 위하여 테이블에서 행과 열로 모델됨.
- 데이터를 액세스, 관리, 수정, 업데이트, 제어, 구성하기 위해서 데이터베이스 작성 및 쿼리에 SQL(Structured Query Language)을 사용함.
역사
- 1980년대가 되면서 관계형 데이터베이스가 등장, 인기를 얻음.
- 1990년대에 객체 지향 데이터베이스가 등장.
- 최근 NoSQL 데이터베이스가 등장.
관계형 데이터베이스
- 관계형 DBMS(Relational DBMS)는 줄여서 RDBMS.
- 대부분의 DBMS가 RDBMS 형태임.
- RDBMS의 데이터베이스는 테이블(table)이 최소 단위임.
- 이 테이블은 하나 이상의 열(column)과 행(row)으로 이루어져 있음.
- 테이블의 행은 레코드(record)라고 부르기도 함.
- 레코드 하나 = 데이터 한 건.
- 하나의 테이블은 적게는 수백개, 많게는 수백만 개의 레코드를 갖게 됨.
RDBMS종류
- Oracle DB - 뛰어난 기술력과 안정성. 주로 은행 업계에서 사용. 유료.
- MySQL - 오픈 소스. 웹 개발, 특히 PHP를 이용한 개발에 흔히 쓰인다.
- Maria DB - 오라클이 MySQL을 인수하면서 라이선스 문제가 불확실해지자, 이에 반발하여 만들어짐.
- PostgreSQL - 버클리 대학의 프로젝트 오픈 소스 ORDBMS. (ORDBMS: 객체-관계형 데이터베이스 관리 시스템)
- SQL Server - 마이크로소프트가 개발한 RDBMS. 윈도우 시스템 환경 지원.
- SQLite - DB를 서버가 아닌 파일로 저장하는 DBMS이다. 가벼운 DB를 저장하는 목적으로 설계됨. 안드로이드, iOS, mac OS에서 사용됨.
SQL
- SQL은 데이터를 쿼리, 조작 및 정의하고 액세스 제어를 제공하기 위해 거의 모든 관계형 데이터베이스에서 사용되는 프로그래밍 언어.
- SQL은 1970년대에 IBM에서 처음 개발.
- IBM, Oracle, Microsoft에서 확장 프로젝트를 진행하였음.
OOP
- Object Oriented Programming
- 절차 지향
let baseSalary = 30_000; let overtime = 10; let rate = 20; function getWage(baseSalary, overtime, rate){ return baseSalary + (overtime * rate); }
- 객체 지향
let employee = { baseSalary :30_000, overtime: 10, rate: 20, getWage: function(){ return this.baseSalary + (this.overtime * this.rate); } }; employee.getWage();
엑셀
- 엑셀(Excel)은 스프레드시트(Spread Sheet)임.
- 사용자 한 명을 위해 설계되었음.
- 복잡하고 많은 데이터 조작을 수행할 필요가 없는 사용자에게 적합함.
- 데이터베이스를 사용하면 여러 사용자가 동시에 로직과 언어를 사용하여 데이터를 쿼리할 수 있음.