Bảng trong lập trình chuỗi khối Vexanium là gì

Một trong những khía cạnh quan trọng nhất của việc lập trình hợp đồng thông minh của bạn là cách chúng tôi xử lý lưu trữ liên tục, nghĩa là lưu trữ không chỉ tồn tại trong thời gian thực thi bởi vì, chúng tôi có thể lưu các biến trong thời gian gọi hàm mà chúng tôi có thể sử dụng trong chức năng. Và chúng ta cũng có thể truyền dữ liệu vào hàm. Nhưng hợp đồng thông minh cũng có thể lưu trữ dữ liệu liên tục, tồn tại theo thời gian thực thi, dữ liệu đó sẽ tồn tại ngay cả khi chúng ta không tích cực sử dụng hợp đồng thông minh.

Và điều đó sẽ rất tuyệt nếu bạn muốn lưu thông tin về người dùng của mình hoặc về lịch sử của họ hoặc giả sử bạn có mã thông báo mà bạn phát hành, bạn cần theo dõi số dư. Sau đó, bạn cần lưu trữ liên tục để theo dõi tất cả các số dư. Và những video này là video giới thiệu về lưu trữ liên tục là các bảng. Bảng là cách chúng tôi lưu trữ dữ liệu liên tục trong email. Và tôi muốn xem qua hai video này trước tiên, bảng thực chất là gì, nó trông như thế nào, những điều cơ bản.

Chúng ta cũng sẽ nói về “Phạm vi” và cách chúng ta có thể sử dụng các bảng cùng với phạm vi để tạo ra chức năng thú vị. Bạn cần biết về phạm vi trước khi thực sự triển khai các bảng vào nội dung thông minh thực tế của chúng tôi cũng sẽ làm được điều đó. Và bạn sẽ có được kinh nghiệm xây dựng với các bảng. Trước hết, bảng được cấu tạo như thế nào.

Bảng là gì? cơ sở cho một bảng là cấu trúc C ++ và C ++ là điều kiện tiên quyết trước khi bạn học hợp đồng thông minh.

Nếu bạn quen thuộc với JavaScript hơn thì điều này trông giống một đối tượng JavaScript và đó là một so sánh khá tốt. Struct có một số trường. Trong trường hợp này, tôi có một số loại cấu trúc mô tả một người ở đây. Chúng tôi có một ID, một cái tên, chúng tôi có đường phố. Ví dụ này giống như một sổ địa chỉ hoặc bất cứ điều gì. Và đây sẽ là cấu trúc cơ bản của bảng. Chúng tôi chỉ định trong cấu trúc bạn sẽ thấy điều này khi chúng tôi viết mã.

 

Chúng ta bắt đầu bằng cách chỉ định một cấu trúc với dữ liệu mà chúng ta muốn lưu trữ trong bảng. Vì vậy, ở đây chúng tôi có ID, tên và đường phố và đó là cấu trúc. Rất tốt khi nó được gọi là cấu trúc. Sau đó, chúng tôi sử dụng cấu trúc đó để tạo thành một bảng và bảng sau đó trông giống như thế này và chúng tôi có thể đặt tên cho bảng là “people”. Bảng trông rất giống một bảng tính Excel nơi chúng ta có các cột và các cột được dịch trực tiếp từ cấu trúc của chúng ta thành các cột.

bảng trong lập trình blockchain

Và sau đó chúng ta có thể thêm hàng. Chúng tôi có thể thêm hàng khi chúng tôi chèn dữ liệu. Vì vậy, hàng đầu tiên chúng tôi chỉ định một id, chỉ định tên, chúng tôi chỉ định đường phố và chúng tôi chèn nó vào bảng. Và một khi chúng ta có bảng tìm kiếm, không có cách nào chúng ta có thể thay đổi nó. Vì vậy, điều duy nhất chúng ta có thể làm sau khi đã tạo bảng là thêm dữ liệu, xóa dữ liệu hoặc sửa đổi dữ liệu. Đó là ba chức năng cũng như chức năng cơ bản.

Chúng tôi có thể thực hiện tra cứu và những thứ như vậy, các chức năng tìm kiếm. Nhưng để sửa đổi dữ liệu, điều duy nhất chúng tôi có thể làm là chèn, sửa đổi và xóa. Vì vậy, ba điều chúng ta có thể làm với bảng thực tế.

Điều quan trọng khi bạn thiết kế ứng dụng của mình là thực sự nghĩ xem bạn sẽ cần loại lưu trữ liên tục nào, bởi vì một khi bạn đã thiết kế bảng và bắt đầu thêm dữ liệu, việc thực hiện lại sẽ phức tạp hơn. Một điều nữa mà chúng ta thực sự phải nghĩ đến khi chúng ta tạo bảng của mình là thứ mà tôi thực sự không đưa vào cấu trúc ở đó, và đó là thứ được gọi là khóa chính.

Khóa chính trên bảng blockchain

Khóa chính là một cột ở đây trong bảng có thể được sử dụng làm mã định danh duy nhất vì bạn nhận ra rằng nếu chúng ta có một bảng, giả sử chúng ta có bảng này, nhưng chúng ta không có cột id. Đúng.

 

Chúng tôi chỉ có tên và đường phố. Sau đó, nếu tôi vào bảng này và cố gắng tìm một người tên Philip sống ở Stockholm, tôi có thể nhận được kết quả trùng lặp.

bảng không có khóa chính

Và khi bạn thực hiện các truy vấn tìm kiếm vào cơ sở dữ liệu hoặc bảng, bạn luôn muốn có thể tách ra một cột để thuật toán tìm kiếm thực sự hoạt động. Và đó là những gì chúng tôi có. Khóa chính. Chúng tôi cần một cột sẽ là khóa chính. Đó sẽ luôn là một số nhận dạng duy nhất không thể trùng lặp. Và đó là vai trò của ID. Đúng. Hãy xem, chúng tôi chỉ đếm ngược từ con số 0 và sau đó cho mỗi vai trò, chúng tôi tính nó lên.

Và đó sẽ luôn là duy nhất. Bất kể tất cả các dữ liệu khác có giống nhau hay không, thì (khóa chính) sẽ là mã định danh duy nhất. Và chúng ta cũng cần cho Vexanium biết cột nào sẽ là khóa chính khi chúng ta tạo cấu trúc. Và bạn sẽ thấy điều này khi chúng tôi thực sự lập trình nó. Nhưng tôi sẽ nhấn mạnh ý tưởng ở đây vì đó sẽ là chìa khóa chính của chúng tôi. Sau đó, khóa chính được sử dụng để thực hiện tra cứu trong bảng. Và bạn sẽ thấy điều này khi lập trình.

Chỉ mục phụ

Và sau đó chúng ta cũng sẽ đi vào một thứ được gọi là chỉ mục phụ và bảng đa chỉ mục, nơi bạn có thể chỉ định nhiều cột hơn sẽ lập chỉ mục bảng để chúng tôi cũng có thể thực hiện tìm kiếm bằng cách sử dụng, ví dụ: tên và đường phố, bởi vì điều đó rõ ràng là quan trọng. Có thể bạn muốn tìm tất cả mọi người sống ở Stockholm. Chúng ta cần phải làm được điều đó. Chúng tôi làm điều đó bằng một chỉ mục phụ và chúng tôi cũng sẽ làm điều đó.

Nhưng khóa chính là một yêu cầu. Chúng ta phải có một khóa chính. Vì vậy, hãy chắc chắn rằng họ hiểu điều đó. Và nếu bạn có bất kỳ câu hỏi nào, bạn có thể để lại trong diễn đàn. Với điều đó đã được nói, chúng ta sẽ chuyển sang video tiếp theo ở đây.

Chúng ta sẽ nói về cách chúng ta có thể sử dụng các bảng cùng với việc sửa đổi phạm vi để tìm một số chức năng thú vị trong blockchain.

Quyền truy cập bảng

Một phần quan trọng khác trong cách chúng tôi xử lý các bảng trong e-mail là cách chúng tôi truy cập chúng và các khả năng khác nhau mang lại cho chúng tôi về mặt chức năng khi chúng tôi truy cập các bảng trong IA, bất kể chúng tôi muốn đọc, viết hoặc sửa đổi khách hàng tiềm năng, chúng tôi luôn truy cập chúng theo cách này.

Phạm vi toàn cầu

Vì vậy, giả sử chúng tôi có một bảng được gọi là những người mà chúng tôi đã tạo. Sau đó, chúng tôi truy cập nó bằng cách chỉ định tài khoản nơi nó được lưu trữ và điều đó có nghĩa là tài khoản mà hợp đồng thông minh được triển khai ở vị trí của bảng. Vì vậy, giả sử chúng tôi đã triển khai hợp đồng nhân sự cho một tài khoản được đặt tên là mọi người. Tài khoản sẽ là. Mọi người, đúng rồi, và sau đó là phạm vi của chế độ xem mà chúng ta xem bảng, phạm vi mà chúng ta xem bảng, vì vậy nó thực sự giống như chúng ta có thể có nhiều bảng trong cùng một bảng.

Nó gần giống như có các tab này trong Excel. Đúng. Vì vậy, có ba cách để bạn có thể truy cập một bảng và sử dụng phạm vi. Và cái đầu tiên chỉ là toàn cầu. Và điều đó có nghĩa là chúng ta chỉ có một bảng với một phạm vi. Vì vậy, chúng tôi luôn luôn truy cập vào bảng bởi mọi người và những người trong trường. Điều đó sẽ chỉ cung cấp cho chúng ta cùng một bảng mọi lúc vì bảng nằm ở tài khoản mọi người và phạm vi là mọi người. Đúng? Nó chỉ là một bảng.

Bạn nhận được tất cả dữ liệu, chúng tôi viết tất cả dữ liệu, họ đọc tất cả dữ liệu. Đó được gọi là phạm vi toàn cầu.

Truy cập bảng với phạm vi nhóm

Cách thứ hai chúng ta có thể sử dụng phạm vi là sử dụng nó với nhóm. Vì vậy, giả sử rằng chúng tôi có bộ nhớ người, địa chỉ, sổ sách, bất cứ thứ gì và nó được lưu trữ trong tài khoản mọi người. Nhưng sau đó chúng tôi sử dụng hai phạm vi khác nhau để truy cập nó.

Chúng tôi sử dụng phạm vi, nam hoặc nữ. Vì vậy, khi chúng ta muốn đọc hoặc ghi một người nam vào cơ sở dữ liệu, vào bảng, chúng ta sử dụng phạm vi nam và ngược lại đối với nữ. Và tôi đã chứng minh điều này ở đây. Ý tôi là, đây là tài khoản của mọi người. Chúng tôi có hai quan điểm khác nhau của bảng này đối với các phạm vi khác nhau. Chúng tôi có phạm vi nam và phạm vi nữ. Và đây là những bảng riêng biệt, mặc dù chúng nằm trên cùng một tài khoản.

Vì vậy, bảng này, phạm vi của bảng này sẽ có tất cả nam và phạm vi này sẽ có tất cả nữ. Vì vậy, đó là cách chúng ta có thể sử dụng các phạm vi để sắp xếp có các khung nhìn khác nhau. Vì vậy, bạn có thể truy cập nó bởi mọi người, nam hay nữ. Vì vậy, bạn sẽ bạn sẽ, phải. Người ở đây, nữ ở đây hoặc nam ở đây. Vì vậy, đó là cách bạn có thể sử dụng các phạm vi khác nhau để đạt được các loại phân loại nhóm khác nhau. Phần thứ ba là những gì tôi đã viết ở đây là phạm vi cá nhân.

Quyền truy cập bảng với phạm vi riêng lẻ

Và đây là nơi bạn sử dụng phạm vi và bạn sử dụng tên tài khoản người gửi trong hầu hết các trường hợp làm phạm vi. Vì vậy, giả sử tôi đã gọi bàn mọi người để lấy thông tin. Sau đó, tôi sẽ sử dụng tên tài khoản iOS của mình cho phạm vi. Tôi sẽ sử dụng có lẽ Philip.

Vì phạm vi và sau đó tôi sẽ chỉ lấy những người mà bạn biết đấy, điều đó phụ thuộc vào những gì tôi đã thêm, nhưng trong trường hợp này, ví dụ về địa chỉ, có lẽ tôi chỉ hiểu đúng. Và nếu bạn gọi hàm này để lấy dữ liệu, bạn sẽ sử dụng tài khoản, tên và phạm vi của mình và bạn sẽ nhận được toàn bộ tập dữ liệu khác. Điều này có lẽ không thực tế lắm trong ví dụ về con người và địa chỉ, nhưng hãy giả sử thay vào đó bạn đã có một bảng về quyền sở hữu.

 

Sau đó, bất cứ khi nào tôi gọi điều này, tôi sẽ gọi tài khoản mã thông báo, tôi sẽ gọi nó với phạm vi Phillips phạm vi của tôi. Sau đó, tôi sẽ nhận được tất cả các bản dùng thử mã thông báo và bạn có thể làm điều tương tự. Vì vậy, theo cách đó, nó trở nên khá thiết thực đối với từng cấp học. Vì vậy, đây là ba cách phổ biến nhất để sử dụng phạm vi. Và nó quan trọng. Ý tôi là, bảng toàn cầu là bảng phổ biến nhất mà chúng tôi hầu như luôn sử dụng trong các ví dụ mà chúng tôi sẽ làm tương tự cho kế toán, bởi vì sau đó chúng tôi sẽ chỉ nhận được một bảng toàn cầu và nó khá dễ sử dụng.

 

Nhưng bạn có thể sử dụng phạm vi. Điều quan trọng là phải hiểu cách hoạt động của nó vì nếu không, bạn có thể bị nhầm lẫn với các tên tài khoản khác nhau mà chúng tôi đặt ở đó. Vì vậy, đó là lý do tại sao tôi muốn bạn hiểu nếu bạn có bất kỳ câu hỏi nào về phạm vi, về bảng và cách chúng tôi sử dụng chúng, vui lòng để lại chúng trong diễn đàn và tôi sẽ gặp lại bạn trong video tiếp theo.

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *