• dbms란

    • DatabaseManagementSystem
    • Mysql, MariaDB, Oracle, Postgres, MongoDB, Redis 등
      • 관계형데이터베이스(RDB)
        • Mysql, Oracle, MariaDB, Postgres
        • 서로 관계를 갖는 데이터들의 집합
        • 테이블, 행, 열 등의 구조로 데이터가 구조화
      • 비관계형데이터베이스(NoSQL)
        • Redis, MongoDB
  • MariaDB

    Untitled

    • MariaDB는 관계형 데이터 베이스
    • MariaDB는 MySQL의 포크로 2009년에 시작되었고, MySQL의 기본적인 특성 및 구조를 그대로 유지하면서 일부 차이점과 추가 기능을 포함
    • MariaDB의 특징
      • MariaDB는 완전한 오픈소스
        • 지속적인 발전 가능성
        • 사용자 입장에서 무료
      • 뛰어난 성능 및 최적화
      • 아직까진 높은 점유율은 아니지만, mysql의 오라클 인수 이후 비 오픈소스화 됨에 따라 mysql의 자리를 대체할것으로 예상
  • SQL문

    • SQL문이란 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 조회, 삽입, 갱신, 삭제하기 위해 사용되는 프로그래밍 언어
    • CRUD
      • Create, Read, Update, Delete의 약어
      • 데이터베이스에 생성, 조회, 수정, 삭제를 의미
    • SQL 구문도 위의 목적에 맞게 크게 세 가지로 구분
      • DDL
        • Data Definition Language
        • 데이터베이스(스키마)나 테이블 등을 생성, 삭제하거나 그 구조를 변경
        • CREATE, ALTER, DROP
      • DML
        • Data Manipulation Language
        • 데이터베이스에 저장된 데이터를 처리하거나 조회
        • INSERT, UPDATE, DELETE, SELECT 등
      • DCL
        • Data Control Language
        • 사용자 권한 부여 등 사용자관리 SQL문
        • GRANT, REVOKE 등
  • 데이터베이스

    Untitled

  • 테이블

    Untitled

    • 열(column)
      • 열은 필드(field) 또는 속성(attribute)
    • 행(row)
      • 튜플(tuple) 또는 레코드(record)
    • 값(value)
      • data로 속칭
    • 기본키(key)
      • 한 행의 식별자로 이용되는 열
      • 테이블에 저장된 레코드를 고유하게 식별하는 키를 기본 키(primary key)
    • 외래 키(foreign key)
      • 외래키는 두 테이블을 서로 연결하는 데 사용되는 키
  • 데이터베이스 구축 실습

    • 게시판 데이터 베이스 구축 실습
      • mariaDB서버 설치
      • mariadb접속(터미널)
        • mariadb -u root -p 엔터
        • 비밀번호 입력
      • 게시판(board) 데이터베이스(스키마)를 생성
      • 스키마 안에 글쓴이(author) 테이블, 글목록(post)테이블 생성
    • author테이블
      • author테이블에는 id, 회원이름(name), email, password 등의 정보가 있을것
    • post 테이블
      • post 테이블에는 글번호(id), 글제목(title), 글내용(contents), 저자(author_id) 등의 정보가 필요할것
  • mariaDB 및 workbench 설치

    • mariaDB 설치
      • mariaDB window download 검색
      • 만약 도커로 실행한다면
        • docker run --name board_mariadb-e MYSQL_ROOT_PASSWORD=test1234 -d -p 3300:3306 mariadb:latest
      • UTF-8설정
        • 조회시
          • SHOW VARIABLES LIKE 'character_set_server';
            • ISO 8859-1 라면 한글 저장 어려움
        • 추후 변경시
          • ALTER DATABASE [DB명] DEFAULT CHARACTER SET = utf8mb4;
            • mb4를 통해 이모티콘등의 더 많은 문자체계 저장 가능
    • GUI Tool 설치
      • Workbench
        • mysql계열에서 많이 사용
        • https://dev.mysql.com/downloads/workbench/
      • DBeaver
      • DataGrip
  • 데이터베이스(스키마) 생성

  • 테이블 생성 구조

  • 데이터베이스, 테이블 생성

  • 테이블,컬럼 정보조회

  • DDL - CREATE

  • DDL – ALTER

  • DDL – DROP

  • DML - INSERT

  • DML - UPDATE

  • DML - DELETE

  • DML - SELECT

  • 타입(data type) - 숫자

  • 비교연산자