일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- python
- dense rank
- 자료구조
- 정보처리기사
- searched case expression
- 뷰
- 위코드
- sql 저장 모듈
- MYSQL
- html
- SQLD
- window 함수
- ROLLUP
- 코드 스니펫
- 문법 차이
- Oracle
- JavaScript
- 기업 협업
- coalesce
- dom
- 비절차적 데이터 조작어
- execute immediate
- Node.js
- GROUPING
- 정규식 연산
- list multiplication
- show graph characteristics
- simple case expression
- SQL
- git
- Today
- Total
프로그래밍 숲
SQLD의 비절차적 데이터 조작어가 뭐지? 본문
데이터베이스에서 데이터를 조작하는 데 사용되는 두 가지 기본적인 접근 방식에는 비절차적 데이터 조작어(Non-Procedural DML)와 절차적 데이터 조작어(Procedural DML)가 있습니다.
비절차적 데이터 조작어와 절차적 데이터 조작어
1. 비절차적 데이터 조작어 (Non-Procedural DML): SQL(Structured Query Language)와 같은 비절차적 언어는 "무엇을" 찾을지에 대해 정의하는 데 초점을 맞춥니다. 사용자가 원하는 데이터를 지정하면, 데이터베이스 시스템이 그 데이터를 찾는 방법을 결정합니다. 예를 들어, SQL 쿼리는 특정 조건을 충족하는 행을 찾는 데 사용될 수 있지만, 그 행을 어떻게 찾을지는 데이터베이스 관리 시스템(DBMS)에 의해 결정됩니다.
2. 절차적 데이터 조작어 (Procedural DML): 절차적 언어는 "무엇을" 찾을 것인지와 "어떻게" 찾을 것인지 모두 정의해야 합니다. 사용자는 원하는 결과를 얻기 위한 절차를 정확히 명시해야 합니다. 절차적 언어의 예로는 저수준의 언어가 있습니다.
비절차적 언어는 일반적으로 사용하기 쉽고, 덜 복잡하지만, 특정 상황에서는 절차적 언어가 더 효율적일 수 있습니다. 반면 절차적 언어는 더 많은 제어를 제공하지만, 사용하기가 더 복잡하며, 필요한 지식과 스킬이 더 많습니다.
비절차적 데이터 조작어와 절차적 데이터 조작어의 예시
비절차적 데이터 조작어와 절차적 데이터 조작어의 가장 대표적인 예시는 SQL과 저수준의 언어입니다.
1. 비절차적 데이터 조작어 (Non-Procedural DML) 예시: SQL
SQL(Structured Query Language)은 비절차적 데이터 조작어로 가장 널리 사용됩니다. 이는 데이터베이스에서 데이터를 선택, 삽입, 업데이트, 삭제하는 데 사용되는 표준 언어입니다. 예를 들어, SQL에서 특정 조건을 만족하는 모든 행을 선택하려면 다음과 같이 쿼리를 작성할 수 있습니다.
SELECT * FROM employees WHERE salary > 50000;
이 쿼리는 "salary가 50000보다 큰 모든 직원"을 선택하라고 요청하며, "어떻게" 해당 데이터를 찾아야 하는지는 지정하지 않습니다.
2. 절차적 데이터 조작어 (Procedural DML) 예시: 저수준 프로그래밍 언어
저수준 언어는 프로그래머가 데이터를 찾는 절차를 명확히 명시해야 하는 절차적 언어의 한 예입니다. 예를 들어, 특정 조건을 충족하는 데이터를 찾기 위해 데이터베이스의 모든 행을 반복하도록 명령할 수 있습니다. 이는 일반적으로 더 복잡하고 시간이 많이 걸리지만, 특정 상황에서는 더 효율적일 수 있습니다.
절차적 언어의 정확한 예는 사용하는 데이터베이스 시스템에 따라 다르지만, 일반적으로 복잡한 절차와 로직을 필요로 합니다.
결론
결과적으로, SQL문의 DML은 비절차적 데이터 조작어라고 생각하시면 됩니다. SQLD를 공부하면서 궁금했던 내용이어서 이렇게 정리를 하고 공유하게 되었습니다.
'프로그래밍_인포 > 데이터베이스&SQL' 카테고리의 다른 글
SQL 다중 행 서브쿼리, 인라인 뷰 서브쿼리, 단일 행 서브쿼리 쉽게 이해하기 (0) | 2023.06.04 |
---|---|
PRIMARY KEY 제약 조건을 정의하는 구문 종류 5가지 (0) | 2023.06.03 |
SQL 내장 함수 - 단일 행 함수와 다중 행 함수의 예시 (0) | 2023.06.02 |
ANSI SQL: 데이터베이스 호환성과 일관성을 강화하는 표준화된 쿼리 언어 (0) | 2023.06.01 |
VARCHAR vs VARCHAR2: Oracle 데이터베이스에서 문자열 데이터 유형 선택하기 (0) | 2023.05.31 |