0% found this document useful (0 votes)
11 views

Lecture 1 - Slide - Lecture 01 - Course Objectives and Overview - For Student

Slide lecture 1 SQL

Uploaded by

Ngọc Huyềnn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Lecture 1 - Slide - Lecture 01 - Course Objectives and Overview - For Student

Slide lecture 1 SQL

Uploaded by

Ngọc Huyềnn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Khoa học dữ liệu trong kinh tế và kinh doanh

Cơ sở dữ liệu
Giới thiệu về CSDL

Bài 01: Giới thiệu về CSDL và giới thiệu môn học


Giới thiệu về CSDL

Phần 1: Giới thiệu tổng quan về khóa học


Nội dung khóa học

❖ Chương 1: Các khái niệm cơ bản về CSDL


❖ Chương 2: Mô hình hóa dữ liệu
❖ Chương 3: Kho dữ liệu và mô hình dữ liệu đa chiều
❖ Chương 4: Ngôn ngữ truy vấn có cấu trúc (SQL)

Khóa học này sẽ giúp ích cho công việc của bạn như thế nào?
Mục tiêu khóa học

Khóa học này sẽ giúp bạn:


1. Nắm rõ các khái niệm trong cơ sở dữ liệu.
2. Ứng dụng ngôn ngữ truy vấn (SQL) để truy vấn dữ liệu trong tình huống thực tế.
3. Hiểu rõ các kiến thực nền tảng trong cơ sở dữ liệu quan hệ và thiết kế cơ sở dữ
liệu quan hệ.
4. Hiểu về các khái niệm trong kho dữ liệu và thiết kế chiều dữ liệu.
Không bao gồm trong khóa học

• Đại số quan hệ
• Kiến trúc kĩ thuật của nhà kho dữ liệu
• Công cụ ETL
• Các kỹ thuật lập trình nâng cao trong SQL
Trọng số điểm

▪ Chuyên cần: 10 %
▪ Kiểm tra giữa khóa / Bài tập nhóm: 30 %
▪ Kiểm tra cuối khóa: 60%
Tài liệu tham khảo

• [1] Phan Tấn Quốc, Nguyễn Thị Uyên Nhi, Giáo trình Cơ sở dữ liệu, NXB
ĐHQG TPHCM, ISBN: 978-604-73-7236-2, 2019

• [2] Malik, U., Goldwasser, M. and Johnston, B., 2019. SQL for Data
Analytics. Birmingham: Packt Publishing, Limited.

• [3] Stephens, R., 2009. Beginning Database Design Solutions. Wiley.

• [4] Kimball, R., Ross, M., 2013. The Data Warehouse Toolkit. 3rd ed.
Hoboken: John Wiley & Sons.
Yêu cầu

• Đi học đầy đủ

• Chú ý nghe giảng

• Làm đầy đủ bài tập về nhà

• Đừng ngần ngại đặt câu hỏi khi có thắc mắc về khóa học(!)
Giới thiệu về CSDL

Phần 2: Khái niệm cơ sở dữ liệu


Vòng đời dữ liệu
Cơ sở dữ liệu là gì & Tại sao chúng ta cần CSDL

Làm như thế nào để sắp xếp nhà kho?


Cơ sở dữ liệu là gì & Tại sao chúng ta cần CSDL

Các tính năng quan trọng nhất?


▪ Dễ dàng sử dụng (Easy of use)
▪ Tính bền vững (Persistence)
▪ Tính sẵn có (High availability)
▪ Tính bảo mật (Security)
Dữ liệu là gì?
Tập hợp các sự kiện, số, mô tả, đối tượng.
Kiểu dữ liệu sẽ được xác định bởi cách nó được lưu trữ.

Dữ liệu có cấu trúc Dữ liệu bán cấu trúc Dữ liệu phi cấu trúc
Kho dữ liệu giao dịch và phân tích

Xử lý giao dịch trực tuyến Xử lý phân tích trực tuyến


(OLTP - Online Transactional Processing) (OLAP - Online Analytical Processing )
Customer
CustomerID CustomerName CustomerPhone

Orders
OrderID CustomerID OrderDate

Dữ liệu được tải, tổng hợp và lưu


trữ định kỳ trong một khối lập
Dữ liệu được lưu trữ một giao dịch tại phương
một thời điểm
Giao dịch dữ liệu

Giao dịch dữ liệu là thông tin theo dõi các tương tác liên quan đến hoạt động của tổ chức.
• Tính nguyên tử (Atomicity) - Một giao dịch có nhiều
thao tác khác biệt thì hoặc là toàn bộ các thao tác hoặc
là không một thao tác nào được hoàn thành.
• Tính nhất quán (Consistency) - Một giao dịch hoặc là
sẽ tạo ra một trạng thái mới và hợp lệ cho dữ liệu, -$
hoặc trong trường hợp có lỗi sẽ chuyển toàn bộ dữ liệu
về trạng thái trước khi thực thi giao dịch.
+$
Giao dịch dữ liệu

Giao dịch dữ liệu là thông tin theo dõi các tương tác liên quan đến hoạt động của tổ chức.
• Tính cô lập (Isolation) - Một giao dịch đang thực thi và
chưa được xác nhận phải bảo đảm tách biệt khỏi các
giao dịch khác.
• Tính bền vững (Durability) - Dữ liệu được xác nhận sẽ
được hệ thống lưu lại sao cho ngay cả trong trường -$
hợp hỏng hóc hoặc có lỗi hệ thống, dữ liệu vẫn đảm
bảo trong trạng thái chuẩn xác.
+$
Phân tích dữ liệu
Công việc phân tích được sử dụng để phân tích dữ liệu nhằm đưa ra quyết định.

• Tóm tắt tình hình


2024 Transactions
• Xu hướng kinh doanh
• Thông tin doanh nghiệp
Quy trình xử lý dữ liệu
(Data Processing)

Quy trình xử lý dữ liệu là việc chuyển đổi dữ liệu thô (Raw Data) thành thông tin có ý
nghĩa.
Xử lý theo nhóm: Dữ liệu được thu Xử lí hàng ngày
thập thành một nhóm. Toàn bộ dữ liệu (batch daily job)
nhóm sẽ được xử lý tại một thời điểm
trong tương lai. Tất cả đầu vào Tất cả đầu ra

Xử lý trực tiếp: Dữ liệu trực tiếp Tải lên hệ thống Tải lên hệ thống
được xử lý tại thời điểm hiện tại.

Đầu vào 1 Đầu vào 2


Giới thiệu về CSDL

Phần 3: Giới thiệu về Cơ sở dữ liệu quan hệ


Lịch sử sơ khai của cơ sở dữ liệu

▪ Trước khi cơ sở dữ liệu tồn tại, dữ liệu được ghi lại trên giấy. Chúng ta có danh
sách, tạp chí, sổ cái và tài liệu lưu trữ chứa hàng trăm ngàn hoặc thậm chí hàng
triệu hồ sơ chứa trong tủ hồ sơ.
▪ 1960: IBM đã phát triển mô hình phân cấp, một trong những hệ thống sớm nhất.
▪ 1969: Các nhà khoa học tại CODASYL đã phát minh mô hình mạng.
▪ 1970: Codd đã giới thiệu thuật ngữ "cơ sở dữ liệu quan hệ" trong bài nghiên cứu
của ông.
▪ 1976: P.Chen đề xuất mô hình cơ sở dữ liệu mới được gọi là mô hình thực thể dữ
liệu, hoặc ER (Entity-Relationship).
▪ 1980: Ngôn ngữ truy vấn có cấu trúc, hay còn biết đến là SQL, trở thành ngôn ngữ
truy vấn tiêu chuẩn.
Cơ sở dữ liệu quan hệ là gì?

▪ Cơ sở dữ liệu quan hệ (Relational Database) là một tập hợp dữ liệu được lưu trữ
trong máy tính. Dữ liệu này thường được cấu trúc theo cách làm cho dữ liệu dễ
dàng truy cập.
▪ Cơ sở dữ liệu quan hệ là một loại cơ sở dữ liệu. Cơ sở dữ liệu quan hệ được sắp
xếp theo cấu trúc cho phép người dùng xác định và truy cập dữ liệu dễ dàng cơ sở
dữ liệu. Thông thường, dữ liệu trong cơ sở dữ liệu quan hệ được tổ chức thành
các bảng.
Các trường hợp sử dụng cơ sở dữ liệu quan hệ

Xử lý giao dịch trực tuyến:


Ví dụ: hệ thống đặt hàng thực hiện nhiều cập nhật giao dịch nhỏ (đơn hàng)

Kho dữ liệu:
Dữ liệu được nhập từ nhiều nguồn và được sắp xếp theo cấu trúc

IoT:
Mặc dù thường được coi là dữ liệu phi quan hệ, dữ liệu từ IoT có thể được sắp xếp theo cấu trúc và
có tính nhất quán
Đặc điểm của dữ liệu quan hệ
Bảng (Table)
Customers Dữ liệu được lưu trữ trong một bảng
CustomerID CustomerName CustomerPhone (Table)
100 Muisto Linna XXX-XXX-XXXX
101 Noam Maoz XXX-XXX-XXXX Bảng bao gồm các hàng (Rows) và cột
102 Vanja Matkovic XXX-XXX-XXXX (Columns)
103 Qamar Mounir XXX-XXX-XXXX
104 Zhenis Omar XXX-XXX-XXXX Tất cả các hàng có cùng số cột (Columns)
105 Claude Paulet XXX-XXX-XXXX
106 Alex Pettersen XXX-XXX-XXXX Mỗi cột (Row) được xác định bởi một kiểu
107 Francis Ribeiro XXX-XXX-XXXX dữ liệu (Datatype)
Đặc điểm của dữ liệu quan hệ
Thực thể (Entity)
Customers
CustomerID CustomerName CustomerPhone
100 Muisto Linna XXX-XXX-XXXX
101 Noam Maoz XXX-XXX-XXXX
102 Vanja Matkovic XXX-XXX-XXXX
103 Qamar Mounir XXX-XXX-XXXX
104 Zhenis Omar XXX-XXX-XXXX
105 Claude Paulet XXX-XXX-XXXX
106 Alex Pettersen XXX-XXX-XXXX

Thực thể (Entity) là một chủ thể, đối tượng vật lý (ví dụ: khách hàng hoặc sản phẩm) hoặc phi vật lý(ví dụ: đơn đặt
hàng).
Các thực thể (Entity) được kết nối bởi các mối quan hệ tương tác với nhau. Ví dụ: khách hàng có thể đặt hàng cho một
sản phẩm.
Đặc điểm của dữ liệu quan hệ
Chuẩn hóa dữ liệu (Data Normalization)
Customers Orders
CustomerID CustomerName CustomerPhone OrderID CustomerName CustomerPhone
100 Muisto Linna XXX-XXX-XXXX AD100 Noam Maoz XXX-XXX-XXXX
101 Noam Maoz XXX-XXX-XXXX AD101 Noam Maoz XXX-XXX-XXXX
102 Vanja Matkovic XXX-XXX-XXXX AD102 Noam Maoz XXX-XXX-XXXX
103 Qamar Mounir XXX-XXX-XXXX AX103 Qamar Mounir XXX-XXX-XXXX
104 Zhenis Omar XXX-XXX-XXXX AS104 Qamar Mounir XXX-XXX-XXXX
105 Claude Paulet XXX-XXX-XXXX AR105 Claude Paulet XXX-XXX-XXXX
106 Alex Pettersen XXX-XXX-XXXX MK106 Muisto Linna XXX-XXX-XXXX

Dữ liệu được chuẩn hóa nhằm:


Giảm dung lượng lưu trữ Tránh trùng lặp dữ liệu Cải thiện chất lượng dữ liệu

Dễ dàng cập nhập và thay đổi


Đặc điểm của dữ liệu quan hệ
Mối quan hệ
Customers Orders
CustomerID CustomerName CustomerPhone OrderID CustomerID SalesPersonID
100 Muisto Linna XXX-XXX-XXXX AD100 101 200
101 Noam Maoz XXX-XXX-XXXX AD101 101 200
102 Vanja Matkovic XXX-XXX-XXXX AD102 101 200
103 Qamar Mounir XXX-XXX-XXXX AX103 103 201
104 Zhenis Omar XXX-XXX-XXXX AS104 103 201
105 Claude Paulet XXX-XXX-XXXX AR105 105 200
106 Alex Pettersen XXX-XXX-XXXX MK106 105 201

Lược đồ cơ sở dữ liệu chuẩn hóa:


Khóa chính và Khóa ngoại được sử dụng để xác định Không có sự trùng lặp dữ liệu nào tồn tại (ngoài các Dữ liệu được truy vấn bằng cách nối các bảng lại với
mối quan hệ giá trị chính ở dạng 3NF) nhau bằng câu lệnh
Nguyên tắc cơ bản về cơ sở dữ liệu quan hệ

▪ Mọi người thường nghĩ về cơ sở dữ liệu quan hệ (Relational Database) như một tập
hợp các bảng (Table), mỗi bảng (Table) chứa các hàng (Row) và cột (Column). Nó
trông giống như một bảng tính excel thông thường.
▪ Thuật ngữ chính thức cho một cột (Column) là một thuộc tính (Attribute) và đối
với một hàng (Row) là một bản ghi (record).
▪ Khóa chính (Primary key) là một khóa độc nhất (Unique key) được sử dụng để
nhanh chóng định vị các hàng theo cơ sở dữ liệu. Ví dụ: trường “Mã sinh viên”
trong bảng Sinh viên là khóa chính (Primary key).
▪ Khóa ngoại (Foreign key) là một cột (hoặc tập hợp các cột) trong một bảng, tham
chiếu đến khóa chính trong một bảng khác. Ví dụ: cột “Mã sinh viên" trong bảng
"Điểm" tham chiếu đến cột "Mã sinh viên" trong bảng "Sinh viên".
▪ Chỉ mục (index) là một cấu trúc cơ sở dữ liệu giúp tìm bản ghi nhanh hơn và dễ
dàng hơn, giống như một mục lục của một cuốn sách.
Giới thiệu về CSDL

Phần 4: Giới thiệu về Cơ sở dữ liệu phi quan hệ


(Non-Relational Database)
Dữ liệu phi quan hệ là gì?

Ví dụ:

## Customer 1 ID: 1
Name: Mark Hanson
Telephone: [ Home: 1-999-9999999, Business: 1-888-8888888, Cell: 1-777- 7777777 ]
Address: [ Home: 121 Main Street, Some City, NY, 10110,
Business: 87 Big Building, Some City, NY, 10111 ]
## Customer 2 ID: 2
Title: Mr
Name: Jeff Hay
Telephone: [ Home: 0044-1999-333333, Mobile: 0044-17545-444444 ]
Address: [ UK: 86 High Street, Some Town, A County, GL8888, UK,
US: 777 7th Street, Another City, CA, 90111 ]

Dữ liệu phi quan hệ:

Nhiều thực thể trong cùng tập hợp với các trường Tồn tại dưới dạng lược đồ Thường được xác định bằng cách gán nhãn mỗi
khác nhau không phải dạng bảng trường với tên mà nó đại diện
Trường hợp sử dụng cơ sở dữ liệu phi quan hệ

IoT và Tin học Viễn thông (Telematics):


Thường yêu cầu tích hợp một lượng lớn dữ liệu trong hoạt động thường xuyên, dữ liệu được lưu trữ dưới dạng bán cấu trúc hoặc
có cấu trúc, thường yêu cầu xử lý thời gian thực

Bán lẻ và truyền thông:


Dữ liệu phân phối toàn cầu, lưu trữ tài liệu

Trò chơi điện tử:


Số liệu thống kê trong trò chơi, tích hợp phương tiện truyền thông xã hội, bảng xếp hạng, giảm độ trễ

Website và điện thoại:


Thường được sử dụng với phân tích nhấp chuột trên web, các ứng dụng hiện đại bao gồm cả bot
Các loại dữ liệu phi quan hệ

Dữ liệu bán cấu trúc (Semi-structured) là gì?


Cấu trúc dữ liệu được xác định trong dữ liệu thực tế bởi các trường.
Ví dụ: JSON
Các loại dữ liệu phi quan hệ
(Types of non-relational data)
Dữ liệu phi cấu trúc (Unstructured data) là gì?

Chứa các trường dưới dạng:


Ví dụ: video, âm thanh, luồng phương tiện, tài liệu

Thường được sử dụng để trích xuất tổ chức dữ liệu và phân loại hoặc xác định "cấu trúc"

Thường được sử dụng kết hợp với mô hình học máy để "trích xuất dữ liệu" bằng cách sử dụng:
Phân tích văn bản
Phân tích cảm xúc khách hàng (Sentiment Analysis)
Thị giác máy tính (Computer Vision)
NoSQL là gì?

NoSQL được dùng để mô tả dữ liệu phi quan hệ


Kiểu dữ liệu NoSQL: khóa-giá trị, đồ thị, cơ sở dữ liệu họ cột (column family database), cơ
sở dữ liệu tài liệu
Key-value store Graph database
Quy trình thiết kế CSDL

Phần 5: Thiết kế cơ sở dữ liệu


Làm thế nào để thiết kế một cơ sở dữ liệu

Làm thế nào chúng ta có thể thiết kế một cơ sở dữ liệu?


1. Hiểu nhu cầu người dùng - nguyên tắc kinh doanh
2. Chuyển đổi nhu cầu của người dùng thành Mô hình dữ liệu (Data Modeling).

36
Quy trình thiết kế cơ sở dữ liệu

Khảo sát nhu cầu Mô hình


và các nguyên tắc Mô hình logic Mô hình vật lý
khái niệm
trong kinh doanh

Mô hình dữ liệu

Tài liệu tham khảo: "Fundamentals of Database Systems" by Ramez Elmasri, Shamkant B. Navathe - Part 2-
Chaper 3,4 37
Quy trình thiết kế cơ sở dữ liệu

Mô hình khái niệm Mô hình logic Mô hình vật lý


(Conceptual Model Design) (Logical Model Design) (Physical Model Design)

38
Quy trình thiết kế cơ sở dữ liệu

1. Khảo sát nhu cầu và các nguyên tắc trong kinh doanh
▪ Xác định các yêu cầu cơ sở dữ liệu: liệt kê các thuộc tính cần được
quản lý và sắp xếp chúng theo thực thể.
▪ Phân loại và mô tả thông tin về thực thể đó.
▪ Xác định mối quan hệ giữa các thực thể.
▪ Xác định các giao dịch sẽ được thực hiện trên các dữ liệu thực thể.
▪ Xác định các quy tắc kinh doanh để đảm bảo tính toàn vẹn dữ liệu.

39
Quy trình thiết kế cơ sở dữ liệu

2. Thiết kế mô hình khái niệm (Conceptual Model Design)


▪ Mô hình dữ liệu khái niệm mô tả cấu trúc và các ràng buộc của dữ
liệu trong cơ sở dữ liệu.
▪ Mô hình dữ liệu khái niệm được biểu diễn dưới dạng sơ đồ với ba
thành phần chính:
• Thực thể (Entity)
• Thuộc tính (Attribute)
• Mối quan hệ (Relationships)

40
Quy trình thiết kế cơ sở dữ liệu

2. Thiết kế mô hình khái niệm (Conceptual Model Design)


Ba quy trình chính để thiết kế một mô hình khái niệm
▪ Khảo sát thực tế:
• Thu thâp thông tin.
• Trình bày có hệ thống dưới dạng sơ đồ luân chuyển.
▪ Thiết lập mô hình dữ liệu:
• Kiểm Tra và Đánh Giá dữ liệu
• Xác định các phụ thuộc theo chức năng.
• Xây dựng mô hình khái niệm dữ liệu.
▪ Kiểm soát và chuẩn hoá mô hình
41
Quy trình thiết kế cơ sở dữ liệu

3. Thiết kế mô hình logic


▪ Xác định yêu cầu của cơ sở dữ liệu: danh sách các thuộc tính cần quản lý và gộp
chúng theo đối tượng.
▪ Phân loại và mô tả các thông tin về đối tượng đó.
▪ Xác định mối liên kết giữa các đối tượng.
▪ Xác định các giao dịch sẽ được thực hiện trên các đối tượng dữ liệu đó.
▪ Xác định các quy tắc nghiệp vụ, đảm bảo tính toàn vẹn của dữ liệu.

42
Ba cấp độ của Mô hình hóa Dữ liệu

Tài liệu tham khảo: Chapter 1 - "Data Modeling Essentials" 3rd ed - G. Simsion, G. Witt 43
Các bước thực hiện mô hình hóa Dữ liệu
STT Tên bước Hoạt động cần thực hiện Kết quả

1 Khảo sát yêu cầu và trích xuất - Xác định yêu cầu của cơ sở dữ liệu Xác định được nhu cầu của
nguyên tắc kinh doanh - Phân loại và mô tả các thông tin về đối tượng đó người dùng. Đảm bảo các nhu
(Extracting business rules) - Xác định mối liên kết giữa các đối tượng cầu đủ tốt trong hoạt động
- Xác định các giao dịch sẽ được thực hiện trên các đối tượng dữ liệu đó triển khai.
- Xác định các quy tắc nghiệp vụ, đảm bảo tính toàn vẹn của dữ liệu

2 Thiết kê mô hình khái niệm - Khảo sát nhu cầu thực tế Mô hình mô tả các đối tượng,
(Conceptual Model Design) - Thiết lập mô hình dữ liệu cấu trúc và các ràng buộc của
- Kiểm soát và chuẩn hóa mô hình dữ liệu trong cơ sở dữ liệu.

3 Thiết kế mô hình logic - Ánh xạ các thực thể và mối quan hệ từ mô hình khái niệm thành các Mô tả chi tiết cách thức dữ
(Logical Model Design) bảng tương ứng trong mô hình logic. liệu được tổ chức thành các
bảng, trường cụ thể.

4 Thiết kế mô hình vật lý - Dựa trên lược đồ logic đã có, kết hợp với các đặc điểm của hệ quản trị CSDL Cung cấp cho người dùng
(Physical Model Design) để lựa chọn các loại bảng, kiểu dữ liệu phù hợp. cách dữ liệu được lưu trữ trên
một nền tảng hệ quản trị
CSDL cụ thể.

44
Tóm tắt nội dung buổi học

• Phần 1: Giới thiệu tổng quan về khóa học


• Phần 2: Khái niệm cơ sở dữ liệu
• Phần 3: Giới thiệu về Cơ sở dữ liệu quan hệ
• Phần 4: Giới thiệu về Cơ sở dữ liệu phi quan hệ
• Phần 5: Thiết kế cơ sở dữ liệu
Tài liệu tham khảo

• "Fundamentals of Database Systems" by Ramez Elmasri, Shamkant B.


Navathe
• "Database System Concepts" by Abraham Silberschatz, Henry F. Korth,
S. Sudarshan
• MongoDB Document: What is NoSQL
Xin cảm ơn !

You might also like