Section3 - N312

mochi·2022년 12월 18일
0

부트캠프

목록 보기
7/9

SQL


SQL

  • 데이터베이스 언어의 기준
  • 관계형 데이터베이스에서 사용
    - MySQL, Oracle, SQLite, PostgreSQL ...

Query

  • 데이터를 필터링하기 위한 질의문



SQL 종류

SQL에는 데이터를 조회하거나 테이블을 만드는 다양한 문법이 존재한다. 쿼리에 따라 기능이나 작업이 달라지고, 크게 5가지의 분류를 하게 된다.

Data Definition Language(DDL)

  • 테이블과 같은 오브젝트 정의
  • CREATE, DROP ...

Data Manipulation Language(DML)

  • 데이터 변경
  • INSERT, DELETE, UPDATE ...

Data Control Language(DCL)

  • 데이터베이스 접근 권한 설정
  • GRANT(권한 부여), REVOKE(권한 제거) ...

Data Query Language(DQL)

  • 정해진 스키마 내에서 질문
  • SELECT ...

Transaction Control Language(TCL)

  • 데이터의 변경사항 수정
  • COMMIT(기록), ROLLBACK(취소)



RDB(관계형 데이터베이스)

구조화된 데이터가 하나의 테이블로 표현이 되고 테이블 간의 상호작용을 관계로 표현
=> 테이블을 사용하는 데이터베이스

관계 종류

1:1
1:N
N:N



1:1

  • 테이블의 레코드 하나와 다른 테이블의 레코드 하나가 연결된 경우

위처럼 한 명의 유저가 한 개의 전화번호를 가진다면 1:1관계

흔하지 않은 관계. 두 테이블을 합치는 게 더 보편적이기 때문


1:N

  • 테이블 레코드 하나와 여러 개의 레코드가 연결된 경우

위처럼 한 명의 유저가 여러개의 전화번호를 가진다면 1:N관계

가장 흔하게 보이는 관계


N:N

  • 여러 레코드가 여러 레코드를 가지는 경우
  • 두 테이블 사이 'join 테이블'을 만들어 관리

'고객' 테이블과 '여행상품' 테이블이 있을 때
한 명의 고객은 여러 상품을, 하나의 상품은 여러 고객을 가질 수 있다.

따라서 두 테이블 사이에 'customer_package'라는 join테이블을 따로 만들어 각 테이블의 Primary key를 묶어 관리한다.


문법은 별도 포스팅

profile
모치

0개의 댓글