Hệ quản trị cơ sở dữ liệu PowerPoint Presentation Database Management System Tên môn học Hệ quản trị cơ sở dữ liệu (Database Management System) Số tín chỉ 3 • L{ thuyết 30 tiết • Thực hành 30 tiết Giới thiệu DBMS Lưu t.Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system Hệ quản trị cơ sở dữ liệu database management system
Trang 1D ata b ase M anagement S ystem
Trang 2 Tên môn học: Hệ quản trị cơ sở dữ liệu
( D ata b ase M anagement S ystem)
Số tín chỉ: 3
• L{ thuyết: 30 tiết
• Thực hành: 30 tiết
Trang 4 Điểm môn học = 50% điểm TX + 50% điểm thi
Đánh giá thường xuyên:
Trang 5 Bài giảng và bài tập:
http://sites.google.com/site/aguims301
Thực hành: SQL Server
Khuyến khích SV đọc thêm các tài liệu khác có
liên quan
Trang 7 Dữ liệu của ứng dụng được lưu trữ trên những
tập tin dữ liệu riêng
Hệ Thống Quản
Lý File
File Dữ liệu
Trang 8 Ưu điểm:
• Gọn nhẹ, phù hợp thực tiễn Ít tốn thời gian, chi phí thấp
• Khả năng đáp ứng khai thác nhanh chóng và kịp thời
Nhược điểm:
• Thông tin lưu nhiều nơi, dư thừa, không nhất quán
• Lãng phí thời gian cập nhật dữ liệu và lưu trữ
• Phối hợp tổ chức và khai thác là khó khăn
• Thiếu sự chia sẻ thông tin giữa các đơn vị và bộ phận
• Khó khăn khi nâng cấp ứng dụng
• Không có người quản trị dữ liệu, mọi người có quyền sử
dụng thêm, xóa, sửa không an toàn, không bảo mật thông tin
Trang 9Hệ Quản Trị CSDL
Trang 10Các đặc trưng:
Ít dư thừa dữ liệu
Chia sẻ cho nhiều người sử dụng
Có tính an toàn, bảo mật
Cho phép truy xuất đồng thời
Có thể khôi phục khi có sự cố
Độc lập vật l{ và logic
Trang 11View 1 View 2 View n
Mức logic
Mức vật l{
…
Độc lập dữ liệu mức logic
Độc lập dữ liệu mức vật lý
Trang 12 Mức khung nhìn (View Level)
• Mô tả một phần nào đó trong hệ thống
Mức logic (Logical View)
• Những thông tin gì được lưu trữ trong CSDL
• Có những mối quan hệ nào giữa những thông tin
đó
Mức vật l{ (Physical Level)
• Dữ liệu được lưu trữ như thế nào
Trang 13type customer = record
phần thông tin của customer
Trang 14TỔ CHỨC DỮ LIỆU HỆ QUẢN LÝ DỮ LIỆU
Hệ thống tập tin
(File system)
Hệ điều hành (Operating system)
Cơ sở dữ liệu
(Database)
Hệ quản trị cơ sở dữ liệu (Database Management System)
Trang 16 Định nghĩa HQT CSDL
Các thành phần của HQT CSDL
Phân loại HQT CSDL
Lợi ích từ HQT CSDL
Trang 17 Định nghĩa HQT CSDL
Các thành phần của HQT CSDL
Phân loại HQT CSDL
Lợi ích từ HQT CSDL
Trang 18 Là hệ thống phần mềm cung cấp các công cụ
để xây dựng và quản l{ CSDL
• Định nghĩa cấu trúc dữ liệu
• Cung cấp khả năng thao tác trên CSDL
• Hỗ trợ lưu trữ dữ liệu
• Điều khiển truy xuất dữ liệu giữa nhiều người dùng
Trang 19 Một số HQT CSDL nổi bật
• MS-SQL Server
• ORACLE
• DB2
Trang 20 Từ giữa 1960s: mô hình mạng và phân cấp,
dùng file
• CODASYL
Cuối 1970s: mô hình dữ liệu quan hệ
• SYSTEM-R, DB2, Informix, Sysbase, Oracle
1980s: mô hình dữ liệu hướng đối tượng
• ObjectStone, O2
1990s: XML
Trang 21 Định nghĩa HQT CSDL
Các thành phần của HQT CSDL
Phân loại HQT CSDL
Lợi ích từ HQT CSDL
Trang 24 DBMS cung cấp giao diện lập trình dễ sử dụng
Trang 25 Thành phần quản l{ các giao tác có ảnh hưởng
đến CSDL
• Giao tác là một nhóm các hành động mà nếu thực
hiện được thì phải thực hiện hết tất cả các hành động trong giao tác đó, ngược lại xem như không thực hiện hành động nào
Trang 26 Điều khiển đồng thời
• Bộ lập lịch (scheduler) – có nhiệm vụ lập 1 lịch
thực hiện từ n giao tác được kích hoạt đồng thời
• Cơ chế khóa (lock) – ngăn 2 giao tác cùng thao tác
lên cùng 1 đơn vị dữ liệu tại một thời điểm
Trang 27 Để CSDL được bền vững, mọi thay đổi lên
CSDL phải được ghi nhận lại
Log manager – ghi chép nhật ký
• Đảm bảo CSDL vẫn nguyên vẹn khi có sự cố xảy ra
Recovery manager – khôi phục
• Dựa vào nhật k{ để phục hồi lại CSDL về trạng thái nhất quán trước đó (đảm bảo tất cả các RBTV của CSDL đó)
Trang 28 Biểu diễn câu truy vấn ở dạng ngôn ngữ cấp cao (SQL) và thực hiện câu truy vấn có hiệu quả
• Query parser
Xây dựng cấu trúc hình cây từ câu truy vấn
• Query preprocessor
Kiểm tra ngữ nghĩa của câu truy vấn
Chuyển đổi cấu trúc cây sang ngôn ngữ đại số quan hệ
• Query optimizer
Sắp xếp các phép toán nhằm mục đích tối ưu hóa câu truy vấn
Trang 29 Định nghĩa HQT CSDL
Các thành phần của HQT CSDL
Phân loại HQT CSDL
Lợi ích từ HQT CSDL
Trang 30 Theo mô hình dữ liệu
Trang 31 Dữ liệu ~ tập các record
• Mối quan hệ giữa các dữ liệu ~ các link
• Các record được tổ chức thành tập các đồ thị tùy ý
Khách hàng Tài khoản Chi nhánh
Trang 32 Dữ liệu và mối quan hệ được biểu diễn bằng
các record và link
Các record được tổ chức dưới dạng tập các
cây
Trang 33 Sử dụng bảng 2 chiều (quan hệ) để biểu diễn cho dữ
liệu và mối quan hệ
Khách hàng Tài khoản
Trang 34 Cấu trúc 1 đối tượng
Trang 36 Dữ liệu và mối quan hệ được biểu diễn thông qua
ngôn ngữ đánh dấu (Markup Language)
• Thẻ <tag>
• Element
1 cặp thẻ mở/đóng <tag> </tag>
Dữ liệu dưới dạng text
Trang 37 Định nghĩa HQT CSDL
Các thành phần của HQT CSDL
Phân loại HQT CSDL
Lợi ích từ HQT CSDL
Trang 38 Chống được việc dư thừa dữ liệu trong lưu trữ
Kiểm soát được việc truy nhập dữ liệu trái phép
Cung cấp những cách chứa dữ liệu hiệu quả tăng tốc
độ truy xuất
Cung cấp hệ thống lưu trữ và phục hồi dữ liệu
Cung cấp nhiều giao diện
Giúp biểu diễn những quan hệ phức tạp của dữ liệu
Bảo đảm được tính thống nhất và không mâu thuẫn
của CSDL thông qua các ràng buộc
Chia sẻ dữ liệu
Trang 39 Tăng tính chuẩn hóa của cả hệ thống
Giảm thời gian phát triển các ứng dụng
Dễ dàng thay đổi cấu trúc dữ liệu
Cập nhật thông tin nhanh:
Lợi ích về kinh tế:
• Ngăn chặn được sự chồng chéo giữa các nguồn nhân lực và tài nguyên bằng việc dùng một CSDL chung giữa các bộ phận
Trang 40 DBMS đòi hỏi cấu hình và giá cả nhất định:
• Đầu tư ban đầu và các phần cứng bổ sung
• Để có một DBMS ưng { tốn khá nhiều tiền
hợp:
• Dữ liệu đơn giản, định nghĩa rõ ràng, ít thay đổi
• Nếu yếu tố real-time là vô cùng quan trọng (Game: Counter Strike)
• Nếu việc truy xuất đồng thời là không cần thiết
trường hợp:
• Mô hình dữ liệu quá phức tạp
• Có những bước thực hiện đặc biệt mà DBMS không đáp ứng được
Trang 41 Thiết kế viên cơ sở dữ liệu (Database
Trang 421 So sánh ưu điểm và nhược điểm của hệ
thống quản l{ tập tin truyền thống và hệ
quản trị cơ sở dữ liệu
2 Hệ quản trị cơ sở dữ liệu là gì? Nêu tên một
số DBMS phổ biến hiện nay
3 Trình bày tóm tắt chức năng các thành phần
chính của DBMS
Trang 43Lưu trữ dữ liệu
Trang 44Mục đích
Trang 45Lưu trữ dữ liệu
Phương tiện lưu trữ
Trang 46Các phương tiện lưu trữ dữ liệu
Trang 48 Có tốc độ truy cập nhanh, nhưng có giới hạn
về khả năng lưu trữ và giá thành cao
Trang 49Primary storage
Các dạng Primary storage:
Static RAM (Random Access Memory): cho phép
đọc ghi (các dữ liệu bị thay đổi hay đang sử dụng)
Dữ liệu trên RAM sẽ mất khi mất điện
Cache memory: chính là RAM nhưng lưu dữ liệu
của những lần đọc trước đó
Khi chương trình cần đọc dữ liệu thì có thể đọc trong cache, làm cho việc thực thi chương trình sẽ nhanh
Dynamic RAM: là vùng làm việc chính cho CPU
(main memory), lưu trữ các chương trình và dữ
liệu
Trang 50Secondary storage
Là dạng lưu trữ mà CPU không thể thao tác trực tiếp được, dữ liệu phải được chuyển vào primary storage trước khi thao tác
Secondary storage có tốc độ truy cập chậm hơn so với primary storage, nhưng khả năng lưu trữ cao hơn và giá thành thấp hơn
Trang 51Secondary storage
Các dạng secondary storage (lưu CSDL):
SSD (Solid-State Drive)
Cơ sở dữ liệu được lưu trữ trên đĩa, khi cần truy xuất dữ liệu phải chuyển từ đĩa vào bộ nhớ chính
Các dạng storage khác (backup dữ liệu):
Đĩa quang (Optical Disk)
Băng từ (Magnetic Tape)
Trang 52Đĩa cứ
ng
Trang 53Đĩa từ (Magnetic disk/HDD)
Dùng đĩa từ để lưu CSDL vì
Chi phí thấp
Khối lượng lưu trữ lớn
Lưu trữ lâu dài, phục vụ cho truy cập và xử lý lặp lại
Trang 54Đĩa từ (Magnetic disk)
Trang 55 Định dạng mặt đĩa
1 mặt đĩa chia nhiều track
1 track chia thành nhiều block (page)
1 cluster gồm nhiều block
Trang 56Đĩa cứng
khi cần xử lý Nếu dữ liệu có thay đổi thì sẽ được ghi trở lại vào đĩa
ổ đĩa và máy tính
nhận lệnh I/O định vị đầu đọc thực hiện R/W
thời gian một số kỹ thuật tìm kiếm khai thác điều này
Trang 57Nguyên tắc
Trang 58Mẫu tin
Mẫu tin (Record) là tập hợp dữ liệu có liên quan với nhau
Mỗi mẫu tin gồm nhiều trường
Mỗi trường có kiểu dữ liệu riêng
Có 2 loại mẫu tin
Mẫu tin có chiều dài cố định
Mẫu tin có chiều dài thay đổi
Trang 59Mẫu tin có chiều dài cố định
Trang 60Mẫu tin có chiều dài cố định
Trang 61Mẫu tin có chiều dài cố định
Trang 62Mẫu tin có chiều dài cố định
Trang 63Mẫu tin có chiều dài động
Trang 64Mẫu tin có chiều dài động
Byte-string Representation
Cuối mỗi mẫu tin có 1 byte ký tự đặc biệt cho biết
kết thúc mẫu tin
Sử dụng lại không gian trống sau khi xóa mẫu tin
không hiệu quả, dẫn đến tình trạng phân mảnh
Tốn nhiều chi phí khi chiều dài mẫu tin thay đổi
Trang 65Mẫu tin có chiều dài động
Fixed-Length Representation
Sử dụng 1 hay nhiều mẫu tin có chiều dài cố định
biểu diễn cho những mẫu tin có chiều dài động
Có 2 kỹ thuật
• Reserved space
• Pointer
Trang 66Mẫu tin có chiều dài động
Reserved space:
Sử dụng độ dài lớn nhất của 1 mẫu tin nào đó cài
đặt cho tất cả các mẫu tin còn lại
Độ dài này phải đảm bảo không bao giờ dài thêm
được nữa
Trang 67Mẫu tin có chiều dài động
Pointer:
Các mẫu tin có chiều dài động móc xích với nhau
thông qua danh sách các mẫu tin có chiều dài cố định
Trang 68Lưu tập tin trên đĩa
tin, mỗi tập tin gồm nhiều mẫu tin
cần thì có thể truy cập được và truy cập một cách hiệu quả
Cách tổ chức tt chính (primary file organization) cho biết các mẫu tin định vị vật lý thế nào trên đĩa cách truy cập
Cách tổ chức phụ (secondary organization / auxiliary access structure) để truy cập các mẫu tin trên tt
hiệu quả
Trang 69Lưu tập tin trên đĩa
Trang 70Lưu tập tin trên đĩa
Trang 71Lưu mẫu tin vào block
Trang 72Lưu mẫu tin vào block
Trang 73Tổ chức block trên đĩa
Trang 74File header
Trang 75Cách tổ chức mẫu tin trên tập tin
Trang 76Cách tổ chức mẫu tin trên tập tin
Heap file
Sequential file
Hashing file
Clustering file
Trang 78Sequential file
theo thứ tự của trường là search key
liệu được sắp xếp (theo search key)
tìm: duyệt hoặc tìm tuần tự
số block cần truy cập
Trang 79
Tập tin tuần tự có độ dài mẫu tin
cố định
Các mẫu tin có độ dài cố định: l
Xác định mẫu tin thứ n: l * n
Ưu: định vị nhanh vị trí một mẫu tin
Khuyết: khoảng trống trong lưu trữ
Trang 80Tập tin tuần tự có độ dài mẫu tin thay đổi
Các mẫu tin có độ dài khác nhau
Đầu mỗi mẫu tin sẽ có một vùng đặc biệt lưu trữ độ dài của mẫu tin
Ưu: tối ưu không gian lưu trữ
Khuyết: muốn truy xuất mẫu tin thứ n phải duyệt qua n-1 mẫu tin trước đó
Trang 81Hashing file
search key của quan hệ
search key Mỗi lô có một số block, liên kết nhau bởi con trỏ Dữ liệu trong block được tổ chức
như heap
chứa mẫu tin
nếu khóa là chuỗi: định quy tắc chuyển chuỗi ký tự thành số
Trang 82Hashing file
Trang 83Hashing file
Tính h(v) để biết lô, thực hiện tìm trong lô này
Tính h(v) để biết lô Tìm khối cuối cùng của lô, nếu còn chỗ thì chèn vào, không thì cấp phát khối khác chèn vào cuối danh sách của lô h(v)
Tìm và sửa/xóa
Sau khi xóa có thể phải thực hiện hiệu chỉnh (dồn dữ liệu trong khối) để giảm số lượng khối trong lô này
Trang 84Clustering file
Trang 85Clustering file
của một/nhiều bảng chung trên một vài block
Intra-clustering: gom nhóm dữ liệu của cùng một
Trang 86Clustering file
Cách lưu trữ này có ích:
Giảm thời gian truy xuất đĩa vì số block phải đọc
giảm
Tiết kiệm không gian lưu trữ: giá trị tại trường là
cluster key chỉ được lưu 1 lần, bất kể có bao nhiêu mẫu tin ở bảng khác tham chiếu đến dòng này
Tổ chức dữ liệu kiểu cluster không ảnh hưởng đến việc tạo chỉ mục (index) trên các bảng
tham gia tạo cluster
Trang 87Clustering file
Sử dụng cluster file
Chỉ định cluster ở giai đoạn thiết kế vật lý
Chọn các bảng để gom nhóm:
Các table chủ yếu phục vụ cho truy vấn (select), ít
khi thêm mới (insert) hoặc cập nhật (update)
Chứa dữ liệu truy vấn chung hoặc kết với tần suất
cao
Trang 88Clustering file
Sử dụng cluster file
Phải có đủ giá trị phân biệt để các mẫu tin liên quan đến mỗi giá trị của cluster key lắp gần đầy 1 block dữ liệu
Nếu có ít dòng: tốn không gian lưu trữ mà hiệu quả không đáng kể
Có thể định SIZE khi tạo cluster, là số byte trung bình ước tính để có thể lưu 1 cluster
Nếu có quá nhiều dòng cũng không hiệu quả
Dùng cluster key có quá ít giá trị (VD: Phai), sẽ phản tác dụng
Trang 89Lưu trữ dữ liệu
Các kỹ thuật tổ chức lưu trữ
Trang 90Storage Area Network
SAN là hệ thống mạng lưu trữ chuyên dụng, thường dùng ở những nơi
lưu trữ nhiều dữ liệu
cần độ an toàn, dự phòng cao
có thể truy xuất nhanh
Trang 91Storage Area Network
SAN có 3 thành phần chính:
Thiết bị lưu trữ: là các tủ đĩa chứa dữ liệu
chung cho toàn bộ hệ thống có dung lượng lớn, khả năng truy xuất nhanh, có hỗ trợ các chức năng RAID, local Replica,
Thiết bị chuyển mạch SAN: các SAN switch
thực hiện việc kết nối các máy chủ đến tủ đĩa
Các máy chủ hoặc máy trạm cần lưu trữ,
được kết nối đến SAN switch bằng cáp quang thông qua HBA card
Trang 92Storage Area Network
Trang 93Lợi ích khi sử dụng SANs:
Dễ quản lý, chia sẻ, mở rộng khả năng lưu trữ
cho phép nhiều máy chủ cùng chia sẻ một
Trang 94Redundant Arrays of Independent Disks
nhằm cải thiến tốc độ đọc ghi dữ liệu và tăng độ tin cậy bằng cách lưu trữ dư thừa thông tin
phòng hộ
ghi dữ liệu lên nhiều đĩa cứng cùng lúc
nếu một ổ bị trục trặc thì có thể đổi sang ổ khác
toàn dữ liệu và giúp gia tăng đáng kể tốc độ truy xuất dữ liệu từ đĩa cứng
Trang 95RAID 0
gọi là “striping”
dữ liệu được ghi thành nhiều phần trên nhiều ổ đĩa
tăng hiệu quả thực thi, có thể ghi hai khối dữ liệu cùng lúc tới hai ổ cứng
lệ, do không cung cấp bản dự phòng cho dữ liệu lưu trữ
kém an toàn
một ổ cứng bị lỗi thì không phục hồi lại được dữ liệu
Trang 96RAID 0
Trang 97RAID 1
RAID 1 cần ít nhất 2 đĩa cứng, cung cấp một phiên bản dự phòng dữ liệu đầy đủ cho hệ thống
Dữ liệu được ghi giống như nhau trên cả 2 đĩa
(mirroring)
nếu một ổ gặp sự cố, ổ còn lại vẫn hoạt động
Ưu điểm là độ an toàn cao Tuy nhiên, hiệu suất thực thi không phải là yếu tố hàng đầu
Trang 98RAID 1
Trang 99RAID 5
như nhau, sử dụng phương pháp phân chia
“parity”
là phép toán nhị phân so sánh 2 khối dữ liệu với một khối dữ liệu thứ 3
một ổ trong dãy bị trục trặc thì sẽ cho phép các bit
“parity” khôi phục lại dữ liệu khi ổ đó được thay thế
cứng
được độ an toàn
Trang 100RAID 5
Trang 101Lưu trữ dữ liệu
Chỉ mục
Trang 102Chỉ mục (Index)
bảng liệt kê danh mục trong thư viện
Về kỹ thuật có 2 loại chỉ mục cơ bản:
giá trị làm index
Dùng pp tìm nhị phân trên tập tin chỉ mục
Chỉ mục là một tập tin có thứ tự chứa các mẫu tin có chiều dài cố định gồm 2 trường
• Trường 1: khóa tìm kiếm
• Trường 2: con trỏ trỏ đến các block
Trang 103Chỉ mục
Đánh giá các kỹ thuật chỉ mục
Loại truy xuất
Thời gian truy xuất
Thời gian thêm / xóa
Không gian đĩa dùng cho chỉ mục
Trang 104 Các mẫu tin trên tt chỉ mục chỉ ứng với một số giá trị trên
tt dữ liệu trên trường search key
Để tìm 1 giá trị, ta tìm trong tt chỉ mục một mẫu tin sao
cho giá trị search key lớn nhất <= giá trị cần tìm, và duyệt mẫu tin xuất phát từ vị trí đầu tiên mà con trỏ chỉ đến
Trang 105Phân loại chỉ mục
Trang 106 simple index: index key chỉ có 1 trường
composite index: index key có nhiều trường
VD:
NOIGD( , TENNGD, SONHA, DUONG, QH, TP)
Nhu cầu tìm nhanh một địa chỉ giao dịch: index key là
DUONG (simple index) thì không hiệu quả, mà phải dùng SONHA, DUONG, QH, TP (composite index)
Trang 107Chỉ mục
cụ thể
thể có nhiều chỉ mục trên cùng một tập tin
loại dữ liệu mà trên đó thiết lập chỉ mục
giá trị trên index key có phân biệt hay không
loại câu SQL được dùng
các truy cập khác trên bảng, nếu cập nhật nhiều trên trường chỉ mục sẽ làm chậm hệ thống
có quá nhiều chỉ mục sẽ làm chậm hệ thống