지식창고
Node.js 숙련주차 강의
관계형 데이터 베이스(Relational DataBase)
- 데이터의 정규화와 무결성을 보장하면서 정형화된 데이터를 효과적으로 관리할 수 있는 데이터베이스
=> 데이터를 지정한 형식에 맞춰주고, 절대 틀리지 않게 만들어 주는 데이터 베이스
관계형 데이터베이스(RDB, Relational DataBase)는 각 데이터를 ‘테이블’이라는 표형태의 구조에 저장한다
여기서, 각 ‘테이블’은 여러 정보를 저장하며,(=DB)
‘테이블’간에 연관 관계를 설정하여,(=관계형)
여러 테이블에 분산된 데이터를 서로 연결하여 관리할 수 있습니다.
SQL(Structured Query Language) 와 제약 조건
- 데이터베이스에서 사용되는 생성, 삽입, 조회 명령문을 SQL(Structured Query Language)이라고 명칭
=> 관련 자료 : SQL 태그로 탐색!
- SQL의 큰 종류 4가지 !
-
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 변경조건; -- 테이블의 이름을 변경합니다.
-
DML (Data Manipulation Language)(=데이터를 맘대루 변경하거나 찾을 때 사용!)
-- 데이터 조회 SELECT 컬럼목록 FROM 테이블명 [WHERE 조건]; -- 데이터 삽입 INSERT INTO 테이블명 (컬럼목록) VALUES (값목록); -- 데이터 삭제 DELETE FROM 테이블명 [WHERE 조건]; -- 데이터 수정 UPDATE 테이블명 SET 컬럼 = 값 [WHERE 조건];
-
DCL (Data Control Language)(=권한관련 기능)
-- 권한 부여! GRANT [권한] ON 객체명 TO 사용자; -- 권한 삭제 REVOKE [권한] ON 객체명 FROM 사용자;
-
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)을 참조하도록 설정하는 조건.
-
-