지식창고

Node.js 숙련주차 강의

관계형 데이터 베이스(Relational DataBase)

  • 데이터의 정규화와 무결성을 보장하면서 정형화된 데이터를 효과적으로 관리할 수 있는 데이터베이스

=> 데이터를 지정한 형식에 맞춰주고, 절대 틀리지 않게 만들어 주는 데이터 베이스

관계형 데이터베이스(RDB, Relational DataBase)는 각 데이터를 ‘테이블’이라는 표형태의 구조에 저장한다
여기서, 각 ‘테이블’은 여러 정보를 저장하며,(=DB)
‘테이블’간에 연관 관계를 설정하여,(=관계형)
여러 테이블에 분산된 데이터를 서로 연결하여 관리할 수 있습니다.

SQL(Structured Query Language) 와 제약 조건

  • 데이터베이스에서 사용되는 생성, 삽입, 조회 명령문을 SQL(Structured Query Language)이라고 명칭

=> 관련 자료 : SQL 태그로 탐색!

  • SQL의 큰 종류 4가지 !
  1. DDL (Data Definition Language)(=테이블/데이터베이스 를 생성,삭제할 때 사용!)

     -- CREATE(생성)
     CREATE DATABASE 데이터베이스명
     CREATE TABLE 테이블 
     (
       Columns Columns_Type
     )
    
     -- DROP(삭제)
     DROP DATABASE 데이터베이스명;
     DROP TABLE 테이블명;
    
     --ALTER(속성 변경)
     ALTER DATABASE 데이터베이스명 변경조건;
     ALTER TABLE 테이블명 ADD 변경조건; -- 테이블에 새로운 컬럼을 추가합니다.
     ALTER TABLE 테이블명 DROP 변경조건; -- 테이블에서 컬럼을 삭제합니다.
     ALTER TABLE 테이블명 MODIFY 변경조건; -- 테이블의 컬럼을 수정합니다.
     ALTER TABLE 테이블명 RENAME 변경조건; -- 테이블의 이름을 변경합니다.
    
  2. DML (Data Manipulation Language)(=데이터를 맘대루 변경하거나 찾을 때 사용!)

     -- 데이터 조회
     SELECT 컬럼목록 FROM 테이블명 [WHERE 조건];
     -- 데이터 삽입
     INSERT INTO 테이블명 (컬럼목록) VALUES (값목록);
     -- 데이터 삭제
     DELETE FROM 테이블명 [WHERE 조건];
     -- 데이터 수정
     UPDATE 테이블명 SET 컬럼 =  [WHERE 조건];
    
  3. DCL (Data Control Language)(=권한관련 기능)

     -- 권한 부여!
     GRANT [권한] ON 객체명 TO 사용자;
     -- 권한 삭제
     REVOKE [권한] ON 객체명 FROM 사용자;
    
  4. TCL (Transaction Control Language)(=트랜잭션(작업)을 관리하는 문법)

     -- COMMIT => 작업이 정상적으로 이뤄지면 알려주는 용도
     START TRANSACTION;
     -- 작업내용
     ...
     COMMIT;
     -- ROLLBACK => 작업이 정상적으로 이뤄지지 않으면 알려주며 취소!
     START TRANSACTION;
     -- 작업내용
     ...
     ROLLBACK;
    
  • 제약 조건

    초기화 과정에서 Column에 제약 조건을 설정해주어 효과적으로 값들을 컨트롤 한다!

    • 고유(Unique) 제약 조건 (UNIQUE)

      • 테이블에 소속된 특정 컬럼이 중복된 키를 가질 수 없는 조건

      • 사용자 아이디, 이메일과 같은 고유한 정보를 저장할 때 사용합니다.

    • NULL 제약 조건 (NULL)

      • 특정 컬럼이 아무런 값을 입력받지 않도록 설정하거나, 무조건 값을 입력 받도록 설정하는 조건

      • 데이터가 없다면, NULL을 저장하여, 데이터가 존재하지 않다는것을 표현합니다.

    • 기본 키 (Primary Key) 제약 조건 (Primary Key)

      • 테이블 내에서 각 행(row)고유하게 식별할 수 있도록 보장하는 조건
    • 외래 키 (Foreign Key) 제약 조건 (Foreign Key)

      • 데이터베이스를 설계할 때 가장 많은 고민을 하게 될 테이블 간의 관계를 설정하는 조건

      • 한 테이블의 컬럼(Column)이 다른 테이블의 특정 행(Row)을 참조하도록 설정하는 조건.

Reference

programmers