Cơ sở dữ liệu là một tập hợp các bản ghi có tổ chức và có quan hệ với nhau. Cơ sở dữ liệu bao gồm cấu trúc [Lược đồ], kiểu dữ liệu và các quy tắc lưu trữ và sử dụng dữ liệu khác nhau. Các bản ghi trong cơ sở dữ liệu tiếp tục cập nhật
Do đó, cơ sở dữ liệu được thiết kế để phù hợp với sửa đổi thường xuyên. Họ sử dụng các lệnh DML [Ngôn ngữ sửa đổi dữ liệu] để điều chỉnh dữ liệu được lưu trữ
Bạn có thể làm việc với cơ sở dữ liệu có kích thước bất kỳ và tạo cơ sở dữ liệu đó theo cách thủ công hoặc sử dụng mã được xác định trước. Hơn nữa, bạn có thể triển khai Hệ thống quản lý cơ sở dữ liệu để kiểm soát tất cả các hoạt động liên quan đến cơ sở dữ liệu của bạn
Lược đồ về cơ bản là định nghĩa cấu trúc của toàn bộ cơ sở dữ liệu. Khi bạn yêu cầu lược đồ của cơ sở dữ liệu, bây giờ nó không còn phải sửa đổi thường xuyên nữa vì nó sẽ làm sai lệch tổ chức dữ liệu bên trong Cơ sở dữ liệu
Lược đồ của cơ sở dữ liệu được hiển thị bằng Sơ đồ lược đồ bao gồm sự sắp xếp trong đó tất cả các Bảng được kết nối. Ngoài ra, sơ đồ lược đồ hiển thị loại dữ liệu mà các bảng này chứa các khóa chính riêng lẻ của chúng
Các câu lệnh DDL [Ngôn ngữ định nghĩa dữ liệu] cho phép bạn quản lý Lược đồ cơ sở dữ liệu của mình. Sử dụng các lệnh DML, bạn có thể cung cấp tên cho các bảng và xác định các ràng buộc liên quan đến chúng.
Lược đồ MySQL hoạt động như thế nào?
Để làm việc với Lược đồ MySQL, bạn có thể sử dụng các chức năng sau
Sự sáng tạo
Bạn có thể sử dụng câu lệnh “CREATE TABLE” để tạo một bảng trống mới bằng cú pháp sau
CREATE TABLE [IF NOT EXISTS] `TableName` [`fieldname` dataType [optional parameters]] ENGINE = storage Engine;
Mã ví dụ sau tạo tên bảng Thành viên
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` [
`membership_number` INT AUTOINCREMENT ,
`full_names` VARCHAR[150] NOT NULL ,
`gender` VARCHAR[6] ,
`date_of_birth` DATE ,
`physical_address` VARCHAR[255] ,
`postal_address` VARCHAR[255] ,
`contact_number` VARCHAR[75] ,
`email` VARCHAR[255] ,
PRIMARY KEY [`membership_number`] ]
ENGINE = InnoDB;
Tất cả các khả năng, không có chữa cháy
Sử dụng tập lệnh thủ công và mã tùy chỉnh để di chuyển dữ liệu vào kho rất cồng kềnh. Sự cố thường xuyên, lỗi đường ống và thiếu giám sát luồng dữ liệu khiến việc mở rộng hệ thống như vậy trở thành cơn ác mộng. Nền tảng đường dẫn dữ liệu đáng tin cậy của Hevo cho phép bạn thiết lập các đường dẫn dữ liệu không mã và không cần bảo trì chỉ hoạt động
- Độ tin cậy ở quy mô. Với Hevo, bạn sẽ có được kiến trúc chịu lỗi đẳng cấp thế giới, có khả năng mở rộng quy mô mà không làm mất dữ liệu và độ trễ thấp.
- Giám sát và khả năng quan sát. Theo dõi tình trạng đường ống với việc tiết lộ mọi chỉ số của đường ống và luồng dữ liệu. Đưa khả năng hiển thị theo thời gian thực vào ELT của bạn bằng Cảnh báo và Nhật ký hoạt động
- Ở trong kiểm soát hoàn toàn. Khi tự động hóa là chưa đủ, Hevo cung cấp tính linh hoạt – chế độ nhập dữ liệu, quá trình nhập và tần suất tải, phân tích cú pháp JSON, bàn làm việc đích, quản lý lược đồ tùy chỉnh, v.v. – để bạn có toàn quyền kiểm soát.
- Quản lý lược đồ tự động. Việc sửa lược đồ không phù hợp sau khi dữ liệu được tải vào kho của bạn là một thách thức. Hevo tự động ánh xạ lược đồ nguồn với kho đích để bạn không phải đối mặt với các lỗi lược đồ
- Hỗ trợ khách hàng 24×7. Với Hevo, bạn không chỉ nhận được một nền tảng, bạn còn có được một đối tác cho các quy trình của mình. Khám phá sự bình yên với “Trò chuyện trực tiếp” 24/24 trong nền tảng. Hơn nữa, bạn nhận được hỗ trợ 24×7 ngay cả trong 14 ngày dùng thử miễn phí đầy đủ tính năng
- Định giá minh bạch. Nói lời tạm biệt với các mô hình định giá phức tạp và ẩn. Định giá minh bạch của Hevo mang lại khả năng hiển thị đầy đủ cho chi tiêu ELT của bạn. Chọn một kế hoạch dựa trên nhu cầu kinh doanh của bạn. Giữ quyền kiểm soát với cảnh báo chi tiêu và giới hạn tín dụng có thể định cấu hình đối với các đột biến không lường trước được trong luồng dữ liệu.
Đang tìm kiếm
Có 2 cách khác nhau để tìm kiếm dữ liệu trong Bảng MySQL
- Sử dụng mệnh đề Where. Điều này cho phép bạn tìm kiếm dữ liệu bằng câu lệnh điều kiện như hình bên dưới
SELECT actor. actor_id,
actor. first_name,
actor. last_name,
actor. last_update
FROM bollywood. actor
WHERE actor. last_name = 'khan';
- Sử dụng toán tử THÍCH. Điều này cho phép bạn tìm kiếm dữ liệu bằng thuật ngữ tương tự như hình bên dưới
SELECT first_name,
last_name,
film.title
FROM film
INNER JOIN film_actor USING[film_id]
INNER JOIN actor USING[actor_id]
WHERE title LIKE '%Academy%';
Chèn
Cú pháp dưới đây phù hợp để chèn dữ liệu vào Bảng MySQL
INSERT INTO [COLUMN_1, COLUMN_2,..]
VALUES
[VALUE_1,VALUE_2,..],
[VALUE_3,VALUE_4,..],
[VALUE_5,VALUE_6,..]
Bạn có thể sử dụng nó để chèn dữ liệu vào bảng “tblemployee” như sau
INSERT INTO tblemployee [employee_first_name, employee_last_name] values ['Nisarg','Upadhyay']
cập nhật
Bạn có thể sử dụng cú pháp đơn giản sau để cập nhật Bảng MySQL hiện có
UPDATE [LOW_PRIORITY] [IGNORE] table_name
SET
column_name1 = expr1,
column_name2 = expr2,
...
[WHERE
condition];
Ví dụ dưới đây sẽ cho phép bạn cập nhật nội dung của bảng “nhân viên”
UPDATE employees
SET
email = 'mary.patterson@classicmodelcars.com'
WHERE
employeeNumber = 1056;
sharding
Khi tải trên Cơ sở dữ liệu MySQL tăng lên, các vấn đề về hiệu suất có thể phát sinh do quy mô của dữ liệu ghi. Các doanh nghiệp giải quyết vấn đề này bằng cách triển khai Phân mảnh theo chiều ngang trong Cơ sở dữ liệu MySQL
Điều này liên quan đến việc phân vùng Cơ sở dữ liệu MySQL trên nhiều máy chủ với lược đồ giống hệt nhau
Bạn có thể tìm hiểu thêm về nó ở đây
Các loại lược đồ MySQL
Lược đồ MySQL có 2 loại chính sau
Bàn làm việc MySQL
Lược đồ thông tin cung cấp quyền truy cập vào siêu dữ liệu cơ sở dữ liệu
Lược đồ thông tin có lợi vì nó cung cấp cho bạn quyền truy cập trực tiếp vào siêu dữ liệu của cơ sở dữ liệu. Siêu dữ liệu bao gồm thông tin về tên của cơ sở dữ liệu hoặc bảng, kiểu dữ liệu cột, đặc quyền truy cập, v.v.
Đây là lý do tại sao Lược đồ thông tin đôi khi còn được gọi là từ điển dữ liệu và danh mục hệ thống. Có một số bảng chỉ đọc trong lược đồ thông tin. Chúng là dạng xem đơn giản, không phải bảng cơ sở, vì vậy bạn sẽ không tìm thấy tệp nào được liên kết với chúng.
Bạn cũng có thể chọn Lược đồ thông tin làm cơ sở dữ liệu mặc định thông qua câu lệnh USE, nhưng nó sẽ chỉ cho phép thao tác đọc trên nội dung của nó. Bạn sẽ không thể chèn, cập nhật hoặc xóa các bảng của nó
Cân nhắc thiết kế chính cho hiệu suất lược đồ MySQL
Cơ sở dữ liệu hiệu suất cao có thể thúc đẩy tăng trưởng kinh doanh của bạn. Điều này ngụ ý rằng bạn phải cố gắng tối ưu hóa lược đồ của mình để đảm bảo hiệu suất cao. Bạn có thể dựa vào các phương pháp hay nhất sau đây để thiết kế Lược đồ MySQL của mình
- Trong khi thiết kế các lược đồ MySQL, hãy hạn chế sử dụng các từ khóa dành riêng vì điều này có thể gây rắc rối vì các truy vấn trong tương lai của bạn [ngay cả với cú pháp đúng] có thể trả về lỗi.
- Đảm bảo rằng các cột của bạn có loại dữ liệu chính xác vì loại dữ liệu không đúng của một cột có thể cản trở quá trình xử lý Truy vấn MySQL của bạn
- Để giảm thiểu số chu kỳ CPU, hãy thử tạo các kiểu dữ liệu đơn giản do người dùng xác định. Tương tự như vậy khi lưu trữ dữ liệu, hãy cố gắng giữ độ dài cột ngắn. Điều này sẽ giúp bạn tiết kiệm rất nhiều bộ nhớ
- Không bao giờ chơi với các chỉ mục và nếu bạn muốn áp dụng các chỉ mục cho bảng của mình, hãy sử dụng các chỉ mục đơn giản nhất. Ngoài ra, tránh lập chỉ mục một cột hai lần. Để cải thiện việc sử dụng chỉ mục của bạn, hãy nghiên cứu cách chỉ mục MySQL có thể ảnh hưởng đến hiệu suất tổng thể của cơ sở dữ liệu
- Không bao giờ lưu trữ mật khẩu ở dạng văn bản đơn giản và tránh sử dụng các thuật toán băm dễ bị tấn công [như MD5]. Bạn có thể sử dụng BCrypt hoặc Blowfish để bảo mật mạnh hơn
- Cân nhắc lưu trữ lược đồ cơ sở dữ liệu của bạn ở dạng chuẩn hóa. Bằng cách này, mọi dữ liệu đều hiện diện ở dạng đơn giản nhất và không có dư thừa. Bình thường hóa lược đồ MySQL cũng rất cần thiết để tăng cường tính toàn vẹn của dữ liệu. Bước này có thể rất quan trọng nếu bạn đang làm việc trên các bộ dữ liệu đang phát triển
- Ưu tiên sự tiện lợi của người dùng trong khi thiết kế lược đồ. Bằng cách này, người dùng của bạn sẽ dễ dàng truy cập vào dữ liệu và sẽ làm phong phú thêm trải nghiệm của họ
- Bạn có thể thiết kế các lược đồ MySQL của mình để có hiệu suất tổng thể tốt hơn bằng cách phân tích các trường hợp sử dụng của chúng. Bằng cách này, bạn có thể xây dựng lược đồ đáp ứng nhu cầu của người dùng và cho phép họ có kết quả tốt hơn
Các bước để kiểm tra lược đồ MySQL
Bạn có thể viết một test case đơn giản cho MySQL và triển khai chúng trên Cơ sở dữ liệu của mình. Nguyên tắc đằng sau việc đánh giá các trường hợp thử nghiệm này nằm ở sự so sánh giữa đầu ra dự kiến và kết quả. Công cụ viết bài kiểm tra sẽ cung cấp tệp kết quả dự kiến và bạn có thể so sánh tệp đó với tệp đầu ra thông qua chức năng “diff”. Bạn có thể thực hiện kiểm tra Lược đồ MySQL bằng các bước sau
- Bước 1. Điều hướng đến thư mục thử nghiệm có tên “mysql-version/mysql-test”, trong đó “mysql-version” đóng vai trò là thư mục gốc. Sử dụng phổ biến sau đây để truy cập nó
- Bước 2. Bây giờ, bạn cần tạo một trường hợp thử nghiệm và lưu tệp đó với tên, ví dụ: “t/test_name. kiểm tra". Ngoài ra, sử dụng lệnh sau để tạo một tệp trống sẽ lưu trữ kết quả
touch r/test_name.result
- Bước 3. Bạn có thể thực hiện test case như sau
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` [
`membership_number` INT AUTOINCREMENT ,
`full_names` VARCHAR[150] NOT NULL ,
`gender` VARCHAR[6] ,
`date_of_birth` DATE ,
`physical_address` VARCHAR[255] ,
`postal_address` VARCHAR[255] ,
`contact_number` VARCHAR[75] ,
`email` VARCHAR[255] ,
PRIMARY KEY [`membership_number`] ]
ENGINE = InnoDB;
0- Bước 4. Giả sử rằng đầu ra của trường hợp thử nghiệm này không giống như đầu ra dự kiến. Vì vậy, hãy tạo một tệp từ chối và lưu trữ đầu ra hiện tại trong đó. Đặt tên cho tệp này, “r/test_name. Từ chối"
- Bước 5. Chạy lại bài kiểm tra, mở tệp đầu ra và kiểm tra nó. Nếu nội dung khớp với đầu ra dự kiến, hãy sao chép dữ liệu vào tệp kết quả bằng lệnh sau
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` [
`membership_number` INT AUTOINCREMENT ,
`full_names` VARCHAR[150] NOT NULL ,
`gender` VARCHAR[6] ,
`date_of_birth` DATE ,
`physical_address` VARCHAR[255] ,
`postal_address` VARCHAR[255] ,
`contact_number` VARCHAR[75] ,
`email` VARCHAR[255] ,
PRIMARY KEY [`membership_number`] ]
ENGINE = InnoDB;
1- Bước 6. Ngoài ra, bạn có thể trực tiếp tạo tệp kết quả và ghi kết quả kiểm tra vào tệp kết quả, sử dụng lệnh bên dưới
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` [
`membership_number` INT AUTOINCREMENT ,
`full_names` VARCHAR[150] NOT NULL ,
`gender` VARCHAR[6] ,
`date_of_birth` DATE ,
`physical_address` VARCHAR[255] ,
`postal_address` VARCHAR[255] ,
`contact_number` VARCHAR[75] ,
`email` VARCHAR[255] ,
PRIMARY KEY [`membership_number`] ]
ENGINE = InnoDB;
0Đó là nó. Bạn đã hoàn thành thành công quá trình Kiểm tra MySQL. Độ phức tạp của bài kiểm tra này tăng tỷ lệ thuận với số lượng bảng trong cơ sở dữ liệu của bạn
Phần kết luận
Bài viết đã giới thiệu cho các bạn về MySQL cùng với các tính năng quan trọng của nó. Nó thảo luận thêm về tầm quan trọng của Lược đồ MySQL và so sánh chúng với Cơ sở dữ liệu MySQL. Bài viết cũng thảo luận về các loại Lược đồ MySQL và liệt kê các mẹo chính mà bạn phải tuân theo để phát triển Lược đồ MySQL hiệu suất cao. Hơn nữa, nó cung cấp các bước sử dụng mà bạn có thể dễ dàng kiểm tra kết quả của Lược đồ MySQL của mình
Ghé thăm trang web của chúng tôi để khám phá HevoBây giờ, để chạy các truy vấn SQL hoặc thực hiện Phân tích dữ liệu trên dữ liệu MySQL của bạn, trước tiên bạn cần xuất dữ liệu này sang Kho dữ liệu. Điều này sẽ yêu cầu bạn tùy chỉnh mã các tập lệnh phức tạp để phát triển các quy trình ETL. Hevo Data có thể tự động hóa quy trình truyền dữ liệu của bạn, do đó cho phép bạn tập trung vào các khía cạnh khác của doanh nghiệp như Phân tích, Quản lý khách hàng, v.v. Nền tảng này cho phép bạn chuyển dữ liệu từ hơn 150 nguồn khác nhau như MySQL sang Kho dữ liệu dựa trên đám mây như Amazon Redshift, Snowflake, Google BigQuery, v.v. Nó sẽ cung cấp cho bạn trải nghiệm không rắc rối và giúp cuộc sống công việc của bạn dễ dàng hơn nhiều
Bạn muốn thử Hevo?