DBMS(Database Management System)
-대량의 데이터를 저장하고, 관리하는 소프트웨어 시스템
-보통 DB Server 라고 부른다
-데이터 추가, 읽기, 수정,삭제 = CREATE, READ,UPDATE, DELETE = CRUD
-데이터의 CRUD 를 수행하는데 사용하는 명령들의 집합을
SQL(Structured Query Lang.) 라고 한다
Query -> 나한테 뭔가를 달라/ DB에 정보를 조회 요청하는 것
DBMS는 순서에 관계없이 무조건 저장해놓고 요청하는 정보를 읽어서 가져올 수 있는 것
NoSQL(Not Only SQL)
ex) mongoDB
SQL만을 사용하지 않는 데이터베이스로 빅데이터를 저장하는데 좋다
주로 통계나 분석용도로 사용하며 AI의 기본이 된다
RDBMS(관계형 데이터 베이스)
RDB를 관리하는 시스템이다
RDB는 관계형 데이터 모델에 기초를 둔 데이터베이스로 모든 테이블을 2차원의 테이블 형태로 나타낸다.
NoSQL과 달리 테이블간에 JOIN기능을 사용할 수 있다
#JOIN
조인을 쓰면 두 개의 테이블을 엮어서 원하는 데이터를 추출할 수 있다
두 테이블의 조인을 웨해서는 기본키(PRIMARY KEY, PK)와 외래키(FOREIGN KEY, FK) 관계로 맺어져야 하고, 이를 일대다 관계라고 한다.
SELECT *
FROM city
WHERE Name = 'Herat';
SELECT Name, Population
FROM city;
Schema 이해
Schema 를 바라보는 2가지 관점 : DBMS SW 입장에서의 관점, DB 공학적인 관점
DBMS SW 입장에서의 관점
: 데이터를 Storage에 물리적으로 저장하는 공간, 저장소, DataBase
DB 공학적인 관점
: 데이터를 바라보는 시점에 따라 외부 Schema, 개념 Schema, 내부 Schema 로 구분한다.
-외부 Schema
사용자(DBA:관리자, 일반사용자, 개발자) 관점에서 바라보는 Schema
사용자는 모든 데이터는 표(Table) 형태로 보관되고 있으며,
데이터를 조회(Read, Select) 했을 때 보여지는 데이터는 모두 표이다 라는 관점
거의 모든 DBMS 소프트웨어에서 표준처럼 사용하는 개념이다
-내부 Schema
Storage 에 물리적으로 데이터를 저장하는 방법에 관한 관점
물리적으로 데이터를 저장할때는 DBMS SW 마다 고유한 기술 방법 등을 사용한다.
이 관점에서는 특별한 표준이 없으며, 여러가지 자료구조 공학적인 차원에서 수행된다.
-개념 Schema
DBMS 소프트웨어 입장에서 바라보는 관점
DBMS 소프트웨어는 외부 Schema와 내부 Schema를 동시에 바라본다.
사용자의 명령에 의해 데이터를 추가, 수정, 삭제 할 수 있으며,
조회된 데이터를 Table 형태로 가공하여 사용자에게 전달하는 역할을 수행하는 관점이다
엑셀에서 보자면 workbook= schema, work sheet = table