Vexanium 블록 체인 프로그래밍의 테이블이란?

스마트 계약을 프로그래밍하는 데있어 가장 중요한 측면 중 하나는 영구 저장소를 처리하는 방식입니다. 즉, 실행 시간 동안 지속되는 저장소를 의미합니다. 왜냐하면 우리는 내부에서 사용할 수있는 함수 호출 시간 동안 변수를 저장할 수 있기 때문입니다. 함수. 그리고 데이터를 함수에 전달할 수도 있습니다. 그러나 스마트 계약은 또한 우리가 스마트 계약을 적극적으로 사용하지 않더라도 지속될 영구적이고 실행 시간 동안 지속되는 데이터를 저장할 수 있습니다.

그리고 그것은 당신이 당신의 사용자에 대한 정보 나 그들의 역사에 대한 정보를 저장하고 싶거나 당신이 공개 한 토큰이 있다고 가정 해 봅시다. 당신은 잔액을 추적해야합니다. 그런 다음 모든 잔액을 추적하려면 영구 스토리지가 필요합니다. 그리고이 비디오는 테이블 인 영구 저장소에 대한 소개 비디오입니다. 테이블은 이메일에 영구 데이터를 저장하는 방법입니다. 먼저이 두 비디오에서 테이블이 실제로 무엇인지, 어떻게 생겼는지, 기본 사항을 살펴보고 싶었습니다.

또한 "범위"에 대해 이야기하고 흥미로운 기능을 만들기 위해 범위와 함께 테이블을 사용하는 방법에 대해 설명합니다. 실제 스마트 콘텐츠에 테이블을 실제로 구현하기 전에 범위에 대해 알아야합니다. 그리고 테이블로 만드는 경험을 쌓을 수 있습니다. 우선, 테이블은 어떻게 구성되어 있습니까?

테이블이란? 테이블의 기초는 C ++ 구조체이고 C ++는 스마트 계약을 배우기 전에 전제 조건입니다.

이보다 JavaScript에 더 익숙하다면 JavaScript 객체처럼 보이며 꽤 좋은 비교입니다. Struct에는 몇 가지 필드가 있습니다. 이 경우 여기에 사람을 설명하는 일종의 구조체가 있습니다. 신분증, 이름, 거리가 있습니다. 이 예제는 마치 주소록과 같습니다. 그리고 이것이 테이블의 기본 구조가 될 것입니다. 코드를 작성할 때 볼 수있는 구조체를 지정합니다.

 

테이블에 저장할 데이터가있는 구조체를 지정하는 것으로 시작합니다. 여기에 ID, 이름, 거리가 있고 그것이 구조입니다. 구조체라고 불리는 것이 아주 좋습니다. 그런 다음 그 구조체를 사용하여 테이블을 만들고 테이블은 다음과 같이 표시되고 테이블 이름을 "people"으로 지정할 수 있습니다. 테이블은 열이 있고 열이 구조체에서 열로 직접 변환되는 Excel 스프레드 시트와 매우 유사합니다.

블록 체인 프로그래밍의 테이블

그런 다음 행을 추가 할 수 있습니다. 데이터를 삽입 할 때 행을 추가 할 수 있습니다. 따라서 첫 번째 행에서 ID를 지정하고 이름을 지정하고 거리를 지정하고이를 테이블에 삽입합니다. 그리고 일단 테이블을 찾으면 변경할 수있는 방법이 없습니다. 따라서 테이블을 생성 한 후 할 수있는 유일한 작업은 데이터 추가, 데이터 제거 또는 데이터 수정. 이것이 세 가지 기능이자 기본 기능입니다.

우리는 검색 기능과 같은 것들을 할 수 있습니다. 하지만 데이터를 수정하기 위해 우리가 할 수있는 유일한 일은 삽입, 수정 및 삭제. 그래서 우리는 실제 테이블에 대해 세 가지를 할 수 있습니다.

테이블을 디자인하고 데이터를 추가하기 시작하면 실제로 다시 실행하는 것이 더 복잡하기 때문에 애플리케이션을 디자인 할 때 실제로 어떤 유형의 영구 스토리지가 필요한지 생각하는 것이 중요합니다. 우리가 테이블을 만들 때 실제로 생각해야 할 또 하나의 것은 제가 실제로 거기에있는 구조체에 넣지 않은 것입니다. 그것은 기본 키라고 불리는 것입니다.

블록 체인 테이블의 기본 키

기본 키는 여기 테이블에서 고유 식별자로 사용할 수있는 하나의 열입니다. 테이블이있는 경우이 테이블이 있지만 id 열이 없다고 가정 해 보겠습니다. 권리.

 

우리는 이름과 거리 만 가지고있었습니다. 그런 다음이 테이블로 가서 스톡홀름에 사는 Philip이라는 사람을 찾으려고하면 중복 된 결과를 얻을 수 있습니다.

기본 키가없는 테이블

그리고 데이터베이스 나 테이블에 대해 검색 쿼리를 수행 할 때 검색 알고리즘이 실제로 작동하도록 항상 하나의 열을 골라 낼 수 있기를 원합니다. 그리고 그것이 우리가 가진 것입니다. 기본 키입니다. 기본 키가 될 하나의 열이 필요합니다. 항상 중복 될 수없는 고유 식별자입니다. 그리고 그것이 ID의 역할입니다. 권리. 보세요, 우리는 0부터 계산 한 다음 각 역할에 대해 계산합니다.

그리고 그것은 항상 독특 할 것입니다. 다른 모든 데이터가 동일한 지 여부에 관계없이 해당 (기본 키)가 고유 식별자가됩니다. 또한 구조체를 만들 때 어떤 열이 기본 키가 될지 Vexanium에 알려야합니다. 그리고 우리가 실제로 프로그램 할 때 이것을 보게 될 것입니다. 그러나 이것이 우리의 기본 키가 될 것이기 때문에 여기에서 아이디어에 밑줄을 긋겠습니다. 그런 다음 테이블에서 조회를 수행하기 위해 기본 키가 사용됩니다. 그리고 프로그래밍 할 때 이것을 볼 수 있습니다.

2 차 색인

그런 다음 보조 인덱스 및 다중 인덱스 테이블이라는 항목에 대해서도 살펴 보겠습니다. 여기서 테이블을 인덱싱 할 더 많은 열을 지정할 수 있습니다. 예를 들어 이름과 거리를 사용하여 검색을 수행 할 수도 있습니다. 중대한. 스톡홀름에 사는 모든 사람을 찾고 싶을 수도 있습니다. 우리는 그것을 할 수 있어야합니다. 우리는 보조 인덱스에 의해 그렇게하고 우리도 그렇게 할 것입니다.

그러나 기본 키는 필수입니다. 기본 키가 있어야합니다. 그래서 그들이 그것을 이해하는지 확인하십시오. 질문이 있으시면 포럼에 남겨주세요. 그 말을 듣고, 우리는 여기에서 다음 비디오로 넘어갈 것입니다.

블록 체인 내에서 흥미로운 기능을 찾기 위해 범위를 수정하는 것과 함께 테이블을 사용하는 방법에 대해 이야기하겠습니다.

테이블 액세스

이메일에서 테이블을 처리하는 방법의 또 다른 중요한 부분은 리드를 읽거나 쓰거나 수정 하려는지 여부에 관계없이 IA의 테이블에 액세스 할 때 기능 측면에서 우리가 테이블에 액세스하는 방법과 다양한 가능성입니다. 우리는 항상 이런 방식으로 액세스합니다.

글로벌 범위

우리가 만든 사람이라는 테이블이 있다고 가정 해 봅시다. 그런 다음 호스팅되는 계정을 지정하여 액세스합니다. 이는 스마트 계약이 테이블이있는 곳에 배포되는 계정을 의미합니다. 그러면 people이라는 계정에 People 계약이 배포되었다고 가정 해 보겠습니다. 계정이 될 것입니다. 사람, 오른쪽, 그리고 우리가 테이블을 보는 뷰의 범위, 테이블을 보는 범위, 그래서 같은 테이블 내에 여러 테이블을 가질 수있는 것과 같습니다.

Excel에서 이러한 탭을 갖는 것과 거의 같습니다. 권리. 따라서 테이블에 액세스하고 범위를 사용할 수있는 세 가지 방법이 있습니다. 첫 번째는 단지 글로벌입니다. 즉, 하나의 범위가있는 하나의 테이블 만 있습니다. 그래서 우리는 항상 사람들과 학교 사람들이 테이블에 접근합니다. 테이블은 people 계정에 있고 범위는 people이기 때문에 매번 동일한 테이블을 제공합니다. 권리? 그것은 단지 하나의 테이블입니다.

당신은 모든 데이터를 얻고, 우리는 모든 데이터를 쓰고, 그들은 모든 데이터를 읽습니다. 이를 전역 범위라고합니다.

그룹 범위를 사용한 테이블 액세스

범위를 사용할 수있는 두 번째 방법은 그룹과 함께 사용하는 것입니다. 그래서 우리는 사람들 저장소, 주소, 책 등을 가지고 있고 사람들 계정에 저장되어 있다고 가정 해 봅시다. 하지만 두 가지 다른 범위를 사용하여 액세스합니다.

우리는 남성 또는 여성 범위를 사용합니다. 따라서 데이터베이스, 테이블에 남성 사람을 읽거나 쓰고 싶을 때 남성 범위를 사용하고 여성에 대해서는 그 반대를 사용합니다. 그리고 저는 이것을 여기서 시연했습니다. 내 말은, 이것은 사람들 계정입니다. 우리는 다른 범위에 대해이 테이블의 두 가지 다른보기를 가지고 있습니다. 남성용 범위와 여성용 범위가 있습니다. 그리고 이들은 같은 계정에 있더라도 별도의 테이블입니다.

따라서이 테이블, 테이블의이 범위에는 모든 남성이 있고이 범위에는 모든 여성이 있습니다. 이것이 우리가 스코프를 사용하여 다른 뷰를 가지는 방법입니다. 따라서 남성이든 여성이든 사람이 액세스 할 수 있습니다. 그래서 당신은 그렇게 할 것입니다. 여기 사람들, 여기 여자 또는 여기 남자. 이것이 다른 범위를 사용하여 다른 종류의 그룹 분류를 달성하는 방법입니다. 세 번째 부분은 여기에 개별 범위로 작성했습니다.

개별 범위를 사용한 테이블 액세스

그리고 여기에서 범위를 사용하고 대부분의 경우 보낸 사람 계정 이름을 범위로 사용합니다. 정보를 얻기 위해 사람들 테이블에 전화를했다고 가정 해 봅시다. 그런 다음 범위에 내 iOS 계정 이름을 사용합니다. 필립을 사용합니다.

스코프는 내가 무엇을 추가했는지에 따라 달라지는 사람들 만 얻을 수 있습니다.하지만이 경우에는 주소 예를 들어 보겠습니다. 그리고이 함수를 호출하여 데이터를 가져 오면 계정, 이름 및 범위를 사용하고 완전히 다른 데이터 세트를 얻게됩니다. 이것은 아마도 사람들과 주소 예제에서 그다지 실용적이지 않지만 대신 소유권에 대해 이야기하는 테이블이 있다고 가정 해 봅시다.

 

그런 다음 이것을 호출 할 때마다 토큰 계정을 호출하고 내 범위 Phillips 범위로 호출합니다. 그런 다음 모든 토큰 재판을 받으면 똑같은 일을 할 수 있습니다. 그런 식으로 개별 수준의 학교까지 매우 실용적입니다. 따라서 이것이 범위를 사용하는 가장 일반적인 세 가지 방법입니다. 그리고 그것은 중요합니다. 내 말은, 글로벌은 우리가 회계사에 대해 똑같이 할 예에서 거의 항상 사용하는 가장 일반적인 것입니다. 왜냐하면 우리는 하나의 글로벌 테이블을 얻을 것이고 사용하기 매우 쉽기 때문입니다.

 

그러나 범위를 사용할 수 있습니다. 작동 방식을 이해하는 것이 중요합니다. 그렇지 않으면 우리가 거기에 넣은 다른 계정 이름과 혼동 될 수 있기 때문입니다. 그렇기 때문에 스코프, 테이블 및 사용 방법에 대한 질문이있는 경우 이해해 주시기 바랍니다. 포럼에 남겨 주시면 다음 비디오에서 뵙겠습니다.

 

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다