Database
- Database를 한 마디로 정의하면 ‘데이터의 집합’ 이라고 할 수 있습니다.
- DB는 우리가 매일 사용하는 카톡 메시지, 인스타그램의 사진등의 정보를 저장하고 관리해 줍니다.
① DBMS
- DBMS 는 ‘Database Management System’ 의 약자로 Database를 관리하고 운영하는 소프트웨어를 의미합니다.
② RDBMS
- RDBMS는 ‘Relational DBMS’의 약자로 관계형 데이터베이스라고 불립니다.
- RDBMS는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 열(column)과 행(row)으로 이루어져 있습니다.
- RDBMS의 종류 : 각 제품 간 차이가 크지 않아서 사실 어떤 걸 사용하든 좋습니다. 유료인 Oracle을 제외하고 보통 MySQL, PostgreSQL 중에서 많이 고르는 편입니다.
SQL
- SQL은 ‘Structured Query Language’ 의 약자로 RDBMS에서 사용되는 언어입니다.
- 수 많은 정보를 Database에서 조작하고 관리하기 위해서는 SQL 언어를 사용해야합니다.
- 국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 있습니다.
- 하지만, DBMS를 만드는 회사가 여러 곳이기 때문에 DBMS 마다 표준 SQL을 준수하되, 각 제품의 특성을 반영하기 위한 약간의 차이가 존재합니다.
① DDL
‘Data Definition Language’ 의 약자로 테이블이나 관계의 구조를 생성하는데 사용합니다
- CREATE : 새로운 데이터베이스 및 테이블을 생성해 줍니다.
- ALTER : 데이터베이스와 테이블의 내용을 수정할 수 있습니다.
- DROP : 데이터베이스와 테이블을 삭제할 수 있습니다. 데이터 및 테이블 전체를 삭제합니다.
- TRUNCATE : 데이터베이스와 테이블을 삭제할 수 있습니다. 최초 테이블이 만들어졌던 상태 즉, 컬럼값만 남깁니다.
② DCL
‘Data Control Language’ 의 약자로 데이터의 사용 권한을 관리하는데 사용합니다.
- GRANT : 사용자 또는 ROLE에 대해 권한을 부여할 수 있습니다.
- REVOKE : 사용자 또는 ROLE에 부여한 권한을 회수할 수 있습니다.
③ DML
‘Data Manipulation Language’ 의 약자로 테이블에 데이터를 검색, 삽입, 수정, 삭제하는데 사용합니다.
- INSERT : 테이블에 새로운 row를 추가할 수 있습니다.
- SELECT : 테이블의 row를 선택할 수 있습니다.
- UPDATE : 테이블의 row의 내용을 수정할 수 있습니다.
- DELETE : 테이블의 row를 삭제할 수 있습니다.
PRIMARY KEY vs FOREIGN KEY
참고 자료 :
스파르타 코딩클럽 스프링 입문주차 강의
https://teamsparta.notion.site/Database-SQL-c1399284be2f4638bce8d38f8d2c71ed
'Coding > Spring' 카테고리의 다른 글
[13] @Valid, @Validated (작성중. 수정필요) (0) | 2022.12.06 |
---|---|
[12] 정규식(regex, rational expression) (0) | 2022.12.06 |
[10] Spring Boot 어노테이션 정리 (0) | 2022.12.06 |
[09] 스프링 MVC 이해 (0) | 2022.12.04 |
[08] 웹 동작방식 (0) | 2022.12.04 |