0. 수업 목표

  1. DB와 DBMS에 대한 이해
  1. DBMS의 기본적인 구조, 형태와 단어 개념
  2. SQL & 실습 → to node runtime JS code
  3. ORM 탄생 배경과 이해 (기초)

1. DB & DBMS

1) 데이터베이스 개론

// node runtime에서 file system, file I/O control example
const fs = require("fs");

// 동기적으로 파일 읽기
const data = fs.readFileSync("example.txt", { encoding: "utf8", flag: "r" });
console.log(data);

// // 비동기적으로 파일 읽기
// fs.readFile("example.txt", { encoding: "utf8", flag: "r" }, (err, data) => {
//     if (err) throw err;
//     console.log(data);
// });

// 동기적으로 파일 쓰기
// fs.writeFileSync("example.txt", "Hello, World!", { encoding: "utf8" });
// // 비동기적으로 파일 쓰기
// fs.writeFile("example.txt", "Hello, World!", { encoding: "utf8" }, (err) => {
//     if (err) throw err;
//     console.log("File has been saved!");
// });

Untitled

  1. 1세대 : 네트 워크, 계층 DBMS - Database Management System

    http://www.soen.kr/lecture/devtool/SQL/1-2.htm

    http://www.soen.kr/lecture/devtool/SQL/1-2.htm

    1. 1960년대 부터 발전해오기 시작
    2. ISAM 이후에 약간 더 발전한 형태로서 디렉토리, 파일의 구조처럼 정보를 수직적인 트리 형태로 저장하는 방식
    3. 포함 관계에 있는 데이터를 트리 형태로 표현할 수 있으며 몇 단계만 거치면 최종 노드까지 쉽게 도달할 수 있으므로 속도가 빠르다는 것이 장점
  2. 2세대 / 3세대 : 관계 DBMS - “RDBMS” :

    https://equus3144.medium.com/1-4세대-dbms로-보는-데이터베이스-발전-과정과-양상에-대해-정리하기-b94c1d93914d

    https://equus3144.medium.com/1-4세대-dbms로-보는-데이터베이스-발전-과정과-양상에-대해-정리하기-b94c1d93914d

    1. 1980년대 부터 발전해오기 시작
    2. 우리가 익히 알고 있는 엑셀 형태의 테이블 형태로 관계형 데이터 모델을 사용한다.
    3. 데이터를 테이블로 구성하고, 테이블 간의 관계를 통해 데이터를 관리하는 방식
    4. SQL: 관계형 데이터베이스를 쿼리하는 표준 언어인 ***SQL(Structured Query Language)***이 개발
    5. 2세대와 3세대의 차이는 “얼마나 유연하게 DBMS level에서 object를 control 하냐” 관점
    6. MySQL, Oracle, Postgresql, MsSQL
  3. 4세대 : NoSQL & 새로운 매커니즘의 DBMS

    1. 빅데이터의 발전 / 관계형 DBMS는 비정형 데이터를 처리하는데 비효율적
      1. 이미지 더미데이터, 컬럼(속성)이 다른 데이터 덩어리, mp4 등의 다양한 확장자를 가지는 데이터 등
      2. 목적 자체가 “정형화된 데이터를 보관” 하는 것이었음
    2. MongoDB, Redis, Cassandra, …