Loại Database dạng file hay được sử dụng nhất đó *.mdb Foxpro, ngoài ra còn có *.dbf, ascii,… - Database quan hệ: Chúng là các dữ liệu khác nhau được lưu trữ trong các bảng dữ liệu nhưng
Trang 1TRƯỜNG ĐẠI HỌC VĂN LANG
KHOA KỸ THUẬT CƠ-ĐIỆN VÀ MÁY TÍNH
Trang 2Mục lục
I Lời Mở đầu 4
II Lý Thuyết – Phân Tích Hệ Thống 5
1 Lý Thuyết Cơ Bản 5
a.Khái niệm môn học cơ sở dữ liệu 5
b.Cấu trúc cơ sở dữ liệu 5
c.Phân loại cơ sở dữ liệu 5
d.Tác dụng thực tế của cơ sở dữ liệu 6
2.Mô hình cơ sở dữ liệu 6
a.Mô hình quan hệ thực thể 6
b.Thành phần của mô hình quan hệ 7
c.Các loại quan hệ trong mô hình 7
d.Phần quan trọng - các bước thiết kế mô hình E-R 8
e.Ứng dụng và thực tiễn 8
3.1.Mô hình quan hệ 9
a.Mô hình quan hệ là gì ? 9
b.Các loại Khóa và tác dụng của nó 10
3.2 Các loại ràng buộc trong mô hình quan hệ 11
a Các loại ràng buộc 11
b.Kết Luận 12
3.3.Chuẩn hóa trong cơ sở dữ liệu ? 12
a.Khái niệm cơ bản 12
b.Các dạng chuẩn hóa NF 12
3.4.Phương pháp chuẩn hóa 15
a.Nguyên lí 15
b.Nguyên tắc chuẩn hóa 16
c.Ứng dụng của việc chuẩn hóa 17
3.5.Hệ thống quản trị SQL 18
Trang 3a.Giới thiệu 18
b.Thành phần của SQL 18
c.Mục đích sử dụng SQL 19
3.6 Mô tả chức năng hệ thống 19
a.Mô tả bài toán 19
b.Yêu cầu chức năng 21
III.Mô hình thực thể kết hợp ER 22
1 Thuyết minh mô hình ER 22
2 Mô tả các thuộc tính của tập thực thể 22
a Mô tả 22
b.Các mối quan hệ 23
3 Mô tả mối quan hệ giữa các tập thực thể 24
IV Mô hình quan hệ 24
V.Chuẩn hóa dữ liệu 24
Trang 4I Lời Mở Đầu
Thời đại công nghệ số bùng nổ mang đến cho mọi ngành nghề, đặc biệt là lĩnhvực quản lý hệ thống bán gà rán, cơ hội to lớn để nâng tầm hiệu quả và lợi nhuận thông qua việc ứng dụng công nghệ dữ liệu tiên tiến
KFC, thương hiệu gà rán nổi tiếng toàn cầu, trong việc áp dụng giải pháp quản lý dữ liệu hiệu quả để tối ưu hóa hoạt động kinh doanh Bài viết này sẽ
đi sâu vào phân tích và đề xuất các giải pháp quản lý hệ thống bán gà rán dựa trên mô hình CSDL của KFC
Nội dung bài viết:
Nhu cầu quản lý dữ liệu trong ngành bán gà rán:
Nắm bắt thông tin về nguyên liệu, sản phẩm, quy trình sản xuất
Quản lý đơn hàng, lập kế hoạch sản xuất
Thúc đẩy chiến lược tiếp thị và bán hàng
Giải pháp quản lý dữ liệu cho KFC
Phân tích nhu cầu cụ thể của ngành và đề xuất phương án tối ưu hóa
Giới thiệu các công cụ và kỹ thuật mới nhất trong lĩnh vực quản lý dữ liệu
Lợi ích của việc áp dụng hệ thống quản lý dữ liệu
Tiết kiệm thời gian, tăng cường độ chính xác và tính linh hoạt trong quản lý
Nâng cao hiệu suất và lợi nhuận
Tăng cường trải nghiệm của khách hàng
Bài viết này hướng đến:
Trang 5 Cung cấp cho các nhà quản lý KFC một cái nhìn toàn diện về tầm quantrọng của việc quản lý dữ liệu.
Giới thiệu các giải pháp quản lý dữ liệu hiệu quả dựa trên mô hình CSDL của KFC
Hỗ trợ các doanh nghiệp trong ngành bán gà rán áp dụng các công nghệ dữ liệu tiên tiến để nâng cao hiệu quả kinh doanh
II Lý Thuyết – Phân Tích Hệ Thống
1 Lý Thuyết Cơ bản
a Khái niệm môn học cơ sở dữ liệu
Cơ sở dữ liệu (tiếng Anh: Database) là một tập hợp các dữ liệu có tổ chức liên quan đến nhau, thường được lưu trữ và truy cập điện tử từ hệ thống máy tính Khi cơ sở dữ liệu phức tạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ thuật thiết
kế và mô hình hóa chính thức.Để ứng dụng vào môn này thì nó sẽ có tác dụng là Truy
và Xuất,Quản lý thông tin và cuối cùng là lưu trữ thông tin
b Cấu trúc của cơ sở dữ liệu :gồm có dữ liệu và cấu trúc dữ liệu.
Ví dụ, để quản lý việc học tập trong một môi trường đại học, các dữ liệu là các thông tin về sinh viên, về các môn học, điểm thi Các dữ liệu đó được tổ chức thành các bảng và lưu giữ chúng vào sổ sách hoặc sử dụng một phần mềm máy tính để lưu giữ chúng trên máy tính Ta có một tập các dữ liệu có liên quan đến nhau và mang nhiều ýnghĩa, đó là một cơ sở dữ liệu
c.Phân loại cơ sở dữ liệu
Chúng được phân loại theo tùy mục đích sử dụng
- Database dạng file: Đây là dữ liệu được lưu trữ dưới dạng các file Loại Database dạng file hay được sử dụng nhất đó *.mdb Foxpro, ngoài ra còn có *.dbf, ascii,…
- Database quan hệ: Chúng là các dữ liệu khác nhau được lưu trữ trong các bảng dữ liệu nhưng giữa chúng lại có mối liên hệ với nhau Vì vậy, chúng mới có tên gọi là
“database quan hệ” Một số hệ quản trị hỗ trợ database quan hệ hiện rất được ưa chuộng bao gồm: MySQL, MS SQL server, Oracle,…
- Database hướng đối tượng: Điểm giống nhau giữa database hướng đối tượng và database quan hệ chính là chúng đều được lưu trữ trong bảng dữ liệu Còn điểm khác biệt các bảng của database hướng đối tượng có thêm các tính năng hướng đối tượng,
ví dụ như lưu trữ thêm 1 số hành vi để thể hiện rõ hơn hành vi của đối tượng Nhắc
Trang 6đến tên các hệ quản trị hỗ trợ database hướng đối tượng, người ta sẽ nhớ ngay đến những cái tên nổi bật như: MS SQL server, Postgres SQL, Oracle,…
- Database bán cấu trúc: Loại database này được lưu với định dạng XML, nó có thông tin mô tả dữ liệu và đối tượng được trình bày trong các thẻ tag Database bán cấu trúc
có ưu điểm vượt trội đó là lưu trữ được nhiều loại data khác nhau, chính vì vậy nó đang dần khẳng định được vị trí và giá trị sử dụng của mình
Ngoài ra còn có Phân loại Database theo hệ điều hành
- Database dùng hệ điều hành Windows, ví dụ như: SQL Server – MSSQL,
- Database dùng hệ điều hành Linux, ví dụ như: MySQL, Mariadb,
d Tác dụng thực tế của cơ sở dữ liệu
Cơ sở dữ liệu (CSDL) có nhiều tác dụng thực tế quan trọng trong các lĩnh vực khác nhau, bao gồm:
Quản lý thông tin: CSDL giúp tổ chức và lưu trữ thông tin một cách có tổ
chức, giúp dễ dàng truy cập, tìm kiếm và cập nhật dữ liệu
Hỗ trợ ra quyết định: CSDL cung cấp dữ liệu phục vụ cho việc phân tích và
đưa ra quyết định, từ việc dự đoán xu hướng đến đánh giá hiệu suất kinh
doanh
Tối ưu hóa quy trình kinh doanh: Bằng cách lưu trữ và quản lý dữ liệu một
cách hiệu quả, CSDL giúp tối ưu hóa quy trình kinh doanh, giảm thiểu thời gian và chi phí
Hỗ trợ khách hàng: CSDL cho phép tổ chức lưu trữ thông tin về khách hàng
và tương tác với họ một cách hiệu quả hơn thông qua việc tạo ra và duy trì hồ
sơ khách hàng
Quản lý hàng tồn kho: Trong các doanh nghiệp thương mại, CSDL được sử
dụng để quản lý thông tin về hàng tồn kho, từ việc theo dõi lượng tồn kho đến việc đặt hàng mới
Bảo mật dữ liệu: CSDL cung cấp các cơ chế bảo mật để đảm bảo rằng dữ liệu
chỉ được truy cập và sửa đổi bởi những người được ủy quyền
Tóm lại, CSDL không chỉ là một công cụ để lưu trữ dữ liệu mà còn là một phần quan trọng của hệ thống thông tin trong các tổ chức, đóng vai trò quan trọng trong việc hỗ trợ quản lý và ra quyết định
Trang 72.Mô hình cơ sở dữ liệu
a.Mô hình quan hệ thực thể (Entity Relationship model - E-R) :
CHEN giới thiệu vào năm 1976 là một mô hình được sử dụng rộng rãi trong các bản
thiết kế cơ sở dữ liệu ở mức khái niệm, được xây dựng dựa trên việc nhận thức thế giới thực thông qua tập các đối tượng được gọi là các thực thể và các mối quan hệ giữa các đối tượng này
So với mô hình mạng thì mô hình quan hệ thực thể có nhiều ưu điểm hơn và
nó thể hiện rõ hơn các thành phần trong thế giới thực Nếu như mô hình mạng chỉ biểu diễn các đối tượng chính chứ không mô tả được các đặc điểm trong đốitượng đó thì trong mô hình quan hệ thực thể lại khắc phục được những điểm yếu này Chính vì vậy việc lựa chọn mô hình này luôn là quyết định của các nhà phân tích thiết kế cơ sở dữ liệu
b.Thành phần của mô hình quan hệ
Thực thể (Entity) đơn giản là các đối tượng, sự vật, đồ vật Nhiều thực thể thì được gọi là một tập thực thể Trong mô hình ER có thể có nhiều thực thể khác nhau, được
ký hiệu bằng hình chữ nhật và tên thực thể bên trong (xem hình kế tiếp trong mục Thuộc tính, nhân viên là thực thể) Ví dụ thực thể (Nhà cửa, xe cộ, phòng ban, nhân viên, sinh viên…)
Ngoài ra còn có 1 loại là thực thể yếu Thực thể yếu là thực thể thêm vào để bổ sung thông tin cho thực thể chính trong quan hệ và nó không quan trọng Thông thường khi thiết kế ER model, bạn sẽ hiếm khi thấy thực thể yếu xuất hiện trong mô hình
Thực thể sẽ có các thuộc tính liên quan đến nó Ví dụ như con người thì sẽ có họ tên, ngày sinh, giới tính, địa chỉ, số CMND… Sinh viên thì có thêm MSSV, trường, lớp…
Thuộc tính trong mô hình ER được ký hiệu là hình bầu dục hoặc tròn cùng với tên thuộc tính bên trong Thuộc tính thuộc thực thể nào thì sẽ được nối đến thực thể đó.Thuộc tính dùng để phân biệt giữa các thực thể với nhau gọi là thuộc tính khóa Thuộctính khóa ký hiệu tương tự thuộc tính thường nhưng có thêm gạch chân dưới tên thuộctính
Trang 8c Các loại quan hệ trong mô hình
Mối quan hệ giữa các thực thể có các kiểu sau:
Quan hệ 1 – 1: ví dụ như chức trưởng phòng chỉ có thể thuộc về 1 người và cũng chỉ
có 1 người có thể giữ chức trưởng phòng trong cùng 1 thời điểm
Quan hệ 1 – n (hoặc n – 1): ví dụ như mỗi chiếc xe hơi được đứng tên bởi 1 người nhưng 1 người có thể có nhiều chiếc xe hơi
Quan hệ n – n: ví dụ như trên đại học, mỗi sinh viên sẽ được tham gia vào các lớp thuộc các môn học khác nhau và mỗi lớp cũng có nhiều sinh viên khác nhau tham gia.Mối quan hệ giữa thực thể còn được đánh bảng số để biểu thị số chiều của mối quan
hệ Bảng số có dạng sau (min, max), trong đó min là số lượng thực thể tối thiểu tham gia mối quan hệ và max là số thực thể tối đa trong mối quan hệ đó
Ví dụ như mỗi phòng ban có thể có 1 hoặc nhiều nhân viên (ít nhất 1 và nhiều nhất n nhân viên), mỗi nhân viên thì chỉ có thể thuộc về 1 và chỉ 1 phòng ban (ít nhất 1 và nhiều nhất 1)
d Phần quan trọng – các bước thiết kế E-R
Để xây dựng ER Model , ta thực hiện theo các bước sau:
a Xác định tập thực thể
b Xác định thuộc tính của thực thể
c Xác định kiểu của các thuộc tính
d Xác định thuộc tính khóa của các thực thể
e Xác định mối quan hệ giữa thực thể
f Vẽ ER Model
g Chuẩn hóa model
Trang 9Ngoài ra, còn có 1 số quy tắc quan trọng
1 Mỗi thành phần phải có ý nghĩa trong model
2 Xác định đúng thực thể
3 Có đầy đủ các thuộc tính của thực thể
4 Xác định đúng các mối quan hệ giữa thực thể
5 Model phải đơn giản nhưng đầy đủ thông tin và dễ đọc hiểu
e.Ứng dụng và thực tiễn
ER là mô hình dùng để mô tả cấu trúc dữ liệu và quan hệ giữa các thực thể trong cơ sở
dữ liệu Mô hình ER được sử dụng để thể hiện sự liên kết giữa các thực thể và thuộc tính của chúng ER là mô hình hóa dữ liệu và ERD là công cụ để biểu diễn và trực quan hóa mô hình ER
3.Mô hình quan hệ
a Mô hình quan hệ là gì ?
Mô hình quan hệ do F.F Codd đề xuất năm 1970, được xây dựng dựa trên cấu trúc toán học tự nhiên và đơn giản: Quan hệ (relation) hay Bảng (table)
Ví dụ cho một mô hình quan hệSau đây sẽ là thuật ngữ cơ bản của mô hình quan hệ
Thuộc tính (attribute): Là các cột của một quan hệ được đặt tên cụ thể
Như trên quan hệ Phim, thuộc tính chính là Tên phim, Năm, Thời lượng, Loại
Các thuộc tính xuất hiện ở trên cùng của một cột và mô tả ý nghĩa của cột đó Thứ tự của các cột trong một quan hệ không quan trọng, miễn sao cung cấp đầy đủ thông tin
và tránh dư thừa dữ liệu là được
Ví dụ: Cột Thời lượng cho ta biết độ dài của một bộ phim theo đơn vị phút
Lược đồ (Schema): Được định nghĩa bao gồm tên của một quan hệ và tập hợp các thuộc tính của quan hệ đó
Ví dụ: Lược đồ của quan hệ Phim là: Phim(Tên_phim, năm, thời_lượng, Loại)
Trang 10Trong mô hình quan hệ, một CSDL bao gồm một hoặc nhiều quan hệ tạo thành tập hợp các lược đồ của các quan hệ của một CSDL được gọi là lược đồ CSDL (Database Schema)
Bộ (Tuple): Chính là những dòng của một quan hệ, khác với dòng tiêu đề banh nhé (Bao gồm tên các thuộc tính)
Một bộ có các thành phần tương ứng với các thuộc tính của quan hệ
Ví dụ: Bộ đầu tiên trong quan hệ Phim có 4 thành phần: Cuốn theo chiều gió, 1939,
231, Tình cảm - tương ứng với 4 thuộc tính Tên phim, Năm, Thời lượng, Loại
Cách viết một bộ bao gồm các thành phần xuất hiện theo thứ tự các thuộc tính được liệt kê trong lược đồ, cách nhau dấu phẩy và được bao bọc bởi cặp dấu ngoặc đơn.Ví dụ: (Cuốn theo chiều gió, 1939, 231, Tình cảm)
Thể hiện: Nội dung (bao gồm tập các bộ) của một quan hệ tại một thời điểm nào đó được gọi là thể hiện của quan hệ tại thời điểm đó
Ví dụ: 3 bộ trong quan hệ Phim này là một thể hiện của chính quan hệ Phim này.Miền giá trị: Tập các giá trị mà một thuộc tính Ai có thể nhận được gọi là miền giá trị của thuộc tính đó, kí hiệu dom(Ai)
Mỗi thành phần của một bộ hay giá trị của các thuộc tính phải là nguyên tố Một giá trị được gọi là nguyên tố khi giá trị này không thể phân chia được, ví dụ tên sinh viên, năm sinh
=> Kiểu dữ liệu của một thuộc tính phải là các kiểu cơ bản như string, integer
Ví dụ: dom(năm sinh) phải là tập hợp các số có 4 chữ số
Khoá (Key): Là tập tối thiểu các thuộc tính xác định duy nhất của một bộ
b.Các loại Khóa và tác dụng của nó
Khoá (Key): Là tập tối thiểu các thuộc tính xác định duy nhất của một bộ.
Một quan hệ có thể có nhiều khoá, gọi là các khoá ứng viên (candidate key) Trong
đó, khoá chính (primary key) là khoá được chọn từ các khoá ứng viên:
Thường là khoá ứng viên có ít nhất một thuộc tính
Thường được gạch dưới trong lược đồ quan hệ
Ví dụ: SINHVIEN(MSSV, hoten, namsinh, diachi, ML)
Khóa chính của quan hệ này xuất hiện như là các thuộc tính của một quan hệ khác thì
gọi là khóa ngoại (Foreign key).
Khoá chính và khoá ngoại kết hợp với nhau tạo nên các liên kết mật thiết đảm bảo dữ liệu được logic và toàn vẹn
Trang 11Ví dụ
SINHVIEN (MASV, hoten, namsinh, diachi, ML)
LOP (ML, tenlop)
MONHOC (MM, tenmon, TC, LT, TH)
DIEM (MASV, MM, hk, nk, diem)
GIAOVIEN (MAGV, hotenGv, namsinhGv, diachiGv)
DAY (MAGV, MM, hk, nk)
Phần in đậm - có gạch dưới là khoá chính, in nghiêng – có gạch dưới là khoá
ngoại.Hoặc với khoá ngoại bạn có thể nhận biết được bằng xét xem một thuộc tính của bất kì một quan hệ nào là khoá chính của một quan hệ khác
Khoá chính có thể bao gồm nhiều thuộc tính – cũng có thể bao gồm nhiều khoá ngoại khác nhau
3.2.Các loại ràng buộc trong mô hình quan hệ
a.Các loại ràng buộc
Ràng buộc ngầm định: Là các ràng buộc liên quan đến tính chất của một quan hệ như:
Giá trị các thuộc tính phải là nguyên tố
Không được phép có hai bộ giống nhau trong cùng một quan hệ
Thứ tự các bộ trong một quan hệ là không quan trọng,…
Ràng buộc dựa trên ứng dụng: Là ràng buộc liên quan đến ngữ nghĩa và hành vi
(behavior) của các thuộc tính Loại ràng buộc này khó mô tả trong mô hình dữ liệu và chỉ được kiểm tra trong quá trình cập nhật dữ liệu dựa trên nền tảng ứng dụng đã đượclập trình
Ràng buộc dựa trên lược đồ: Là ràng buộc có thể mô tả trực tiếp trong lược đồ của
mô hình dữ liệu Loại ràng buộc này được mô tả bằng ngôn ngữ DDL bao gồm các ràng buộc về:
Miền giá trị (domain constraint)
Khoá (key constraint)
Các giá trị NULL
Toàn vẹn thực thể (entity integrity constraint)
Toàn vẹn tham chiếu (referential integrity constraint)
Trang 12Ràng buộc miền giá trị: Là loại ràng buộc về giá trị của một thuộc tính xác định nào
đó trong một quan hệ cụ thể Ràng buộc này có thể áp dụng lên một thuộc tính hoặc một nhóm các thuộc tính tự ràng buộc lẫn nhau về giá trị
Ràng buộc về giá trị NULL: Ràng buộc này cho biết một thuộc tính có thể nhận giá trị
NULL hay không
Ràng buộc toàn vẹn thực thể: Kiểm tra rằng khoá chính không thể mang giá trị NULL
hay nói cách khác – các khoá chính được sử dụng để xác định các bộ trong một quan
hệ Nếu có bất cứ khoá chính nào mang giá trị NULL thì các bộ tương ứng đó sẽ không thể xác định được
Ví dụ: Nếu có hai hoặc nhiều bộ có khoá chính mang giá trị NULL => thể không thể phân biệt chúng nếu tham khảo chúng từ các quan hệ khác
b.Kết luận
Tóm lại, ràng buộc là thứ không thể thiếu trong việc thiết kế và vận hành một CSDL trong thực tế Ràng buộc là kiến thức tiên quyết để bắt đầu xây dựng một CSDL nhất quán và logic để đáp ứng được các nhu cầu khách hàng trong xây dựng và phát triển phần mềm
Trang 133.3.Chuẩn hóa trong cơ sở dữ liệu ?
a.Khái niệm cơ bản
Chuẩn hoá là quá trình tách bảng (phân rã) thành các bảng nhỏ hơn dựa vào các phụ thuộc hàm Các dạng chuẩn là các chỉ dẫn để thiết kế các bảng trong CSDL
Mục đích của chuẩn hoá là loại bỏ các dư thừa dữ liệu và các lỗi khi thao tác dư thừa
và các lỗi khi thao tác dữ liệu (Insert, Delete, Update) Nhưng chuẩn hoá làm tăng thờigian truy vấn
b.Các dạng chuẩn hóa(NF)
– 1NF (First Normal Form)
Định nghĩa: Một bảng (quan hệ) được gọi là ở dạng chuẩn 1NF nếu và chỉ nếu toàn bộcác miền giá trị của các cột có mặt trong bảng (quan hệ) đều chỉ chứa các giá trị nguyên tử (nguyên tố)
Ví dụ :
Toan
7
Dạng chuẩn 2 – 2NF
Trang 14Định nghĩa Một quan hệ ở dạng chuẩn 2NF nếu quan hệ đó:
Là 1NF
Các thuộc tính không khoá phải phụ thuộc hàm đầy đủ vào khoá chính
Ví dụ 1: Cho quan hệ R = (ABCD) , khoá là AB và tập phụ thuộc hàm F = {AB -> C,
AB -> D}là quan hệ đạt chuẩn 2NF
Ví dụ 2: Cho quan hệ R = (ABCD) , khoá là AB và tập phụ thuộc hàm
F = {AB -> C, AB -> D, B -> DC} là quan hệ không đạt chuẩn 2NF vì có phụ thuộc hàm
B -> DC là phụ thuộc hàm bộ phận (phụ thuộc hàm không đầy đủ) vào khoá Khi đó ta đưa về dạng chuẩn 2NF như sau:
Suy ra :
Một quan hệ ở dạng chuẩn 2NF nếu thoả mãn 1 trong các điều kiện sau: Khoá chính chỉ gồm một thuộc tính Bảng không có các thuộc tính không khoá Tất cả các thuộc tính không khoá phụ thuộc hoàn toàn vào tập các thuộc tính khoá chính
Dạng chuẩn 3 – 3NF
Định nghĩa Một quan hệ ở dạng chuẩn 3NF nếu quan hệ đó:
Là 2NF
Các thuộc tính không khoá phải phụ thuộc trực tiếp vào khoá chính
Ví dụ 1: Cho quan hệ R = (ABCDGH, khoá là AB và tập phụ thuộc hàm F = {AB ->
C, AB -> D, AB -> GH} là quan hệ đạt chuẩn 3NF
Ví dụ 2: Cho quan hệ R = (ABCDGH) , khoá là AB và tập phụ thuộc hàm
F = {AB -> C, AB -> D, AB -> GH, G -> DH} là quan hệ không đạt chuẩn 3NF vì có phụ thuộc hàm G ® DH là phụ thuộc hàm gián tiếp vào khoá Khi đó ta đưa về dạng chuẩn 3NF như sau:
Ngoài ra còn 1 loại dạng chuẩn hóa
Dạng chuẩn BCNF (Boyce Codd Normal Form)