개인 재정 SQL - dummy

SQL - dummy

차례:

비디오: SQL Tutorial - Full course for beginners 2024

비디오: SQL Tutorial - Full course for beginners 2024
Anonim

때때로 SQL의 CUSTOMER 테이블에서 특정 정보를 검색하려고합니다. 모든 것을 보지 않고 특정 열과 행만보고 싶을 것입니다. 당신이 필요로하는 것은 견해입니다.

A 보기 는 가상 테이블입니다. 대부분의 구현에서 뷰에는 독립적 인 물리적 존재가 없습니다. 뷰의 정의는 데이터베이스의 메타 데이터에만 존재하지만 데이터는 뷰를 파생시킨 테이블에서 가져옵니다. 뷰의 데이터는 물리적으로 복제되지 않습니다.

단일 테이블보기

원하는 정보가 단일 테이블에있는 경우 데이터의 단일 테이블보기를 만들 수 있습니다. 예를 들어, 뉴 햄프셔 주에 살고있는 모든 고객의 이름과 전화 번호를보고 싶다고 가정 해보십시오. 원하는 데이터 만 포함하는 CUSTOMER 테이블에서 뷰를 작성할 수 있습니다. 다음 SQL 문은이보기를 작성합니다.

고객 선택으로 NH_CUST보기. 이름, 고객. 성, 고객. 고객의 전화 번호. 상태 = 'NH';

SQL 구현에서 모든 테이블 참조가 FROM 절의 테이블 참조와 동일하다고 가정하면 입력 작업을 줄여 동일한 작업을 수행 할 수 있습니다. 시스템이 합당한 기본 가정을하는 경우, 다음 행으로 명령문을 줄일 수 있습니다.

NH_CUST보기로 이름, 성, 전화 번호를 고객에게 알려주십시오. 상태 = 'NH';

두 번째 버전은 쓰기 및 읽기가 더 쉽지만 ALTER TABLE 명령을 사용하면 더 쉽게 손상 될 수 있습니다. 이러한 혼란은 JOIN이없는이 간단한 경우에는 문제가되지 않지만 JOIN을 사용한 뷰는 완전한 이름을 사용할 때 더욱 강력합니다.

다중 테이블보기

자주 질문에 대답하기 위해 두 개 이상의 테이블에서 데이터를 가져와야합니다. 예를 들어, 스포츠 용품점에서 일한다고 가정 해보십시오. 작년에 개장 한 이래로 스키 장비를 구입 한 모든 고객에게 프로모션 우편물을 보내고 싶다고 가정 해보십시오.

CUSTOMER 표, PRODUCT 표, INVOICE 표 및 INVOICE_LINE 표의 정보가 필요합니다. 필요한 데이터를 보여주는 다중 테이블 뷰를 생성 할 수 있습니다. 뷰를 사용할 때마다 뷰를 마지막으로 사용한 이후 기본 테이블에서 발생한 모든 변경 사항이 반영됩니다.

이 스포츠 용품점의 데이터베이스에는 CUSTOMER, PRODUCT, INVOICE 및 INVOICE_LINE 테이블 네 개가 포함되어 있습니다.

SQL - dummy

편집자의 선택

Photoshop CS6의 이미지에서 원하지 않는 요소를 제거하는 방법 - 더미

Photoshop CS6의 이미지에서 원하지 않는 요소를 제거하는 방법 - 더미

Adobe Photoshop Creative Suite 6에서 원하지 않는 요소 (이 경우 사람)를 이미지에서 완벽하게 제거하는 단계입니다.이 기술을 처음 시도 할 때는 원하는 요소에 연결되지 않은 요소가있는 이미지로 시작하십시오 이미지를 유지하십시오. 무언가가 포함 된 이미지를 엽니 다.

Photoshop CS6에서 선택 영역을 알파 채널로 저장하는 방법 - 더미

Photoshop CS6에서 선택 영역을 알파 채널로 저장하는 방법 - 더미

중 하나 Photoshop CS6의 알파 채널에 대한 가장 큰 장점은 이미지를 저장 한 다음 시간과 시간을 다시 검색 할 수 있다는 것입니다. 이렇게하면 선택 영역을 만드는 데 많은 시간과 노력이 쏟은 경우 특히 편리 할 수 ​​있습니다. 요소를 다시 선택하려면 휠을 다시 만들어야합니다 ...

Photoshop 이미지 - 인형

Photoshop 이미지 - 인형

암실에서 디지털로 이동하면 소음을 줄이는 방법 영화 및 가공 비용의 달러화 (가능한 환경 오염의 감소는 말할 것도 없음)를 제공하지만 사진 및 예술 사업에 새로운 도전 과제를 추가했습니다. 디지털 사진이 제시하는 문제 중 가장 중요한 것은 노이즈입니다. ...

편집자의 선택

Adobe Photoshop Elements에서 디지털 사진의 레이어 삭제하기 -

Adobe Photoshop Elements에서 디지털 사진의 레이어 삭제하기 -

디지털 사진이 보이면 해당 사진에서 레이어를 삭제할 수 있습니다. 레이어를 삭제하면 해당 레이어의 내용이 이미지 파일에서 제거됩니다. Adobe Photoshop Elements를 사용하여 그림에서 레이어를 삭제합니다.

Adobe Photoshop Elements로 디지털 사진의 레이어 편집하기 - 더미

Adobe Photoshop Elements로 디지털 사진의 레이어 편집하기 - 더미

Adobe Photoshop Elements에서 특정 레이어를 변경하여 이미지의 나머지 부분을 변경하지 않고 이미지를 편집 할 수 있습니다. 편집하려는 부분이 편집하려는 레이어에 있는지 확인하기 만하면됩니다.

디지털 사진 편집 - 인형

디지털 사진 편집 - 인형

잠시 동안 디지털 카메라로 사진을 찍었 으면 항상 결과에 감격하고 "이 사진을 구원받을 수 있습니까? "그 대답은"그렇습니다. "다음 표의 트릭을 사용하여 좋아하는 사진 편집기에서 디지털 사진을 편집하십시오. 기능 설명 권장 크기 조정 ...

편집자의 선택

WordPerfect Office 2002에서 작업 영역 사용자 지정 - 더미

WordPerfect Office 2002에서 작업 영역 사용자 지정 - 더미

WordPerfect 인터페이스에 대한 많은 것을 제어 할 수 있습니다 프로그램이 어떻게 보이고 행동하는지에 대한 용어). 모든 옵션을 훑어 보는 데 몇 시간을 소비 할 수 있지만 더 나은 일을해야합니다. 아래는 대부분의 사람들이 WordPerfect에서 다루기 쉬운 작업을위한 옵션입니다. 옵션 본부 : 설정 ...

의 그래픽 작업 - 그래픽을 사용하기 전에 WordPerfect 11 - Dummy

의 그래픽 작업 - 그래픽을 사용하기 전에 WordPerfect 11 - Dummy

기본에서 그래픽 작업 상자. 모든 상자에는 테두리와 배경이 있습니다. 두 가지 방법으로 상자와 상자 안에있는 그림을 선택할 수 있습니다. 텍스트를 입력하고 상자를 클릭하면 검은 색 핸들과 테두리가 생기지 않습니다.

데이터 유형 제약 조건 고객 고객 ID
정수 NOT NULL 이름 CHAR (15)
성 < CHAR (20) CHAR (2)
우편 번호 CHAR (20) > CHAR (10)
전화 제품 제품 ID 999 INTEGER
NOT NULL 이름
CHAR (25) 설명 > CHAR (30)
범주 999 CHAR (15) 999 VendorID 999 INTEGER 999 VendorName 999 CHAR (30) 999 INVOICE 999 InvoiceNumber 999 INTEGER 999 (9, 2) FormOfPayment
(9,2) INTEGER
NOT NULL INTEGER INTEGER INTEGER
INTEGER INTEGER
INTEGER > 수량
INTEGER SalePrice
숫자 (9, 2) 일부 열에는 NOT NULL 제약 조건이 포함됩니다.이 열은 해당 테이블 또는 열의 기본 키로서 값을 포함해야한다고 결정합니다. 테이블의 기본 키는 각 행을 고유하게 식별해야합니다. 이를 수행하기 위해 기본 키는 모든 행에 널 (NULL)이 아닌 값을 포함해야합니다.
표는 공통적으로 가지고있는 열을 통해 서로 관련되어 있습니다. 다음 목록은 이러한 관계를 설명합니다. CUSTOMER 테이블은 INVOICE 테이블에 대해
일대 다 관계 를가집니다. 한 고객이 여러 번 구매하여 여러 인보이스를 생성 할 수 있습니다. 그러나 각 인보이스는 하나의 고객 만 취급합니다. INVOICE 테이블은 INVOICE_LINE 테이블과 일대 다 관계를 유지합니다. 송장에는 여러 줄이있을 수 있지만 각 줄은 하나의 송장에만 표시됩니다. PRODUCT 테이블은 또한 INVOICE_LINE 테이블과 일대 다 관계를 유지합니다. 제품이 하나 이상의 송장에 두 줄 이상 나타날 수 있습니다. 그러나 각 라인은 하나의 제품만을 취급합니다.
CUSTOMER 테이블은 일반적인 CustomerID 열에 의해 INVOICE 테이블에 연결됩니다. INVOICE 테이블은 일반적인 InvoiceNumber 열에 의해 INVOICE_LINE 테이블에 연결됩니다. PRODUCT 테이블은 일반적인 ProductID 열에 의해 INVOICE_LINE 테이블에 연결됩니다. 이 링크는이 데이터베이스를 관계형
데이터베이스로 만듭니다. 스키 장비를 구입 한 고객에 대한 정보를 얻으려면 CUSTOMER 테이블에서 FirstName, LastName, Street, City, State 및 Zipcode가 필요합니다. PRODUCT 테이블의 카테고리. INVOICE 테이블의 InvoiceNumber; INVOICE_LINE 테이블의 LineNumber. 다음 문을 사용하여 단계별로 원하는보기를 만들 수 있습니다.
CREATE VIEW SKI_CUST1 AS SELECT 성, 성,시,도, 주, 우편 번호, 송장 번호 고객 조인 INVOICE USING (CustomerID); CREATE VIEW SKI_CUST2 AS SELECT 성, 성,시,도, 주, 우편 번호, ProductID부터 SKI_CUST1에서 JOIN INVOICE_LINE USING (InvoiceNumber); CREATE VIEW SKI_CUST3 AS SELECT 성, 성,시,도, 주, 우편 번호, 범주로부터 SKI_CUST2 가입 제품 사용 (ProductID); CREATE VIEW SKI_CUST를 SELECT DISTINCT FirstName, LastName, Street, City, State, Zipcode에서 SKI_CUST3 위치 CATEGORY = 'Ski'; CREATE VIEW 문은 JOIN 연산자를 사용하여 여러 테이블의 데이터를 결합합니다.
다음은 네 가지 CREATE VIEW 문에 대한 요약입니다. 첫 번째 명령문은 CUSTOMER 테이블의 열과 INVOICE 테이블의 열을 결합하여 SKI_CUST1 뷰를 생성합니다.
두 번째 명령문은 SKI_CUST1 뷰를 생성하기 위해 SKI_CUST1과 INVOICE_LINE 테이블의 열을 결합합니다. 세 번째 명령문은 SKI_CUST2 뷰를 생성하기 위해 SKI_CUST2와 PRODUCT 테이블의 열을 결합합니다.
네 번째 문은 Ski 카테고리가없는 모든 행을 필터링합니다. 결과는 Ski 카테고리에서 적어도 하나의 제품을 구입 한 모든 고객의 이름과 주소가 포함 된보기 (SKI_CUST)입니다. 네 번째 CREATE VIEW의 SELECT 절에있는 DISTINCT 키워드는 일부 고객이 여러 번 스키 항목을 구입 한 경우에도 각 고객마다 하나의 항목 만 갖도록합니다.