[N412] SQL(01)

쥬쥬스·2023년 3월 20일
0

section4

목록 보기
1/15

알고리즘을 짜기 위해서 data가 필요한데 그 data를 담는 그릇인 database가 필요함
용량이 큰 data는 파일형 저장방식으로 다루기가 어려우므로 database에서 관리 (Input/Output이 어려움)

SQL(Structured Query Language)

  • 데이터베이스 언어의 기준
  • 관계형 데이터베이스에서 사용
  • MySQL, Oracle, SQLite, PostgreSQL등 다양한 데이터베이스에서 사용
  • 데이터베이스에 쿼리를 보내 원하는 데이터만을 가져올 수 있게 해주는 데이터베이스 용 프로그래밍 언어

SQL 종류

Data Definition Language (DDL)
DDL은 데이터베이스의 테이블과 같은 오브젝트를 정의할 때 사용되는 언어를 가리킵니다. 예를 들어 테이블을 만들 때 사용하는 CREATE 이나 테이블을 제거할 때 사용되는 DROP등이 있습니다.

Data Manipulation Language (DML)
DML은 데이터베이스에 데이터를 변경할 때 사용되는 언어를 가리킵니다. INSERT처럼 새로운 레코드를 추가하거나, 데이터를 삭제하는 DELETE, 변경하는 UPDATE 등의 문법이 여기에 포함됩니다.

Data Control Language (DCL)
DCL은 데이터베이스에 대한 접근 권한과 관련된 문법입니다. 어느 유저가 데이터베이스에 접근할 수 있는지에 대한 권한을 설정하거나 없애는 역할이죠. 권한을 주는 GRANT나 권한을 가져가는 REVOKE등이 포함됩니다.

Data Query Language (DQL)
DQL은 정해진 스키마 내에서 쿼리를 할 수 있는 언어입니다. 여기에 포함된 문법은 SELECT 등이 있습니다. 물론 이렇게 따로 언어가 분류되지만 DQL을 DML의 일부분으로 말하곤 합니다.

Transaction Control Language (TCL)
TCL은 DML을 거친 데이터의 변경사항을 수정할 수 있습니다. 예를 들어 COMMIT처럼 DML이 작업한 내용을 데이터베이스에 기록하거나 ROLLBACK처럼 커밋했던 내용을 다시 취소하는 문법들이 있습니다.

DB의 종류는 RDB와 NOSQL

RDB : 정형화된 데이터로 효율적으로 처리 가능(int, char)
NOSQL : 비정형화됨. 문서 자체를 저장하는 경우, 빅데이터를 처리하기 위함

관계종류

  • 1:1 관계
  • 1:N 관계
  • N:N 관계
  • 자기참조 관계
  • 하나의 필드에는 하나의 값만. 그렇지 않으면 정규화 위배

SQL문

  • SELECT
  • FROM
  • WHERE (조건)
  • IN
  • JOIN
  • 문자열에는 %
  • 대소관계는 <=>
  • ORDER BY
  • GROUP BY
  • LIMIT
  • DISTINCT
  • OUTER JOIN (더공부필요)

데이터 적재 → 데이터 모델링 (ERD)
데이터 조회 → 쿼리 날리기 (SQL문)

연습용 : https://sqlbolt.com/
DB : https://www.sqlitetutorial.net/sqlite-sample-database/

🎈오늘 회고

배웠던걸 돌아보면서 다시 공부할 수 있어서 재밌었다. 쿼리문 만들어서 도출하는게 까다로운 면이 있긴 하지만 생각보다 할만했다! SQL이 데이터 분석에 중요하다고 알고 있으니까 의지도 더 생기는 것 같다. 동기부여랄까? 정리는 거지같이 했지만 오늘 과제는 도전과제까지 야무지게 제출했다. 아주 뿌듯함. 내껄로 만들어준다 DB 가만안도.

profile
느려도... 꾸준히.....🐌

0개의 댓글