• Tidak ada hasil yang ditemukan

BÀI GIẢNG TUẦN 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

N/A
N/A
phan quynh

Academic year: 2023

Membagikan "BÀI GIẢNG TUẦN 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU"

Copied!
48
0
0

Teks penuh

(1)

BÀI GIẢNG TUẦN 1

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

MySQL level A

(2)

Nội dung

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

1. Dữ liệu (Data) và Cơ sở dữ liệu (Database) 2. Hệ quản trị CSDL (DBMS)

3. Hệ quản trị CSDL quan hệ (RDBMS)

4. Mô hình CSDL quan hệ và phi quan hệ

5. Ngôn ngữ SQL

(3)

❖ Hiểu về các khái niệm:

➢ Dữ liệu, cơ sở dữ liệu.

➢ Hệ quản trị CSDL quan hệ (RDBMS) và hệ quản trị CSDL (DBMS)

➢ CSDL quan hệ và phi quan hệ

➢ Ngôn ngữ SQL

❖ Phân biệt được sự khác biệt giữa hai hệ quản trị.

❖ Biết được hệ quản trị CSDL MySQL, Công cụ làm việc Workbench

Mục tiêu bài học

(4)

Dữ liệu và Cơ sở dữ liệu

MySQL level A

(5)

Dữ liệu (Data)

■ Ví dụ: Doanh thu thuần của công ty vinamilk Việt Nam Quý 2 năm 2020 và Quý 2 năm 2021 được cho dưới đây:

Đơn vị tính (tỷ đồng) Q2/2020 Q2/2021

Doanh thu thuần 15.716 15.495

Trong nước 13.251 13.364

Ngoài nước 2.465 2.131

Lợi nhuận gộp 6.854 7138

(6)

Dữ liệu (Data)

Từ bảng trên, chúng ta có thể rút ra những thông tin gì?

Một số thông tin từ ví dụ trên:

- Công ty: Vinamilk Việt Nam - Thời gian: Q2/2020 và Q2/2021

- Bảng đưa ra các thông tin: Doanh thu và Lợi nhuận - Doanh thu thuần Q2/2020: 15.716 tỷ đồng

- Doanh thu thuần Q2/2021: 15.495 tỷ đồng

- Doanh thu được tính trong 2 khu vực: Trong nước và nước ngoài

- Từ bảng dữ liệu ta có thể so sánh các chỉ số Doanh thu và Lợi nhuận giữa Q2/2020 và Q2/2021

Dữ liệu là gì?

(7)

Dữ liệu (Data)

Khái niệm: Dữ liệu (data) có nghĩa là thông tin về một thành phần nào đó trong bất kỳ lĩnh vực, công việc nào.

● Dữ liệu được biểu diễn dưới nhiều dạng khác nhau hay còn gọi là kiểu dữ liệu:

○ Dạng số (Number)

○ Dạng chữ (Text)

○ Ký hiệu (Char)

○ Hình ảnh (Image)

○ Ngày tháng (Date, Datetime),...

(8)

Dữ liệu (Data)

Thực hành 1:

Có những kiểu dữ liệu nào được mô tả trong bảng sau đây?

Thực hành

(9)

Dữ liệu (Data)

Thực hành 2:

Dưới đây là bảng lương của một nhân viên.

Có những dữ liệu nào được mô tả trong bảng?

Thực hành

(10)

Cơ sở dữ liệu (Database)

Ví dụ: Cơ sở dữ liệu Danh Sách Nhân Viên bao gồm: STT, Họ đệm, Tên, Năm

sinh, Nơi Sinh, Phái, Chức vụ:

(11)

Cơ sở dữ liệu (Database)

Ví dụ: Cơ sở dữ liệu quản lý bán hàng

gồm các dữ liệu về 3 đối tượng là Sản phẩm, Khách hàng và Đơn hàng:

- Sản phẩm: ID sản phẩm, Tên sản phẩm, Nhà cung cấp

- Khách hàng: Tên công ty, Tên liên hệ, Họ

- Đơn hàng: ID đơn hàng, Khách hàng,

Nhân viên

(12)

Cơ sở dữ liệu (Database)

● CSDL lưu trữ dữ liệu có tổ chức.

● Người dùng truy cập trên máy tính.

● Lưu trữ dưới dạng bảng.

● Một CSDL có thể bao gồm 1 hoặc nhiều bảng khác nhau.

● Các cột trong bảng gọi là các trường dữ liệu.

(13)

Cơ sở dữ liệu (Database)

Thực hành:

Cơ sở dữ liệu quản lý Sinh viên, Môn học và Học phần bao gồm các trường dữ liệu nào?

(14)

Cơ sở dữ liệu (Database)

Thực hành:

Cho cơ sở dữ liệu quản lý nhân sự gồm các lược đồ:

- NHANVIEN: MaNV, HoTen, NgaySinh, QueQuan, GioiTinh, DiaChi, MaPB, MaCV, SDT,...

- PHONGBAN: MaPB, TenPB, DiaChi,...

- CHUCVU: MaCV, TenCV,...

- LUONG: MaNV, ChamCong, MucLuong, Thuong, TroCap, TongLuong, BaoHiem,...

- THOIHANCONGTAC: MaNV, MaCV, NgayNhanChuc - TRINHDOHOCVAN: MaNV, TenTrinhDo, ChuyenNganh,..

Thực hành

Yêu cầu:

Liệt kê các bảng và các trường dữ liệu của từng bảng

(15)

Cơ sở dữ liệu (Database)

Ưu điểm khi lưu trữ dữ liệu vào CSDL:

- Giảm dư thừa dữ liệu

- Tránh vấn đề không nhất quán dữ liệu - Dữ liệu được lưu trữ có thể được chia sẻ - Các chuẩn có thể được thiết lập và duy trì - Tính toàn vẹn dữ liệu được duy trì

- Bảo mật dữ liệu có thể được thực thi

User

Database

Cho phép truy xuất thông tin

Lưu trữ thông tin

(16)

Hệ quản trị CSDL (DBMS)

DBMS (Databases Management Systems): Hệ quản trị cơ sở dữ liệu (DBMS) là một gói phần mềm được thiết kế để lưu trữ, thao tác, truy xuất và quản lý dữ liệu trong cơ sở dữ liệu.

DBMS thường thao tác với dữ liệu của chính nó.

DBMS lưu trữ tất cả dữ liệu trong một tệp cơ sở dữ liệu.

❖ Trong DBMS các tệp có liên quan đến nhau.

(17)

Hệ quản trị cơ sở dữ liệu (DBMS)

Một số công cụ DBMS phổ biến:

Xếp hạng các hệ quản trị CSDL phổ biến nhất thế giới năm 2022*

Thông tin chi tiết

(18)

Hệ quản trị CSDL (DBMS)

MySQL level A

(19)

Hệ quản trị cơ sở dữ liệu (DBMS)

DBMS Microsoft Excel

Cập nhật dữ liệu (thêm, sửa, xóa) Có Có

Tạo CSDL Có Có

Tạo Thủ tục, Hàm theo yêu cầu Có Có

Cho phép nhiều người dùng truy

cập vào CSDL cùng lúc

Có Không

Tính bảo mật

Nâng cao tính bảo mật cho CSDL

Không cho phép mỗi người vào với một mật khẩu khác nhau

Quy mô dữ liệu

Quản trị dữ liệu nhiều (ví dụ

hơn 1 triệu dòng) Gặp vấn đề với dữ liệu nhiều

(20)

Cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu Đơn vị sản xuất

Lưu trữ Dữ liệu cơ bản Quản trị CSDL Đơn vị cụ thể xây dựng hệ

quản trị CSDL

Chức năng

Chứa dữ liệu.

Có các khái niệm cơ bản như:

Bảng: Sheet

Thuộc tính: Cột trong Excel

Bản ghi: Hàng

Quản trị Người dùng

Tạo CSDL

Thực hiện truy vấn dữ liệu

Quản trị truy cập từ xa,...

Bản chất Files lưu trữ (Chữ viết, con số, hình

ảnh, âm thanh…) Phần mềm, ứng dụng

VD: Oracle, Microsoft SQL Server, MySQL Server,...

Ví dụ Retail_Sales MySQL Server Oracle Corporation

Order_management Microsoft SQL Server Microsoft

So sánh CSDL (Database) và Hệ quản trị CSDL (DBMS)

(21)

Hệ quản trị CSDL quan hệ (RDBMS)

MySQL level A

(22)

Hệ quản trị CSDL quan hệ (RDBMS)

Một hệ quản trị CSDL quan hệ (RDBMS) là một hệ quản trị CSDL được xây dựng trên mô hình quan hệ.

Quan hệ là gì? Mô hình quan hệ là gì?

Ví dụ về một Quan hệ:

● Một quan hệ gồm:

● Khóa chính

● Các cột

● Các hàng dữ liệu

● Phạm vi thuộc tính

(23)

Hệ quản trị CSDL quan hệ (RDBMS)

Quan hệ là Bảng:

● Bảng lưu dữ liệu về một đối tượng, bao gồm nhiều cột và hàng.

● Các cột gọi là các trường dữ liệu.

+----+---+---+---+---+

| ID | TEN | TUOI | DIA_CHI | LUONG | +----+---+---+---+---+

| 1 | Toan | 22 | Ha Noi | 2000.00 |

| 2 | Thao | 21 | Vinh Phuc | 1500.00 |

| 3 | Huy | 23 | Quang Ninh| 2000.00 | +----+---+---+---+---+

➢ Chương trình sau đây là một ví dụ về một bảng Nhan_Vien:

● Các trường trong bảng bao gồm: ID, TEN, TUOI, DIA_CHI, LUONG.

● Khóa chính là ID.

(24)

Hệ quản trị CSDL quan hệ (RDBMS)

● Trong mỗi trường sẽ lưu trữ mỗi bản ghi của một dòng. Dưới đây là một bản ghi (hay dòng dữ liệu)

+---+---+---+---+---00----+

| 1 | Huy | 23 | Quang Ninh | 2000.00 | +---+---+---+---+---+

● Cột là một thực thể thẳng đứng trong một bảng có chứa tất cả các thông tin liên kết với một trường cụ thể trong một bảng. Dưới đây là một cột DIA_CHI trong bảng Nhan_Vien.

| DIA_CHI | +---+

| Ha Noi |

| Vinh Phuc |

| Quang Ninh|

+---+

Bảng Quan hệ

Hàng Bản ghi

Cột Trường

Các thuật ngữ tương đương

(25)

Hệ quản trị CSDL quan hệ (RDBMS)

Thực hành 1: Xây dựng Quan hệ CUSTOMERS

(26)

Hệ quản trị CSDL quan hệ (RDBMS)

Mối quan hệ

Mối quan hệ (Relationship): tạo ra mối liên kết giữa hai bảng nhằm xác định mối liên quan giữa các trường dữ liệu của hai bảng.

Ví dụ: Mối quan hệ giữa

hai bảng dữ liệu.

Hai bảng có mối quan hệ

với nhau thông qua thuộc

tính CustomerID.

(27)

Một số hệ quản trị CSDL quan hệ

Hệ quản trị CSDL quan hệ Công cụ làm việc với CSDL Đơn vị hay sử dụng

Oracle SQL Developer Doanh nghiệp lớn,ngân hàng, tổ chức quốc tế,...

MySQL Workbench Người mới bắt đầu,Trường học, ngân hàng,...

SQL Server Management Studio (SSMS)

Người mới bắt đầu, Trường học, doanh nghiệp,...

pgAdmin III

Doanh nghiệp, tài chính ngân

hàng, sản xuất – kinh doanh,

công nghệ web,...

(28)

DBMS RDBMS

Lưu trữ Lưu trữ dữ liệu dưới dạng file VD file Excel, word,...

Dữ liệu được lưu trữ trong mô hình quan hệ (trong bảng).

Khóa và chỉ mục

Không sử dụng. Các bảng có một id được gọi là Primary Key và các giá trị dữ liệu được lưu trữ trong dạng các bảng

Bình

thường hóa

Không được thực hiện RDBMS sử dụng chuẩn hóa để giảm hoặc loại bỏ sự dư thừa.

Ràng buộc DBMS không áp dụng bất cứ ràng buộc nào với việc thao tác và toàn vẹn dữ liệu

Ràng buộc về toàn vẹn dữ liệu (integrity constraint) với 4 thuộc tính ACID (Atomicity, Consistency, Isolation và Durability)

Sửa đổi Sửa đổi trong dữ liệu là phức tạp. Sửa đổi trong dữ liệu là dễ dàng và đơn giản.

Điểm khác biệt giữa DBMS và RDBMS

(29)

DBMS RDBMS

Truy cập dữ liệu

Tiêu thụ nhiều thời

gian hơn. Nhanh hơn so với DBMS.

Dữ liệu

DBMS thích hợp cho các hoạt động nhỏ mà

xử lý lượng dữ liệu nhỏ. Nó hỗ trợ đơn

người dùng

RDBMS được thiết kế để xử lý lượng dữ liệu lớn. Nó hỗ

trợ đa người dùng

Ví dụ Các ví dụ của DBMS là file system, xml, …

Các ví dụ của RDBMS là mysql, postgre, sql server,

oracle

Điểm khác biệt giữa DBMS và RDBMS

(30)

Mô hình CSDL quan hệ và phi quan hệ

MySQL level A

(31)

Cơ sở dữ liệu quan hệ

● CSDL quan hệ là một mô hình quan hệ, Không có các liên kết vật lý.

● Dữ liệu được lưu trong các hàng và các cột. Các bảng được liên kết với nhau bởi các thuộc tính (cột).

● Dữ liệu trong 2 bảng thông qua một trường chung.

Ví dụ 1:

○ Bảng MƯỢN SÁCH có mối quan hệ với Bảng NGƯỜI MƯỢN thông qua thuộc tính SỐ THẺ

○ Bảng MƯỢN SÁCH có mối quan hệ với Bảng SÁCH thông qua thuộc tính MÃ SỐ SÁCH

(32)

Cơ sở dữ liệu quan hệ

Ví dụ : Cơ sở dữ liệu quan hệ (RDBMS) cho Quản lý bán hàng

CSDL quản lý bán hàng gồm các thực thể sau:

● Hàng hóa

● Chất liệu hàng hóa

● Hóa đơn

● Chi tiết Hóa đơn

● Nhân viên bán hàng

● Khách hàng

Các quan hệ được liên kết với nhau bằng các liên kết giữa khóa chính và khóa ngoại

Ví dụ : khóa ngoại Machatlieu ở bảng tblHang và khóa chính Machatlieu ở bảng tblChatlieu

(33)

Cơ sở dữ liệu phi quan hệ (NoSQL)

● NoSQL là nơi lưu trữ dữ liệu của mình theo các cặp Key - Value.

● Dữ liệu có thể bị trùng lặp do một số node sẽ lưu cùng thông tin giống nhau.

● Phi quan hệ sẽ không có ràng buộc nào cho việc nhất quán dữ liệu.

● Có 4 mô hình lưu trữ dữ liệu phổ biến thường gặp nhất :

❖ Document Store

❖ Key - Values stores

❖ Wide column stores

❖ Graph Store

(34)

Cơ sở dữ liệu phi quan hệ (NoSQL)

Ví dụ :

Đây là ví dụ về key - values

store. Trong đó với mỗi key sẽ

tương ứng với values kế bên

tạo thành một mô hình lưu trữ

dữ liệu

(35)

Cơ sở dữ liệu phi quan hệ (NoSQL)

Ví dụ : Đây là ví dụ về mô hình

Graph Store.

Trong đó với mỗi các thực thể sẽ được liên kết với nhau thông qua các thuộc tính tạo thành một mô hình dạng đồ thị.

Mô hình Graph Store

(36)

Một số hệ quản trị CSDL phi quan hệ

Ngôn ngữ làm việc phổ biến Công cụ làm việc với CSDL Đơn vị hay sử dụng

MongoDB

Nhà phát triển phần mềm, kiến trúc sư và quản trị viên, Chuyên gia Database

Redis Tổ chức quốc tế, Doanh nghiệp lớn...

Canssandra Những doanh nghiệp làm về ứng dụng chat, iot,...

Elasticsearch

Các công ty lớn như Quora, Github, Netflix, Pixaybay, Facebook, Wiki, Adobe...

(37)

So sánh cơ sở dữ liệu quan hệ với phi quan hệ

Tiêu chí Cơ sở dữ liệu quan hệ (SQL) Cơ sở dữ liệu phi quan hệ (NoSQL) Ngôn ngữ Query SQL (Structured Query Language) Không có ngôn ngữ Query

Loại hình SQL databases là cơ sở dữ liệu dựa trên bảng NoSQL databases có thể dựa trên tài liệu, cặp khóa-giá trị, cơ sở dữ liệu biểu đồ

Khả năng mở rộng Có thể mở rộng theo chiều dọc Có thể mở rộng theo chiều ngang Mục đích sử dụng Được thiết kế dành cho các ứng dụng xử lý giao

dịch trực tuyến trong giao dịch có độ ổn định cao và thích hợp để xử lí phân tích trực tuyến

Được thiết kế để phục vụ phân tích dữ liệu có cấu trúc chưa hoàn chỉnh.

Lựa chọn sử dụng Dự án đã có yêu cầu dữ liệu rõ ràng xác định quan hệ logic có thể được xác định trước

Dự án yêu cầu dữ liệu không liên quan, khó xác định, đơn giản mềm dẻo khi đang phát triển

Mã nguồn Một sự kết hợp của mã nguồn mở như Postgres &

MySQL, và thương mại như Oracle Database.

Open-source

Các hãng sản xuất MySQL, Oracle , SQL Server, Oracle,... MongoDB, DynamoDB...

(38)

Ngôn ngữ SQL

MySQL level A

(39)

Một số điều cần biết về ngôn ngữ SQL

SQL = Structured Query Language

Ngôn ngữ truy vấn dữ liệu (thế hệ 4)

Chia làm 4 loại:

DML: cập nhật dữ liệu

DDL: định nghĩa cấu trúc

DCL: phân quyền

TCL: điều khiển giao dịch

Lớp thực thi các lệnh SQL

(40)

Ngôn ngữ lập trình thế hệ thứ 4

Ngôn ngữ lập trình thế hệ thứ tư - Fourth-generation language (4GL):

- Được biết đến với tên “Ngôn ngữ truy vấn dữ liệu”.

- Là ngôn ngữ được đánh giá gần với ngôn ngữ của con người nhất hiện nay.

- Thân thiện với lập trình viên hơn và nâng cao hiệu quả lập trình với việc sử dụng các cụm từ tiếng Anh dễ hiểu.

- Nhiều ngôn ngữ 4GL được liên kết với cơ sở dữ liệu và xử lý dữ liệu, cho phép

phát triển hiệu quả các hệ thống định hướng kinh doanh.

(41)

Một số điều cần biết về ngôn ngữ SQL

SQL cho phép chúng ta:

● Truy vấn SQL theo nhiều cách, sử dụng các câu lệnh bằng tiếng Anh.

● Người sử dụng có thể truy cập dữ liệu từ hệ thống quản trị CSDL quan hệ.

● Cho phép người dùng mô tả dữ liệu.

● Cho phép người dùng định nghĩa dữ liệu trong cơ sở dữ liệu và thao tác khi cần.

● Cho phép người dùng tạo và xóa cơ sở dữ liệu và bảng.

● Cho phép người dùng tạo một view, stored procedure, function trong một CSDL.

● Cho phép người dùng phân quyền trên tables, procedures, và views.

Ví dụ câu lệnh SQL tạo bảng NHAN_VIEN

(42)

Hệ quản trị CSDL MySQL

MySQL level A

(43)

Hệ quản trị CSDL MySQL

● Hệ quản trị CSDL quan hệ

● Top 2 thế giới về sử dụng

● Cài đặt máy chủ/máy tính

● Free

MySQL là gì ?

(44)

Giới thiệu về môi trường truy vấn MySQL Workbench

● MySQL Workbench chính là một chương trình giúp cho người lập trình có thể giao tiếp với hệ cơ sở dữ liệu MySQL Server thay vì phải sử dụng các lệnh Command-line phức tạp và mất thời gian.

● MySQL Workbench được thiết kế đơn giản, dễ sử dụng và có thể thích ứng với nhiều hệ điều hành như Window, MacOS, Linux, Ubuntu,...

MySQL Workbench là gì ?

Tại sao phải cài đặt ?

● Dễ sử dụng và linh hoạt hơn khi sử dụng trên command-line

● Hiệu năng cao

● Hệ quản trị tiêu chuẩn

● Độ bảo mật cao

(45)

Giới thiệu về môi trường truy vấn MySQL Workbench

Giao diện sau khi thiết lập thành công

(46)

Phân biệt các khái niệm sau Thực hành

Khái niệm DBMS DB Ngôn

ngữ

Công cụ làm việc

Tên sản phẩm

Hãng sản xuất

1 MySQL

2 MySQL Server 3 MySQL Workbench 4 MySQL Database 5 Microsoft SQL

6 Microsoft SQL Server 7 Microsoft SQL Database

8 Microsoft SQL Server Management Studio

9 SQL

10 PL SQL

(47)

Tổng kết bài học

★ Dữ liệu (Data) và Cơ sở dữ liệu (Database)

★ Hệ quản trị CSDL (DBMS)

★ Hệ quản trị CSDL quan hệ (RDBMS)

★ Mô hình CSDL quan hệ và phi quan hệ

★ Ngôn ngữ SQL

★ Hệ quản trị CSDL MySQL

(48)

Always be confident and win. You deserved it!

Gambar

Bảng Quan hệ
● Dữ  liệu  trong  2  bảng  thông  qua  một  trường chung.
Graph Store.

Referensi

Dokumen terkait

- Độ phân giải - Tổng số hàng, tổng số cột của dữ liệu ảnh - Cơ quan, tổ chức, cá nhân xử lý - Ngày, giờ xử lý - Mức xử lý - Định dạng ảnh - Hệ tọa độ tham chiếu - Độ chính xác hình

Module Tìm kiếm Hệ thống phần mềm quản lý thông tin/dữ liệu các hợp đồng dầu khí trong nước giúp người dùng các phương pháp tìm kiếm, tra cứu chính xác thông tin về TT Tên bảng

Họ đã tổng hợp năm điểm quan trọng liên quan đến sự đổi mới quản lý: 1 văn hóa doanh nghiệp có ảnh hưởng đến kết quả đổi mới quản lý; 2 một doanh nghiệp được điều hành trên cơ sở văn

Quản lý nhà nước đối với bảo vệ môi trường Nhà nướcđóng vai trò hếtsức quan trọng trong BVMT, được thểhiện cơ bản ở 4nội dung sau: i Xây dựng, thực thi và hoàn thiện hệ thống pháp

Để đánh giá khả năng sinh sản của vịt trời được thuần hóa nuôi theo mô hình bán chăn thả nhằm cung cấp thêm tài liệu cho cán bộ quản lý và người chăn nuôi, làm cơ sở cho việc định

Vì vậy, Bộ quy tắc Incoterms 2020 không điều chỉnh và không áp dụng để giải quyết một số vấn đề liên quan, phát sinh từ Hợp đồng mua bán hàng hóa quốc tế, điển hình như: - Hậu quả của

Song song với việc đổi mới quan điểm quản lý và điều hành, với xu hướng quốc tế hóa lĩnh vực ngân hàng, khi tham gia hội nhập vào hệ thống ngân hàng thế giới cũng như vào thị trường tài

MÔI quan hệ thị trường chứng khoán cơ sở theongành đến giữathịtrườngchứng khoán phái sinh Đo lườnghệ sốtương quan giữa chỉ số ngành của chứng khoán cơ sở với chỉ số HĐTL VN30F1M cho