Tuy nhiên việc quản lý đã dễ dàng hơn với sự phát triển của máy tính thì cơ sở dữ liệu database được quản lý một cách có hệ thống, các thông tin có cấu trúc được lưu trữ trên các thiết b
Trang 1ÁP DỤNG CÁC NGUYÊN TẮC SÁNG TẠO TRONG
THIẾT KẾ và QUẢN LÝ CƠ SỞ DỮ LIỆU
| Nguyễn Ngọc Bích Nga
L N N C
ƠN N N C C
Trang 2L N N C
ƠN N N C C
ĐỀ
ÁP DỤNG CÁC NGUYÊN TẮC SÁNG TẠO TRONG
THIẾT KẾ và QUẢN LÝ CƠ SỞ DỮ LIỆU
GVHD : GS.TSKH.Hoàng Kiếm Người thực hiện : Nguyễn Ngọc Bích Nga
Mã số: : CH1101008 Lớp : Cao học ngành khoa học máy tính K2 đợt 1
TP.HCM – 2013
Trang 3bài giảng bổ ích của Thầy, cám ơn Thầy đã tận tâm chia sẻ những kinh nghiệm quý báu và truyền đạt những kiến thức nền tảng qua những bài học
từ thực tế một cách sâu sắc cho chúng tôi Qua đó chúng tôi có thêm nhiều kiến thức trong quá trình học và nghiên cứu khoa học, chúng tôi có thể nhìn nhận ra nhiều vấn đề về khoa học và tiếp cận nghiên cứu khoa học nói chung và trong chuyên ngành công nghệ thông tin mà chúng tôi đang theo học một cách có phương pháp, có tư duy
Bên cạnh đó tôi xin chân thành cảm ơn các Thầy Cô thuộc Phòng Sau đại học - Trường Đại học Quốc Tế Hồng Bàng đã tạo điều kiện giúp đỡ cho các học viên có trong quá trình học tập và nghiên cứu khoa học
Trang 4liệu bằng nhiều cách khác nhau tuy nhiên việc thao tác với nó vô cùng khó khăn Tuy nhiên việc quản lý đã dễ dàng hơn với sự phát triển của máy tính thì cơ sở dữ liệu (database) được quản lý một cách có hệ thống, các thông tin có cấu trúc được lưu trữ trên các thiết bị lưu trữ thứ cấp (băng từ, đĩa từ…) nhằm thoả mãn yêu cầu khai thác thông tin đồng thời của nhiều người
sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhau
Vì thế trong quá trình thiết kế và quản lý dữ liệu nhằm tối ưu hóa thiết bị lưu trữ cũng như giảm sự trùng lắp thông tin xuống mức thấp nhất và bảo đảm được tính nhất quán và toàn vẹn dữ liệu cũng như dữ liệu có thể được truy xuất theo nhiều cách khác nhau
Để đạt được những yêu cầu đó các nhà khoa học đã và vẫn đang nghiên cứu và đặt ra những vấn đề cần giải quyết như làm thế nào nhằm
đảm bảo ính chủ quyền của dữ liệu, ính bảo mật và quyền khai thác
thông tin của người sử dụng, ranh chấp dữ liệu, Đảm bảo dữ liệu khi
có sự cố,
Nội dung của tiểu luận này chủ yếu là nghiên cứu việc quản lý cơ sở
dữ liệu vì trong quá trình xây dựng và phát triển các hệ quản trị cơ sở dữ liệu các nhà khoa học đã vận dụng các phương pháp, các thủ thuật trong nghiên cứu khoa học để đưa vào các công trình nghiên cứu trong việc quản
lý cơ sở dữ liệu
Trang 5CSDL: Cơ sở dữ liệu
DBMS: Hệ quản trị Cơ sở dữ liệu
DDBMSs: Hệ quản trị cơ sở dữ liệu CSDL Phân tán NSD: Người sử dụng
Trang 6Hình 2: Ví dụ về một cơ sở dữ liệu phân tán 13 Hình 3: Kiến trúc tham khảo dùng cho CSDL phân tán 16
Trang 7LỜI NÓI ĐẦU 4
TỪ VIẾT TẮT 5
DANH MỤC HÌNH ẢNH 6
MỤC LỤC 7
PHẦN 1 CƠ SỞ LÝ THUYẾT VÀ CÁC PHƯƠNG PHÁP NGHIÊN CỨU 1
I KHÁI NIỆM KHOA HỌC VÀ NGHIÊN CỨU KHOA HỌC 1
I.1 Khoa Học 1
I.2 Nghiên cứu khoa học 1
II CÁC NGUYÊN LÝ SÁNG TẠO TRONG KHOA HỌC 1
II.2 40 thủ thuật: 2
III CÁC NGUYÊN LÝ SÁNG TẠO TRONG TIN HỌC 3
III.1 Theo phương pháp trực tiếp 3
III.2 Theo phương pháp gián tiếp 5
PHẦN 2 NỘI DUNG NGHIÊN CỨU VÀ KẾT QUẢ 9
I GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU 9
I.2 Cơ sở dữ liệu (CSDL) 9
I.3 CSDL Phân tán: 12
I.4 CSDL tích cực (Active database) 17
I.5 CSDL thời gian (Temporal databases) 19
I.6 CSDL không gian và multimedia 20
I.7 Cơ sở dữ liệu suy diễn 23
II KẾT QUẢ 25
II.1 Một số nguyên tắc nghiên được áp dụng trong phát triển cơ sở dữ liệu 25
II.2 Một số phương pháp nghiên cứu khoa học trong tin học áp dụng trong cơ sở dữ liệu 27
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 31
Trang 8Khóa 2 đợt 1 1
ẦN 1 CƠ SỞ LÝ THUYẾT VÀ CÁC ƠN PHÁP NGHIÊN C U
I KHÁI NIỆM KHOA H C VÀ NGHIÊN C U KHOA H C
I.1 Khoa Học
Khoa học chính là quá trình nghiên cứu nhằm khám phá ra những kiến thức, những học thuyết mới, … về tự nhiên và xã hội Những kiến thức hay học thuyết mới này, tốt hơn, có thể thay thế dần những cái cũ, không còn phù hợp Như vậy, khoa học bao gồm một hệ thống tri thức
về quy luật của vật chất và sự vận động của vật chất, những quy luật của tự nhiên, xã hội, và tư duy Hệ thống tri thức này hình thành trong lịch sử và không ngừng phát triển trên cơ sở thực tiễn xã hội Có 2 hệ
thống tri thức cơ bản đó là: Tri thức kinh nghiệm và Tri thức khoa
học
I.2 Nghiên cứu khoa học
Nghiên cứu khoa học là một họat động nhằm tìm kiếm, xem xét, điều tra, hoặc thử nghiệm Dựa trên những số liệu, tài liệu, kiến thức,… đạt được từ các thí nghiệm nghiên cứu khoa học để phát hiện ra những cái mới về bản chất sự vật, về thế giới tự nhiên và xã hội, và để sáng tạo phương pháp và phương tiện kỹ thuật mới cao hơn, giá trị hơn Con người muốn làm nghiên cứu khoa học phải có kiến thức nhất định về lĩnh vực nghiên cứu và cái chính là phải rèn luyện cách làm việc tự lực,
có phương pháp từ lúc ngồi trên ghế nhà trường
II CÁC NGUYÊN LÝ SÁNG TẠO TRONG KHOA H C
Qua quá trình nghiên cứu, phân tích đã tổng hợp một cách cơ bản nhất, bao quát và đầy đủ được 40 thủ thuật nhằm giúp cho việc sáng tạo Hệ thống các nguyên tắc sáng tạo này còn giúp cho chúng ta xây dựng được tác phong, suy nghĩ và làm việc một cách khoa học, sáng tạo góp
Trang 9Khóa 2 đợt 1 2
phần xây dựng tư duy và hỗ trợ trong quá trình nghiên cứu khoa học
Trong quá trình phát triển của khoa học kỹ thuật, số lượng các thủ thuật
có thể tăng thêm và bản thân từng thủ thuật s được cụ thể hoá hơn nữa cho phù hợp với các chuyên ngành hẹp, tuy nhiên để giải quyết vấn đề theo khoa học về phát minh, sáng chế còn có 5 phương pháp:
9 Nguyên tắc gây ứng suất sơ bộ
10 Nguyên tắc thực hiện sơ bộ
11 Nguyên tắc dự phòng
12 Nguyên tắc đẳng thế
13 Nguyên tắc đảo ngược
14 Nguyên tắc cầu (tròn) hoá
15 Nguyên tắc linh động
16 Nguyên tắc giải “thiếu” hoặc “thừa”
Trang 10Khóa 2 đợt 1 3
17 Nguyên tắc chuyển sang chiều khác
18 Nguyên tắc sử dụng các dao động cơ học
19 Nguyên tắc tác động theo chu kỳ
20 Nguyên tắc liên tục tác động có ích
21 Nguyên tắc “vượt nhanh”
22 Nguyên tắc biến hại thành lợi
23 Nguyên tắc quan hệ phản hồi
24 Nguyên tắc sử dụng trung gian
25 Nguyên tắc tự phục vụ
26 Nguyên tắc sao chép (copy)
27 Nguyên tắc “rẻ” thay cho “đắt”
28 Thay thế sơ đồ cơ học
34 Nguyên tắc phân hủy hoặc tái sinh các phần
35 hay đổi các thông số hoá lý của đối tượng
III CÁC NGUYÊN LÝ SÁNG TẠO TRONG TIN H C
III.1 heo phương pháp trực tiếp
Phương pháp trực tiếp xác định trực tiếp được lời giải qua một thủ tục
Trang 11Khóa 2 đợt 1 4
tính toán như công thức, hệ thức, định luật …vv… hoặc qua các bước căn bản để có được lời giải Đối với phương pháp này, việc giải quyết vấn đề trên máy tính chỉ là thao tác lập trình hay là sự chuyển đổi lời giải từ ngôn ngữ bên ngoài sang các ngôn ngữ được sử dụng trong máy tính Tìm hiểu về phương pháp này chính là tìm hiểu về kỹ thuật lập trình trên máy tính
Để thực hiện tốt phương pháp trực tiếp, chúng ta cần áp dụng các nguyên lý sau:
2 Nguyên lý 1
Chuyển đổi dữ liệu bài toán thành dữ liệu của chương trình, điều này
có nghĩa là “Dữ liệu của bài toán s được biểu diễn lại dưới dạng các biến của chương trình thông qua các quy tắc xác định của ngôn ngữ lập trình cụ thể”
5 Nguyên lý 4
Biểu diễn các tính toán gần đúng bằng cấu trúc lặp, có nghĩa là “Mọi quá trình tính toán gần đúng đều dựa trên các cấu trúc lặp với tham số xác định ”
6 Nguyên lý 5
Trang 12Khóa 2 đợt 1 5
Phân chia bài toán ban đầu thành những bài toán nhỏ hơn, có nghĩa là
“Mọi vấn đề - bài toán đều có thể giải quyết bằng cách phân chia thành những vấn đề - bài toán nhỏ hơn ” Đây là nguyên tắc khá quan trọng
7 Nguyên lý 6
Biểu diễn các tính toán không tường minh bằng đệ quy, điều này có nghĩa là “Quá trình đệ quy trong máy tính không đơn giản như các biểu thức quy nạp trong toán học” Kỹ thuật đệ quy được sử dụng khá nhiều trong lập trình phần mềm
III.2 heo phương pháp gián tiếp
Phương pháp gián tiếp được sử dụng khi chưa tìm ra lời giải chính xác của vấn đề Đây cũng chính là cách tiếp cận chủ yếu của loài người từ xưa đến nay Điểm khác ở đây là chúng ta đưa ra những giải pháp mang đặc trưng của máy tính, dựa vào sức mạnh tính toán của máy tính Tất nhiên, một lời giải trực tiếp bao giờ cũng tốt hơn, nhưng không phải lúc nào cũng có
Chúng ta có thể áp dụng các phương pháp gián tiếp như sau:
2 hương pháp thử – sai
Khi xây dựng lời giải bài toán theo phương pháp thử – sai, người ta thường dựa vào 3 nguyên lý sau :
Nguyên lý vét cạn: Đây là nguyên lý đơn giản nhất, liệt kê
tất cả các trường hợp có thể xảy ra
Nguyên lý ngẫu nhiên: Dựa vào việc thử một số khả năng
được chọn một cách ngẫu nhiên Khả năng tìm ra lời giải đúng phụ thuộc rất nhiều vào chiến lược chọn ngẫu nhiên
Nguyên lý mê cung: Nguyên lý này được áp dụng khi chúng
ta không thể biết được chính xác “hình dạng” lời giải mà phải xây dựng dần lời giải qua từng bước một giống như tìm
Trang 13Khóa 2 đợt 1 6
đường đi trong mê cung
Để thực hiện tốt phương pháp thử - sai, chúng ta nên áp dụng các nguyên lý sau:
Nguyên lý vét cạn toàn bộ: Muốn tìm được cây kim trong
đống rơm, hãy lần lượt rút ra từng cọng rơm cho đến khi rút được cây kim
Nguyên lý mắt lưới: Lưới bắt cá chỉ bắt được những con cá
có kích thước lớn hơn kích thước mắt lưới
Nguyên lý giảm độ phức tạp của thử và sai: Thu hẹp
trường hợp trước và trong khi duyệt, đồng thời đơn giản hóa tối đa điều kiện chấp nhận một trường hợp
Nguyên lý thu gọn không gian tìm kiếm: Loại bỏ những
trường hợp hoặc nhóm trường hợp chắc chắn không dẫn đến lời giải
Nguyên lý đánh giá nhánh cận: Nhánh có chứa quả phải
nặng hơn trọng lượng của quả
Ưu điểm duy nhất của phương pháp thử sai là không cần phải học mà
tự nhiên ai cũng có Ngoài ưu điểm đó ra phương pháp này có rất nhiều nhược điểm ảnh hưởng đến hiệu quả tư duy - giải quyết vấn đề con người
Các nhược điểm chủ yếu của phương pháp này là:
Số phép thử- sai nhiều nên mất nhiều trí lực, thời gian, vật chất và có thể là sinh mạng của con người
Công suất phát ý tưởng (số ý tưởng đưa ra trên một đơn vị thời gian) để giải quyết vấn đề thấp
Tuy số phép thử nhiều nhưng không bao quát được hết các phương án có thể có đối với bài toán cho trước một cách
Trang 14Khóa 2 đợt 1 7
khách quan
Không có cơ chế định hướng tư duy Rất cần có phương pháp cho phép định hướng chính xác con đường đi từ bài toán đến lời giải
3 hương pháp euristic
Phương pháp thử - sai có một số nhược điểm, khi giải quyết vấn đề bằng cách dùng một số lượng phép thử quá lớn, thời gian để có được kết quả có khi khá lâu không chấp nhận được Phương pháp Heuristic
có đặc điểm là đơn giản và gần gủi với cách suy nghĩ của con người, cho ra được những lời giải đúng trong đa số các trường hợp áp dụng Các thuật giải Heuristic được xây dựng dựa trên một số nguyên lý rất đơn giản như “vét cạn thông minh”, “tối ưu cục bộ” (Greedy), “hướng đích”, “sắp thứ tự”, Đây là một số thuật giải khá thú vị và có rất nhiều ứng dụng trong thực tiễn
Để thực hiện tốt phương pháp Heuristic, chúng ta nên áp dụng các nguyên lý sau:
Nguyên lý leo núi: Muốn leo lên đến đỉnh thì bước sau phải
cao hơn bước trước
Nguyên lý chung: Chọn hướng đi triển vọng nhất trong số
những hướng đi đã biết
4 hương pháp trí tuệ nhân tạo
Phương pháp thử - sai và Heuristic nói chung đều dựa trên một điểm
cơ bản là trí thông minh của chính con người để giải bài toán, máy tính chỉ đóng vai trò thực thi mà thôi Còn các phương pháp trí tuệ nhân tạo lại dựa trên trí thông minh của máy tính Trong những phương pháp này, người ta s đưa vào máy tính trí thông minh nhân tạo giúp máy tính bắt chước một phần khả năng suy luận như con người Từ đó, khi
Trang 15Khóa 2 đợt 1 8
gặp một vấn đề, máy tính s dựa trên những điều nó đã được “học“ để
tự đưa ra phương án giải quyết vấn đề
Trong lĩnh vực máy học, các hình thức học có thể phân chia như sau :
Học vẹt
Học bằng cách chỉ dẫn
Học bằng qui nạp
Học bằng tương tự
Học dựa trên giải thích
Học dựa trên tình huống
Khám phá hay học không giám sát
Các kỹ thuật thường được áp dụng trong “máy học” là :
Khai khoáng dữ liệu
Mạng nơ ron
Thuật giải di truyền
Trang 16Khóa 2 đợt 1 9
ẦN 2 NỘI DUNG NGHIÊN C U VÀ KẾT QUẢ
I GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU
Qua quá trình phát triển của thời đại công nghệ thông tin thì việc quản
lý cơ sở dữ liệu cũng không ngừng phát triển và từ các hệ thống quản
lý cơ sở dữ liệu cơ bản thì ngày càng có nhiều hệ quản trị cơ sở dữ liệu
từ đơn giản đến phức tạp: Cơ sở dữ liệu (CSDL), CSDL Phân tán, CSDL tích cực (Active database), CSDL thời gian (Temporal databases), CSDL không gian và multimedia, Cơ sở dữ liệu suy diễn,…
I.2 Cơ sở dữ liệu (CSDL)
1 Định nghĩa cơ sở dữ liệu
Có thể nói rằng cơ sở dữ liệu và kỹ thuật cơ sở dữ liệu đóng vai trò quan trọng trong mọi lĩnh vực có sử dụng máy tính như giáo dục, thương mại, kỹ nghệ, khoa học, thư viện,… Thuật ngữ cơ sở dữ liệu trở thành một thuật ngữ phổ dụng
Một cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, được lưu trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình Dữ liệu là những sự kiện có thể ghi lại được và có ý nghĩa
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… Chúng ta
tổ chức các dữ liệu đó 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, đó chính là một cơ sở dữ liệu
2 Tính chất của cơ sở dữ liệu:
Một cơ sở dữ liệu biểu thị một khía cạnh nào đó của thế giới thực như
Trang 17Khóa 2 đợt 1 10
hoạt động của một công ty, một nhà trường, một ngân hàng… Những thay đổi của thế giới thực phải được phản ánh một cách trung thực vào trong cơ sở dữ liệu Những thông tin được đưa vào trong cơ sở dữ liệu tạo thành một không gian cơ sở dữ liệu hoặc là một “thế giới nhỏ” (miniworld)
Một cơ sở dữ liệu là một tập hợp dữ liệu liên kết với nhau một cách logic và mang một ý nghĩa cố hữu nào đó Một cơ sở dữ liệu không phải là một tập hợp tùy tiện
Một cơ sở dữ liệu được thiết kế và được phổ biến cho một mục đích riêng Nó có một nhóm người sử dụng có chủ định và có một số ứng dụng được xác định phù hợp với mối quan tâm của người sử dụng Nói cách khác, một cơ sở dữ liệu có một nguồn cung cấp dữ liệu, một mức
độ tương tác với các sự kiện trong thế giới thực và một nhóm người quan tâm tích cực đến các nội dung của nó
3 Hệ quản trị Cơ sở dữ liệu (DBMS)
Tập hợp các chương trình cho phép tạo và duy trì cở sở dữ liệu trên máy tính Là hệ thống phần mềm giúp định nghĩa, xây dựng, xử lý, chia sẻ, bảo vệ và duy trì các cơ sở dữ liệu
Một số hệ quản trị CSDL phổ biến như: MS Acess, DB2, MS SQL Server, Oracle
4 Các mức biểu diễn một CSDL
Để hệ thống có thể dùng được thì phải tìm dữ liệu một cách hiệu quả Điều này dẫn đến việc cần phải thiết kế những cấu trúc dữ liệu phức tạp đối với việc biểu diễn dữ liệu trong cơ sở dữ liệu Vì nhiều người
sử dụng các hệ thống cơ sở dữ liệu không phải là người hiểu biết nhiều
về máy tính nên những người phát triển hệ thống phải che dấu đi sự phức tạp khỏi người sử dụng thông qua một số mức trừu tượng, nhằm
Trang 18Khóa 2 đợt 1 11
làm đơn giản hóa sự tương tác của người sử dụng đối với hệ thống
5 Có 3 mức biểu diễn dữ liệu
a ức trong (mức vật lý - Physical level)
Nói đến cách thức dữ liệu được lưu trữ thực sự Trả lời câu hỏi dữ liệu
gì và lưu trữ chúng như thế nào? Cần các chỉ mục gì?
Ví dụ như chỉ mục, B-cây, băm
Những người thao tác tại mức này là người quản trị CSDL và những NSD chuyên môn
b ức quan niệm hay mức logic (conception level, logical level)
Trả lời câu hỏi cần phải lưu trữ bao nhiêu loại dữ liệu? Đó là những dữ liệu gì? Mối quan hệ giữa chúng như thế nào?
Như vậy CSDL mức vật lý là sự cài đặt cụ thể của CSDL mức quan niệm
c ức ngoài hay mức nhìn (view level)
Trang 19Khóa 2 đợt 1 12
Hình 1: Ba mức trừu tượng dữ liệu
I.3 CSDL Phân tán:
1 Định nghĩa CSDL hân tán:
Cơ sở dữ liệu phân tán (Distributed Database) là tập hợp dữ liệu, mà về mặt
logic tập hợp này thuộc cùng một hệ thống, nhưng về mặt vật lý dữ liệu đó được phân tán trên các vị trí khác nhau của một mạng máy tính
Mỗi nơi của mạng máy tính có khả năng xử lý tự trị và có thể thực hiện các ứng dụng cục bộ Mỗi nơi cũng tham gia thực hiện ít nhất một ứng dụng toàn cục, mà
nơi này yêu cầu truy xuất dữ liệu ở nhiều nơi bằng cách dùng hệ thống truyền thông