1. Trang chủ
  2. » Công Nghệ Thông Tin

TỔNG QUAN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL

56 21 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 1,82 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đây là bộ slide về đề tài TỔNG QUAN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL gồm 5 phần: GIỚI THIỆU TỔNG QUAN VÀ LỊCH SỬ PHÁT TRIỂN, HƯỚNG DẪN CÀI ĐẶT, QUẢN TRỊ VẬN HÀNH, QUẢN TRỊ THÀNH PHẦN, QUẢN TRỊ NGƯỜI DÙNG CỦA HỆ QUẢN TRỊ.

Trang 1

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Trang 2

01 02 CÀI ĐẶT

GIỚI THIỆU TỔNG QUAN, LỊCH SỬ

QUẢN TRỊ NGƯỜI DÙNG

05

QUẢN TRỊ

VẬN HÀNH

04 QUẢN TRỊ THÀNH PHẦN

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

MYSQL

Trang 3

01 • MySQL là một hệ quản trị cơ sở dữ liệu

mở, hoàn toàn miễn phí.

• MySQL được sử dụng phổ biến trong lập trình website động với PHP, chúng ta hay gọi chung là lập trình PHP & MySQL.

• MySQL cung cấp cho chúng ta cách truy vấn, thao tác với dữ liệu tương tự như SQL nhưng ở mức độ đơn giản hơn.

• MySQL Workbench là một công cụ thiết kế

cơ sở dữ liệu đa nền tảng được phát triển bởi MySQL Nó là một ứng dụng thành công phát triển từ dự án DBDesigner4.

MYSQL LÀ GÌ?

Trang 4

01 ✓ Là phần mềm mã nguồn mở => người dùng không phải trả tiền để sử dụng

✓ Sở hữu nhiều chức năng của các hệ quản trị

cơ sở dữ liệu mạnh mẽ và đắt tiền nhất.

✓ Sử dụng một dạng chuẩn của ngôn ngữ dữ liệu SQL nổi tiếng.

✓ Hoạt động trên nhiều hệ điều hành với nhiều ngôn ngữ đa dang như: PHP, PERL, C, C ++, JAVA, v.v.

✓ Hỗ trợ cơ sở dữ liệu lớn Giới hạn kích thước tệp tối đa lên đến 8 triệu terabyte (TB).

✓ Cho phép các lập trình viên sửa đổi phần mềm MySQL để phù hợp với môi trường cụ thể của riêng họ.

ƯU ĐIỂM CỦA

MYSQL

Trang 5

01 LỊCH SỬ PHÁT TRIỂN

1995

MySQL AB thành lập

bởi Michael Widenius,

David Axmark, Allan

Larsson tại Thụy Điển

ra đời phiên bản đầu

tiên

2000

MySQL đi theo hướng mã nguồn mở, phát hành phần mềm theo điều khoản GPL

=> Doanh thu giảm 80%

2002 - 2003

MySQL ra mắt tại Thụy Điển với 3 triệu người dung, có 4 triệu lượt cài đặt hoạt động và hơn 30.000 lượt tải mỗi ngày

Kết thúc năm 2003 với doanh thu 12 triệu đô la.

Chuyển từ mô hình cấp phép kép OEM trả phí 1 lần sang thị trường doanh nghiệp, tập trung vào doanh thu định kì

từ người dung cuối

2004

Ra mắt MySQL 5.0 được mô phỏng theo mạng Redhat Kết thúc năm với 34 triệu đô la doanh thu dựa trên 3400 khách hàng.

2005

2006 - 2007

MySQL có 320 nhân viên tại 25 quốc

gia, 70% làm việc tại nhà, ước tính có

33% thị phần dựa trên cơ sở cài đặt,

0,2% thị phần đo bằng doanh thu

Doanh thu năm 2007 là 75 triệu đô.

Sun Microsystems mua lại MySQL AB với giá xấp xỉ 1 tỷ USD.

2008

Tập đoàn Oracle thâu tóm Sun Microsystems Đội ngũ của MySQL tách MySQL ra thành 1 nhánh riêng gọi là MariaDB Oracle tiếp tục phát triển MySQL lên phiên bản 5.5.

2010

Lần lượt cho ra mắt các phiên bản mới từ 5.6 đến 8.0 với những tính năng vượt trội

2013-2021

Trang 6

CÀI ĐẶT MYSQL

02

 Lưu ý: Đối với hệ điều hành Windows 7 trở xuống cần cài đặt 2 thư viện mở rộng(Microsoft NET Framework 4 Client Profile, Visual C++ Redistributable for Visual Studio 2013) trước khi bắt đầu cài MYSQL

Trang 7

02 Cài đặt

Truy cập vào trang web

“https://dev.mysql.com/” tải MySQL

Community Chọn MySQL Community

Server.

1

Trang 8

02 Cài đặt

Chọn nền tảng máy của bạn và chọn Go

to Download Page.

2

Trang 9

02 Cài đặt

Chọn bản Community phù hợp với cấu hình máy tính và chọn Download.

3

Trang 10

02 Cài đặt

Tại trang tiếp theo, chọn No thanks, just

start my download

4

Trang 11

02 Cài đặt

Chọn nơi tải về và chọn Save.

5

Trang 12

02 Cài đặt

Nhấn đúp vào file vừa tải và đợi một chút

để chương trình chuẩn bị cài đặt

6

Trang 13

02 Cài đặt

Chọn loại cài đặt theo nhu cầu sử dụng

của bạn và chọn Next.

7

Trang 14

02 Cài đặt

Nhấn Next.

8

Trang 15

02 Cài đặt

Bộ cài hiển thị danh sách các gói sẽ được

cài vào, chọn Execute.

9

Trang 16

02 Cài đặt

Đợi một chút để chương trình kiểm tra cài

đặt và chọn Next.

10

Trang 17

02 Cài đặt

Bộ cài đặt tiếp tục tới phần cấu hình

MySQL Server, chọn Next.

11

Trang 18

02 Cài đặt

Chọn tính khả dụng cho nhu cầu cài đặt,

chọn Next.

12

Trang 20

02 Cài đặt

Tại mục Phương thức chứng thực

(Authentication method) chọn đặt mật khẩu khi sử dụng hay sử dụng chung Ở đây mình sẽ chọn sử dụng với mật khẩu

Tiếp đến chọn Next.

14

Trang 21

02 Cài đặt

Đặt mật khẩu và xác nhận lại mật khẩu

của bạn, tiếp đến chọn Add user để thêm

tài khoản sử dụng.

15

Trang 22

02 Cài đặt

Đặt tên tài khoản và nhập mật khẩu Kế

tiếp chọn Next

16

Trang 23

02 Cài đặt

Chọn Next

17

Trang 24

02 Cài đặt

Chọn Next

18

Trang 25

02 Cài đặt

Ở mục Áp dụng cấu hình (Apply

configuration) , chọn Execute để áp dụng

19

Trang 26

02 Cài đặt

Chọn Finish để kết thúc quá trình thiết lập

bảo mật 20

Trang 27

02 Cài đặt

Tại mục Product Configuration,

chọn Next.

21

Trang 28

02 Cài đặt

Chọn Finish.

22

Trang 30

QUẢN TRỊ VẬN HÀNH

❖ Biến hệ thống và biến trạng thái

03

Trang 31

Giao diện khởi động

Khi khởi động phầm mềm, màn hình sẽ hiển thị giao diện chào mừng và hỗ trợ

các liên kết đến Browse

Documentation >, Read the Blog > và Discuss

on the Forums >.

Ngoài ra, ở giao diện này

có thể truy cập nhanh đến MySQL connections,

Models, và The MySQL Workbench Migration Wizard.

Trang 32

Giao diện khởi động

( ) thêm một mô hình mới.

( ) duyệt hoặc mở các mô hình đã lưu

đã có thể bắt đầu quá trình

di chuyển, mở quản trị viên ODBC hoặc xem tài liệu.

The MySQL Workbench Migration Wizard

Trang 33

BIẾN HỆ THỐNG –

BIẾN TRẠNG THÁI

Thẻ “biến hệ thống và biến trạng thái” đặt ở khu vực bộ

điều hướng (Navigator) hoặc nhấp vào Server -> Status and System Variables từ thanh menu

Trong biến hệ thống liệt kê tất cả các biến hệ thống toàn cầu đối với máy chủ đang hoạt động Mỗi biến có 3 đặc trưng: tên biến, giá trị biến, mô tả cho biến

Biến hệ thống cố định (Persist System Variables): có thể duy trì một hoặc nhiều biến hệ thống để các biến được cập nhật trong khi hệ thống hoạt động và liên tục khi khởi động lại

Nhóm biến tùy chỉnh (Custom Variable Grouping): đây là nhóm biến do người dung tạo từ nhóm biến hệ thống, biến trạng thái

Trang 34

cơ sở dữ liệu lớn, quan trọng cần được phục hồi nhanh chóng khi xảy ra

Sao lưu logic

• Sao lưu thư mục và tệp cơ sở dữ liệu bao gồm tệp tin nhật ký hoặc tệp tin cấu hình

• Thực hiện nhanh, đầu ra nhỏ gọn, tính di động thấp

• Có thể sao lưu khi máy chủ MySQL ngoại tuyến.

• Thực hiện chậm, đầu ra lớn, tính di động cao.

• Chỉ sao lưu khi máy chủ đang hoạt động

• Công cụ sao lưu gồm chương trình mysqldump và câu lệnh SELECT INTO OUTFILE.

• Tệp kết xuất định dạng SQL có thể khôi phục bằng máy khách MySQL

• Để tải các tệp văn bản được phân tách thì sử dụng lệnh LOAD DATA hoặc ứng dụng khách mysqlimport.

Trang 35

SAO LƯU VÀ PHỤC HỒI

SAO LƯU TRỰC TUYẾN SAO LƯU NGOẠI TUYẾN

Bản sao lưu ít xâm phạm đến các

máy khách khác, người dùng có

thể kết nối với máy chủ MySQL

trong quá trình sao lưu và có thể

truy cập dữ liệu tùy thuộc vào hoạt

động họ cần thực hiện

Cần đặt khóa thích hợp để không

diễn ra các sửa đổi dữ liệu làm

ảnh hưởng đến tính toàn vẹn của

bản sao lưu

Khách hàng có thể bị ảnh hưởng bất lợi vì máy chủ không khả dụng trong quá trình sao lưu Vì lý do đó, các bản sao lưu như vậy thường được lấy từ một bản sao có thể được thực hiện ngoại tuyến mà không ảnh hưởng đến tính khả dụng

Thủ tục sao lưu đơn giản hơn vì không có khả năng bị can thiệp từ hoạt động của máy khách

Sự khác biệt giữa khôi phục trực tuyến và ngoại tuyến cũng tương tự như sao lưu Tuy nhiên trong quá trình sao lưu trực tuyến, khách hàng có thể đọc dữ liệu khi hệ

thống đang sao lưu nhưng đối với quá trình khôi phục thì máy khách sẽ bị ngăn

chặn quyền truy cập vào dữ liệu

Trang 36

QUẢN TRỊ THÀNH PHẦN

KIỂU DỮ

LIỆU BẢNG

KHUNG NHÌN

THỦ TỤC

LƯU TRỮ

CHỈ MỤC BẪY LỖI

04

Trang 38

KIỂU DỮ LIỆU

Kiểu dữ liệu CHAR - VARCHAR và BINARY - VARBINARY

Trang 39

KIỂU DỮ LIỆU

➢ BLOB là “đối tượng lớn nhị

phân” lưu trữ lượng lớn dữ

liệu nhị phân, có phân biệt

chữ hoa, chữ thường.

➢ TEXT cũng chứa một lượng

lớn dữ liệu., giá trị lưu trữ

được coi như một chuỗi các

ký tự có mã hóa, không phân

biệt chữ hoa, chữ thường.

➢ Cả hai có độ dài tối đa là

65535.

Kiểu dữ liệu BLOB và TEXT

Trang 40

Bảng MyISAM chỉ đọc để tăng tính truy vấn dữ liệu Do đó bảng MyISAM hỗ trợ chỉ mục toàn văn bản (full text index) và các đặc tính cho việc tìm kiếm

Hỗ trợ khả năng lưu trữ cao (256TB)

có tối đa là 64 khóa và chiều dài tối đa của khóa là 1024byte

MyISAM

Hỗ trợ giao dịch: commit rollback crash-recovery nhằm đảm bảo sự an toàn cho dữ liệu và hỗ trợ khóa dòng

-Tổ chức dữ liệu thông qua khóa chính, khóa ngoại, các thao tác thêm - cập nhật - xóa đều được kiểm tra, có thể dùng phép kết giữa các bảng có kiểu lưu trữ khác

Tập tin dữ liệu của InnoDB có thể chuyển từ hệ thống này sang hệ thống khác

InnoDB

❑Các loại bảng trong MySQL

Trang 41

Là bảng ảo với sự kết hợp của nhiều bảng MyISAM có cấu trúc tương tự, có quy tắc giống như MyISAM.

Sử dụng để tăng tốc độ hiệu suất trong truy vấn, cho phép thực hiện các thao tác SELECT, INSERT, UPDATE, DELETE trên bảngMERGE

MERGE

Bảng Heap được lưu trữ trong

bộ nhớ nên được thao tác

nhanh nhất, đôi khi gây tràn

dữ liệu của DB không thể chuyển đổi giữa các

Trang 42

Thêm dữ liệu vào

bảng

INSERT INTO table_name VALUES (value1,value2,value3);

INSERT INTO table_name (column1,column2,column3) VALUES

Xoá bảng DROP TABLE table_name;

Trang 43

View là tập hơp các câu truy vấn

SELECT được lưu lại như bảng, sau

đó người dùng có thể truy vấn dữ

liệu từ view như thực hiện với bảng.

View có đầy đủ các tính chất của một

bảng nên có thể truy vấn bằng các

lệnh T-SQL.

VIEW

Ưu điểm khi sử dụng View

o Đơn giản háo các truy vấn dữ liệu phúc tạp

o Cung cấp đầy đủ, chính xác dữ liệu người dùng cần

o Giúp bảo mật cơ sở dữ liệu gốc.

Trang 44

❑ Tạo View

Giải thích:

Giải thuật (Algorithms): quyết định cơ chế tạo ra bảng ảo, gồm

MERGE, TAMPTABLE và UNDEFINED (thông thường sử dụng

MERGE hoặc UNDEFINED)

Tạo khung nhìn mới cần lưu ý

▪ Không sử dụng biến local, user hay session

▪ Những lệnh dịch sẵn cũng không thể sử dụng

▪ Không thể tạo trigger cho bảng ảo

▪ Bảng tạm hay các bảng ảo khác cũng không được sử dụng làm nguồn dữ liệu cho câu truy vấn này

[ALGORITHM = {MERGE | TEMPTABLE | UNDEFINED}]

CREATE VIEW [database_name]

[view_name]

AS

[SELECT statement]

Trang 45

Đổi tên View RENAME TABLE view_name TO new_view_name;

Xoá View DROP VIEW [IF EXISTS] view_name;

Trang 46

THỦ TỤC LƯU TRỮ

Stored Procedure tương tự như thủ

tục hoặc phương thức trong các

ngôn ngữ lập trình.

Cơ chế của Stored Procedure là các câu truy

vấn sẽ được biên dịch và lưu trữ sẵn trong bộ

nhớ của hệ quản trị cơ sở dữ liệu, các ứng

dụng gửi tên của Stored Procedure cần sử

dụng, như vậy truy vấn sẽ được thực thi ngay

thay vì phải thông qua bước biên dịch.

Ưu điểm:

▪ Tăng hiệu suất xử lý của ứng dụng web

▪ Giảm thời gian giao tiếp giữa các ứng dụng với máy chủ MYSQL

▪ Dễ sử dụng và ứng dụng nhìn minh bạch hơn

▪ Giúp nâng cao tính bảo mật dữ liệu

Nhược điểm:

▪ Nếu tạo ra quá nhiều thủ tục thì hệ quản trị

sẽ hao tốn dung lượng lưu trữ lớn

▪ MySQL thì không có tool hỗ trợ Debug Store.

Trang 47

- DELIMITER $$ dùng để phân cách bộ nhớ lưu trữ

thủ tục Cache và mở ra một ô lưu trữ mới

- CREATE PROCEDURE là từ khoá dùng để khai

báo tạo một Procedure mới, trong đó

procedureName là tên của thủ tục

- BEGIN và END; $$ dùng để khai báo bắt đầu của

Procedure và kết thúc Procedure

- DELIMITER; là thông điệp để đóng lại ô lưu trữ

❑ Khai báo biến và gán giá trị

DECLARE variable_name datatype(size) DEFAULT default_value

-SET variable_name = 'value';

Giải thích:

- DECLARE: là từ khóa tạo biến

- DEFAULT default_value: là gán giá trị mặc định

- variable_name là tên biến

- datatype(size) là kiểu dữ liệu của biến và kích thước của nó

Trang 48

THỦ TỤC LƯU TRỮ

❑ Các thao tác khác

Gọi thủ tục đã khai báo CALL procedure_name ([param1, param2,…]);

Xoá thủ tục DROP PROCEDURE IF EXISTS procedure_name

❑ 3 loại tham số trong Store Procedure

• IN: Đây là tham số mặc định (nghĩa là nếu người dùng không chỉ

định loại tham số truyền vào thì được mặc định là IN).

• OUT: Đây là loại tham số chứa giá trị đầu ra trong quá trình

chương trình thực hiện một Procedure và giá trị đầu vào được mặc

định là giá trị NULL.

• INOUT: là tham số kết hợp giữa IN và OUT Nghĩa là có thể gán giá

trị trước và có thể bị thay đổi trong quá trình thực hiện Procedure.

Trang 49

CHỈ MỤC (INDEX)

Chỉ mục (Index) là một mô hình bảng tra cứu được Database Search Engine sử dụng để tăng tốc độ và hiệu suất truy xuất dữ liệu thông qua con trỏ

Một chỉ mục giúp tăng tốc các truy vấn SELECT cũng như các mệnh đề WHERE, nhưng làm chậm việc nhập dữ liệu, với các lệnh UPDATE và INSERT Các chỉ mục có thể được tạo hoặc xóa mà không gây ảnh hưởng gì đến

dữ liệu

Cấu trúc của Index

o Cột Search Key: chứa bản sao các giá trị của cột được tạo Index

o Cột Data Reference: chứa con trỏ trỏ đến địa chỉ của bản ghi có giá trị cột index tương ứng

Trang 50

Một số lưu ý để sử hiệu

chỉ mục hiệu quả

CHỈ MỤC (INDEX)

Nên Không nên

Tạo chỉ mục đối với cột thường được

truy vấn trong mệnh đề WHERE, JOIN

và ORDER BY

Không dùng chỉ mục cho các bảng thường xuyên có UPDATE, INSERT

Dùng thuộc tính NOT NULL cho những

cột được thiết lập chỉ mục

Không dùng chỉ mục cho các cột mà giá trị thường xuyên bị thay đổi

Dùng câu lệnh EXPLAIN để biết được

MySQL chạy truy vấn như thế nào Nó

thể hiện thứ tự các câu lệnh được thực

hiện hỗ trợ viết truy vấn tối ưu, chọn cột

để lập chỉ mục dễ dàng hơn

Không nên tạo chỉ mục trên các bảng có

ít dữ liệu

Trang 51

CHỈ MỤC (INDEX)

❑ Các thao tác khác

Tạo chỉ mục cơ bản

CREATE INDEX index_name ON table_name;

Thêm index cho bảng, với index

mang tính duy nhất nhưng có thể

null

ALTER TABLE table_name ADD UNIQUE

index_name (column 1, column 2, )

Thêm index cho bảng, có thể trùng

lặp ALTER TABLE table_name ADD INDEX

index_name (column 1, column 2, )

Thêm index đặc biệt thường cho tìm

kiếm văn bản ALTER TABLE table_name ADD FULLTEXT

index_name (column 1, column 2, )Xóa index

DROP INDEX index_name;

Trang 52

BẪY LỖI (TRIGGER)

Triggers là một đối tượng cơ sở dữ liệu trong MySQL được liên kết với một bảng Trigger được thực thi tự động khi xuất hiện một hành động thay đổi trong bảng, nên được ứng dụng để tự động kiểm tra dữ liệu, đồng bộ hóa dữ liệu, đảm bảo các mối quan hệ giữa các bảng

Một số giới hạn cần chú ý khi sử dụng trigger:

• Không thể gọi thủ tục thường trú từ trigger

• Không thể tạo ra trigger theo dõi bảng ảo hay bảng tạm

• Không thể sử dụng giao tác trong trigger

• Trigger không cho phép sử dụng lệnh RETURN

• Sử dụng trigger sẽ làm ảnh hưởng đến bộ nhớ tạm danh cho lệnh truy vấn

• Tất cả các trigger của cơ sở dữ liệu không được trùng tên

Trang 53

BẪY LỖI (TRIGGER)

Dễ dàng kiểm tra tính toàn vẹn của cơ

sở dữ liệu Trigger có thể bắt lỗi logic

nghiệp vụ (business logic) ở mức cơ

sở dữ liệu.

Trigger chỉ là một phần mở rộng của việc kiểm tra tính hợp lệ của dữ liệu chứ không thay thế được hoàn toàn công việc này.

Có thể dùng trigger là một cách để

thay thế việc thực hiện những công

việc hẹn theo giờ theo lịch.

Trigger hoạt động ngầm ở trong csdl, không hiển thị ở tầng giao diện Do

đó, khó chỉ ra được điều gì xảy ra ở tầng cơ sở dữ liệu.

Trigger rất hiệu quả khi được sử dụng

để kiểm soát những thay đổi của dữ

liệu trong bảng.

Trigger thực hiện các cập nhật lên bảng dữ liệu vì thế nó làm gia tăng lượng công việc lên cơ sở dữ liệu và làm cho hệ thống chạy chậm.

BẪY LỖI (TRIGGER)

Trang 54

❑ Tạo Trigger

Giải thích:

➢ trigger_name là tên của trigger do người tạo đặt

➢ INSERT | UPDATE| DELETE: hành động được trigger kiểm soát

➢ BEFORE | AFTER: là thời điểm xác định để trigger được kích hoạt

thực hiệm nhiệm vụ

➢ ON table_name: tên bảng liên kết với trigger thực hiện hành động

➢ FOR EACH ROW là trigger sẽ duyệt qua từng dòng lệnh

➢ –statements: là nội dung trigger xử lý khi xảy ra sự kiện trên bảng

liên kết Ta sẽ dựa vào hai biến tạm là OLD và NEW để phân biệt

giữa dữ liệu trước và sau khi thay đổi

CREATE TRIGGER trigger_name

{BEFORE | AFTER} {INSERT | UPDATE| DELETE }

ON table_name FOR EACH ROW BEGIN

statements

END

BẪY LỖI (TRIGGER)

Ngày đăng: 21/11/2021, 21:46

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w