SQL 모범 사례 : ANSI 표준의 목적은 다음과 같습니다.

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


SQL : 데이터베이스 관리를위한 ANSI 표준

SQL (Structured Query Language)은 데이터베이스 액세스 및 관리를위한 데이터베이스 관리자 (DBA)의 표준 언어입니다..

수년에 걸쳐 SQL은 발전했으며 많은 버전과 언어가 등장하기 시작했습니다. 모범 사례를 위해 SQL을 통합하기 위해 ANSI (American National Standards Institute)는 데이터베이스 쿼리 언어에 대한 특정 표준을 만들었습니다..

SQL 타임 라인

  • 1970 년 IBM에서 일하는 컴퓨터 과학자 인 Edgar Frank Codd 박사는 1970 년 6 월 ACM (Association of Computer Machinery) 저널에 자신의 유명한 논문 인“대형 공유 데이터 뱅크를위한 데이터의 관계 모델”을 발표했습니다. Dr. Codd의 모델은 관계형 데이터베이스 관리 시스템 (RDBMS)의 결정적인 모델로 남아 있습니다..

  • 1978 : IBM Corporation은 캘리포니아 산호세 리서치 센터에서 데이터베이스 언어 인 구조적 영어 쿼리 언어 (SEQUEL)와 함께 데이터베이스 시스템 System / R을 개발합니다. 그들은 Codd 박사의 독창적 인 모델을 기반으로하고 그것을 SEQUEL이라고 부릅니다..

  • 1979 : Relational Software, Inc.는 최초의 관계형 데이터베이스 관리 시스템을 출시하고 Oracle이라는 이름을 지정합니다. RDBMS는 SQL을 기본 쿼리 언어로 사용하는 미니 컴퓨터에서 작동합니다. 제품이 인기를 얻자 회사 이름을 Oracle로 변경.

  • 1982 : IBM은 최초의 상용 SQL 기반 RDBMS를 출시하여 SQL / Data System 또는 SQL / DS라고 명명했으며 1985 년에 Database 2 시스템 또는 DB2를 출시했습니다. 두 시스템 모두 IBM 메인 프레임 컴퓨터에서 실행됩니다. IBM은 나중에 Windows 및 UNIX 운영 체제에서 실행되는 시스템을 포함하여 추가 시스템으로 DB2를 포팅했습니다..

연도 별 ANSI 표준

  • 1986 : SQL-87은 1986 년 ANSI에 의해 공식화되었습니다..

  • 1989 : ANSI (American National Standards Institute)는 SQL-89 또는 FIPS 127-1로 알려진 데이터베이스 쿼리 언어에 대한 첫 번째 표준을 발표합니다..

  • 1992 년 : ANSI는 개정 된 표준 인 ANSI / ISO SQL-92 또는 SQL2를 게시하여 SQLI보다 엄격한 새로운 기능을 추가했습니다. 이 표준은 방언이 ANSI 표준을 충족시키는 정도를 나타내는 준수 수준을 소개합니다..

  • 1999 년 : ANSI는 객체 지원과 같은 새로운 기능으로 SQL3 또는 ANSI / ISO SQL : 1999를 게시합니다. 9 개 이상의 패키지에 대한 추가 사양뿐만 아니라 핵심 사양 준수 수준을 대체했습니다..

  • 2003 년 : ANSI는 표준화 된 시퀀스, XML 관련 기능 및 ID 열을 소개하는 SQL : 2003을 발표합니다. 최초의 RDBMS 작성자 인 Dr. E.F. Codd는 같은 해 4 월 18 일에 사망합니다..

  • 2006 년 : ANSI는 SQL : 2006을 발표하여 SQL을 XML과 함께 사용하는 방법을 정의하고 XQuery를 기존 SQL 코드에 통합 할 수 있도록합니다..

  • 2008 년 : ANSI, INSTEAD OF 트리거와 TRUNCATE 문을 도입 한 SQL : 2008 발표.

  • 2011 년 : ANSI는 SQL 데이터베이스 쿼리 언어에 대한 ISO (1987) 및 ANSI (1986) 표준의 일곱 번째 개정판 인 SQL : 2011 또는 ISO / IEC 9075 : 2011을 발표합니다..

그들은 새로운 ANSI SQL 표준을 다음을 포함하여 9 개의 부분으로 나누었습니다.

  • 1 부 — ISO / IEC 9075-1 : 2011 논리적 개념을 제공하는 SQL / Framework.

  • 2 부 — ISO / IEC 9075-2 : 2011 SQL / Foundation, 중앙 요소 SQL 포함.

  • 3 부 ISO / IEC 9075-3 : 2008 SQL / Call-Level Interface (CLI)는 COBOL 및 C ++와 같은 다양한 코딩 언어로 SQL 문을 실행하기위한 프로 시저, 구조 및 변수 바인딩과 같은 인터페이스 구성 요소를 설명합니다..

  • 4 부 ISO / IEC 9075-4 : 2011 SQL / PSM (Persistent Stored Modules)은 조건 처리 및 제어 흐름뿐만 아니라 명령문 조건 신호 및 신호, 로컬 변수 및 커서를 포함하여 SQL의 절차 확장에 대한 표준을 간략하게 설명합니다. 매개 변수 및 변수에 표현식을 지정합니다. 저장 프로 시저와 같은 영구 데이터베이스 언어 루틴의 유지 관리를 해결합니다..

  • 9 부 ISO / IEC 9075-9 : 2008 SQL / MED (Management of External Data)에는 SQL이 외부 데이터를 관리 할 수 ​​있도록하는 데이터 링크 유형 및 외부 데이터 래퍼를 정의하기위한 SQL 확장 기능이 포함되어 있습니다. 외부 데이터는 액세스 가능하지만 SQL 기반 DBMS에 의해 관리되지 않음.

  • 10 부 ISO / IEC 9075-10 : 2008 OLB (SQL / Object Language Bindings)는 SQLJ의 의미와 구문을 정의합니다. SQLJ는 SQL을 Java에 임베드하는 것입니다. 표준은 SQLJ 응용 프로그램의 2 진 이식성을위한 메커니즘을 지정합니다. 또한 포함 된 클래스와 함께 여러 Java 패키지를 정의합니다..

  • 11 부 ISO / IEC 9075-11 : 2011 SQL / Information and Definition Schemata (SQL / 정보 및 정의 스키마)는 정보 스키마 및 정의 스키마를 지정하여 SQL 개체 및 데이터베이스를 자체 설명하는 도구를 제공합니다. SQL 오브젝트 ID, 보안 및 권한 부여 스펙, 보안 및 무결성 제한 조건을 포함합니다. SQL 기반 DBMS 구현에서 제공하는 기능뿐만 아니라 ISO / IEC 9075의 기능 및 패키지를 지원합니다..

  • 13 부 — ISO / IEC 9075-13 : 2008 ISO / IEC 9075-13 : 2008 : JRT (Java Programming Language)를 사용하는 SQL 루틴 및 유형, Java 클래스를 SQL 구조화 된 사용자 정의 유형으로 사용하고 정적 Java 메소드를 SQL 내에서 루틴으로 호출하는 기능을 지정합니다. 데이터베이스에서 Java로 알려진 애플리케이션.

  • 14 부 — ISO / IEC 9075-14 : 2011 SQL / XML 관련 사양은 SQL과 함께 XML을 사용할 때 SQL 기반 확장을 정의합니다. XML 데이터 형식, 루틴 및 함수에 대해 설명합니다. 또한 SQL 데이터베이스 내에서 XML을 저장하고 관리하기위한 XML-SQL 데이터 유형 맵핑에 대해서도 설명합니다..

ISO / IEC 13249 SQL 멀티미디어 및 응용 프로그램 패키지는 ISO / IEC 9075와 함께 SQL을 기반으로 다양한 인터페이스와 패키지를 지정하는 별도의 관련 표준으로 작동합니다..

이 패키지의 목표는 그림, 텍스트, 공간 데이터 및 데이터 마이닝과 같은 가장 일반적인 데이터베이스 응용 프로그램에 중앙 집중식으로 액세스 할 수 있도록하는 것입니다..

표준 사본을 찾는 방법

ISO 및 ANSI 저작권 제한으로 인해 SQL 표준 사양의 하드 카피 만 구입할 수 있습니다. “Access Standards – eStandards Store”를 선택하고“SQL Language”를 검색하여 ANSI 웹 사이트에서 전자 사본을 찾을 수 있습니다.

각 문서에는 두 가지 변형이 있지만 동일합니다.

  1. INCITS / ISO / IEC 9075-*-2011

  2. ISO / IEC 9075-* : 2011

모든 데이터베이스 작성자는 이러한 표준을 준수하여 다양한 SQL 구현을 비슷하게 만듭니다. 그러나 각 구현에는 여전히 표준에 대한 확장 또는 추가를 포함하는 SQL 사용에 대한 고유 한 방언이 있습니다..

SQL을 테스트하기

기본 SQL 명령 및 명령문은 모든 SQL 언어와 유사하므로 DBA가 사용법을 알게되면 다른 SQL 언어를 쉽게 배울 수 있습니다.

대부분의 SQL 데이터베이스 프로그램에는 고유 한 확장이 있지만 ANSI 표준을 준수하려면 최소한 다음과 같은 다섯 가지 주요 명령을 지원해야합니다.

  1. 최신 정보

  2. 지우다

  3. 고르다

  4. 끼워 넣다

  5. 어디

SQL은 DBA가 데이터베이스에서 다음 조치를 수행 할 수있게합니다.

  • 쿼리 실행

  • 데이터 검색

  • 레코드 삽입, 업데이트 및 삭제

  • 새로운 테이블과 뷰 생성

  • 새로운 데이터베이스 구축

  • 저장 프로 시저 생성

  • 뷰, 테이블 및 프로 시저에 대한 권한 설정.

데이터베이스에서 데이터에 액세스 할 수있는 웹 사이트를 생성하려면 관계형 데이터베이스 관리 시스템 (RDBMS) 데이터베이스 프로그램이 필요합니다. 많이 사용되는 RDBMS 프로그램은 다음과 같습니다.

  • SQL 서버

  • MS 액세스

  • MySQL

  • Postgre SQL

  • 오라클 데이터베이스.

데이터베이스를 작성하려면 데이터베이스 관리자도 다음을 사용해야합니다.

  • CSS / HTML과 같은 표준 마크 업 언어

  • ASP 또는 PHP와 같은 서버 측 스크립팅 언어.

  • SQL을 사용하여 요청한 데이터를 검색하는 방법 이해.

데이터베이스 분석

관계형 데이터베이스 관리 시스템 (RDBMS)은 데이터베이스의 기초를 형성합니다. RDBMS를 사용하면 DBA가 테이블이라고하는 데이터베이스 오브젝트에 데이터를 저장할 수 있습니다. 테이블은 섹션으로 구성된 관련 데이터의 열과 행으로 구성됩니다..

데이터베이스 테이블 식별

대부분의 데이터베이스는 둘 이상의 테이블을 포함하므로 DBA는 각 테이블을 이름으로 식별해야합니다. 각 테이블에는 정보와 데이터를 포함하는 레코드 행이 포함됩니다..

예를 들어, 비즈니스는 각 고객에 대해 다음 데이터를 포함하는 고객 테이블이있는 데이터베이스를 사용합니다.

  1. 고객 이름

  2. 담당자 이름

  3. 고객 ID

  4. 고객 주소 — 거리, 도시, 우편 번호 및 국가

  5. 고객 연락처 정보

이 경우 표에는 고객 이름, 담당자 이름, 고객 ID, 도시, 우편 번호 및 국가를 포함한 고객 주소, 고객 연락처 정보 등 5 개의 레코드 (각 고객 당 1 개)와 8 개의 열 (각 데이터 청크 당 1 개)이 포함됩니다..

SQL 데이터베이스와 통신

데이터베이스 관리자는 SQL 문을 사용하여 데이터베이스에 필요한 모든 조치를 수행합니다. 결과는 결과 집합이라는 결과 테이블에 저장됩니다..

SQL은 일반적으로 대소 문자를 구분하지 않으며 일부 데이터베이스 시스템에서는 모든 SQL 문 끝에 세미콜론을 사용해야합니다. 세미콜론은 데이터베이스 시스템에서 SQL 문을 서로 분리하는 표준 방법이되었습니다..

이를 통해 DBA는 한 번의 서버 호출로 여러 SQL 문을 실행할 수 있습니다..

SQL 명령 중 일부는 다음과 같습니다.

  • 테이블 변경 테이블 수정.

  • 데이터베이스 변경 데이터베이스 수정.

  • 데이터베이스 생성 새로운 데이터베이스를 생성.

  • 색인 만들기 색인 / 검색 키 생성.

  • 테이블 만들기 새 테이블을 만듭니다..

  • 지우다 데이터베이스에서 데이터를 삭제합니다.

  • 드롭 인덱스 인덱스를 삭제합니다.

  • 드롭 테이블 테이블을 삭제합니다

  • 에 집어 넣다 데이터베이스에 새로운 데이터를 삽입.

  • 고르다 데이터베이스에서 데이터를 추출.

  • 최신 정보 데이터베이스의 데이터를 업데이트합니다.

Codd의 12 가지 규칙

Codd 박사는 최초의 관계형 데이터베이스 관리 시스템을 만들 때 13 개의 규칙을 포함 시켰습니다. 이는 데이터베이스 관리 시스템이 이러한 규칙을 모두 충족하면 진정한 관계형 데이터베이스 관리 시스템이라는 것을 나타냅니다..

그는 0에서 12까지 번호를 매 겼기 때문에 Codd의 12 규칙이라고합니다.

  • 룰 제로 : 기초 기본 시스템은 세 가지 기본 요구 사항을 충족해야 함을 나타냅니다. 관계형이어야하며 데이터베이스 및 관리 시스템을 포함해야합니다. 또한 관계형 기능을 활용하여 데이터베이스를 관리하여 진정한 RDBMS로 간주해야합니다..

  • 규칙 1 : 정보 표현 특히 테이블 행 내의 열 위치에 값을 배치하여 데이터베이스의 모든 정보를 단일 방식으로 나타냅니다..

  • 규칙 2 : 액세스 보장 기본 키의 기본 요구 사항과 같이 모든 데이터에 액세스 할 수 있어야합니다. 포함 테이블 및 열의 이름과 포함 행의 기본 키 값을 정의하여 데이터베이스의 모든 개별 스칼라 값을 적절하게 처리 할 수 ​​있어야합니다..

  • 규칙 3 : 널값 처리 DBMS는 각 필드를 비워 두거나 null로 두어야합니다. 즉, 데이터 유형에 관계없이 모든 일반 값과 ​​다른 체계적인 방식으로 적용 불가능하거나 누락 된 정보 표현을 조작해야합니다..

  • 규칙 4 : 활성 온라인 카탈로그 시스템은 일반 쿼리 언어를 사용하여 인증 된 사용자가 액세스 할 수있는 인라인, 온라인, 관계형 구조 또는 카탈로그를 지원해야합니다. 사용자는 데이터베이스 내부의 데이터에 액세스 할 때 사용한 것과 동일한 관계형 모델 및 쿼리 언어를 사용하여 데이터베이스 카탈로그에 액세스 할 수 있어야합니다..

  • 규칙 5 : 포괄적 인 데이터 하위 언어 시스템은 선형 구문으로 최소 하나의 관계형 언어를 지원해야합니다. 사용자는 응용 프로그램 내에서 대화식으로이를 활용할 수 있어야합니다. 또한 업데이트 및 검색과 같은 데이터 조작 작업과 뷰 정의와 같은 데이터 정의 작업과 커밋, 시작 및 롤백과 같은 트랜잭션 관리 작업을 지원해야합니다. 또한 무결성 및 보안 제약 조건이 있어야합니다..

  • 규칙 6 : 업데이트 이론적으로 업데이트 할 수있는 모든 뷰는 시스템에서 업데이트해야합니다..

  • 규칙 7 : 높은 수준의 업데이트, 삽입 및 삭제 시스템은 한 번에 업데이트, 삽입 및 삭제 연산자를 지원하여 사용자가 여러 테이블 및 / 또는 행의 데이터로 구성된 세트로 관계형 데이터베이스에서 데이터를 검색 할 수 있도록해야합니다. 단일 테이블의 단일 행 대신 검색 가능한 세트에 대해 업데이트, 삽입 및 삭제 조작이 사용 가능해야합니다..

  • 규칙 8 : 물리적 데이터 독립 물리적 수준으로 업데이트 할 때는 구조를 기반으로 응용 프로그램을 업데이트하지 않아도됩니다. 예를 들어, 데이터를 배열 또는 링크 된 목록에 배치할지 여부와 같은 데이터 저장 방법의 변경.

  • 규칙 9 : 논리 데이터 독립 열, 테이블 및 행과 같은 논리 수준으로 업데이트 할 때는 구조를 기반으로 응용 프로그램을 업데이트하지 않아도됩니다. 물리적 데이터 독립성보다 논리적 데이터 독립성을 달성하기가 어렵습니다..

  • 규칙 10 : 무결성 독립 무결성 제한 조건은 응용 프로그램 및 카탈로그와 별도로 저장해야합니다. 현재 존재하는 응용 프로그램에 영향을 미치지 않으면 서 적절한 경우 이러한 제약 조건을 업데이트 할 수 있어야합니다..

  • 규칙 11 : 분포 독립 데이터베이스의 일부를 다양한 위치로 분배하는 것은 데이터베이스 사용자에게 보이지 않아야합니다. 분산 된 버전의 DBMS가 도입되거나 현재의 분산 데이터가 시스템 전체에 재배포 될 때 기존의 모든 응용 프로그램이 지속적으로 효율적으로 작동 할 수 있어야합니다..

  • 규칙 12 : 비 서브 버전 시스템이 한 번에 한 레코드 씩 또는 저수준 인터페이스를 제공하는 경우 다른 시스템을 줄이기 위해 활용할 수 없습니다. 관계형 무결성 또는 보안 제약 조건을 우회하는 행위가 이에 해당합니다..

SQL (Structured Query Language)은 먼 길을 걸어 왔지만이를 작성하는 데 사용되는 기초는 여전히 강력합니다. 데이터베이스 관리자는 클라우드 컴퓨팅이 표준이됨에 따라 더 많은 방법과 장소를 발견 할 수 있습니다. 그러나 데이터베이스 쿼리 언어를 통합하기위한 표준을 지정하기 위해 ANSI가 그대로 유지됩니다..

자원:

ANSI.org

SQL의 역사

W3 리소스

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map