Đ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 table
là article
, 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ểuint
như đã biết khi học C.Name
của các bản ghi lưu kiểuchar
với độ rộng tối đa là35
ký tự.CountryCode
kiểuchar
với độ rộng tối đa3
ký tự.District
kiểuchar
với độ rộng tối đa20
ký tự.Population
kiểuint
.
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.