숙련주차가 시작되었다.
팀원도 바뀌고 새로운 시작이다~
관계형 데이터베이스(RDB)
각 테이블간에 연관 관계를 설정하여, 여러 테이블에 분산된 데이터를 서로 연결하여 관리할 수 있다.
(더욱 복잡한 비즈니스 로직과 정형화된 데이터를 체계적으로 관리할 수 잇어 더욱 안전한 서버환경에서 사용한다.)
특히, 보안이 중요한 기관이나, 은행과 같은 안전성을 중시하는 회사들에서 볼 수 있다.
MySQL
RDS(AWS에서 제공하는 관계형 데이터베이스 서비스)
서버 운영, 유지보수, 백업과 같이 데이터베이스 관련 작업을 aws에게 위임하여, DB를 사용하는 것에 집중할 수 있다.
RDS 만들기
https://velog.io/@minjae98/TIL-AWS%EC%9D%98-RDS%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4
- SQL(데이터베이스에서 사용되는 생성, 삽입, 조회 명령문)
DDL
CREATE: (DATABASE, TABLE, VIEW, INDEX) 등을 생성할 때 사용한다.
ALTHER: (DATABASE, TABLE)등의 속성을 변경할 때 사용한다.
DROP: (DATABASE, TABLE, VIEW, INDEX)등을 삭제할 때 사용한다.
DML
SELECT: (TABLE)에서 원하는 데이터를 조회할 때 사용한다.
INSERT: (TABLE)에 새로운 데이터들을 삽입할 때 사용한다.
DELETE: (TABLE)에서 특정한 조건에 맞는 데이터들을 삭제할 때 사용한다. WHERE 필수인데 만약 안 쓴다면 다 삭제함.
UPDATE: (TABLE)에서 특정한 조건에 맞는 데이터들을 수정할 때 사용한다. WHERE 필수인데 만약 안 쓴다면 다 수정함.
DCL
GRANT: 데이터베이스의 특정한 유저에게 사용 권한을 부여할 때 사용한다.
REVOKE: 데이터베이스의 특정한 유저에게 사용 권한을 취소할 때 사용한다.
TCL(Transaction Control Language)
COMMIT: 데이터베이스의 작업이 정상적으로 완료되었음을 관리자에게 알려줄 때 사용한다.
ROLLBACK: 작업 중 오류가 발생한 경우 이를 취소하고, 이전 상태로 되돌릴 때 사용한다.
SQL 제약조건(각 컬럼들간의 제한사항을 관리하고, 조건을 위반하는 데이터를 방지하여 데이터베이스의 무결성을 보장하는 규칙)
무결성은 데이터가 결함없이 정확하고 완전한 상태를 의미한다.
고유(Unique) 제약조건
테이블에 소속된 특정 컬럼이 중복된 키를 가질 수 없는 조건
중복된 값이 허용되지 않도록 설정한다.
NULL 제약조건
특정 컬럼이 아무런 값을 입력받지 않도록 설정하거나, 무조건 값을 입력 받도록 설정하는 조건
기본 키(Primary key) 제약조건
테이블 내에서 각 행을 고유하게 식별할 수 있도록 보장하는 조건
외래 키(Foreign key) 제약조건
테이블 간의 관계(참조를 할 수 있게)를 설정하는 조건
회원, 음식, 주문 테이블
회원은 여러개의 음식을 1:N 관계
음식은 어러개의 주문을 1:N 관계
주문과 회원은 N:M 관계
비관계형 데이터베이스(NoSQL)
저장과 읽기 작업이 더욱 빠르며, 복잡한 비즈니스 로직 없이 주로 데이터 읽기와 쓰기에 중점을 둔 서버에서 주로 사용한다.
(빅데이터 환경이나 단순 페이지 뷰가 많은 어플리케이션에서 주로 사용한다.)