SQL이란 무엇일까요? 정식 명칭 및 기초 설명

⚡ 스마트 요약

SQL이란 무엇일까요? 구조화 질의 언어(SQL)는 관계형 데이터베이스를 다루기 위한 표준 언어입니다. SQL을 사용하면 스키마를 생성하고, 레코드를 조회하고, 행을 업데이트하고, 권한을 관리하고, 최신 애플리케이션을 데이터베이스 엔진에 연결할 수 있습니다. PostgreSQL, MySQL및 SQL Server.

  • 📘 정의: SQL은 구조화 질의 언어(Structured Query Language)의 약자로, 관계형 데이터베이스 내의 데이터를 정의, 질의 및 제어하는 ​​데 사용되는 ANSI 및 ISO 표준입니다.
  • 🧩 문장 유형: DDL, DML, DCL, TCL 및 DQL은 CREATE, INSERT, UPDATE, DELETE, SELECT 및 DROP과 같은 명령어를 그룹화합니다.
  • 🏛️ 표준 : ANSI SQL:2023은 네이티브 JSON 지원을 추가했습니다. PostgreSQL-스타일 표준 속성 그래프 쿼리(SQL/PGQ).
  • ⚙️ 엔진 : PostgreSQL 17, MySQL 8, Oracle 23ai와 SQL Server 2022는 모두 최신 SQL 표준의 상당 부분을 구현합니다.
  • 🆚 SQL과 NoSQL의 차이점: SQL은 스키마, 조인 및 ACID 트랜잭션을 강제하는 반면, NoSQL은 엄격한 구조 대신 수평적 확장성과 유연한 문서를 선호합니다.
  • 🤖 AI 관점: GitHub Copilot 및 Vanna AI와 같은 텍스트-SQL 변환 도우미는 이제 일반 영어 질문을 실행 가능한 SQL 쿼리로 변환합니다.

SQL이란 무엇입니까?

SQL이란 무엇입니까?

SQL SQL은 관계형 데이터베이스를 다루는 데 사용되는 표준 언어입니다. 레코드를 삽입, 검색, 업데이트 및 삭제하는 데 사용되며, 데이터베이스를 최적화하고 유지 관리하는 데에도 사용됩니다. SQL은 ANSI 및 ISO 표준이므로 동일한 핵심 구문이 SQL Server와 같은 다양한 엔진에서 사용됩니다. PostgreSQL, MySQL, Oracle및 SQL Server.

SQL 전체 양식

SQL은 다음을 의미합니다. 구조화 된 쿼리 언어"SQL" 또는 "시-켈"로 발음됩니다. IBM 1970년대에 개발되었으며, 관계형 데이터베이스는 다음과 같습니다. MySQL, Oracle Database, Microsoft SQL Server, PostgreSQL예산 및 SAP Sybase는 ANSI SQL을 기반으로 사용합니다.

SQL을 사용하는 방법

SQL 문을 작성하려면 수행할 작업, 대상 테이블 및 필터 조건을 명시해야 합니다. 30년 이상 된 멤버를 반환하는 SELECT 쿼리는 다음과 같습니다.

SELECT * FROM Members WHERE Age > 30;

주요 데이터베이스 엔진들이 모두 ANSI 표준을 구현하기 때문에 데이터베이스 간의 구문은 대체로 유사합니다. 몇몇 RDBMS 제품은 자체적인 방언을 추가하는데, 예를 들어 SQL Server의 T-SQL과 PL/SQL이 있습니다. Oracle.

여기에서 확인하세요 비디오에 접근할 수 없는 경우

SQL은 무엇에 사용되나요?

SQL을 사용해야 하는 중요한 이유는 다음과 같습니다.

  • 사용자가 데이터에 접근할 수 있도록 도와줍니다. RDBMS 시스템.
  • 데이터를 설명하는 데 도움이 됩니다.
  • 이를 통해 데이터베이스의 데이터를 정의하고 해당 특정 데이터를 조작할 수 있습니다.
  • SQL의 도움으로 데이터베이스와 테이블을 생성하고 삭제할 수 있습니다.
  • SQL을 사용하면 데이터베이스에서 함수를 사용하고, 뷰를 생성하고, 저장 프로시저를 작성할 수 있습니다.
  • 테이블, 프로시저, 뷰에 대한 사용 권한을 설정할 수 있습니다.
  • SQL은 보고서 작성, 비즈니스 인텔리전스, 머신 러닝 파이프라인에 데이터 입력 등과 같은 분석 작업을 지원합니다.

SQL의 간략한 역사

다음은 SQL 역사에서 중요한 랜드마크입니다.

  • 1970 - Edgar F. "Ted" Codd 박사가 데이터베이스의 관계형 모델을 설명했습니다.
  • 1974년 – 구조화된 질의 언어(SQL)가 등장했습니다. IBM 연구.
  • 1978 - IBM System/R이 출시되었습니다.
  • 1986년 – ANSI는 SQL을 SQL-86으로 표준화했습니다.
  • 1989년 – SQL 표준의 첫 번째 상용 버전이 발표되었습니다.
  • 1999년 – SQL:1999는 트리거와 객체 지향 기능을 추가했습니다.
  • SQL:2003 – 윈도우 함수 및 XML 기능.
  • SQL:2006 – XML 쿼리 언어 지원.
  • SQL:2011 – 시간 기반 데이터베이스 지원.
  • SQL:2016 – JSON, 행 패턴 인식, 다형 테이블 함수.
  • SQL:2023 – 속성 그래프 쿼리(SQL/PGQ) 및 강화된 JSON 처리 기능.

SQL 문의 유형

다음은 널리 사용되는 SQL 문의 다섯 가지 유형입니다.

  • 데이터 정의 언어(DDL)
  • 데이터 조작 언어(DML)
  • 데이터 제어 언어(DCL)
  • 트랜잭션 제어 언어(TCL)
  • 데이터 쿼리 언어(DQL)

SQL 명령 목록

다음은 가장 일반적으로 사용되는 몇 가지 목록입니다. SQL 명령:

  • 몹시 떠들어 대다 – 데이터베이스 구조 또는 스키마를 정의합니다.
  • INSERT – 테이블의 행에 데이터를 삽입합니다.
  • UPDATE – 데이터베이스에 있는 기존 데이터를 업데이트합니다.
  • 삭제 – 테이블에서 하나 이상의 행을 제거합니다.
  • SELECT – WHERE 절에 명시된 조건과 일치하는 속성을 선택합니다.
  • DROP 테이블과 데이터베이스를 삭제합니다.
  • 합병 - 일치 조건에 따라 단일 명령문으로 삽입 또는 업데이트 작업을 수행합니다.

SQL 프로세스

SQL 명령을 실행하면 데이터베이스 엔진이 문을 구문 분석하고 실행 계획을 선택한 다음 스토리지 계층에서 실행합니다.

이 과정에서 중요한 구성 요소는 다음과 같습니다.

  • SQL 쿼리 엔진
  • 최적화 엔진
  • 쿼리 디스패처
  • 클래식 쿼리 엔진

기존 쿼리 엔진은 SQL 이외의 쿼리를 처리하는 반면, SQL 쿼리 엔진은 구조화된 워크로드를 처리합니다.

SQL 프로세스
SQL 프로세스

SQL 표준

SQL은 데이터베이스 생성, 삭제, 행 가져오기 및 수정, 그리고 접근 제어를 다룹니다. SQL은 ANSI(미국 국가 표준 협회) 및 ISO 표준이며, 현재 버전은 다음과 같습니다. ISO / IEC 9075 : 2023일반적으로 SQL:2023이라고 불리는 이 표준은 여러 부분으로 나뉩니다.

부분 기술설명
1부 – SQL/프레임워크 다른 모든 부분을 뒷받침하는 논리적 개념을 제시합니다.
2부 – SQL/Foundation SQL의 핵심 구문과 의미론을 정의합니다.
3부 - SQL/CLI ODBC 및 유사 드라이버에서 사용하는 호출 레벨 인터페이스를 지정합니다.
4부 - 영구 저장 모듈 저장된 루틴, 외부 루틴 및 SQL에 대한 절차적 언어 확장입니다.
9부 – 외부 데이터 관리 SQL이 파일과 같은 비SQL 데이터 소스에 접근할 수 있도록 하는 구문 및 정의를 추가합니다.
10부 – 객체 언어 바인딩 SQL을 임베딩하는 구문 및 의미론을 지정합니다. Java.
11부 - SQL/스키마 정보 및 정의 스키마.
파트 13 – SQL/JRT SQL 루틴 및 유형 사용 Java 프로그래밍 언어.
14부 – SQL/XML SQL 및 XML, XMLTYPE 및 XQuery 통합을 포함합니다.
15부 - SQL/MDA 다차원 배열에 대한 SQL 지원을 제공합니다.
파트 16 – SQL/PGQ SQL:2023에 관계형 테이블 위에 속성 그래프 쿼리를 정의하기 위한 기능이 추가되었습니다.

최신 SQL 엔진

각 엔진은 ANSI 코어의 대부분을 구현하고 자체 확장 기능을 추가합니다.

  • PostgreSQL 17 : 엄격한 표준을 준수하고 풍부한 JSON 지원을 제공하는 오픈 소스 프로젝트입니다.
  • MySQL 8: 웹 애플리케이션에서 널리 사용되며, 윈도우 함수, CTE(공통 테이블 표현식) 및 문서 저장 모드를 지원합니다.
  • Microsoft SQL Server 2022 : 쿼리 인텔리전스를 갖춘 엔터프라이즈 엔진 Azure 시냅스 미러링.
  • Oracle Database 23ai: SQL과 벡터 검색, JSON 관계형 이중성 뷰를 결합합니다.
  • SQLite: 모바일 앱과 브라우저에 내장된 경량 파일 기반 엔진.

클라우드 웨어하우스(예: ...) Amazon 레드시프트, Google BigQuery와 Snowflake는 ANSI SQL 방언도 제공하므로 노트북에서 페타바이트 규모의 분석에 이르기까지 언어를 이식할 수 있습니다.

SQL 언어 요소

다음은 SQL 언어의 중요한 요소입니다.

  • 키워드 : SELECT, FROM, WHERE와 같은 예약어는 모든 문장을 구성하는 데 사용됩니다.
  • 식별자: 사용자 ID, 테이블, 열과 같은 데이터베이스 객체의 이름입니다.
  • 문자열 : VARCHAR 또는 CHAR 데이터 형식을 가진 리터럴 문자열 또는 표현식입니다.
  • 표현식: 상수, SQL 연산자, 열 이름 및 하위 쿼리로 구성됩니다.
  • 검색 조건: 행을 필터링하거나 IF와 같은 제어 흐름 문을 사용하세요.
  • 특별한 가치: CURRENT_TIMESTAMP와 같은 값은 표현식 및 열 기본값에 사용됩니다.
  • 변수: 대부분의 엔진은 저장 프로시저에서 로컬, 글로벌 및 연결 수준 변수를 지원합니다.
  • 댓글 : 한 줄 주석(–)과 블록 주석(/* */)은 SQL을 문서화하지만 실행되지는 않습니다.
  • NULL 값: NULL은 알 수 없거나, 누락되었거나, 적용할 수 없는 값을 나타냅니다.

SQL에서 데이터베이스란 무엇인가요?

A 데이터베이스 테이블 모음은 구조화된 데이터를 저장합니다. 테이블은 행(레코드 또는 튜플)과 열(속성)로 구성됩니다.

각 열에는 이름, 날짜, 금액 또는 숫자와 같은 특정 유형의 정보가 저장됩니다. 테이블 간의 관계는 기본 키와 외래 키를 통해 설정되며, 이것이 데이터베이스를 "관계형" 데이터베이스로 만드는 요소입니다.

NoSQL이란 무엇입니까?

NoSQL 의 카테고리입니다 데이터베이스 관리 시스템 NoSQL의 주된 특징은 관계형 개념을 따르지 않는다는 점입니다. NoSQL은 "SQL만 사용하는 것이 아니다"라는 뜻입니다. 이 범주는 인터넷 거대 기업들과 함께 성장했습니다. Google, 페이스북, 그리고 Amazon엄청난 양의 데이터를 다루는 사람들.

관계형 데이터베이스가 대규모 데이터를 처리할 때 응답 속도가 느려질 수 있습니다. 하드웨어를 업그레이드하여 "스케일 업"하거나, 여러 호스트에 부하를 분산하여 "스케일 아웃"할 수 있습니다.

NoSQL 데이터베이스는 비관계 웹 애플리케이션용으로 설계된 스토어입니다. 항상 SQL을 사용하거나 엄격한 스키마를 적용하는 것은 아니며, ACID(Atom(고도성, 일관성, 격리성, 내구성)과 같은 속성은 최신 시스템에서도 항상 보장되는 것은 아닙니다. MongoDB Cassandra 이제 조정 가능한 거래 모드를 제공합니다.



NoSQL 학습 후 SQL을 배우는 것이 합리적인 이유

NoSQL이 관계형 모델보다 확장성이 뛰어나다는 점을 고려하면, 다음과 같은 의문이 들 수 있습니다. 왜 누군가는 여전히 SQL을 배우는 걸까요?NoSQL 데이터베이스는 특화되어 있으며 대규모의 비정형 데이터 세트에 가장 적합하지만, 대부분의 비즈니스 애플리케이션은 여전히 ​​관계형 데이터베이스와 관련 도구에 의존합니다.

관계형 데이터베이스는 NoSQL에 비해 다음과 같은 장점을 유지합니다.

  • 성숙한 데이터 저장 및 관리 모델은 기업 사용자에게 매우 중요합니다.
  • 사용자가 승인된 데이터만 볼 수 있도록 보기 기능을 지원합니다.
  • 비즈니스 로직을 데이터베이스로 푸시하는 저장 프로시저를 지원합니다.
  • 더욱 강화된 보안 모델, 역할 기반 접근 제어 및 감사 기능.
  • SQL은 구조화된 입력이 필요한 BI, 대시보드 및 AI 도구의 공통 언어입니다.

관계형 데이터베이스를 다룰 수 있는 전문가에 대한 수요가 계속 증가하고 있습니다. 성장하는그러므로 SQL 기초를 배우는 것은 여전히 ​​분명한 가치가 있습니다.

SQL과 AI: 텍스트를 SQL로 변환하는 도구

SQL은 이제 AI 비서의 목표 언어 중 하나입니다. 텍스트-SQL 이러한 도구들은 "지난 분기 매출 기준 상위 10개 고객을 보여주세요"와 같은 일반적인 질문을 실행 가능한 SQL로 변환합니다. 인기 있는 옵션으로는 다음과 같은 것들이 있습니다. GitHub 부조종사, 반나 AI, Microsoft 부조종사 Azure SQL 및 Oracle AI를 선택하십시오. 생성된 SQL은 프로덕션 데이터에 실행하기 전에 항상 정확성, 보안 및 인덱싱 여부를 검토하십시오.

SQL 학습을 위한 최고의 책들

다음은 최고의 SQL 관련 서적 몇 권입니다.

  • 초보자를 위한 SQL 튜토리얼:

    초보자를 위한 SQL 튜토리얼 PDF 파일은 기본적인 데이터베이스 개념, MS-SQL 명령어, 그리고 SQL 조인과 같은 고급 주제를 다룹니다.

  • 10분 안에 SQL: 컬러로 표현된 코드 예제를 통해 SQL 문의 구조는 물론, 단축 방법과 바로 사용할 수 있는 솔루션을 보여줍니다. 구매하기
  • SQL 설명서: 문자열을 SQL로 순회하며 문자 또는 구분된 요소를 구문 분석하는 등의 기술. 구매하기
  • SQL: The Complete Reference: 윈도우 함수, 행을 열로 변환하는 피벗팅, 역피벗팅에 대해 다룹니다. 구매하기
  • SQL 포켓 가이드: SQL 함수, 정규 표현식 구문 및 데이터 유형 변환을 가르칩니다. 구매하기

더 많은 SQL 관련 서적을 보려면 – 더 알아보기

자주 묻는 질문

SQL은 Structured Query Language의 약자입니다. 발음은 세 글자 "SQL" 또는 원래 이름에서 유래한 별명인 "시-퀼"로 합니다. IBM SEQUEL 프로토타입은 1970년대에 개발되었습니다.

SQL은 관계형 데이터베이스를 쿼리하기 위한 표준 언어입니다. MySQL SQL을 구현하는 여러 데이터베이스 관리 시스템 중 하나입니다. SQL을 사용하는 다른 엔진으로는 다음과 같은 것들이 있습니다. PostgreSQL, Microsoft SQL Server, Oracle Database예산 및 SQLite.

현재 표준은 ISO/IEC 9075:2023이며, 일반적으로 SQL:2023이라고 합니다. 이 표준은 속성 그래프 쿼리를 위한 파트 16 SQL/PGQ를 추가하고 JSON 처리를 명확히 했으며, SQL:2016에서 도입된 JSON 및 행 패턴 기능을 기반으로 합니다.

예. 텍스트를 SQL로 변환하는 도구로는 다음과 같은 것들이 있습니다. GitHub 부조종사바나 AI, 그리고 Microsoft 부조종사 Azure SQL은 일반 영어 프롬프트를 쿼리로 변환합니다. 생성된 SQL을 실행하기 전에 항상 정확성, 보안 및 인덱싱 상태를 검토하십시오.

SQL은 학습 데이터를 준비합니다. 특징 엔지니어링, 조인, 필터링 및 집계는 모두 데이터 웨어하우스에서 이루어집니다. SQL 엔진은 다음과 같은 기능을 제공합니다. Oracle 23ai, BigQuery ML, 그리고 PostgreSQL pgvector를 사용하면 이제 SQL에서 직접 벡터 유사도 검색을 실행하여 검색 결과를 강화할 수 있습니다.

대부분의 초보자는 2~3주간 집중적으로 연습하면 기본적인 SELECT, INSERT, UPDATE, DELETE 문을 작성할 수 있습니다. 조인, 서브쿼리, 윈도우 함수, 쿼리 튜닝과 같은 중급 수준의 기술을 습득하려면 일반적으로 몇 달 동안 꾸준히 실습해야 합니다.

이 게시물을 요약하면 다음과 같습니다.