1. Trang chủ
  2. » Công Nghệ Thông Tin

Mô phỏng các phép toán cơ sở dữ liệu bằng chương trình visual basic

29 1,2K 9
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 446,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Báo cáo đồ án cơ sở ngành - Công nghệ thông tin Đề tài : Mô phỏng các phép toán cơ sở dữ liệu bằng chương trình Visual Basic

Trang 1

Nội dung:

I.Giới thiệu 2

1.Mục tiêu đồ án 2

4.Lý thuyết các phép toán Đại số quan hệ 4

b.Chọn 2 quan hệ và thực hiện tính toán 20

20

Code: 20

5.Kiểm thử 25

-Việc nhập dữ liệu vào File text thành công 25

-Sau khi chọn 2 file muốn tính toán Ta click vào phép toán để chọn phép toán cần tính toán Nhấn vào Button Tính toán và tiếp đó nhấn nút Kết quả để có thể xem được kết quả mà ta vừa tính ở trên Dưới đây là kết quả thu được 25

Ngoài ra việc hiển thị trên Menu cũng được coi trọng 26

Để hiển thị nội dung lên hướng dẫn ta có đoạn Code sau: 27

*Đồng thời khi click vào About me sẽ hiển thị 1 Form nói về tác giả 27

Đây là giao diện nên ta không cần Code phức tạp 27

III/Kết quả đạt được 28

Sinh viên:Trần Anh Tiến

Trang 2

• CSDL: Cơ sở dữ liệu

• VB: Visual Basic

I.Giới thiệu

1.Mục tiêu đồ án

Giới thiệu sơ lược về đồ án

Xây dựng chương trình mô phỏng các phép toán đại số quan hệ: Phép hợp, phép giao, phép trừ, phép kết nối, phép chiếu

Yêu cầu:

1 Tóm lược lý thuyết phần Đại số quan hệ

2 Trình bày ý tưởng thuật toán để giải quyết cho từng phép toán

3 Vẽ sơ đồ khối hoặc mã giả cho các thuật toán trên

4 Viết chương trình bằng ngôn ngữ VB

a Nhập vào 02 quan hệ (lưu vào file text dạng ma trận)

b Chọn 02 quan hệ và chọn phép toán để thực hiện

c In kết quả ra màn hình (dạng bảng) và lưu kết quả xuống fileMục tiêu:

-Tìm hiểu kĩ lý thuyết về CSDL ,các phép toán đại số quan hệ như phép giao, phép hợp, phép trừ…

-Tìm hiểu kĩ hơn về cách sử dụng ngôn ngử VB, sử dụng thành thạo ngôn ngữ

VB cho việc lập trình

-Rèn luyện kĩ năng làm việc độc lập

Trang 3

-2.Giới thiệu công cụ thực hiện : Visual Basic 6.0

Dùng VB6 là cách nhanh và tốt nhất để lập trình cho Microsoft Windows Cho dù ta là chuyên nghiệp hay mới mẻ đối với chương trình Windows, VB6 sẽ cung cấp cho ta một bộ công cụ hoàn chỉnh để đơn giản hóa việc triển khai lập trình ứng dụng cho MSWindows

Visual Basic là gì?

Phần "Visual" đề cập đến phương phàp được sử dụng để tạo giao diện đồ

họa người dùng (Graphical User Interface hay viết tắc là GUI) Có sẵn những bộ phận hình ảnh, gọi là controls, ta tha hồ sắp đặt vị trí và quyết định các đặc tính của chúng trên một khung màn hình, gọi là form Nếu ta đã từng sử dụng chương trình vẽ chẳng hạn như Paint, ta đã có sẵn các kỹ năng cần thiết để tạo một GUI cho VB6

Phần "Basic" đề cập đến ngôn ngữ BASIC (Beginners All-Purpose Symbolic

Instruction Code), một ngôn ngữ lập trình đơn giản, dễ học, được chế ra cho các khoa học gia (những người không có thì giờ để học lập trình điện toán) dùng

Visual Basic đã được ra từ MSBasic, do Bill Gates viết từ thời dùng cho máy tính 8 bits 8080 hay Z80 Hiện nay nó chứa đến hàng trăm câu lệnh (commands), hàm (functions) và từ khóa (keywords) Rất nhiều commands, functions liên hệ trực tiếp đến MSWindows GUI Những người mới bắt đầu có thể viết chương trình bằng cách học chỉ một vài commands, functions và keywords Khả năng của ngôn ngữ này cho phép những người chuyên nghiệp hoàn thành bất

kỳ điều gì nhờ sử dụng ngôn ngữ lập trình MSWindows nào khác

Người mang lại phần "Visual" cho VB là ông Alan Cooper Ông đã gói môi trường hoạt động của Basic trong một phạm vi dễ hiểu, dễ dùng, không cần phải chú ý đến sự tinh xảo của MSWindows, nhưng vẫn dùng các chức năng của MSWindows một cách hiệu quả Do đó, nhiều người xem ông Alan Cooper là cha già của Visual Basic

Visual Basic còn có hai dạng khác: Visual Basic for Application (VBA)

và VBScript VBA là ngôn ngữ nằm phía sau các chương trình Word, Excel,

MSAccess, MSProject, v.v còn gọi là Macros Dùng VBA trong MSOffice, ta có thể làm tăng chức năng bằng cách tự động hóa các chương trình.VBScript được dùng cho Internet và chính Operating System

Dù cho mục đích của bạn là tạo một tiện ích nhỏ cho riêng bạn, trong một nhóm làm việc của bạn, trong một công ty lớn, hay cần phân bố chương trình ứng dụng rộng rãi trên thế giới qua Internet, VB6 cũng sẽ có các công cụ lập trình mà bạn cần thiết

Các ấn bản Visual Basic 6

Có ba ấn bản VB6: Learning, Professional và Enterprise Chúng ta hãy gát qua ấn bản Learning Bạn có thể dùng ấn bản Professional hay Enterprise

Trang 4

Ấn bản Professional cung cấp đầy đủ những gì bạn cần để học và triển khai một chương trình VB6, nhất là các control ActiveX, những bộ phận lập trình tiền chế và rất hữu dụng cho các chương trình ứng dụng (application programs) của bạn trong tương lai Ngoài đĩa compact chính cho VB6, tài liệu đính kèm gồm có sách Visual Studio Professional Features và hai đĩa CD Microsoft Developer Network (MSDN).

Ấn bản Enterprise là ấn bản Professional cộng thêm các công cụ Back Office chẳng hạn như SQL Server, Microsoft Transaction Server, Internet Information Server

3.Giới thiệu về CSDL

Cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị băng từ, đĩa từ… để có thể làm thỏa mản yêu cầu khai thác đồng thời của nhiều người sữ dụng

CSDL gắng liền với Đại số ,logic toán và một số vấn đề khác

* Ưu điểm của cơ sở dữ liệu

-Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảmđược tính nhất quán và toàn vẹn dữ liệu

-Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau

-Khả năng chia sẻ thông tin cho nhiều người sử dụng

4.Lý thuyết các phép toán Đại số quan hệ

 Các phép toán chia làm 2 nhóm:

o Các phép toán tập hợp (hội, giao, trừ, …)

o Các phép toán quan hệ (chiếu, chọn, kết nối, …)

( Trong phần này ta chỉ trình bày các phép toán tập hơp như Phép hợp, phép giao, phép trừ, phép kết nối, phép chiếu.)

Hai lược đồ quan hệ R(A1, A2, …, An) và S(B1, B2, …, Bn) là khả hợp nếu cùng bậc n (cùng số thuộc tính) và có DOM(Ai) = DOM(Bi), với 1≤ i ≤ n

Trang 5

Phép hợp của R và S, ký hiệu là R S, là một quan hệ gồm các bộ thuộc

R hoặc thuộc S, hoặc cả hai Các bộ trùng lắp sẽ bị lược bớt và chỉ giữ lại 1 bộ đại diện

Biểu diển: R∪S=(t/ t Є R hoặc tЄ S hoặc t Є R và S}

S GIANGVIEN

Nguyen TrangBui Hong Minh

Trang 7

Cho một quan hệ r với lược đồ quan hệ R(A1,A2,A3, ,An)

Phép chọn trên r là phép xác định một tập con các bộ các bộ quan hệ thỏa mãn 1 điều kiện cho trước

Tức là :

σ<đk_chọn> (<Tên_quan_hệ>)

(Phép chọn được hiểu: σF (r)={t Єr/F(t)=đúng})

 σ: ký hiệu phép chọn

 <Tên_quan_hệ>: chỉ quan hệ được chọn

 Kết quả thu được từ phép chọn là một quan hệ, có cùng danh sách thuộc tính được chỉ ra trong <Tên_quan_hệ>

 Điều kiện chọn được hình thành từ các mệnh đề có dạng:

<tên_thuộc_tính> <phép_so_sánh> <giá_trị_hằng>

<tên_thuộc_tính> <phép_so_sánh> <tên_thuộc_tính>

t= R-S= SINHVIEN - GIANGVIEN

Tran An

Le Van PhongBui Hong Minh

Trang 8

 <tên_thuộc_tính> là tên thuộc tính của <Tên_quan_hệ>, phép so sánh thường là: =, ≠, >, ≥, <, ≤.

 Các mệnh đề có thể được nối lại nhờ vào các phép ¬, ∧, ∨

 Phép chọn có tính giao hoán:

σ(đk1) (σ(đk2) R) = σ(đk2) (σ(đk1) R) = σ(đk1 đk2) R

 VD: Tìm các nhân viên có mức lương trên 25.000 ở phòng 4 hoặc các nhân viên có mức lương trên 30.000 ở phòng 5

σ(PHG = 4 ∧ LUONG > 25000) ∨ (PHG = 5 ∧ LUONG > 30000)(NHANVIEN)

e.Phép kết nối (join)

Phép kết nối, ký hiệu là |X|, dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ

thành 1 bộ

VD: Tìm tên các trưởng phòng ban:

TR_PHG ← PHONGBAN |x| TRHG = MANV NHANVIENKETQUA ←πTENPHG, HONV, TENNV(TR_PHG)

Dạng tổng quát của phép kết nối 2 lược đồ quan hệ R(A1, A2, …, An), và S(B1, B2,

Trang 9

mỗi <điều kiện> có dạng Ai θ Bi, với Ai là một thuộc tính của R, Bj là một thuộc tính của S, Ai và Bj có cùng miền và θ là một trong những phép so sánh {=, ≠, >, ≥, <, ≤}

 Phép kết nối với điều kiện kết nối tổng quát gọi là θ kết nối

 Các bộ có giá trị rỗng tại thuộc tính kết nối không xuất hiện trong kết quả của phép kết

 Nếu θ là phép so sánh bằng (=), phép kết được gọi là phép kết bằng (equi-join)

 Kết quả của phép kết nối bằng có 2 cột giống nhau  có cột thừa 

nếu bỏ bớt cột thứ 2 thì thành phép kết tự nhiên, ký hiệu là dấu sao (*).

VD: DA_PHG ← DEAN * PHONG=MAPHG PHONGBAN

Cách viết gọn: DA_PHG ← DEAN * (PHONG, MAPHG) PHONGBAN

 Tổng quát, phép kết nối tự nhiên có dạng:

Trang 10

II Nội dung

1/ Trình bày ý tưởng thuật toán giải quyết bài toán.

Để giải quyết bài toán ta thực hiện như sau”

-Nhập tên, số trường và dữ liệu cho các quan hệ

-Lưu dữ liệu vào file text

-Chọn 2 quan hệ cần tính toán

-Chọn phép toán thực hiện

-Thực hiện tính toán

-Hiển thị kết quả lên màn hình

Trong đó với các phép toán ta thực hiện như sau

1.Phép hợp (union)

-Load quan hệ 1 từ file vào A

-Kiểm tra sự trùng lặp của các hàng A

-Đưa vào kết quả

- Load quan hệ 2 từ file vào B

-So sánh ma trận B với ma trận A , nếu các hàng trong B không trùng lặp với kết quả thì ta đưa B vào kết quả

-Lưu kết quả ra file text và hiển thị lên màn hình

2.Phép giao (intersect)

-Load 2 quan hệ1 và 2 vào A và B

-Kiểm tra sự trùng lặp các hàng của A và B, nếu trùng thì ta sẽ đưa nó vào kết quả-Lưu kết quả ra file text và hiển thị lên màn hình

3.Phép trừ (minus)

-Load 2 quan hệ 1 và 2 vào A và B

-So sánh các hàng của A với B, nếu không trùng thì ta sẽ đưa hàng đó vào kết quả-Lưu kết quả ra file text và hiển thị lên màn hình

4.Phép chiếu (projection)

-Load quan hệ cần tính vào A

-Nhập các cột cần chiếu

-Đưa vào kết quả các cột của A tương ứng với các cột cần tính

-Loại bỏ các hàng trùng lặp trong kết quả

Trang 11

-Lưu kết quả ra file text và hiển thị lên màn hình

5.Phép kết nối (join)

-Load 2 quan hệ 1 và 2 vào A và B

-Nhập vào điều kiện cần kết nối

-Kiểm tra các hàng của A và B theo điều kiện cần kết nối

-Đưa vào kết quả các hàng thỏa mản với các hàng của B nối tiếp sau A

-Lưu kết quả ra file text và hiển thị lên màn hình

Trang 12

2/ Vẻ sơ đồ khối hoặc mả giả cho các thuật toán nói trên

Xuất ra màn hình File kết quả

Thêm vào File kết

quả

Gọi quan hệ 1

Ktra sự trùng lặp các hàng

Trang 13

Loại bỏ

Xuất ra màn hình File kết quả

EndLưu vào File kết quả

Begin

Gọi 2 quan hệ

Kiểm tra các hàng trong mỗi quan hệ

Loại bỏ

Trang 14

hệ 2

Xuất ra màn hình

End

Lưu vào File kết quả

Loại bỏ hàng đó khỏi File kết quả

Begin

Gọi quan hệ 1

Gọi quan hệ 2

Trang 15

Loại bỏ

Xuất ra màn hình File kết quả

EndLưu vào File kết quả

Begin

Nhập các trường cần chiếu

Lược bỏ các trường được chiếu trong quan hệGọi quan hê

Trang 16

Bỏ qua

Xuất ra màn hình File kết quả

Trang 17

3/Thiết kế giao diện

a.Giao diện tổng quát

Trang 18

b.Giao diện khi chạy chương trình

4.Viết CODE cho chương trình

a.Việc nhập quan hệ và lưu xuống file Text

Trang 19

*Code cho nút lệnh Add:

Private Sub Command1_Click()

Dim i, filename, FileNumber, anItem

filename = App.Path 'chi duong dan hien tai

If Right(filename, 1) <> "\" Then filename = filename & "\"

'neu ben phai duong dan con co cac duong dan khac thi duong dan se duoc them dau \

filename = filename & Text1.Text & ".txt" 'tao file

If Dir(filename) <> "" Then 'duong dan da ton tai

Open filename For Append As #2 'ghi de len

Else

Open filename For Output As #2 'tao moi

End If

Print #2, Text2 & " " & Text3 & " " & Text4 & " " & Text5

' Viet vao cong so 2: Noi dung trong text 2345 cach nhau boi dau cach

Close #2 ' Dong cong so 2

Trang 20

b.Chọn 2 quan hệ và thực hiện tính toán.

Code:

Private Sub Dir1_Change()

File1.Path = Dir1.Path ‘Khi duong dan dir1 thay doi thi File 1 se thay doi theoEnd Sub

Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive ‘khi duong dan Drive1 thay doi thi dir1 cung thay doi theo

End Sub

*Để hiển thị nội dung các File mình đã chọn lên Listbox ta sử dụng code cho việc click vào File đó.

Private Sub File1_Click()

Dim i, filename, FileNumber, anItem

filename = App.Path

If Right(filename, 1) <> "\" Then filename = filename & "\"

filename = filename & File1.filename ‘Lay duong dan hien tai

FileNumber = FreeFile

Open filename For Input As FileNumber

List1.Clear ' Xoa listbox truoc

Do While Not EOF(FileNumber)

Line Input #FileNumber, anItem

List1.AddItem anItem

Trang 22

If matranA(I, 0) = matranB(k, 0) And dung Then

Call insert(matranA(), matranC())

Else: k = k + 1

End If

Next

Trang 24

-Lưu kết quả tính toán dưới dạng file Ketqua.txt

Open App.Path & "Ketqua.txt" For Output As filenum

Private Sub Command4_Click()

Dim i, filename, FileNumber, anItem

filename = App.Path

If Right(filename, 1) <> "\" Then filename = filename & "\"

filename = filename & "ketqua.txt"

FileNumber = FreeFile

Open filename For Input As FileNumber

List1.Clear ' Xoa listbox truoc

Do While Not EOF(FileNumber)

Line Input #FileNumber, anItem

List1.AddItem anItem

Loop

Close FileNumber

End Sub

Trang 25

5.Kiểm thử

-Việc nhập dữ liệu vào File text thành công.

Khi nhấn nút lệnh refresh thì file ta nhập sẽ hiện ra

Khi ta chọn File đó thì kết quả sẽ được hiển thị trên List1 (Hiển thị)

-Sau khi chọn 2 file muốn tính toán Ta click vào phép toán để chọn phép toán cần tính toán Nhấn vào Button Tính toán và tiếp đó nhấn nút Kết quả để

có thể xem được kết quả mà ta vừa tính ở trên Dưới đây là kết quả thu được.

Trang 26

Ngoài ra việc hiển thị trên Menu cũng được coi trọng

*Khi click vao menu Hướng dẫn thì sẽ xuất hiện 1 Form hướng dẫn cách thực hiện

Trang 27

Để hiển thị nội dung lên hướng dẫn ta có đoạn Code sau:

Private Sub Form_Load()

Dim I, filename, FileNumber, anItem

filename = App.Path

If Right(filename, 1) <> "\" Then filename = filename & "\"

filename = filename & "huongdan.txt"

FileNumber = FreeFile

Open filename For Input As FileNumber

List1.Clear ' Xoa listbox truoc

Do While Not EOF(FileNumber)

Line Input #FileNumber, anItem

List1.AddItem anItem

Loop

Close FileNumber

End Sub

*Đồng thời khi click vào About me sẽ hiển thị 1 Form nói về tác giả

Đây là giao diện nên ta không cần Code phức tạp.

Trang 28

III/Kết quả đạt được.

Trang 29

IV/Nhận xét, đánh giá, đề xuất

1.Nhận xét:

Nhìn chung đồ án chạy tốt, cho ra kết quả đúng như mong muốn

Tuy nhiên còn một số lỗi phát sinh trong quá trình thực hiện như trên phần kiểm lỗi

Ngày đăng: 14/03/2014, 16:30

HÌNH ẢNH LIÊN QUAN

Sơ đồ khối - Mô phỏng các phép toán cơ sở dữ liệu bằng chương trình visual basic
Sơ đồ kh ối (Trang 12)
Sơ đồ khối - Mô phỏng các phép toán cơ sở dữ liệu bằng chương trình visual basic
Sơ đồ kh ối (Trang 13)
Sơ đồ khối - Mô phỏng các phép toán cơ sở dữ liệu bằng chương trình visual basic
Sơ đồ kh ối (Trang 14)
Sơ đồ khối - Mô phỏng các phép toán cơ sở dữ liệu bằng chương trình visual basic
Sơ đồ kh ối (Trang 15)
Sơ đồ khối - Mô phỏng các phép toán cơ sở dữ liệu bằng chương trình visual basic
Sơ đồ kh ối (Trang 16)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w