[Declarative Programming + SQL] Bài 2 – Schemas & Tables

Đang có 3 schema được định nghĩa sẵn và có chứa các bản ghi dữ liệu làm ví dụ cho người mới bắt đầu sử dụng MySQL Server. Nếu bạn để ý thì khi cài đặt có một bước nói về việc cài đặt kèm gói dữ liệu ví dụ Example Data thì chính là

Đang có 3 schema được định nghĩa sẵn và có chứa các bản ghi dữ liệu làm ví dụ cho người mới bắt đầu sử dụng MySQL Server. Nếu bạn để ý thì khi cài đặt có một bước nói về việc cài đặt kèm gói dữ liệu ví dụ Example Data thì chính là mấy cái schema này. Chẳng hạn bây giờ chúng ta cần lưu dữ liệu cho một trang blog cá nhân thì chúng ta có thể tạo ra một cái schema khác có tên là blog hoặc tên của bạn.

Schemas

Thực ra nếu như sử dụng định nghĩa cứng thì rất có thể chúng ta sẽ phải hơi lan man dài dòng. Lý do là bởi vì từ schema được MySQL sử dụng ở đây khi đem qua một cái RDBMS khác ví dụ như cái SQL Server - Microsoft thì sẽ tương đương với từ database. Đại ý là một cái đồ hình lược giản để mô tả một nhóm các đối tượng dữ liệu mà chúng ta cần quản lý trong khi xây dựng một phần mềm nào đó.

Hãy xem thử nội dung một schema có sẵn và chúng ta sẽ học dần được cách tạo ra một schema để sử dụng theo ý muốn. Chọn cái world đi, đang có dữ liệu về thế giới mà chúng ta đang sống. 😄

Như vậy là trong mỗi schema sẽ có các bảng dữ liệu lưu trong mục Tables. Ở đây chúng ta có các bảng dữ liệu về các thành phố city, các quốc gia country, và các ngôn ngữ được sử dụng ở các quốc gia countrylanguage.

Tables

Mỗi bảng dữ liệu table biểu thị cho một đối tượng dữ liệu mà chúng ta cần quản lý trong một schema. Ví dụ như khi tạo một schema để quản lý dữ liệu của một blog cá nhân thì chúng ta có thể có các tablearticle, category, tags, v.v… Và hiển nhiên mỗi bảng dữ liệu sẽ có chứa các bản ghi có các trường dữ liệu do chúng ta đặt tên ví dụ như article thì có id, title, content, category-id, v.v…

Trong cái bảng điều khiển schemas của MySQL Workbench vừa rồi thì bên trong mỗi table chúng ta sẽ có các bản ghi dữ liệu trải dọc xuống như các bảng spreadsheet tạo ra bởi LibreOffice Calc hoặc MS Excel. Và như vậy thì tên của các cột column chính là tên của các trường dữ liệu mà chúng ta quy định.

Lúc này ở ô Infomation bên dưới Navigator chúng ta có thể nhìn thấy một số thông tin sơ lược về kiểu dữ liệu của các ô trong bảng. Ví dụ là ở bảng city thì chúng ta sẽ có:

  • ID của các bản ghi lưu kiểu int như đã biết khi học C.
  • Name của các bản ghi lưu kiểu char với độ rộng tối đa là 35 ký tự.
  • CountryCode kiểu char với độ rộng tối đa 3 ký tự.
  • District kiểu char với độ rộng tối đa 20 ký tự.
  • Population kiểu int.

Ok.. như vậy là chúng ta đang có cái CountryCode kia có lẽ đang trỏ tới các bảng dữ liệu còn lại. Và nếu như chúng ta thực hiện một thao tác truy vấn liên hợp sẽ có thể biết được một thành phố trong bảng city thuộc quốc gia nào trong bảng country nào và người dân ở đó đang nói những ngôn ngữ nào trong bảng countrylanguage.

Tuy nhiên trước hết chúng ta có lẽ nên điểm qua các kiểu dữ liệu quy ước trong MySQL xem có gì khác so với các kiểu dữ liệu mà chúng ta đã học trong C không. Với cách biểu thị như chúng ta đã thấy thì chắc chắn đây cũng là hình thức định kiểu dữ liệu tính static typing. Sau đó thì chúng ta sẽ quan tâm tới các công cụ khác mà MySQL cung cấp.

[Declarative Programming + SQL] Bài 3 – Data Types

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ