bdfgdfg

SQL 본문

CS/SQL

SQL

marmelo12 2022. 9. 26. 21:14
반응형

SQL(Structured Query Language)

관계형 데이터베이스의 데이터를 관리하기 위해 설계된 언어.

 

가장 기초가 되는 SQL은 다음과 같다.

SELECT * FROM 테이블명

DB의 테이블에 있는 모든 내용을 조회하라라는의미이다.

 

즉 SELECT는 조회. FROM은 어느 테이블인지를 의미.

 -> *는 모든것을 의미. (와일드 카드라고도 한다)

 

SQL은 4가지 분류로 나뉜다.

 - DML (Data Manipulation Language, -> Select/Insert/Update/Delete)

 - DDL (Data Definition Language -> Create/Alter )

 - TCL (Transaction Control Language -> Commit/Rollback)

 - DCL (Data Control Language ->Grant/Revoke)

 

 

SQL은 결국 관계형 데이터베이스와 관련있기에 RDB를 빼놓고 설명할수는 없다.

RDB를 간단하게 설명하면 테이블들의 집합들을 데이터베이스라고 할 수 있는데, 

 -> 테이블은 데이터를 저장하는 공간

RDB에서는 테이블간의 관계를 가진다. 그냥 되는건 아니고, 테이블간의 두 테이블간의 공통점이 존재해야만 관계를 맺을 수 있다.

 -> 그 공통점이 바로 Key. 키는 무엇인가 고유하게 식별하게 나타내기 위한 데이터.

 -> 참고로 인덱스(Index)라는 중요한 개념과 연관이 있음. 

 

Key는 대표적으로 기본키와 외래키가 있다.

 

예로들어 Guild라는 테이블이 존재하고, GuildMemberInfo라는 두 테이블이 존재한다고 보자.

두 테이블은 GuildUID(칼럼)라는 공통점을 지닌다. Guild가 해당 GuildUID의 Key의 주인이면 기본 키(Primary Key)이고,

GuildMemberInfo 테이블이 Guild테이블의 GuildUID를 공유하면 해당 Key는 외래 키(Foreign Key)이다.

 -> 즉 외래 키를 통해서 상위(부모) 테이블의 기본 키를 참조할 수 있는 것.

 -> 참고로 실무에서 외래키의 여러 제약이 불편해 사용하지 않는 경우도 있음.

 

기본키는 테이블당 하나만이 정의가 될 수 있지만, 복합키를 이용하여 여러 칼럼을 합쳐 하나의 기본키로 만들 수 있음.

 

 

참고 - https://hanamon.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sql-vs-nosql/

https://wyatt37.tistory.com/entry/PRIMARY-KEY%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90-feat-CANDIDATE-KEY-COMPOSITE-KEY-UNIQUE

반응형

'CS > SQL' 카테고리의 다른 글

SQL 재구매가 일어난 상품과 회원 리스트 구하기  (0) 2022.12.14
SQL 인기있는 아이스크림 (이중 정렬)  (0) 2022.12.13
Join  (0) 2022.09.28
Group By/Having/집계 함수  (0) 2022.09.27
SELECT/FROM/WHERE/ORDER BY  (0) 2022.09.26
Comments