43. Node.js 숙련주차 - RDS, MySQL, ERD (항해 19일차)

코이그·2023년 4월 21일

항해99

목록 보기
41/54

RDS 구매 및 MySQL 설정 가이드

RDS 구매

  1. AWS 대시보드 접속
  2. RDS 검색 -> 클릭
  3. 데이터베이스 탭 -> 데이터베이스 생성
  4. 표준 생성 -> MySQL
  5. 프리 티어 (1년간 무료)
  6. 식별자, 마스터 사용자, 마스터 암호, 암호 확인 입력 (나중에 DB 접속할 때 사용하니 까먹으면 안됨)
  7. 퍼블릭 액세스 기능: "예" -> VPC 보안 그룹 새로 생성 -> 새 VPC 보안 그룹 이름 입력
  8. 추가 구성 -> 초기 데이터베이스 이름 입력
  9. 데이터베이스 생성

RDS 설정

  1. DB 식별자 클릭
  2. 연결 & 보안 -> 보안 -> VPC 보안 그룹 클릭
  3. 보안 그룹 ID 클릭
  4. 인바운드 규칙 편집 -> 2개 추가 (유형: MySQL/Aurora, 소스: IPv4, IPv6)

VS Code 설정

  1. MySQL 확장 플러그인 설치
  2. [RDS 설정 1번] -> 연결 & 보안 -> 엔드포인트 복사
  3. VS Code 탐색기 -> MYSQL 탭 -> + 클릭
  4. host: 복사한 엔드포인트, user, password: [RDS 구매 6번], port: 3306, certificate file path: 엔터

SQL

Structured Query Language
데이터베이스에서 사용되는 생성, 삽입, 조회 등 명령문

SQL의 3가지 종류

DDL

Data Definition Language
데이터의 정의. 테이블/데이터베이스 생성/수정/삭제 등

  • CREATE: DATABASE, TABLE 등 생성
  • DROP: DATABASE, TABLE 등 삭제
  • ALTER: DATABASE, TABLE 등의 속성 변경

DML

Data Manipulation Language
데이터의 조작. 데이터 저장/삭제/수정/조회

  • SELECT: TABLE의 데이터 조회
  • INSERT: TABLE에 데이터 삽입
  • DELETE: TABLE의 데이터 삭제(특정 조건)
  • UPDATE: TABLE의 데이터 수정(특정 조건)

DCL

Data Control Language
권한 관련. 유저의 접근권한 설정

  • COMMIT: 데이터베이스 작업이 정상적으로 완료되었음을 관리자에게 알림
  • ROLLBACK: 데이터베이스 작업이 비정상적으로 완려되었음을 관리자에게 알림
  • GRANT: 데이터베이스의 특정 유저에게 사용 권한 부여
  • REVOKE: 데이터베이스의 특정 유저에게 사용 권한 취소

SQL 제약조건

각 컬럼 간 제한사항 관리와 조건을 위반하는 데이터 방지를 통해 데이터베이스의 완전성을 보장하는 규칙.

  1. Unique: 테이블의 특정 컬럼은 중복된 키를 가질 수 없다.
  2. Null: 아무런 값을 입력받지 않을 수 있게 설정할 수 있다.
  3. Primary Key: 특정 컬럼을 테이블의 고유성을 보장하는 컬럼으로 설정할 수 있다.
  4. Foreign Key: 테이블 간의 관계를 설정할 수 있다.

ERD

Entity Relationship Diagram
개체(entity)와 관계(relationship)을 중점적으로 표시하여 데이터베이스 구조를 쉽게 이해할 수 있도록 돕는 다이어그램.

Entity

Entity: 정의 가능한 사물 또는 개념 (TABLE)

Attribute(속성): 개체의 속성 (COLUMN)

DOMAIN: 속성의 값, 타입, 제약사항 등에 대한 값의 범위를 표현 (INT, VARCHAR(10) 등)

키 & 제약조건 표기법

PK(Primary Key): 중복이 없고 NULL 값이 없는 유일한 값에 지정하는 식별자. (다이아몬드 혹은 열쇠로 표현 / 구분선 가능)
NOT NULL: N/NN: 비허용
FK(Foreign Key): TABLE의 FK 표현. (참조하는 속성(source)에 선을 이어줌)

Relationship

식별자 관계: 부모의 주 식별자를 외래 식별자로 참조해 자식의 주 식별자로 설정. (실선으로 표현)
비식별자 관계: 부모의 주 식별자를 외래 식별자로 참조해 자식의 일반 송성으로 사용. (점선으로 표현)

Cardinality

1:1 (학생의 신체정보는 하나 뿐)

1:N (학생은 여러 취미를 가질 수 있음)

M:N (제품은 여러 제조업체에 있을 수 있고, 제조업체에는 여러 제품이 있을 수 있음)

  • 데이터 모델링에서 M:N은 완성되지 않은 모델이며 두 개체의 관계를 1:N, N:1로 조정하는 작업이 필요함. (중간에 또 다른 개체 생성)
  • 위 규칙은 데이터 모델링에서 공식처럼 적용됨.

관계의 참여도

ERD 예시

profile
COYG🔴⚪

0개의 댓글