SQL에서 데이터 처리를 위한 연산 순서
1. FROM : 처리할 테이블 선택
2. WHERE : 처리할 레코드 조건을 설정
3. GROUP BY : 그룹별로 요약을 수행할 필드를 선택합니다.
4. HAVING : 그룹의 요약 조건을 설정합니다.
5. SELECT : 필요한 필드를 선택합니다.
6. ORDER BY : 레코드 정렬 방법을 지정합니다.
[레코드 : 데이터 열 ( column )의 결합으로 이루어진 데이터 덩어리를 말한다.
예를 들어, 고객 정보를 저장하는 데이터베이스에서는 하나의 고객 정보가 하나의 레코드 이며, 고객번호, 이름, 주소 등의 정보가 열의 형태로 하나의 레코드를 포함된다.]
[쿼리를 복잡하게 작성할 경우에는 이 연산 순서를 고려하여 퀴리를 작성하는 것이 성능 최적화에 도움이 된다.]
------------------------------------------------------------------------------------------------------------------------------------------------------
DML ( DATA Mainpulation Language )은 데이터베이스 내의 데이터를 조작하기 위한 명령어
1. SELECT : 데이터를 조회하는데 사용
2. UPDATE : 데이터를 수정하는데 사용
3. INSERT : 데이터를 추가하는데 사용
4. DELETE : 데이터를 삭제하는데 사용
------------------------------------------------------------------------------------------------------------------------------------------------------
DDL ( DATA Definition Language )은 데이터베이스의 스키마를 정의하거나, 데이터베이스 객체를 조작할 때 사용하는 명령어
1. ALTER : 객체를 수정하는 데 사용
2. DROP : 객체를 삭제하는 데 사용
3. MODIFY : 변경할 스키마를 정의할 때 사용
4. CREATE : 스키마나 객체를 생성하는 데 사용
[스키마 : 데이터베이스에서 전체적인 구조를 정의하는 개념이다. 즉, 데이터베이스에서 사용하는 테이블, 뷰, 프로시저 등의 데이터 객체의 집합체를 뜻합니다. 스키마는 데이터베이스에서 사용하는 테이블, 뷰, 프로시저 등의 데이터 객체의 집합체를 뜻합니다. 스키마는 데이터베이스에서 데이터 무결성을 유지하기 위한 것으로, 새로운 데이터 객체를 추가하거나 수정, 삭제할 때 스키마를 수정해야 합니다. ]
[객체 : 스키마에 속한 데이터를 다루는 객체를 의미한다. 객체간 관계는 E R 모델이나 관계형 모델 등의 데이터 모델에 따라 다르다. 예를 들면, 학사관리 시스템에서는 학생, 교수 , 과목 등의 객체를 다룹니다 또한 SQL문 실행시 테이블에 접근하는 것이 일반적으로 객체에 대한 접근이됩니다.]
[데이터 무결성 : 데이터의 정확성과 일관성을 보장하는 것을 말합니다. 즉, 데이터를 저장 검색, 수정 및 삭제할 때 데이터가 유요한 값인지, 조작에 의해 손상됐는지를 검증하고 보호하는 작업을 말합니다. 데이터무결성은 데이터베이스의 신뢰성을 높이고 데이터의 오류나 손상을 예방하는 것에 중요한 역활을 합니다.]
------------------------------------------------------------------------------------------------------------------------------------------------------
DCL ( DATA CONTROL LANGGUANG ) : 데이터베이스에서 사용 권한을 관리하는 명령어입니다.
1. GRANT : 객체에 대한 권한을 부여하는 데 사용
2. REVOKE : 객체에 대한 권한을 취소하는 데 사용
------------------------------------------------------------------------------------------------------------------------------------------------------
TCL ( Transaction Control Language ) : 트랙젝션을 제어하는 명령어입니다.
1. COMMIT : 트랜잭션을 완료하고 변경 사항을 저장하는 데 사용
2. ROLLBACK : 트랜잭션을 취소하고 이전 상태로 되돌리는 데 사용
[트랜잭션 : 데이터를 일관성 있게 처리하기 위한 작업의 단위를 말한다. 즉, 하나의 논리적인 작업이 모두 정상적으로 처리가 되던가 아니면 실패하는 상태만 존재하게 됩니다. 여러개의 DML 문장들을 하나로 묶어서 처리할 때, 전체적인 작업이 원자성(Atomicity)을 가져야 한다는 것이 트랜잭션의 기본 개념입니다.
트랜잭션은 ACID라는 특성을 만족합니다.
1. 원자성 ( Atomicity ) : 모든관정이 완료되거나, 모든 과정이 취소되어야한다.
2. 일관성 ( Consistency ) : 트랜잭션이 수행되고난 뒤에도 데이터베이스는 일관성 있는 상태를 유지해야한다.
3. 고립성 ( Isolation ) : 여러 개의 트랜잭션이 동시에 실행되고 있을 때, 어떤 트랜잭션도 다른 트랜잭션의 중간 상태를 볼수 없다.
4. 내구성 ( Durability ) : 트랜잭션이 성공적으로 완료되면, 해당 트랜잭션에 변경된 데이터는 영구적으로 반영된다.
예를 들어, 은행 거래와 같은 작업에서는 이체를 하는 중간에 오류가 발생하면 이체를 취소하고 원래 상태로 돌려야 할 필요가 있습니다. 이러한 경우 트랜잭션을 이용하여 이체 작업을 하나의 단위로 처리하고, 이체 전과 이체 후의 금액이 각각 일치하는지 검사하여 일관성을 유지합니다.]
------------------------------------------------------------------------------------------------------------------------------------------------------
'DB(SQL)' 카테고리의 다른 글
SQL 언어 (3) (0) | 2023.11.07 |
---|---|
SQL 언어 (2) (0) | 2023.11.07 |
SQL 언어 (1) (2) | 2023.11.06 |
ERD , Level Schema (0) | 2023.07.26 |
PART1: 데이터 모델링 SECTION 01 데이터 모델링의 이해 (0) | 2023.07.24 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!