Tải bản đầy đủ (.doc) (11 trang)

Let's go 4B-27

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (496 KB, 11 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>10 thủ thuật bảo mật cơ sở dữ liệu Access </b>



<b>Cơ sở dữ liệu là kho chứa dữ liệu quan trọng cần được bảo vệ. Bạn có thể sử dụng những phần </b>
<b>mềm bảo mật chuyên nghiệp để cơ sở dữ liệu, nhưng để có phần mềm đó chắc hẳn bạn sẽ phải </b>
<b>trả một khoản phí khơng nhỏ. Ngược lại, bạn có thể sử dụng một số tính năng bảo mật của </b>
<b>Access để bảo mật cơ sở dữ liệu ở một mức độ nhất định.</b>


Những thủ thuật dưới đây sẽ giúp bạn khai thác được một số tính năng bảo mật sẵn có của Microsoft
Access.


<b>1. Sử dụng macro AutoExec để kiểm tra và thiết lập lại cài đặt</b>


Sử dụng macro AutoExec để kiểm tra và thiết lập lại các tùy chọn bảo mật có thể bị thay đổi trong các
phiên làm việc trước đó. AutoExec là một macro đặc biệt có thể thực hiện mở cơ sở dữ liệu. Để tạo
một macro AutoExec, chỉ cần đặt tên cho một macro AutoExec mới. Ví dụ, macro Startup() (trong
hình) có chức năng xác định người dùng, thực hiện kiểm tra và cài đặt các thuộc tính bảo mật trước khi
người dùng truy cập.


<b>2. Ẩn cửa sổ Database</b>


Những tùy chọn khởi động trong hình B cho phép bạn xác định các thuộc tính của cơ sỡ dữ liệu khi
mở. Hai trong số những thuộc tính này giúp cơ sở bảo dữ liệu bảo mật hơn:


 <b>Display Database Window: Hủy chọn tùy chọn này để ẩn cửa sổ Database khi ai đó mở cơ sở </b>


dữ liệu. Do đó người dùng sẽ khơng thể truy cập trực tiếp vào bất cứ đối tượng nào.


 <b>Use Access Special Keys: Bỏ tùy chọn này để người dùng khơng thể sử dụng phím F11 làm </b>


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Hai cài đặt này hỗ trợ cho nhau, vì nếu khơng bỏ chọn tùy chọn Use Access Special Keys người dùng
có thể ấn phím F11 để làm hiện cửa sổ Database.



Để truy cập vào những tùy chọn Startup, vào menu Tools\ Startup. Trong Access 2007, click vào nút
<b>Office\ Access Options\ Current Database trong cửa sổ trái và bạn sẽ thấy những tùy chọn này trong</b>
<b>Application Options. Access 2007 khơng có cửa sổ Database, nhưng bạn có thể làm ẩn Navigation </b>
Pane theo cách tương tự. Tùy chọn đó nằm trong Navigation, ngay bên dưới Application Options.
Việc bỏ chọn tùy chọn Display Database sẽ hủy lệnh Startup. Người dùng có thể loại những tùy chọn
này bằng cách giữ phím Shift trong khi mở sơ sở dữ liệu. Đây là thủ thuật nhắc nhở cho bạn nhưng sẽ
rất nguy hiểm nếu người khác biết được. Ngoài ra người dùng có thể đưa nhiều đối tượng vào một cơ
sở dữ liệu trống để tránh những cài đặt khởi động.


<b>3. Chặn phím Shift</b>


Bạn có thể sử dụng chính giao diện để ẩn cửa sổ Database. Nhưng việc sử dụng phím Shift lại gây
nguy hiểm cho cơ sở dữ liệu. Bạn có thể hủy bỏ việc sử dụng phím Shift bằng cách đổi giá trị của
thuộc tính AllowBypassKey thành False khi đóng cơ sở dữ liệu. Tuy nhiên, bạn cũng có thể gọi đoạn
mã sau từ một tác vụ đóng bất kì:


<i>Public Sub SetStartupOptions(propname As String, _</i>
<i>propdb As Variant, prop As Variant)</i>


<i>'Set passed startup property.</i>
<i>Dim dbs As Object</i>


<i>Dim prp As Object</i>
<i>Set dbs = CurrentDb</i>
<i>On Error Resume Next</i>


<i>dbs.Properties(propname) = prop</i>
<i>If Err.Number = 3270 Then</i>



<i>Set prp = dbs.CreateProperty(propname, _</i>
<i>propdb, prop)</i>


<i>dbs.Properties.Append prp</i>
<i>End If</i>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

Khi gọi thủ tục, cần đảm bảo phải lựa chọn đúng tùy chọn khởi động. Ví dụ:


<i>Call SetStartupOptions("AllowBypassKey", dbBoolean, False)</i>


Sau khi cài đặt thuộc tính này cho tiến trình đóng, cơ sở dữ liệu sẽ vơ hiệu hóa phím Shift.
Ngồi ra bạn có thể cài đặt bất kì thuộc tính khởi động nào. Ví dụ làm ẩn cửa sổ Database:


<i>Call SetStartupOptions("StartupShowDBWindow", dbBoolean, False)</i>


Bạn có thể cài đặt những tùy chọn đóng và mở cơ sở dữ liệu với một ngoại lệ. Đó là thuộc tính
<b>AllowBypassKey phải được cài đặt khi đóng cơ sở dữ liệu, và bạn cần đặt tham chiếu tới thư viện </b>
<b>Data Access Objects (DAO). Nếu không thủ tục này sẽ gây ra lỗi tham chiếu.</b>


Tuy nhiên, nếu ai đó biết sử dụng phím Shift cũng có thể biết cách khơi phục lại nó bằng cách thay đổi
giá trị của AllowBypassKey thành True. Trong trường hợp này bạn sẽ phải áp dụng phương pháp bảo
mật nhóm làm việc để chỉ cho phép admin truy cập vào thuộc tính này.


<b>4. Chia cơ sở dữ liệu</b>


Việc bảo vệ một cơ sở dữ liệu nhỏ sẽ dễ dàng hơn rất nhiều so với cơ sở dữ liệu lớn với nhiều đối
tượng dữ liệu và giao diện. Bạn có thể chia một cơ sở dữ liệu lớn thành hai cơ sở dữ liệu nhỏ, trong đó
cơ sở dữ liệu thứ nhất chứa bảng và quan hệ (được gọi là <i>backend</i>), và cơ sở dữ liệu còn lại chứa các
đối tượng giao diện (còn gọi là <i>frontend</i>). Hai cơ sở dữ liệu này giao tiếp thông qua các bảng đã được
liên kết. Một điểm quan trọng là người dùng trong <i>frontend</i> không thể thay đổi thiết kế bảng trong



<i>backend</i>. (có nhiều cách để phân chia cở sở dữ liệu nhưng bài viết này chỉ hướng vào mục đích bảo
mật).


Để chia cơ sở dữ liệu, vào menu Tools\ Database Utilities\ Database Spliter sau đó làm theo hướng
dẫn. Trong Access 2007, click Access Database trong nhóm Move Data của tab Database Tools.
<b>5. Tránh sử dụng Compact On Close</b>


Những ai đã từng sử dụng Access có lẽ đều biết đến tác dụng của việc nén cơ sở dữ liệu tường xuyên.
Quá trình nén sẽ tạo ra một bản sao của cơ sở dữ liệu, kiểm tra các đối tượng, xóa bỏ dữ liệu tạm thời
và sắp xếp lại những phần vỡ trên ổ đĩa. Tóm lại, nén giúp cơ sở dữ liệu luôn ổn định.


Tùy chọn Compact On Close, được tích hợp đầu tiên trong Access 2000, giúp nén cơ sở dữ liệu tự
động khi kết thúc phiên làm việc. Khơng may, tiến trình này lại giữ lại cả những file không cần thiết.
Nếu thấy những file tạm thời như <i>db1.mdb, db2.mdb,</i> … trong folder chứa cơ sở dữ liệu của bạn,
chúng có thể là một sản phẩm phụ của tính năng nén.


Những file thừa này có thể gây ra rắc rối cho bạn nếu ai đó vào folder cũng có thể truy cập cả vào
những file tạm thời. Đó là một lỗ hổng bảo mật. Có 2 cách để bảo vệ cơ sở dữ liệu của bạn:


 Thường xuyên kiểm tra và xóa những file tạm. (Tuy nhiên đây không phải là biện pháp thiết


thực và thậm chí khơng có hiệu quả).


 Khơng sử dụng tính năng Compact On Close. Thay vào đó nên nén cơ sở dữ liệu theo cách thủ


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Việc ẩn đi những đối tượng như bảng, truy vấn, form, … không phải là phương pháp bảo vệ hữu hiệu,
vì nếu người dùng tìm thấy thì họ có thể thay đổi chúng. Tuy nhiên những đối tượng này sẽ được bảo
mật hơn nếu người dùng không biết tới sự tồn tại của chúng. Việc ẩn các đối tượng chỉ đơn thuần giúp
hạn chế lỗi gây mất dữ liệu mà khơng có tác dụng bảo mật. Để ẩn một đối tượng trong cửa sổ Database


(hay Navigation), bạn chỉ cần phải chuột lên đối tượng, chọn Properties sau đó chọn tùy chọn Hidden
<b>Attribute.</b>


Tuy nhiên, những người dùng Access có thể làm hiện những đối tượng này bằng cách vào menu
<b>Tools\ Options, chọn tab View sau đó hủy chọn tùy chọn Hidden Objects trong mục Show. Trong </b>
Access 2007, phải chuột vào thanh menu Navigation, chọn Navigation Options\ Show Hidden
<b>Objects\ OK.</b>


Như đã nói, việc ẩn các đối tượng khơng có tác dụng bảo mật. Nếu bạn sử dụng phương pháp này, cần
nhớ rằng những module ẩn vẫn hiển thị trên Visual Basic Editor (VBE). Hơn nữa, chỉ nên ẩn những
đối tượng quan trọng vì khi người dùng truy cập vào mà khơng thấy cửa sổ Database họ sẽ tìm kiếm
nó. Bạn không thể nhập những đối tượng ẩn vào một cơ sở dữ liệu nếu q trình nhập khơng phù hợp.
Bạn có thể lập trình để ẩn đi một đối tượng bằng mã VBA sau:


<i>CurrentDb.TableDefs(tablename).Attributes = dbHiddenObject</i>


Từ phiên bản Office 2000 trở về trước, việc sử dụng mã để gán thuộc tính ẩn vào một bảng rất rắc rối
vì Access coi bảng đó là bảng tạm thời. Và trong lần nén tiếp theo Access sẽ xóa bỏ nó cùng với dữ
liệu. Vì vây tránh sử dụng phương pháp này khi làm việc với các phiên bản đó.


<b>7. Chặn thông báo lỗi</b>


Khi xuất hiện lỗi trong mã, VBA hiển thị thông báo lỗi. Nếu người dùng nhận được thông báo đó và
click vào nút Debug họ sẽ tiếp cận được với module chứa lỗi đó trong VBE. Trong trường hợp này
người dùng có tồn quyền đối với đoạn mã. Thông thường, người dùng sẽ không biết xử lý và yêu cầu
người lập trình giúp đỡ. Trái lại, cũng có tình huống người dùng xóa bỏ tất cả đoạn mã đó.


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>8. Đặt mật khẩu bảo vệ cơ sở dữ liệu</b>


Việc thiết lập mật khẩu cho cơ sở dữ liệu sẽ giới hạn quyền truy cập cho từng người dùng cụ thể cũng


rất quan trọng mặc dù hiện nay có nhiều chương trình nhóm ba có thể phá bỏ mật khẩu của cơ sở dữ
liệu.


Để cài đặt mật khẩu bạn chỉ cần thực hiện các thao tác sau:


 Mở cơ sở dữ liệu theo chế độ Exclusive bằng cách chọn Open Exclusive trong hộp thoại


<b>Open. </b>


 Vào menu Tools\ Security\ Set Database Password.


 Nhập mật khẩu vào hộp Password và Retype Password.


 Thực hiện xong click OK.


Để gỡ bỏ mật khẩu thực hiện các bước sau:


 Mở cơ sở dữ liệu trong chế độ Exclusive.


 Vào menu Tools\ Security\ Unset Database Password.


 Nhập mậu khẩu.


 Click OK.


Bạn cũng có thể đặt mật khẩu bảo vệ cho các module VBA:


 Từ menu Tools của VBE, chọn Project Properties.


 Chọn tiếp tab Protection.



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

 Nhập mật khẩu (hai lần).


 Click OK.


<b>9. Chuyển đổi định dạng sang “mde” hay “accde”</b>


Access bổ sung tính năng bảo mật dưới một định dạng file <i>mde</i> hoặc <i>accde</i> (trong Access 2007). Định
dạng này là một phiên bản “chỉ thực hiện” của cơ sở dữ liệu, có nghĩa là người dùng khơng có quyền
truy cập vào mã qua VBE và họ không thể thay đổi các đối tượng. Định dạng này chỉ bảo vệ được thiết
kế mà không bảo vệ được dữ liệu của bạn. Vì vậy bạn cần copy file <i>mdb/accdb</i> gốc trước khi nâng cấp
hay thay đổi.


Tuy nhiên khi sử dụng bạn cần lưu ý:


 Chỉ sử dụng định dạng này với <i>frontend.</i> Không sử dụng để bảo mật cho <i>backend</i> hay một cơ


sở dữ liệu độc lập. Còn nếu muốn thực hiện, bạn cần phải chuyển mọi dữ liệu sang một cơ sở
dữ liệu mới mỗi khi nâng cấp <i>frontend</i>.


 Định dạng này cũng không bảo vệ bảng biểu, truy vấn, macro, quan hệ, thuộc tính cở dữ liệu và


những tùy chọn khởi động.


Để chuyển đổi một cơ sở dữ liệu <i>frontend</i> sang định dạng mde hay <i>accde</i> bạn thực hiện các thao tác
sau:


 Trong Access XP (hay các phiên bản Access trước đó), vào menu Tools\ Database Utilities\


<b>Make MDE File. Trong Access 2007, click vào Make ACCDE của Database Tools trong tab </b>


<b>Database Tools. </b>


 Trong hộp thoại kết quả, đặt tên cơ sở dữ liệu mới và chọn đường dẫn thư mục lưu sau đó click


<b>Save. </b>


<b>10. Đặt mật khẩu bảo vệ hệ thống</b>


Không phải lúc nào người dùng cũng làm việc trên máy tính, đơi khi họ phải đảm trách nhiều cơng
việc khác. Những lúc đó máy tính của họ sẽ khơng được chú ý và rất có thể sẽ bị xâm nhập. Cách tốt
nhất để tránh tình huống trên là đặt mật khẩu bảo vệ màn hình. Tiện ích bảo vệ màn hình sẽ tự động
được kích hoạt khi máy tính nhàn rỗi. Người dùng sẽ phải nhập mật khẩu trước khi truy cập vào hệ
thống.


Trong Windows XP, bạn có thể đặt mật khẩu cho tiện ích bảo vệ màn hình theo cách sau:


 Vào menu Start\ Control Panel\ Display.


 Chọn tab ScreenSaver.


 Chọn kiểu ScreenSaver.


 Đặt thời gian ScreenSaver khởi chạy.


 Lựa chọn tùy chọn On Resume, Password Protection.


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<b>Thuật ngữ Access </b>



<b>Access cung cấp môi trường với các tiện ích mạnh mẽ để quản lý thơng tin. Sử dụng Access, bạn </b>
<b>có thể thực hiện được các nhiệm vụ quản trị dữ liệu khó khăn. Chương này là bước đầu tiên </b>


<b>trong quá trình học và làm quen với các thuật ngữ cơ sở, cũng như cách để khởi động và thoát </b>
<b>khỏi Access. Bạn sẽ được trợ giúp và nắm vững đại cương về những gì có thể làm với Access.</b>
Sau khi kết thúc chương này, bạn sẽ nắm được những kiến thức sau:


 Thế nào là cơ sở dữ liệu


 Mối liên hệ giữa các table (bảng), form (báo biểu), query (truy vấn) tới một Cơ sở dữ liệu như


thế nào


 Thế nào là các bản ghi và trường dữ liệu
 Cách khởi động Access


 Môi trường làm việc của Access
 Wizards trợ giúp như thế nào


 Làm cách nào để nhận được sự trợ giúp khi sử dụng Access
 Có thể sử dụng cả cơ sở dữ liệu và Access


 Cách thoát khỏi Access


<b>Bài 1: Làm quen với Access</b>


Trước khi đi sâu vào mơi trường Access, có một vài thuật ngữ mà bạn cần phải làm quen. Chúng ta sẽ
thảo luận về các thuật ngữ và phải chắc là bạn hiểu chúng.


<b>Cơ sở dữ liệu là gì?</b>


Cơ sơ dữ liệu là một tập hợp các thơng tin có liên quan. Ví dụ, nếu tập hợp tất cả các bức ảnh cùng
nhau, bạn sẽ có một cơ sở dữ liệu ảnh. Nếu tập hợp tất cả các bức ảnh có cùng chủ đề, bạn sẽ có một


cơ sở dữ liệu gốc hoặc một tập con trong toàn bộ cơ sở dữ liệu.


Nếu cơ sơ dữ liệu nhỏ (ví dụ như các hợp đồng bảo hiểm của bạn), bạn có thể quản lý thơng tin bình
thường. Trong những trường hợp như vậy, bạn phải sử dụng các phương pháp quản lý cũ như một
bảng file hay một danh sách đơn giản trên giấy. Tuy nhiên, cơ sở dữ liệu ngày càng nhiều, các thao tác
quản lý trở nên khó hơn. Ví dụ, sẽ rất khó để quản lý bằng tay cơ sở dữ liệu về khách hàng trong một
cơng ty lớn. Đây là lúc máy tính của bạn và hệ quản trị cơ sở dữ liệu có ích. Phần mềm quản trị cơ sở
dữ liệu giúp bạn quản lý thông tin được nhanh và dễ dàng hơn.


Trong Access, một cơ sở dữ liệu khơng chỉ có thơng tin mà cịn có các bảng thơng tin đã được sắp xếp,
cơ sở dữ liệu Access còn bao gồm cả mối quan hệ các truy vấn, báo biểu, báo cáo và các lệnh lập trình.
Dưới đây là khái niệm về một số thuật ngữ thường dùng trong Access:


<b>Thế nào là một Table (bảng)?</b>


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

Hình 1: Mối liên hệ giữa các bảng và cơ sở dữ liệu


Bước đầu tiên trong việc tạo một cơ sở dữ liệu đó là xác định thông tin cần thiết. Tiếp theo, sử dụng
Access để thiết kế bảng lưu trữ thơng tin. Hình 2 minh họa xem ở chế độ Design view, bạn sử dụng
chế độ Design view để chỉ định cấu trúc cho mỗi bảng.


Hình 2: Chế độ Design view cho bảng.


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

Hình 3: Chế độ Datasheet view cho bảng
<b>Thế nào là một Query (truy vấn)?</b>


Khi làm việc với cơ sở dữ liệu lớn, tức là làm việc với các vùng riêng trên dữ liệu. Ví dụ, nếu bạn có
cơ sơ dữ liệu của một cơng ty, và muốn xem tất cả tên của khách hàng sinh sống tại Hà Nội. Với sự
kiện như vậy, bạn nên dùng truy vấn.



Một câu hỏi truy vấn dữ liệu như sau “<i>Những khách hàng nào sinh sống tại Hà Nội?</i>” Như vậy query
được định nghĩa đó là việc truy vấn các thông tin của cơ sơ dữ liệu mà bạn muốn xem.


Ví dụ, nếu cơ sở dữ liệu chứa tên của tất cả khách hàng mua một chi tiết sản phẩm nào đó, dùng truy
vấn có thể đưa ra một danh sách tên các khách hàng đã mua ở trên. Một truy vấn khác yêu cầu chỉ đưa
ra các khách hàng là trẻ em. Về cơ bản, một truy vấn giới hạn hoặc lọc thông tin từ một cơ sở dữ liệu.
Khi bạn sử dụng query để lọc dữ liệu, Access chỉ hiển thị thông tin để đáp ứng truy vấn


Tại sao nên sử dụng các truy vấn? Một cách cụ thể là bạn chỉ làm việc ở một phần của cơ sở dữ liệu,
các truy vấn thực hiện dễ dàng đưa ra kết quả dưới dạng bản ghi theo một tiêu chuẩn nhất định. Access
cho bạn thấy được sự rõ ràng, cụ thể hay phức tạp như bạn muốn trong các truy vấn. Bạn sẽ bắt đầu
học về các truy vấn trong chương 6 “Sử dụng các truy vấn để xử lý dữ liệu”


<b>Thế nào là Form (biểu mẫu)?</b>


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

là nơi bạn cần nhập dữ liệu; sau đó xem, thêm, hoặc thay đổi dữ liệu. Bạn nên sử dụng chế độ
Datasheet view khi hồn thành mỗi thao tác, có thể tạo một biểu mẫu hiển thị lên màn hình để nhập,
xem và thay đổi thông tin.


Trong Access, biểu mẫu (Form) hiển thị lên màn hình được gọi là form. Sử dụng form có thể hiển thị
thơng tin trong một bảng, đồng thời thêm các nút, text box, các nhãn và đối tượng khác để dữ liệu nhập
dễ dàng hơn. Hình 3, bạn được thấy một bảng tương tự như Datasheet. Hình 4 biểu diễn ví dụ form
được sử dụng để đưa thông tin vào như bảng. Chú ý: sử dụng form cung cấp giao diện tốt hơn cho
người dùng.


Hình 4: Ví dụ về sử dụng form để nhập thơng tin cho bảng
<b>Record (Bản ghi) là gì?</b>


Bản ghi là một khối thông tin độc lập, như dữ liệu về công nhân hay khách hàng. Một bảng được tạo
lên từ nhiều bản ghi. Ví dụ, nếu bạn có bảng chứa thơng tin về tập hợp các thẻ chơi bóng chày, một


bản ghi sẽ là thơng tin riêng về 1 thẻ. Thông thường, các bản ghi đặt theo dịng trong một bảng, Access
trình bày các bản ghi theo các dịng.


<b>Trường (Field) là gì?</b>


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11></div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×