SQL(Structured Query Language)는 관계형 데이터 베이스 시스템에서 데이터를 관리하고 처리하기 위해 표준화된 언어입니다.
SQL은 데이터의 삽입, 조회, 수정, 삭제와 같은 다양한 작업을 수행하는데 사용합니다.
⭐백엔드 작업 시 데이터 베이스 작업 시 사용하는 언어입니다.
여러 사람이 공유하여 사용할 목적으로 데이터를 체계화하여 통합, 관리하는 데이터들의 집합을 말합니다.
▪계층형 : 데이터의 상호관계를 계층적으로 정의 (1:N 관계)
▪망형 : 데이터의 논리 구조를 표현 (1:1, 1:N, N:M 관계)
▪관계형 : 2차원적인 표(table)를 하나로 묶어서 테이블 내 관계 설정
DBMS(DataBase Manager System)는 데이터베이스를 관리할 수 있도록 도와주는 '데이터베이스 관리 시스템' 입니다.
데이터는 Oracle, MS, MySQL, MariaDB, SQLite 등의 DBMS를 통해 관리할 수 있습니다.
정의, 조작, 제어 기능이 필수로 되어야 합니다.
▪구성요소 : 개체, 속성, 관계
관계형 데이터베이스는 개체, 속성을 모두 릴레이션이라는 표(table)로 표현한다.
🔹튜플 : 행, 속성의 모임, 레코드
(튜플의 수 = 카디널리티 = 기수 = 대응 수)
🔹속성 : 가장 작은 논리적 단위, 데이터 필드
(속성의 수 = 디그리 = 차수)
🔹도메인 : 원자 값들의 집합
ex. '학생'과 관련된 데이터베이스
<학생>
| 학과 | 학번 |
|---|---|
| 컴퓨터공학 | 1001 |
| 실용음악 | 1002 |
<학생> 테이터베이스에서
튜플은 컴퓨터공학, 1001 / 실용음악, 1002
속성은 컴퓨터공학, 실용음악, 1001, 1002
도메인은 학과의 도메인 컴퓨터공학, 실용음악, 학번의 도메인은 1001, 1002
으로 구분됩니다.
데이터베이스 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 키(key)라고 합니다.
🔸슈퍼키(Super Key) : 한 릴레이션 내에 있는 속성들의 집합
🔸후보키(candidate Key) : 유일하게 식별하기 위해 사용되는 속성들의 집합
🔸기본키(Primary Key) : 튜플을 식별하기 위한 필수 키, 중복/NULL 불가
🔸대체키(Alternate Key) : 기본 키를 제외한 나머지 후보 키
🔸외래키(Foregin Key) : 다른 릴레이션의 기 본키 참조 속성, 관계를 표현
데이터를 생성(CREATE), 추가 및 변경(ALTER), 객체 삭제(DROP), 데이터 삭제(TRUNCATE)의 역할을 하는 명령어입니다.
데이터 삽입(INSERT), 수정(UPDATE), 삭제(DELETE), 조회(SELECT), 병합(MERGE)의 역할을 하는 명령어입니다.
데이터의 제어, 객체 권한 부여(GRANT), 회수(REVOKE)의 역할을 하는 명령어입니다.
DML으로 조작된 결과를 작업단위(트랜잭션)별로 제어하는 역할을 하는 명령어입니다.