
오늘부터 노드 숙련 강의 시작!🔥🔥🔥 이번에는 빠르게 완강하고 과제에 집중하리라 (3시 밤샘은 이제 그만...)
용어 의미와 용도를 외우는 것이 약하다보니 강의 자료에 있던 용어들을 대다수 TIL에 작성할 예정
( *︾▽︾)
: 유연한 데이터 구조를 가지므로 저장과 읽기 작업이 더 빠르며 복잡한 비즈니스 로직 없이 주로 데이터 읽기와 쓰기에 중점을 둔 서버에서 주로 사용
→ 빅데이터 환경이나 단순 페이지뷰가 많은 어플리케이션에서 주로 사용
→ 관계형 데이터베이스는 보안이 중요한 기관이나 은행과 같은 안전성을 중시하는 회사들에서 주로 사용
: 데이터베이스에서 사용되는 생성, 삽입, 조회 명령문
: 데이터를 정의할 때 사용하는 언어, 테이블이나 데이터베이스를 생성, 수정, 삭제와 같은 행위를 할 때 사용
: Database, Table, View, Index를 생성할 때 사용
CREATE DATABASE 데이터베이스명;
CREATE TABLE 테이블명
{
컬럼명 컬럼속성
}
: Database, Table, View, Index를 삭제할 때 사용
DROP DATABASE 데이터베이스명;
DROP TABLE 테이블명;
: Database, Table 등의 속성을 변경할 때 사용
ALTER DATABASE 데이터베이스명 변경조건;
ALTER TABLE 테이블명 ADD 변경조건; -- 테이블에 새로운 컬럼을 추가합니다.
ALTER TABLE 테이블명 DROP 변경조건; -- 테이블에서 컬럼을 삭제합니다.
ALTER TABLE 테이블명 MODIFY 변경조건; -- 테이블의 컬럼을 수정합니다.
ALTER TABLE 테이블명 RENAME 변경조건; -- 테이블의 이름을 변경합니다.
: 데이터베이스에서 데이터를 조작할 때 사용하는 언어. 데이터의 저장, 삭제, 수정, 조회에 사용
: 일반적으로 Table에서 원하는 데이터들을 조회할 때 사용
SELECT 컬럼목록 FROM 테이블명 [WHERE 조건];
: Table에 새로운 데이터를 삽입할 때 사용
INSERT INTO 테이블명 (컬럼목록) VALUES (값목록);
: Table에서 특정한 조건에 맞는 데이터들을 삭제할 때 사용. where 조건이 없다면 모든 데이터가 삭제됨
DELETE FROM 테이블명 [WHERE 조건];
: Table에서 특정한 조건에 맞는 데이터들을 수정할 때 사용. where 조건이 없다면 모든 데이터가 수정됨
UPDATE 테이블명 SET 컬럼 = 값 [WHERE 조건];
: 데이터베이스에 대한 권한과 관련된 문법, 특정 유저가 DB에 접근할 수 있는 권한을 설정할 때 사용
: 데이터베이스의 특정한 유저에게 사용 권한을 부여
GRANT [권한] ON 객체명 TO 사용자;
: 데이터베이스의 특정한 유저에게 사용 권한을 취소
REVOKE [권한] ON 객체명 FROM 사용자;
: 데이터베이스 내의 트랜잭션을 관리하는 문법, 트랜잭션의 시작과 종료, 롤백을 수행할 때 사용
(트랜잭션: 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위
출처: https://mommoo.tistory.com/62)
: 데이터베이스의 작업이 정상적으로 완료되었음을 관리자에게 알려줄 때 사용
START TRANSACTION;
...
COMMIT;
: 데이터베이스의 작업이 비정상적으로 완료되었음을 관리자에게 알려줄 때 사용, 작업 중 오류가 발생한 경우 이를 취소하고, 이전 상태로 되돌릴 때 사용
START TRANSACTION;
...
ROLLBACK;
: 각 컬럼들간의 제한 사항을 관리, 조건을 위반하는 데이터를 방지하여 데이터베이스의 무결성(데이터가 결함없이 정확하고 완전함)을 보장하는 규칙
✏️ 외래 키 제약 조건(foreign key): 테이블 간의 관계를 설정하는 조건. 한 테이블의 column이 다른 테이블의 특정 row를 참조하도록 설정하는 조건
CREATE table Garden(
gardenId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(255) NOT NULL UNIQUE,
address varchar varchar(255) NOT NULL unique
);
create table GardenPlants(
gardenPlantsId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
gardenId int(11) NOT NULL,
name varchar(255) NOT NULL,
FOREIGN KEY(gardenId) REFERENCES Garden(gardenId)
);
아래 GardenPlants의 제일 마지막 FOREIGN KEY() 괄호 안에 지금 테이블에서 연관 지을 칼럼, REFERENCES 옆에 참조할 테이블(row)를 작성한다.
✏️ 기본 키 제약 조건(primary key)
: 테이블 내에서 각 행(row)를 고유하게 식별할 수 있도록 보장하는 조건
userId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY