bdfgdfg
SQL 본문
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/
'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 |