Bài giảng Cơ sở dữ liệu đa phương tiện - Đỗ Trung Tuấn
Hꢀc viꢁn Công nghꢁ Bưu chính Viꢂn thông
ðꢃ Trung Tuꢄn
Cơ sꢅ dꢆ liꢁu ña phương tiꢁn
Hà Nꢇi, 2010
1
Mꢀc lꢀc
Mꢀc lꢀc........................................................................................................................... 2
Giꢁi thiꢂu........................................................................................................................ 5
Chương I. Tꢃng quan vꢄ cơ sꢅ dꢆ liꢂu ña phương tiꢂn..................................................... 6
1.1 Mꢅ ñꢇu ......................................................................................................... 6
1.2 Khái niꢂm dꢆ liꢂu ña phương tiꢂn ................................................................. 6
1.1.1. Kiꢈu dꢆ liꢂu và ña phương tiꢂn.............................................................. 6
1.1.2. Cơ sꢅ dꢆ liꢂu và hꢂ quꢉn trꢊ cơ sꢅ dꢆ liꢂu .............................................. 7
1.1.3. Tìm kiꢋm thông tin tư liꢂu văn bꢉn ........................................................ 7
1.1.4. Tìm kiꢋm và chꢌ sꢍ hóa ña phương tiꢂn.................................................. 7
1.1.5. Trích ñꢎc trưng, thꢈ hiꢂn nꢏi dung và chꢌ sꢍ hóa .................................... 8
1.3. ðꢎc trưng cꢐa các ñꢍi tưꢑng ña phương tiꢂn ............................................... 8
1.3.1. Sꢒ gia tăng dꢆ liꢂu ña phương tiꢂn và các tính chꢓt cꢐa chúng............... 8
1.3.2. Hꢂ quꢉn trꢊ cơ sꢅ dꢆ liꢂu và vai trò quꢉn lí dꢆ liꢂu ña phương tiꢂn......... 9
1.3.3. Hꢂ thꢍng tìm kiꢋm thông tin ñꢍi vꢁi dꢆ liꢂu ña phương tiꢂn ................ 11
1.3.4. Tiꢋp cꢔn tích hꢑp ñꢈ tìm kiꢋm và chꢌ sꢍ hóa ña phương tiꢂn ................ 11
1.3.5. Tꢃng quan vꢄ hꢂ thꢍng tìm kiꢋm và chꢌ sꢍ hóa ña phương tiꢂn ............ 12
1.4. Cꢓu trúc lưu trꢆ cơ sꢅ dꢆ liꢂu ña phương tiꢂn............................................. 12
1.4.1. Giꢁi thiꢂu ............................................................................................ 13
1.4.2. Cây kꢕD............................................................................................... 13
1.4.3. Cây tꢖ phân......................................................................................... 18
1.4.4. Cây tꢖ phân MX.................................................................................. 21
1.4.5. Cây R.................................................................................................. 24
1.4.6. So sánh các cꢓu trúc dꢆ liꢂu ña phương tiꢂn......................................... 26
1.5. Ngôn ngꢆ thao tác dꢆ liꢂu ña phương tiꢂn.................................................. 27
1.5.1. Giao diꢂn ngưꢗi dùng.......................................................................... 27
1.5.2. Khꢉ năng cꢐa hꢂ thꢍng tìm kiꢋm và chꢌ sꢍ hóa và ꢖng dꢀng ................ 27
1.6. Kꢋt luꢔn..................................................................................................... 28
Chương 2. Tư liꢂu ña phương tiꢂn tương tác.................................................................. 29
2.1 Cơ sꢅ dꢆ liꢂu ña phương tiꢂn tương tác....................................................... 29
2.1.1. Giꢁi thiꢂu ............................................................................................ 29
2.1.2. Kiꢋn trúc cꢐa MIRS............................................................................. 29
2.1.3. Các mô hình dꢆ liꢂu ............................................................................ 31
2.1.4. Thiꢋt kꢋ giao diꢂn ngưꢗi dùng ............................................................. 35
2.2. Mô hình hoá tư liꢂu ña phương tiꢂn tương tác IMD.................................... 37
2.2.1. Mô hình hoá tương tác vꢁi các sꢒ kiꢂn ................................................ 38
2.2.2. Tꢃ hꢑp không gian, thꢗi gian và các nhân tꢍ........................................ 40
2.2.3. Dꢆ liꢂu văn bꢉn ................................................................................... 42
2.2.4. ðꢘ hꢙa vecto và hình ñꢏng .................................................................. 44
2.2.5. Âm thanh............................................................................................. 50
2.2.6. Hình ꢉnh sꢍ ......................................................................................... 57
2.2.7. Video sꢍ .............................................................................................. 64
2.3. Phân loꢚi.................................................................................................... 69
2
2.3.1. Mꢏt sꢍ chuꢛn....................................................................................... 70
2.3.2. Các ñꢎc tính và yêu cꢇu cꢐa dꢆ liꢂu và ꢖng dꢀng ña phương tiꢂn......... 71
2.4 Mô hình kꢊch bꢉn....................................................................................... 74
2.4.1. Kꢊch bꢉn trong IMD ............................................................................ 74
2.4.2. Kꢊch bꢉn ña phương tiꢂn...................................................................... 75
2.5. Tìm kiꢋm tư liꢂu ña phương tiꢂn tương tác................................................. 77
2.5.1. Tìm tư liꢂu ña phương tiꢂn tương tác dꢒa trên cꢓu trúc không gian, thꢗi
gian...................................................................................................................... 78
2.6. Kꢋt luꢔn..................................................................................................... 81
Chương 3. Thành tꢒu và xu hưꢁng ................................................................................ 82
3.1 Các thành tꢒu chính cꢐa công nghꢂ hꢂ quꢉn trꢊ cơ sꢅ dꢆ liꢂu ña phương tiꢂn
................................................................................................................................ 82
3.1.1. Mô hình hoá ........................................................................................ 82
3.1.2. Toàn vꢜn.............................................................................................. 82
3.1.3. Tìm theo nꢏi dung ............................................................................... 82
3.2 Các sꢉn phꢛm thương mꢚi và mꢝu nghiên cꢖu............................................ 86
3.2.1. Mꢏt sꢍ sꢉn phꢛm ................................................................................. 86
3.2.2. Quꢉn lý ña phương tiꢂn ....................................................................... 86
3.2.3. Các vai trò trong dꢒ án ña phương tiꢂn ................................................ 89
3.3. Hưꢁng phát triꢈn cꢐa cơ sꢅ dꢆ liꢂu ña phương tiꢂn..................................... 90
3.3.1. Mꢏt sꢍ hưꢁng hiꢂn tꢚi và khuynh hưꢁng.............................................. 90
3.3.2. An toàn dꢆ liꢂu ña phương tiꢂn............................................................ 91
3.3.3. Yêu cꢇu vꢄ tꢃ chꢖc dꢆ liꢂu ña phương tiꢂn .......................................... 93
3.4. Kꢋt luꢔn..................................................................................................... 95
Chương 4. Quꢉn trꢊ dꢆ liꢂu ña phương tiꢂn.................................................................... 96
4.1. Khái niꢂm vꢄ quꢉn trꢊ cơ sꢅ dꢆ liꢂu ña phương tiꢂn.................................... 96
4.1.1. Dꢚng dꢆ liꢂu ña phương tiꢂn................................................................ 96
4.1.2. Ngôn ngꢆ hꢞi dꢆ liꢂu ña phương tiꢂn................................................... 97
4.1.3. Vꢓn ñꢄ khác......................................................................................... 98
4.2. Kiꢋn trúc hꢂ quꢉn trꢊ cơ sꢅ dꢆ liꢂu ña phương tiꢂn ..................................... 98
4.2.1. Các kiꢋn trúc vꢄ tꢃ chꢖc nꢏi dung........................................................ 98
4.2.2. Nguyên tꢟc tꢒ quꢉn.............................................................................. 98
4.2.3. Nguyên tꢟc ñꢘng ñꢄu........................................................................... 98
4.2.4. Nguyên tꢟc tꢃ chꢖc hꢠn hꢑp ................................................................ 99
4.2.5. Mꢏt sꢍ nhꢔn xét................................................................................... 99
4.2.6. Tꢃ chꢖc cơ sꢅ dꢆ liꢂu dꢒa trên nguyên tꢟc thꢍng nhꢓt........................ 100
4.3. Các kꢡ thuꢔt mô hình hóa dꢆ liꢂu............................................................ 100
4.3.1. Mô hình quan hꢂ................................................................................ 100
4.3.2. Cơ sꢅ dꢆ liꢂu hưꢁng ñꢍi tưꢑng .......................................................... 101
4.3.3. Cơ sꢅ dꢆ liꢂu ña phương tiꢂn............................................................. 107
4.4 Các kĩ thuꢔt chꢌ sꢍ hoá và trꢢu tưꢑng hoá.................................................. 108
4.4.1. Giꢁi thiꢂu .......................................................................................... 108
4.4.2. Chꢌ sꢍ hoá cơ sꢅ dꢆ liꢂu ña phương tiꢂn ............................................ 109
4.4.3. Các chꢌ sꢍ hiꢈn hiꢂn........................................................................... 109
4.4.4. Trꢢu tưꢑng hoá video ........................................................................ 110
4.4.5. ðꢘ thꢊ chuyꢈn cꢉnh............................................................................ 112
3
4.5. Tìm thông tin ña phương tiꢂn dꢒa trên nꢏi dung....................................... 112
4.5.1. Giꢁi thiꢂu vꢄ tìm thông tin ña phương tiꢂn......................................... 112
4.5.2. Lꢙc thông tin..................................................................................... 113
4.5.3. Hꢞi dꢆ liꢂu ña phương tiꢂn ................................................................ 113
4.5.4. Tìm theo nꢏi dung, sꢣ dꢀng tꢢ khoá................................................... 114
4.6. Thí dꢀ vꢄ cơ sꢅ dꢆ liꢂu ña phương tiꢂn..................................................... 114
4.6.1. Mꢏt sꢍ hꢂ thꢍng................................................................................. 114
4.6.2. Tìm các ñꢍi tưꢑng dꢒa trên hình dꢚng................................................ 117
4.6.3. Thꢈ hiꢂn hình dꢚng............................................................................ 118
4.6.4. Viꢂc khꢁp các hình ............................................................................ 118
4.6.5. Các liên kꢋt video ña phương tiꢂn...................................................... 118
4.7. Các ꢖng dꢀng cꢐa ña phương tiꢂn ............................................................ 119
4.7.1. Các hình ꢉnh thô................................................................................ 120
4.7.2. Thꢈ hiꢂn ꢉnh ñã nén........................................................................... 122
4.7.3. Xꢣ lí ꢉnh thông qua viꢂc phân ñoꢚn ꢉnh ............................................ 124
4.7.4. Tìm kiꢋm dꢒa trên sꢒ tương tꢒ........................................................... 126
4.7.5. Tꢃng quát vꢄ cơ sꢅ dꢆ liꢂu ꢉnh .......................................................... 129
4.7.6. Thꢈ hiꢂn cơ sꢅ dꢆ liꢂu ꢉnh nhꢗ mô hình quan hꢂ ............................... 129
4.7.7. Thꢈ hiꢂn cơ sꢅ dꢆ liꢂu ꢉnh trên cây R................................................ 132
4.7.8. Kꢋt luꢔn vꢄ cơ sꢅ dꢆ liꢂu ꢉnh............................................................. 134
4.8. Nhꢔn xét vꢄ dꢆ liꢂu ña phương tiꢂn.......................................................... 134
4.8.1. ðꢉm bꢉo QoS trong hꢂ thꢍng truyꢄn thông, tꢚi máy chꢐ và máy khách
.......................................................................................................................... 134
4.8.2. Mꢏt sꢍ vꢓn ñꢄ khác............................................................................ 135
4.9. Kꢋt luꢔn................................................................................................... 137
Hưꢁng dꢝn sꢣ dꢀng tài liꢂu theo chương trình khung................................................... 138
Tài liꢂu tham khꢉo ...................................................................................................... 142
4
Giꢁi thiꢂu
Trong nhiꢄu năm, nghiên cꢖu và phát triꢈn ña phương tiꢂn là cꢇn thiꢋt trong ꢖng
dꢀng truyꢄn thông và ñꢈ thꢈ hiꢂn thông tin ña phương tiꢂn. Ngày càng nhiꢄu dꢆ liꢂu sꢍ
ña phương tiꢂn ñưꢑc thꢈ hiꢂn dưꢁi dꢚng hình ꢉnh, video, âm thanh… ñòi hꢞi các kĩ
thuꢔt lưu trꢆ, tìm kiꢋm hiꢂu quꢉ và mꢚnh. Ngưꢗi ta có thꢈ so sánh yêu cꢇu này vꢁi yêu
cꢇu thꢈ hiꢂn dꢆ liꢂu kí tꢒ dưꢁi dꢚng tính toán ñưꢑc ꢅ nhꢆng năm 70 cꢐa thꢋ kꢌ XX.
Do vꢔy phát triꢈn vꢄ quꢉn trꢊ dꢆ liꢂu ña phương tiꢂn là bình thưꢗng ñꢍi vꢁi các tꢃ
chꢖc. Trưꢁc hꢋt do nhu cꢇu thꢒc tꢋ, tiꢋp theo là công nghꢂ hiꢂn tꢚi không ñꢐ khꢉ năng
giꢉi quyꢋt vꢓn ñꢄ ñꢍi vꢁi dꢆ liꢂu ña phương tiꢂn. Mꢏt trong nhꢆng khó khăn là viꢂc chꢌ
sꢍ hóa và tìm kiꢋm dꢆ liꢂu ña phương tiꢂn.
Ngưꢗi ta thꢓy cꢇn biꢋt công nghꢂ hiꢂn tꢚi cꢐa quꢉn lí dꢆ liꢂu ña phương tiꢂn. ðꢇu
tiên là các ñꢎc tính cꢐa dꢆ liꢂu ña phương tiꢂn và các khía cꢚnh vꢄ thiꢋt kꢋ cho phép hꢂ
thꢍng cơ sꢅ dꢆ liꢂu ña phương tiꢂn ñáp ꢖng các yêu cꢇu vꢄ dꢆ liꢂu. ðꢍi vꢁi tꢢng loꢚi dꢆ
liꢂu ña phương tiꢂn, như văn bꢉn, hình ꢉnh, âm thanh và video, cꢇn có kĩ thuꢔt chꢌ sꢍ
hóa riêng, ꢖng vꢁi ñꢎc tính chính cꢐa dꢆ liꢂu thô. Công cꢀ tìm kiꢋm dꢆ liꢂu ña phương
tiꢂn cꢇn lꢏ ñưꢑc câu hꢞi ngưꢗi dùng, dꢒa trên mꢖc ñꢏ tương tꢒ cꢐa mꢝu và dꢆ liꢂu ñã
lưu trꢆ. Viꢂc tìm kiꢋm và chꢌ sꢍ hóa theo nꢏi dung dꢆ liꢂu ña phương tiꢂn là quan trꢙng
và khó khăn, do các khía cꢚnh rút tꢢ dꢆ liꢂu thô thưꢗng ñưꢑc thꢈ hiꢂn qua vecto nhiꢄu
chiꢄu, ñòi hꢞi nhiꢄu thꢗi gian xꢣ lí.
Các kĩ thuꢔt và các cꢓu trúc dꢆ liꢂu có vai trò liên quan ñꢋn hiꢂu quꢉ tìm kiꢋm dꢆ
liꢂu. Cơ sꢅ dꢆ liꢂu ña phương tiꢂn vꢁi truy cꢔp tꢢ xa, qua mꢚng máy tính, theo mô hình
khách/ chꢐ… sꢤ phꢉi xꢣ lí các tình huꢍng liên quan ñꢋn truyꢄn dꢆ liꢂu, mã hóa dꢆ liꢂu.
Vꢔy kiꢋn trúc máy tính, viꢂc lưu trꢆ ña phương tiꢂn, hꢂ thꢍng ñiꢄu hành, hꢚ tꢇng mꢚng
cꢇn ñưꢑc quan tâm.
Trong hꢂ quꢉn trꢊ cơ sꢅ dꢆ liꢂu truyꢄn thꢍng, hiꢂu năng liên quan ñꢋn tính hiꢂu quꢉ,
theo thꢗi gian trꢉ lꢗi câu hꢞi. Trong hꢂ thꢍng ña phương tiꢂn, hiꢂu quꢉ cũng quan trꢙng,
nhưng hiꢂu quꢉ ñꢍi vꢁi tìm kiꢋm, ñꢍi vꢁi ñꢍi tưꢑng ñã có và phát hiꢂn ñꢍi tưꢑng tiꢄm
ꢛn, là có ý nghĩa. Ngưꢗi ta ñꢄ cꢔp ñiꢄu này do viꢂc tìm kiꢋm ꢅ ñó theo so sánh tương tꢒ,
và các dꢆ liꢂu cũng không cho phép so sánh khꢁp. Do vꢔy ñꢏ ño hiꢂu quꢉ là cꢇn thiꢋt
ñꢍi vꢁi hꢂ quꢉn trꢊ cơ sꢅ dꢆ liꢂu ña phương tiꢂn. Mꢏt sꢍ khía cꢚnh khác, như an toàn dꢆ
liꢂu, chuꢛn… cũng ñáng ñưꢑc quan tâm.
5
Chương I. Tꢃng quan vꢄ cơ sꢅ dꢆ liꢂu ña phương tiꢂn
1.1 Mꢀ ñꢁu
Các nghiên cꢖu và phát triꢈn vꢄ ña phương tiꢂn nhꢥm vào truyꢄn thông và thꢈ hiꢂn
dꢆ liꢂu ña phương tiꢂn, xác ñꢊnh quyꢄn tác giꢉ. Hꢂ quꢉn trꢊ cơ sꢅ dꢆ liꢂu ña phương tiꢂn
giꢆ vai trò như hꢂ quꢉn trꢊ truyꢄn thꢍng, khác là dꢆ liꢂu phꢖc tꢚp và ña dꢚng. ðꢈ ñꢉm
bꢉo tính hiꢂu quꢉ truy cꢔp và tìm kiꢋm, hꢂ quꢉn trꢊ cꢇn có kĩ thuꢔt tìm kiꢋm và chꢌ sꢍ
hóa khác.
Vꢔy viꢂc chꢌ sꢍ hóa và tìm kiꢋm ña phương tiꢂn là mꢀc ñích chính, trưꢁc khi xem
xét các chꢖc năng cꢐa hꢂ quꢉn trꢊ. Phꢇn ñꢇu sꢤ thꢈ hiꢂn hꢂ thꢍng chꢌ sꢍ hóa và tìm kiꢋm
MIRS1 và mꢏt vài ꢖng dꢀng chung cꢐa nó.
Hình. Mꢇt sꢈ logo ña phương tiꢂn
1.2 Khái niꢂm dꢃ liꢂu ña phương tiꢂn
Cꢇn thiꢋt xác ñꢊnh tꢢ ñꢇu mꢏt sꢍ khái niꢂm, ñꢊnh nghĩa sꢣ dꢀng trong suꢍt quá trình
liên quan ñꢋn hꢂ thꢍng ña phương tiꢂn.
1.1.1. Kiꢀu dꢁ liꢂu và ña phương tiꢂn
ðꢀnh nghĩa: Phương tiꢁn2: phương tiꢁn nhꢂm ñꢃn các kiꢄu thông tin hay kiꢄu thꢄ
hiꢁn thông tin, như dꢅ liꢁu sꢆ, chꢅ, hình ꢇnh, âm thanh, video.
Có nhiꢄu cách xác ñꢊnh phương tiꢂn. Phân loꢚi thông thưꢗng dꢒa vào dꢚng vꢔt lí và
mꢍi quan hꢂ phương tiꢂn vꢁi thꢗi gian. ꢦ ñây xác ñꢊnh phương tiꢂn không ñꢄ cꢔp yꢋu tꢍ
thꢗi gian. Thꢗi gian cho phép xác ñꢊnh phương tiꢂn tĩnh vꢁi phương tiꢂn ñꢏng, tꢖc thꢗi
gian liên tꢀc.
ðꢀnh nghĩa: Phương tiꢁn tĩnh3: phương tiꢁn không có chiꢈu thꢉi gian, và nꢊi dung
và ý nghĩa cꢋa chúng không phꢌ thuꢊc vào thꢉi gian thꢄ hiꢁn.
Các phương tiꢂn tĩnh gꢘm dꢆ liꢂu sꢍ, chꢆ, ñꢏ hꢙa, hình tĩnh. Hình tĩnh ñưꢑc xem
là sꢉn phꢛm ñưꢑc vꢤ, quét hay chꢀp bꢥng máy chꢀp ꢉnh.
1 multimedia indexing and retrieval systems
2 media
3 static media
6
ðꢀnh nghĩa: Phương tiꢁn ñꢊng1: phương tiꢁn có các chiꢈu thꢉi gian, vꢍi ý nghĩa
và tính chính xác tùy theo tꢆc ñꢊ thꢄ hiꢁn.
Phương tiꢂn ñꢏng gꢘm hình ñꢏng, âm thanh và video. Các phương tiꢂn này có
khoꢉng ñơn vꢊ bên trong hay tꢍc ñꢏ. Chꢧng hꢚn video có 25 khung trong mꢏt giây. Viꢂc
thꢈ hiꢂn lꢚi cꢇn theo cách tꢃ chꢖc trưꢁc ñó. Do các phương tiꢂn này thꢈ hiꢂn lꢚi liên tꢀc
theo tꢍc ñꢏ cꢍ ñꢊnh, chúng ñưꢑc gꢙi là phương tiꢂn liên tꢀc. Ngưꢗi ta cũng gꢙi chúng là
phương tiꢂn ñꢧng thꢗi, tꢖc chiꢋm thꢗi gian như nhau, bꢅi quan hꢂ cꢍ ñꢊnh giꢆa các ñơn
vꢊ phương tiꢂn và thꢗi gian.
ða phương tiꢂn nhꢥm vào tꢔp các kiꢈu phương tiꢂn sꢣ dꢀng cùng nhau. Nó cũng
ngꢇm xác ñꢊnh có kiꢈu dꢆ liꢂu khác sꢍ, chꢆ. Do vꢔy thuꢔt ngꢆ “ña phương tiꢂn” cũng
nhꢥm chꢌ tính chꢓt như tính tꢢ.
ðꢀnh nghĩa: Dꢅ liꢁu ña phương tiꢁn2: dꢅ liꢁu hưꢍng ñꢃn thꢄ hiꢁn máy ñꢎc ñưꢏc
cꢋa các kiꢄu phương tiꢁn gꢊp.
Thông tin ña phương tiꢂn hưꢁng tꢁi thông tin ñưꢑc truyꢄn tꢉi nhꢗ các kiꢈu phương
tiꢂn gꢏp. ðôi khi ngưꢗi ta dùng lꢝn dꢆ liꢂu ña phương tiꢂn vꢁi thông tin ña phương tiꢂn.
Ngưꢗi ta cũng sꢣ dꢀng thuꢔt ngꢆ ña phương tiꢂn và phương tiꢂn ñꢈ chꢌ thꢒc thꢈ tꢒ trꢊ
trong MIRS, cho phép hꢞi, tìm kiꢋm và thꢈ hiꢂn. Thuꢔt ngꢆ “ñꢍi tưꢑng” không hoàn
toàn chính xác như trong tiꢋp cꢔn hưꢁng ñꢍi tưꢑng.
1.1.2. Cơ sꢃ dꢁ liꢂu và hꢂ quꢄn trꢅ cơ sꢃ dꢁ liꢂu
Trong tài liꢂu vꢄ cơ sꢅ dꢆ liꢂu, hꢂ thꢍng cơ sꢅ dꢆ liꢂu ñã phân biꢂt hꢂ quꢉn trꢊ cơ sꢅ
dꢆ liꢂu DBMS vꢁi cơ sꢅ dꢆ liꢂu DB3. Giꢆa nhꢆng vꢓn ñꢄ vꢄ ña phương tiꢂn này, ñôi
khi lꢝn lꢏn hai thuꢔt ngꢆ.
ðꢀnh nghĩa: Hꢁ quꢇn trꢀ cơ sꢐ dꢅ liꢁu4: phꢑn mꢈm cho phép mô tꢇ, lưu trꢅ và xꢒ
lí các dꢅ liꢁu mꢊt cách khoa hꢎc.
1.1.3. Tìm kiꢆm thông tin tư liꢂu văn bꢄn
Hꢂ thꢍng tìm kiꢋm thông tin tꢒ ñꢏng IR5 ñưꢑc phát triꢈn ñꢈ xꢣ lí khꢍi lưꢑng lꢁn các
tài liꢂu khoa hꢙc tꢢ 1940. Chꢖc năng chính cꢐa hꢂ thꢍng là lưu và quꢉn lí sꢍ lꢁn các tư
liꢂu văn bꢉn theo cách tìm kiꢋm nhanh tư liꢂu hiꢂn ra cho câu hꢞi ngưꢗi dùng.
ðꢀnh nghĩa: Hꢁ thꢆng tìm thông tin tꢓ ñꢊng (IR): hꢁ thꢆng là lưu và quꢇn lí sꢆ lꢍn
các tư liꢁu văn bꢇn theo cách tìm kiꢃm nhanh tư liꢁu hiꢁn ra ñꢆi vꢍi câu hꢔi ngưꢉi
dùng.
1.1.4. Tìm kiꢆm và chꢇ sꢈ hóa ña phương tiꢂn
Viꢂc tìm kiꢋm trong DBMS dꢒa trên cꢓu trúc dꢆ liꢂu cho phép so sánh khꢁp. IR
ñưꢑc xem là hꢂ thꢍng tìm kiꢋm theo văn bꢉn. Viꢂc tìm kiꢋm theo nꢏi dung dꢒa trên ñꢎc
trưng phương tiꢂn thꢒc tꢚi như màu sꢟc, hình dáng, thay vì ghi chú, diꢨn giꢉi văn bꢉn
cꢐa phương tiꢂn.
1 dynamic media
2 multimedia data
3 DBMS Database Management Systems, DB Database
4 DBMS
5 information retrieval
7
ðꢀnh nghĩa: Tìm kiꢃm theo theo nꢊi dung1: tìm kiꢃm dꢓa trên ñꢕc trưng thꢓc tꢖi
như màu sꢗc, hình dáng… cꢋa phương tiꢁn.
Tìm kiꢋm theo nꢏi dung thưꢗng dꢒa vào tính tương tꢒ, thay vì so sánh khꢁp giꢆa
câu hꢞi và tꢔp các mꢀc tin cꢐa cơ sꢅ dꢆ liꢂu. ꢦ hꢂ thꢍng ña phương tiꢂn, MIRS hưꢁng
ñꢋn tìm kiꢋm theo cꢉ (i) DBMS; (ii) IR; (iii) theo nꢏi dung.
1.1.5. Trích ñꢉc trưng, thꢀ hiꢂn nꢊi dung và chꢇ sꢈ hóa
ðꢀnh nghĩa: ðꢕc trưng là ñiꢄm nꢘi bꢙt, giúp phân biꢁt cá thꢄ ñã cho vꢍi các cá
thꢄ khác mà ta có thꢄ ñem ra so sánh.
Trong MIRS, trích ñꢎc trưng hay thꢈ hiꢂn nꢏi dung, tꢖc ñꢎc trưng chính và nꢏi
dung trong mꢀc tin, là viꢂc quan trꢙng. Quá trình trích ñꢎc trưng có thꢈ thꢒc hiꢂn tꢒ
ñꢏng hay bán tꢒ ñꢏng. Trong vài tư liꢂu vꢄ tìm theo nꢏi dung, thuꢔt ngꢆ “trích ñꢎc
trưng” cũng dùng cho viꢂc chꢌ sꢍ hóa.
Do vꢔy, khi sꢣ dꢀng “chꢌ sꢍ”, ngưꢗi ta nhꢥm ñꢋn cꢓu trúc dꢆ liꢂu hay tꢃ chꢖc các
ñꢎc trưng ñưꢑc rút ra ñꢈ tìm hiꢂu quꢉ.
1.3. ðꢄc trưng cꢅa các ñꢆi tưꢇng ña phương tiꢂn
ðꢄ cꢔp nhu cꢇu vꢄ hꢂ thꢍng chꢌ sꢍ hóa và tìm kiꢋm ña phương tiꢂn, ngưꢗi ta thꢓy
ba viꢂc sau ñây cho thꢓy MIRS có ý nghĩa:
1. Ngày càng nhiꢄu dꢆ liꢂu ña phương tiꢂn ñưꢑc thu thꢔp và lưu trꢆ;
2. Dꢆ liꢂu ña phương tiꢂn khác vꢁi dꢆ liꢂu truyꢄn thꢍng ꢅ tính chꢓt riêng, có yêu cꢇu
và ý nghĩa khác;
3. Cho dù các kĩ thuꢔt IR có thꢈ dùng ñꢈ tìm kiꢋm ña phương tiꢂn, nhưng mꢏt mình nó
không ñꢉm bꢉo tính hiꢂu quꢉ ñꢍi vꢁi xꢣ lí dꢆ liꢂu ña phương tiꢂn.
ðꢀnh nghĩa: ðꢆi tưꢏng là mꢊt vꢙt, khái niꢁm hay thꢓc thꢄ.
1.3.1. Sꢋ gia tăng dꢁ liꢂu ña phương tiꢂn và các tính chꢌt cꢍa chúng
Không thꢈ không ñꢍi mꢎt vꢁi thông tin ña phương tiꢂn. Ngưꢗi ta không thꢈ tránh
hꢋt các dꢆ liꢂu âm thanh và tranh, ꢉnh. Xu hưꢁng sꢣ dꢀng dꢆ liꢂu ña phương tiꢂn làm
tăng công nghꢂ lưu trꢆ sꢍ. Dꢨ dàng ñáp ꢖng nhu cꢇu ña phương tiꢂn nhꢞ, nhưng ñꢍi vꢁi
yêu cꢇu toàn diꢂn, ñòi hꢞi cꢉ hꢂ thꢍng tꢃ chꢖc dꢆ liꢂu, tìm kiꢋm nhanh.
Hình. Sꢉ dꢀng khái niꢂm ña phương tiꢂn: máy bay vưꢊt ngưꢋng âm thanh
Ngưꢗi ta không chꢌ chꢊu sꢖc ép vꢄ khꢍi lưꢑng dꢆ liꢂu, mà còn các kiꢈu dꢆ liꢂu ña
1 Contentꢕbased retrieval
8
dꢚng và các tính chꢓt khác vꢁi dꢆ liꢂu sꢍ, chꢆ truyꢄn thꢍng. Các tính chꢓt chính cꢐa dꢆ
liꢂu ña phương tiꢂn ñưꢑc liꢂt kê:
• Dꢆ liꢂu ña phương tiꢂn, ñꢎc biꢂt dꢆ liꢂu âm thanh, video là nhꢆng dꢆ liꢂu ñưꢑc nén
vꢁi tꢌ lꢂ cao, khoꢉng 1 Gb chꢌ chꢖc ñưꢑc khoꢉng 10 phút video;
• Dꢆ liꢂu âm thanh và video có chiꢄu thꢗi gian, ñòi hꢞi thꢈ hiꢂn theo tꢍc ñꢏ cꢍ ñꢊnh ñꢈ
ñꢚt hiꢂu quꢉ dꢒ ñꢊnh;
• Các dꢆ liꢂu âm thanh, hình ꢉnh và video sꢍ ñưꢑc thꢈ hiꢂn theo mꢏt loꢚt các mꢝu
riêng, do vꢔy khó tꢒ ñꢏng ghi nhꢔn nꢏi dung bꢅi không dꢨ xác ñꢊnh cꢓu trúc ngꢆ
nghĩa cꢐa chúng;
• Nhiꢄu ꢖng dꢀng ña phương tiꢂn cꢇn thꢈ hiꢂn ñꢘng thꢗi cꢐa nhiꢄu dꢚng phương tiꢂn
theo cách tương ꢖng vꢁi không gian và thꢗi gian;
• Ý nghĩa cꢐa dꢆ liꢂu ña phương tiꢂn thưꢗng mꢗ và chꢐ quan, không tiꢂn xác ñꢊnh rõ;
• Dꢆ liꢂu ña phương tiꢂn mang nhiꢄu thông tin, ñòi hꢞi nhiꢄu tham sꢍ thꢈ hiꢂn nꢏi
dung.
Hình. Hình ñꢇng tꢌo bꢅi các khung
1.3.2. Hꢂ quꢄn trꢅ cơ sꢃ dꢁ liꢂu và vai trò quꢄn lí dꢁ liꢂu ña phương tiꢂn
ðꢀnh nghĩa: Hꢁ quꢇn trꢀ cơ sꢐ dꢅ liꢁ, DBMS, là phꢑn mꢈm cho phép mô tꢇ, lưu
trꢅ và xꢒ lí dꢅ liꢁu mꢊt cách khoa hꢎc.
Các DBMS truyꢄn thꢍng phù hꢑp vꢁi dꢆ liꢂu có cꢓu trúc. Mô hình dꢆ liꢂu quan hꢂ
là mô hình thông dꢀng tꢢ 1980 ñꢋn nay. Dꢆ liꢂu theo mô hình quan hꢂ ñưꢑc tꢃ chꢖc
trong các bꢉng quan hꢂ, có thuꢏc tính và các n_bꢏ. Có ba lꢁp ngôn ngꢆ hꢞi dꢆ liꢂu,
nhưng ngôn ngꢆ ñꢚi sꢍ quan hꢂ mà ñꢚi diꢂn là SQL ñưꢑc sꢣ dꢀng nhiꢄu.
Thí dꢀ
create table STUDENT (
stu# integer,
name char (20),
address char (100) );
và câu bꢃ sung dꢆ liꢂu
insert into STUDENT values (10, "Lew, Tom", "2 Main St.,
Churchill, Australia");
Bꢍng. Dꢆ liꢂu thí dꢀ
9
Tìm kiꢋm dꢆ liꢂu
select name
from STUDENT
where stu# = 32
Thuꢏc tính trong DBMS là dꢆ liꢂu theo kiꢈu cꢍ ñꢊnh, chꢧng hꢚn sꢍ nguyên, chiꢋm
32 bit. ðꢈ trꢑ giúp các biꢋn ñꢏ dài thay ñꢃi, ngưꢗi ta ñưa ra khái niꢂm ñꢍi tưꢑng nhꢊ
phân lꢁn BLOB1.
ðꢀnh nghĩa: BLOB2: BLOB là xâu bit lꢍn có ñꢊ dài thay ñꢘi.
Thí dꢀ cꢇn lưu ꢉnh cꢐa sinh viên
create table STUDENT (
stu# integer,
name char (20),
address char (100)
picture BLOB);
BLOB chꢌ là xâu bit, nên DBMS quan hꢂ không biꢋt nꢏi dung hay ngꢆ nghĩa cꢐa
nó, mà chꢌ xem như khꢍi dꢆ liꢂu.
DBMS hưꢁng ñꢍi tưꢑng kꢋt hꢑp nhiꢄu khía cꢚnh cꢐa quꢉn trꢊ dꢆ liꢂu, như lưu trꢆ
và tìm kiꢋm, vꢁi tiꢋp cꢔn hưꢁng ñꢍi tưꢑng, vꢁi khía cꢚnh ñóng gói, thꢢa kꢋ, xác ñꢊnh
ñꢍi tưꢑng. Ngưꢗi ta cũng tꢒ hꢞi liꢂu tꢍt không nꢋu kꢋt hꢑp mô hình quan hꢂ vꢁi mô
hình hưꢁng ñꢍi tưꢑng, trong khi chưa có mô hình dꢆ liꢂu ña phương tiꢂn. Các ñꢍi tưꢑng
ña phương tiꢂn ñưꢑc nhꢔn thꢖc theo tiꢋp cꢔn hưꢁng ñꢍi tưꢑng sꢤ phù hꢑp và dꢨ thꢈ hiꢂn
lꢚi hơn. Hꢂ thꢍng quan hꢂ ñꢍi tưꢑng cho phép (i) xác ñꢊnh ñꢍi tưꢑng theo nghĩa hưꢁng
ñꢍi tưꢑng; (ii) sꢣ dꢀng chꢖc năng xꢣ lí dꢆ liꢂu quan hꢂ ñã có.
Thí dꢀ: xác ñꢊnh kiꢈu dꢆ liꢂu hình ꢉnh:
create type IMAGE (
private
size integer,
resolution integer,
content float[],
public
...
);
Và sꢣ dꢀng nó trong
create table STUDENT (
stu# integer,
name char (20),
1 binary large object
2 binary large object
10
address char (100)
picture IMAGE);
Khác nhau chính giꢆa BLOB và các ñꢍi tưꢑng là các ñꢍi tưꢑng ñưꢑc xác ñꢊnh phù
hꢑp, vꢁi thuꢏc tính và chꢊu các phép xꢣ lí trên thuꢏc tính, mà BLOB không thꢈ. Khái
niꢂm vꢄ BLOB và các ñꢍi tưꢑng cũng ñánh dꢓu mꢏt bưꢁc quꢉn lí dꢆ liꢂu ña phương
tiꢂn, nhưng BLOB chꢌ dùng ñꢈ lưu trꢆ dꢆ liꢂu, trong lúc các ñꢍi tưꢑng cꢇn nhiꢄu thuꢏc
tính ñꢈ thꢈ hiꢂn nꢏi dung dꢆ liꢂu. Các tính năng cꢇn phát triꢈn cho dꢆ liꢂu ña phương
tiꢂn là:
• Công cꢀ trích rút nꢏi dung và ñꢎc trưng ña phương tiꢂn, tꢒ ñꢏng hay bán tꢒ
ñꢏng, trong các dꢆ liꢂu ña phương tiꢂn;
• Cꢓu trúc chꢌ sꢍ ñꢈ quꢉn lí các vecto ñꢎc trưng ña phương tiꢂn;
• ðꢏ ño tính tương tꢒ, trong tìm kiꢋm thay cho so sánh khꢁp;
• Hꢂ thꢍng lưu trꢆ phân tán ñꢍi vꢁi dꢆ liꢂu lꢁn và hꢚ tꢇng truyꢄn thông ñꢍi vꢁi
yêu cꢇu thꢗi gian thꢒc;
• Giao diꢂn ngưꢗi dùng, thiꢋt kꢋ cho kiꢈu dꢆ liꢂu ña phương tiꢂn khác nhau và cho
phép thꢈ hiꢂn ña dꢚng.
1.3.3. Hꢂ thꢈng tìm kiꢆm thông tin ñꢈi vꢎi dꢁ liꢂu ña phương tiꢂn
ðꢀnh nghĩa: Công cꢌ tìm kiꢃm là mꢊt phꢑn mꢈm nhꢂm cho phép ngưꢉi dùng tìm
kiꢃm và ñꢎc các thông tin có trong phꢑn mꢈm ñó, trên mꢊt trang Web, hay trên
toàn bꢊ Internet.
Hꢂ thꢍng IR dùng cho dꢆ liꢂu văn bꢉn. Các kĩ thuꢔt sꢣ dꢀng trong IR quan trꢙng
nhꢗ (i) nhiꢄu tư liꢂu văn bꢉn trong tꢃ chꢖc; (ii) văn bꢉn có thꢈ minh hꢙa cho phương
tiꢂn khác, như âm thanh, hình ꢉnh, video. Ngưꢗi ta có thꢈ sꢣ dꢀng kĩ thuꢔt IR ñꢍi vꢁi dꢆ
liꢂu ña phương tiꢂn. Tuy nhiên chúng có vài hꢚn chꢋ:
• Minh hꢙa, ghi chú cho phương tiꢂn khác thưꢗng thꢒc hiꢂn thꢐ công, tꢍn thꢗi
gian;
• Minh hꢙa bꢥng văn bꢉn không thꢈ ñꢐ và chꢐ quan;
• Các kĩ thuꢔt IR chꢌ cho phép hꢞi theo văn bꢉn;
• Mꢏt vài ñꢎc trưng ña phương tiꢂn như bꢄ mꢎt ꢉnh, hình dáng ñꢍi tưꢑng là phꢖc
tꢚp, không dùng văn bꢉn mà mô tꢉ hꢋt.
1.3.4. Tiꢆp cꢏn tích hꢐp ñꢀ tìm kiꢆm và chꢇ sꢈ hóa ña phương tiꢂn
Dù hꢂ thꢍng tìm kiꢋm thông tin IR có ích trong khung cꢉnh xꢣ lí dꢆ liꢂu ña phương
tiꢂn, ñꢍi vꢁi dꢆ liꢂu có cꢓu trúc, ngưꢗi ta cꢇn kĩ thuꢔt mꢁi ñꢈ quꢉn lí các tính chꢓt riêng
cꢐa dꢆ liꢂu ña phương tiꢂn.
Ngoài các kĩ thuꢔt xꢣ lí dꢆ liꢂu cꢐa DBMS truyꢄn thꢍng ñꢍi vꢁi dꢆ liꢂu có cꢓu trúc,
viꢂc tích hꢑp thêm các kĩ thuꢔt cho dꢆ liꢂu hình ꢉnh, âm thanh, video sꢤ cho phép hꢂ
thꢍng tìm kiꢋm và chꢌ sꢍ hóa ña phương tiꢂn MIRS.
ðꢀnh nghĩa: Chꢚ sꢆ là hꢁ thꢆng dùng ñꢄ tìm kiꢃm thông tin nhanh và dꢛ hơn.
11
1.3.5. Tꢑng quan vꢒ hꢂ thꢈng tìm kiꢆm và chꢇ sꢈ hóa ña phương tiꢂn
Trong hꢂ thꢍng MIRS, mꢀc tin trong cơ sꢅ dꢆ liꢂu ñưꢑc tiꢄn xꢣ lí ñꢈ rút các ñꢎc
trưng và nꢏi dung ngꢆ nghĩa. Các mꢀc tin này ñưꢑc chꢌ sꢍ hóa nhꢥm tăng tꢍc tìm kiꢋm.
Các câu hꢞi ngưꢗi dùng ñưꢑc trích ñꢎc trưng, so sánh tương tꢒ vꢁi ñꢎc trưng ñã ñưꢑc
chꢌ sꢍ.
C©u hái
c¸c môc tin
Xö lÝ vꢀ trÝch ®Æc tr−ng
Xö lÝ vꢀ chØ sè hãa
§Æc tr−ng
c©u hái
c¸c môc tin ®−îc
chØ sè hãa
So s¸nh
t−¬ng tù
T×m c¸c môc tin t−¬ng tù
Hình. Mô hình tìm kiꢎm thông tin tꢃng quát
Còn mꢏt sꢍ vꢓn ñꢄ: (i) mꢀc tin có chꢖa kiꢈu phương tiꢂn ?; (ii) cách rút ñꢎc trưng tꢢ
các mꢀc tin phương tiꢂn; (iii) ñꢏ ño tương tꢒ, vꢁi khung nhìn ña dꢚng cꢐa ngưꢗi dùng;
(iv) ñánh giá hiꢂu quꢉ tìm kiꢋm.
ðꢀnh nghĩa: Thꢀ giác là khꢇ năng nhꢙn và diꢛn giꢇi thông tin tꢜ ánh sáng ñi vào
mꢗt. Viꢁc tri giác này còn ñưꢏc gꢎi là thꢀ lꢓc, sꢓ nhìn.
Hình. Giác quan cꢏa con ngưꢐi
1.4. Cꢈu trúc lưu trꢃ cơ sꢀ dꢃ liꢂu ña phương tiꢂn
Khi ñꢄ cꢔp vꢄ cꢓu trúc dꢆ liꢂu ña phương tiꢂn, mꢏt ñiꢈm cꢇn lưu ý trưꢁc tiên là dꢆ
liꢂu ña phương tiꢂn luôn mang khía cꢚnh (i) không gian và (ii) thꢗi gian. Không gian
ñꢍi vꢁi dꢆ liꢂu ña phương tiꢂn thưꢗng nhiꢄu chiꢄu.
ðꢀnh nghĩa: Cꢝu trúc dꢅ liꢁu là cách lưu trꢅ và tꢘ chꢞc dꢅ liꢁu cꢌ thꢄ trong máy
tính ñꢄ các dꢅ liꢁu ñưꢏc sꢒ dꢌng hiꢁu quꢇ.
Ngưꢗi ta quan tâm viꢂc nhꢔn thꢖc các dꢆ liꢂu ña phương tiꢂn, cách hình thꢖc hoá
chúng. Các khái niꢂm ña phương tiꢂn cꢇn ñưꢑc áp phương pháp hình thꢖc ñꢈ có thꢈ
phát triꢈn ꢖng dꢀng. Hꢇu hꢋt các dꢆ liꢂu n chiꢄu ñꢄu dùng cách thꢈ hiꢂn phân rã theo
cây thông tin.
12
ðꢈ hình thꢖc hoá, trꢢu tương hoá dꢆ liꢂu ña phương tiꢂn, ngưꢗi ta cꢇn ñꢋn các kĩ
thuꢔt như cây kꢕchiꢄu, cây tꢖ phân theo ñiꢈm, cây tꢖ phân, cây R. ðꢘng thꢗi còn phꢉi
quan tâm ñꢋn các phương pháp cài ñꢎt các kĩ thuꢔt này.
ðꢀnh nghĩa: Không gian, thꢉi gian: Không gian là mꢐ rꢊng ba chiꢈu, không giꢍi
hꢖn, trong ñó các ñꢆi tưꢏng và các sꢓ kiꢁn xꢇy ra và có vꢀ trí và hưꢍng tương ñꢆi.
Thꢉi gian là mꢊt phꢑn cꢋa hꢁ thꢆng ño, dùng cho các sꢓ kiꢁn tuꢑn tꢓ, ñꢄ so sánh
thꢉi lưꢏng cꢋa các sꢓ kiꢁn và khoꢇng thꢉi gian giꢅa chúng, và ñꢄ lưꢏng hóa tꢚ lꢁ
thay ñꢘi chuyꢄn ñꢊng cꢋa các ñꢆi tưꢏng.
1.4.1. Giꢎi thiꢂu
Dꢚng tꢃ chꢖc dꢆ liꢂu ñꢊa lí thông dꢀng như GIS, thꢈ hiꢂn ꢅ dꢚng bꢉn ñꢘ, tꢖc các
ñiꢈm. Mꢠi ñiꢈm không gian ñưꢑc thꢈ hiꢂn qua cꢓu trúc dꢆ liꢂu.
Dꢆ liꢂu ñꢊa lí ña dꢚng, có thꢈ thꢓy như ñiꢈm, ñưꢗng thꢧng, các ñưꢗng cong, các
hình, các bꢉn ñꢘ, các dꢆ liꢂu gꢟn vꢁi bꢉn ñꢘ theo các tꢇng ñꢊa lí khác nhau. Các thông
tin này thay ñꢃi theo thꢗi gian...
1.4.2. Cây kꢓD
Sꢣ dꢀng cây kꢕd ñꢈ lưu trꢆ các ñiꢈm cꢐa bꢉn ñꢘ.
ðꢀnh nghĩa: Cây là cꢝu trúc dꢅ liꢁu thông dꢌng, thꢄ hiꢁn cꢝu trúc dꢅ liꢁu phân
cꢝp vꢍi tꢙp các nút liên kꢃt nhau. Vꢈ toán hꢎc, cây là ñꢟ thꢀ không xoay vòng cꢋa
các nút; mꢠi nút có các nút con, và thuꢊc vꢈ mꢊt nút cha.
1.4.2.1. Cꢀu trúc nút
Nút cꢐa cây kꢕd có cꢓu trúc
Kiꢈu dꢆ liꢂu nút = record
INFO: kiꢈu thông tin;
XVAL: real;
YVA L: real;
LLINK: ↑ kiꢈu nút;
RLINK: ↑ kiꢈu nút;
End;
Các mꢍi nꢍi RLINK và LLINK cho phép trꢞ tꢁi các nút con phꢉi và trái cꢐa mꢏt
nút.
Giꢉ sꢣ T là trꢞ ñꢋn gꢍc cây kꢕd. Nꢋu N là nút cây thì ngưꢗi ta xác ñꢊnh thêm mꢖc1
cꢐa nút N: Mꢖc (N) = 0 nꢋu N là gꢍc cây; mꢖc (P) + 1 khi N là nút con cꢐa nút cha P.
ðꢀnh nghĩa: Cây 2ꢡd là cây nhꢀ phân thoꢇ mãn (i) Khi N là nút cây mꢞc chꢢn thì
nút cây con trái M có M.XVAL < N.XVAL và nút L bên phꢇi có L.XVAL
N.XVAL; (ii) Khi N là nút cây mꢞc lꢣ thì nút cây con trái M có M.YVAL <
N.YVAL và nút L bên phꢇi có L.YVAL N.YVAL.
≥
≥
1 level
13
XVAL = 10, YVAL = 20
N
N t¹i møc ch½n
M t¹i møc lÎ
M.YVAL = 12
L
M
XVAL = 8 < N.XVAL
XVAL = 12 >= N.XVAL
L2
M2
YVAL = 8 < M.YVAL
YVAL = 14 >= M.YVAL
Hình. Qui ñꢑnh các giá trꢑ X, Y cꢏa các nút con
1.4.2.2. Bꢁ sung và tìm kiꢂm trên cây 2ꢃd
Yêu cꢇu thêm nút N vào cây ñã có. Cây này có trꢞ T, ngꢇm hiꢈu con trꢞ trꢞ ñꢋn nút
T. Ngưꢗi ta thꢓy có các khꢉ năng:
1. Nꢋu N ≡ T thì hiꢈn nhiên ñã có nút N trên cây;
2. Ngưꢑc lꢚi, ngưꢗi ta sang trái nꢋu N.XVAL < T.XVAL, do nút T là nút chꢩn (0);
và sang phꢉi nꢋu N.XVAL không nhꢞ hơn;
3. Tꢚi nút vꢢa ñꢋn P, nꢋu P ≡ N thì ñã xong, ngưꢑc lꢚi do P là nút lꢪ, nên căn cꢖ
vào giá trꢊ YVAL ñꢈ quyꢋt ñꢊnh sang trái hay phꢉi. Nꢋu N.YVAl < p.YVAL.
ngưꢗi ta sang trái; ngưꢑc lꢚi sang phꢉi.
4. Tiꢋp tꢀc tꢢ bưꢁc 2, cho ñꢋn khi dꢢng hay ñꢋn nút là thì bꢃ sung nút N.
Viꢂc tìm kiꢋm nút N vꢁi giá trꢊ XVAL và YVAL ñưꢑc thꢒc hiꢂn như dò tìm ñꢈ bꢃ
sung nút mꢁi.
Thí dꢀ:
Ngưꢗi ta có bꢉn ñꢘ vꢁi các ñiꢈm Hà nꢏi (19, 45), Hꢉi phòng (40, 50), Hà tây (38,
38), Hà ñông (54, 40), và Hoà bình (4, 4). Nꢋu xuꢓt phát tꢢ Hà nꢏi, ngưꢗi ta xây dꢒng
ñưꢑc cây thông tin.
Dꢒa trên cây 2ꢕd ñã có, ngưꢗi ta có thꢈ tiꢋn hành (i) tìm kiꢋm; (ii) bꢃ sung nút mꢁi
theo cách trên.
Hꢀ néi
(19, 45)
Hoꢀ b×nh
H¶i phßng
(4, 4)
(40, 50)
Hꢀ t©y
(38, 38)
Hꢀ ®«ng
(54, 40)
Hình. Các nút trên cây 2ꢒd
1.4.2.3. Xoá nút trên cây 2ꢃd
Vꢓn ñꢄ ñꢎt ra là: giꢉ sꢣ cây cꢇn xoá nút có trꢞ T; nút cꢇn xoá có toꢚ ñꢏ (x, y).
14
1. Bưꢁc ñꢇu tiên cꢇn tìm ra nút (x, y), thoꢉ mãn N.XVAL = x và N.YVAl = y. Bưꢁc
này khꢧng ñꢊnh có nút N cꢇn xoá, ñưꢑc thꢒc hiꢂn theo cách ñã nêu trong mꢀc trưꢁc;
2. Nꢋu nút N là nút lá, ngưꢗi ta huꢫ nút N bꢥng cách thay ñꢃi con trꢞ cꢐa các nút cha
trꢞ ñꢋn nút con N. Các trꢞ cꢐa nút cha sꢤ là NIL;
3. Nꢋu N là nút trung gian, công viꢂc phꢖc tꢚp hơn.
P
R
N
N
R
P
Hình. Chꢓn nút R thay thꢎ N
i. Khi N.LLINK ≠ NIL, tꢖc N có cây con trái Tl, và N.RLINK ≠ NIL, tꢖc có
cây con phꢉi Tr: cꢇn tìm nút R trong Tl hay Tr ñꢈ thay thꢋ N, và R bꢊ xoá khꢞi
cây cây {Tl, Tr}. Do vꢔy ngưꢗi ta thꢒc hiꢂn ba bưꢁc nhꢞ sau:
•
•
Bưꢁc 1. Tìm nút R ñꢈ thay thꢋ {Tl, Tr};
Bưꢁc 2. Thay trưꢗng nꢍi LLINK, RLINK không rꢠng cꢐa N vào các
trưꢗng nói cꢐa R;
•
•
Bưꢁc 3. Xoá R ra khꢞi {Tl, Tr};
Quá trình này sꢤ kꢋt thúc do có Ti ∈ {Tl, Tr} vꢁi mꢖc cao hơn;
ii. Vꢓn ñꢄ ñꢎt ra là bưꢁc thꢖ nhꢓt tìm R thay thꢋ {Tl, Tr} cꢇn có quan hꢂ không
gian ñꢍi vꢁi tꢓt cꢉ các nút P trong {Tl, Tr}, mà N sinh ra, cho ñꢋn nút P này.
•
•
•
Nꢋu P thuꢏc góc tây nam cꢐa N thì P là tây nam cꢐa R;
Nꢋu P là tây bꢟc cꢐa N thì P là tây bꢟc cꢐa R;
ðiꢄu này có nghĩa R thay thꢃ có tính chꢓt
a. Mꢠi M trong Tl:M.XVAL < R.XVAL nꢋu N mꢖc chꢩn; M.YVAL <
R.YVAL nꢋu N mꢖc lꢪ;
N ®ang ë møc ch½n
N
R
C©y con tr¸i Tl
M
Hình. Vꢑ trí nút thay thꢎ R khi N tꢌi mꢔc chꢕn
b. Mꢠi M trong Tr thoꢉ mãn: M.XVAL ≥ R.XVAL nꢋu N mꢖc chꢩn;
ngưꢑc lꢚi khi N mꢖc lꢪ.
iii. Khi Tr ≠ NIL, xét trưꢗng hꢑp mꢖc chꢩn lꢪ cꢐa N:
15
•
•
Nꢋu N mꢖc chꢩn thì bꢓt kì nút nào trong Tr có giá trꢊ XVAL nhꢞ nhꢓt là
nút R thay thꢋ. Chꢧng hꢚn nút Hà nꢏi bꢊ loꢚi thì nút Hà tây thay thꢋ;
Nꢋu N mꢖc lꢪ, nút thay thꢋ trong Tr có YVAL bé nhꢓt.
iv.
v.
Nhìn chung ngưꢗi ta thꢒc hiꢂn “tìm nút thay thꢋ trong cây con trái chꢌ vꢁi
mꢏt vài ñiꢄu kiꢂn”.
•
•
Nꢋu N ꢅ mꢖc chꢩn, nút phù hꢑp trong Tl là nút có XVAL lꢁn nhꢓt;
Nꢋu N mꢖc lꢪ, ngưꢗi ta chꢙn nút có YVAL ñꢚt cꢒc ñꢚi;
Vꢓn ñꢄ ñꢎt ra khi trong Tl có nhiꢄu nút ñꢚt giá trꢊ cꢒc ñꢚi, tꢚi XVAL hay
YVAL, thì ñiꢄu (2) trong ñꢊnh nghĩa cây 2ꢕd sꢤ bꢊ vi phꢚm khi áp dꢀng ba
bưꢁc thꢒc hiꢂn trên. Do vꢔy khi cꢇn xoá nút N trung gian, nên tìm nút thay
thꢋ R trên cây con phꢉi, bꢅi vì viꢂc tác ñꢏng vào cây con trái hay gây mꢓt
bꢄn vꢆng cꢓu trúc cây;
vi.
Khi cây con phꢉi Tr = NIL, ngưꢗi ta chꢙn R thay thꢋ trong Tl vꢁi giá trꢊ x
nhꢞ nhꢓt trong Tl khi N là nút tꢚi mꢖc chꢩn, hay chꢙn R thay thꢋ có y nhꢞ
nhꢓt khi N mꢖc lꢪ; và trong ba bưꢁc thꢒc hiꢂn nhꢞ trên, thay
Bưꢁc 2. Thay tꢓt cꢉ trưꢗng không rꢠng cꢐa N bꢥng các trưꢗng cꢐa R. ðꢎt
N.RLINK = N.LLINK, N.LLINK = NIL;
N
N
NIL
NIL
Hình. Cꢖu trúc nút
1.4.2.4. Câu hꢄi vꢅ phꢆm vi trong cꢀu trúc cây 2ꢃd
Vꢓn ñꢄ là tìm các nút (x, y) trong phꢚm vi bán kính r tꢢ (x0, y0). Sꢤ có vòng tròn
bán kính r vꢁi tâm là ñiꢈm (x0, y0).
(x, y)
(19, 45)
Hình. Miꢄn cꢗn tìm khi có nút (19, 45)
Liên quan ñꢋn câu hꢞi này, ngưꢗi ta thꢓy mꢠi nút N có miꢄn RN vꢁi bán kinh r.
Vòng tròn tꢚo ra tꢢ (x0, y0) không giao vꢁi vòng tròn RN thì không xét cây con cꢐa N.
Khái niꢂm vꢄ miꢄn liên quan ñꢋn mꢏt nút, có 5 loꢚi:
1. Xét nút Hà nꢏi (19, 45), ngưꢗi ta tꢚo ñưꢑc miꢄn Hà nꢏi = {(x, y)};
2. Nút Hꢉi phòng cho biꢋt miꢄn Hꢉi phòng = {(x, y) | x ≥ 19};
16
3. Nút Hà tây cho biꢋt miꢄn Hꢉi tây = {(x, y) | x ≥ 19, y < 50};
4. Nút Hà ñông cho biꢋt miꢄn Hà ñông = {(x, y) | x ≥ 38, y < 50};
5. Nút Hoà bình cho biꢋt miꢄn Hoà bình = {(x, y) | x < 19}.
Trôc Y
(19, 45)
Trôc X
Hình. Xác ñꢑnh các biên
Nhìn chung mꢠi nút N có nhiꢄu nhꢓt 4 ràng buꢏc liên quan, gꢟn vꢁi viꢂc xác ñꢊnh
vùng:
1. Xác ñꢊnh biên dưꢁi vꢄ X, XLB1, có dꢚng x ≥ c1;
2. Xác ñꢊnh biên trên vꢄ X, XUB2, có dꢚng x< c2;
3. Xác ñꢊnh biên dưꢁi vꢄ Y, YLB3, có dꢚng y ≥ c3;
4. Xác ñꢊnh biên trên vꢄ Y, YUB4, có dꢚng y< c4.
5. Do vꢔy cꢇn mꢅ rꢏng kiꢈu dꢆ liꢂu vꢄ nút, vꢁi tên là kiꢈu nút dꢆ liꢂu mꢁi:
Kiꢈu nút mꢁi = record
INFO: kiꢈu thông tin;
XVAL, YVAL: real;
XLB, XUB, YLB, YUB: real ∪ {ꢕ∞, +∞};
LLINK, RLLINK: ↑ kiꢈu nút mꢁi;
End;
Viꢂc bꢃ sung các nút cꢇn thꢒc hiꢂn:
1. Gꢍc cây nhꢔn XLB: = ꢕ∞, YLB: = ꢕ∞ và XUB: = +∞, YUB: = +∞;
2. Nꢋu nút N có cha P và P tꢚi mꢖc chꢩn, thì các giá trꢊ phꢚm vi cꢐa N ñưꢑc xác ñꢊnh
theo P:
•
N.XLB = P.XLB nꢋu N là con trái cꢐa P; ngưꢑc lꢚi N là con phꢉi, N.XLB =
P.XVAL;
•
N.XUB = P.XVAL nꢋu N là con trái cꢐa P; ngưꢑc lꢚi N là con phꢉi, N.XLB =
P.XUB;
•
•
N.YLB = P. YLB;
N.YUB = P. YUB;
3. Nꢋu N có cha là P và mꢖc P là lꢪ, thì:
•
N.YLB = P.YLB nꢋu N là con trái cꢐa P; ngưꢑc lꢚi N là con phꢉi, N.YLB =
1 XLB lower bound on x
2 XUB upper bound on x
3 YLB lower bound on y
4 YUB upper bound on y
17
P.YVAL;
•
N.YUB = P.YVAL nꢋu N là con trái cꢐa P; ngưꢑc lꢚi N là con phꢉi, N.YLB =
P.YUB;
•
•
N.XLB = P. XLB;
N.XUB = P. XUB;
ðꢍi vꢁi viꢂc tìm kiꢋm vùng trên cây, ngưꢗi ta có nhꢔn xét:
•
•
Khi gꢍc T không giao, thì xét cây con trái, cây con phꢉi;
Vꢁi cây con không giao, có thꢈ loꢚi bꢞ trong quá trình tìm kiꢋm.
1.4.2.5. Cây kꢃd tꢁng quát
Cây kꢕd tꢃng quát có k ≥ 2. Cây 2ꢕd ñưꢑc dùng ñꢈ thꢈ hiꢂn các nút trong không
gian 2 chiꢄu. Cây kꢕd vꢁi k ≥ 2 ñưꢑc dùng cho không gian k chiꢄu, chꢧng hꢚn các ñiꢈm
(x, y, z) sꢣ dꢀng cây 3ꢕd. ðꢍi vꢁi cây tꢃng quát, không thꢈ sꢣ dꢀng XVAL, YVAL ñꢈ trꢞ
ñꢋn hai cây con, mà dùng vecto VAL k chiꢄu, ꢖng vꢁi bꢏ các con trꢞ trꢞ ñꢋn các cây
con.
ðꢀnh nghĩa: Cây T có cꢝu trúc nút cây kꢡd nꢃu ñꢆi vꢍi nút N trên cây T, thì:
• Nút N có mꢞc i. Mꢞc này ñưꢏc tính i = “mꢞc thꢓc sꢓ” mod k;
• nút M trên cây con trái cꢋa N, M.VAL [i] < N. VAL [i];
• nút P trên cây con phꢇi cꢋa N, P. VAL[i]
≥ N.VAL [i].
Các thuꢔt toán ñã sꢣ dꢀng cho cây 2ꢕd ñưꢑc phát triꢈn dùng cho cây kꢕd. Khi k = 1,
ngưꢗi ta làm viꢂc vꢁi cây nhꢊ phân quen thuꢏc.
1.4.3. Cây tꢔ phân
Cây tꢖ phân1, hay cây bꢍn phꢇn, ñưꢑc dùng ñꢈ thꢈ hiꢂn ñiꢈm không gian 2 chiꢄu.
Cây 2ꢕd cũng có tác dꢀng như vꢔy. Tuy nhiên ñiꢈm khác biꢂt là cây tꢖ phân chia miꢄn
thành 4 phꢇn, trong khi cây 2ꢕd cho phép tách miꢄn ra hai phꢇn.
Trôc Y
Trôc Y
(N.XVAL, N.YVAL)
Khi N t¹i møc lÎ
(N.XVAL, N.YVAL)
Khi N t¹i møc ch½n
Trôc X
Trôc X
Hình. Vai trò cꢏa trꢀc ngang và dꢓc khi chia các miꢄn
Bꢍn phꢇn ꢖng vꢁi bꢍn cây con trên cây tꢖ phân ñưꢑc gꢙi tên theo hưꢁng ñꢍi vꢁi
nút N: ñông bꢟc NE, tây bꢟc NW, tây nam SW, và ñông nam SE2.
Kiꢈu dꢆ liꢂu ñưꢑc mô tꢉ là:
Kiꢈu nút tꢖ phân = record
INFO: kiꢈu thông tin;
XVAL: real;
1 point quadtree
2 north east, north west, south west, south east
18
YVAL: real;
NW, SW, NE, SE: ↑ kiꢈu nút tꢖ phân;
End;
PhÇn t©y b¾c
NW
PhÇn ®«ng b¾c
NE
(N.XVAL, N.YVAL)
PhÇn ®«ng nam
SE
PhÇn t©y nam
SW
Hình. Bꢈn phꢗn so vꢁi mꢇt nút
1.4.3.1. Tìm kiꢂm thông tin và bꢁ sung nút trên cây tꢇ phân
Khi có các giá trꢊ ñiꢈm không gian, như trong thí dꢀ trưꢁc vꢁi bꢉn ñꢘ các ñiꢈm Hà
nꢏi (19, 45), Hꢉi phòng (40, 50), Hà tây (38, 38), Hà ñông (54, 40), và Hoà bình (4, 4),
ngưꢗi ta có thꢈ xây dꢒng ñưꢑc cây bꢥng cách phát triꢈn dꢇn các nút. Chꢧng hꢚn tꢢ nút
Hà nꢏi, ngưꢗi ta dùng 4 con trꢞ ñꢋn các nút khác, theo vꢊ trí tương ñꢍi so vꢁi nút Hà
nꢏi.
Nót thø ba
Nót thø hai
N
CÊu tróc mét nót trªn
c©y tø ph©n
Nót thø nhÊt
Hình. Nguyên tꢘc mô tꢍ nút cây tꢔ phân
Viꢂc xây dꢒng cây ñưꢑc tiꢋn hành theo:
1. Cây rꢠng, ngưꢗi ta xác ñꢊnh nút ñꢇu là Hà nꢏi, toꢚ ñꢏ (19, 45);
2. Chia ra 4 phꢇn không gian;
(40, 50)
Hꢀ néi
N
W
S
W
N
E
S
E
(19, 45)
H¶i phßng
N
W
S
W
N
E
S
E
Hình. Thêm nút Hà nꢇi và xác ñꢑnh ñưꢊc vꢑ trí tương ñꢈi cꢏa Hꢍi phòng so vꢁi Hà nꢇi
3. Bꢃ sung nút Hà tây. Do phꢇn này chưa có nút nào, con trꢞ tꢢ nút Hà nꢏi trꢞ
trꢒc tiꢋp ñꢋn nút Hà tây;
4. Vꢁi nút Hà ñông: do ñã có nút Hà tây tꢚi SE cꢐa nút Hà nꢏi, ngưꢗi ta nhꢔn
thꢓy chính nút Hà tây cho phép tách không gian ra 4 phꢇn, và nút Hà ñông là
NE cꢐa nút Hà tây;
19
5. Viꢂc bꢃ sung nút Hoà bình ñơn giꢉn.
Hꢀ néi
N
W
S
W
N
E
S
E
H¶i phßng
Hꢀ t©y
N
W
S
W
N
E
S
E
N
W
S
W
N
E
S
E
Hoꢀ b×nh
Hꢀ ®«ng
N
W
S
W
N
E
S
E
N
W
S
W
N
E
S
E
Hình. Các nút cây tꢔ phân
Nhìn chung, trong trưꢗng hꢑp xꢓu nhꢓt, n nút tꢚo nên ñꢏ cao nꢕ1 mꢖc. Lưu ý rꢥng
thꢗi gian tìm kiꢋm nút, bꢃ sung nút ñưꢑc biꢈu diꢨn tuyꢋn tính theo sꢍ nút n.
1.4.3.2. Xoá mꢈt nút trên cây tꢇ phân
Khi nút N cꢇn xoá là nút lá thì công viꢂc ñơn giꢉn. Nhưng khi N là nút trung gian,
viꢂc tìm nút thay thꢋ rꢓt phꢖc tꢚp, do:
•
Mꢠi nút gꢟn vꢁi miꢄn, vùng cꢐa bꢉn ñꢘ, có cách xác ñꢊnh khác cây 2ꢕd. Trong
cây 2ꢕd, ngưꢗi ta ñã dùng các ràng buꢏc x ≥ c1, x < c2, y ≥ c3, và y < c4;
•
Trong cây tꢖ phân, mô tꢉ kiꢈu dꢆ liꢂu là
Kiꢈu nút tꢖ phân = record
INFO: kiꢈu thông tin;
XVAL, YVAl: real;
XLB, YLB, XUB, YUB: real ∪ {ꢕ∞, +∞}
NW, SW, NE, SE: ↑ kiꢈu nút tꢖ phân;
End;
Viꢂc xoá nút cꢇn lưu ý ñꢋn viꢂc bꢃ sung nút. Viꢂc bꢃ sung mꢏt nút N vào cây có trꢞ
T ñưꢑc thꢒc hiꢂn:
1. Nꢋu N là gꢍc cây T, thì N.XLB = ꢕ∞, N.YLB = ꢕ∞, N.XUB = +∞, N.YUB
= +∞;
2. Nꢋu P là nút cha cꢐa con n, thì viꢂc gán giá trꢊ theo tham chiꢋu ñꢋn bꢉng
sau, tuỳ theo vꢊ trí tương ñꢍi cꢐa con N ñꢍi vꢁi P. Trong bꢉng ngưꢗi ta sꢣ
dꢀng kí hiꢂu ñꢏ rꢏng cꢐa hình bao w = P.XUB – P.XLB, và chiꢄu cao cꢐa
hình bao h = YUB – YLB.
Trưꢗng hꢑp
N.XLB
P.XLB
P.XLB
N.XUB
N.YLB
N.YUB
N là con tây bꢟc
N là con tây nam
P.XLB + w / 2 P.YLB + h / 2
P.XLB + w / 2 P.YLB
P.YUB
P.YLB + h / 2
P.YUB
N là con ñông bꢟc P.XLB + w / 2
N là con ñông nam P.XLB + w / 2
P.XUB
P.XUB
P.YLB + h / 2
P.YLB
P.YLB + h / 2
Hình. Bꢍng tra cꢔu giá trꢑ cꢙn trên/ dưꢁi cho các nút con
Trong quá trình tìm nút R thay thꢋ N trong sꢍ các cây con, ñꢈ xoá N, ngưꢗi ta nhꢔn
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu đa phương tiện - Đỗ Trung Tuấn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_co_so_du_lieu_da_phuong_tien_do_trung_tuan.pdf

