Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Cách chia nhỏ CSDL
#1
Chào cả nhà !
Như trong bài "10 thủ thuật bảo mật cơ sở dữ liệu Access" của Bác Noname có để cập đến "Cách chia nhỏ CSDL để bảo mật", nhưng mình tìm trong diễn đàn ko thấy có bài viết nào liên quan để chủ đề này.
Nay nhờ các Pro nào đã làm chia sẻ cách làm trên (Nếu có demo càng OK).
Xin cảm ơn !
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn
#2
(02-06-15, 07:05 PM)Minh Tiên Đã viết: Chào cả nhà !
Như trong bài "10 thủ thuật bảo mật cơ sở dữ liệu Access" của Bác Noname có để cập đến "Cách chia nhỏ CSDL để bảo mật", nhưng mình tìm trong diễn đàn ko thấy có bài viết nào liên quan để chủ đề này.
Nay nhờ các Pro nào đã làm chia sẻ cách làm trên (Nếu có demo càng OK).
Xin cảm ơn !

Chia cơ sở dữ liệu (Split database) chắc Minh Tiên cũng thường làm mà. Đó là sau khi hoàn thành ứng dụng ta chuyển toàn bộ table sang tập tin mdb mới còn ứng dụng của chúng ta chỉ còn các link table và phần còn lại. Trong tool của access có lệnh Database Splitter để làm công việc đó một cách tự động và tập tin mdb mới chứa các table có tên của ứng dụng thêm đuôi "_be". Nhưng thông thường thì ít ai sử dụng lệnh này nên không để ý.007
Khi đó tin mdb có đuôi _be chứa riêng các table được đặt ở máy chủ (server) chỉ dùng để lưu trữ tâp tin mdb chứa các table link còn lại do quản trị viên quản lý (back end) hoặc chuyển sang mde (access 2003) hay accde (access 2007 trở lên) đặt trên máy trạm (clien) để nhân viên nhập liệu làm việc hoặc cho khách hàng (front end). Đối với các CSDL lớn access còn hỗ trợ việc dịch tập tin mdb back end sang SQL bằng lệnh upsizing wizard
Đây là một trong những cách phân chia CSDL. Ví dụ ta có một ứng dụng access tên là chương trình. Sau khi chia ta có một chuongtrinh_be.mdb chỉ chứa dữ liệu đặt ở server. Chuongtrinh1.mdb có đầy đủ các phần của người thiết kế ứng dụng và table liên kết. chuongtrinh2.mdb, chuongtrinh3.mdb có quyền design hoặc số lượng query, form, module... ít hơn để hỗ trợ sửa chữa, xử lý lỗi.... Chuongtrinh1.mde, Chuongtrinh2.mde, Chuongtrinh3.mde...Không có quyền disign, chỉ có quyền truy cập, nhập mới, sửa chữa số liệu tùy theo từng trường hợp

[Hình: THKZFSu.jpg]
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Minh Tiên , maidinhdan
#3
Cảm ơn tranthanhan1962 !
Trong bài Bac Noname đã có đề cập đến tách dữ liệu frontend và Backend bằng Split database rồi. Cách này thì mình cũng làm. Mình muốn biết còn cách nào khác ko ?
Thân./.
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn
#4
(03-06-15, 06:52 PM)Minh Tiên Đã viết: Cảm ơn tranthanhan1962 !
Trong bài Bac Noname đã có đề cập đến tách dữ liệu frontend và Backend bằng Split database rồi. Cách này thì mình cũng làm. Mình muốn biết còn cách nào khác ko ?
Thân./.

Về nguyên tắc thì chỉ có 1. Nhưng cách xử lý thì rất nhiều:
Theo hình vẽ mình đã post lên thì:
1/Data là 1 hay những tập tin chứa các table dữ liệu có thể là tập tin access hay SQL (ở đây là chuongtrinh_be.mdb) được đặt ở máy chủ server
2/Back End có thể dịch là cửa sau hay giao diện dành cho người quản trị thiết kế. Là tất cả các thành phần quản lý thiết kế như chuongtrinh1.mdb chính là toàn bộ phần còn lại chuongtrinh.mdb sau khi tách các table chuyển qua data là chuongtrinh_be.mdb cái này do tac giả chương trình hay quản trị trưởng quản lý.
Tuy nhiên nó cũng có thể là một phần của chuongtrinh1.mdb.
Ví dụ: chuongtrinh2.mdb dành cho quản trị viên có quyền điều chỉnh thiết kế giao diện form, report (chỉ chứa những thành phần quan hệ của các form, report).
Chuongtrinh3.mdb dành cho kỹ thuật viên quản lý cấp phát lại mật khẩu cho những nhân viên quên mật khẩu…
3/Front End có thể dịch là giao diện tương tác dành cho người sử dụng (chứa các form nhập dữ liệu, các report) người sử dụng không thể thay đổi thiết kế các giao diện tương tác mà chỉ nhập hoặc chỉ xem giá trị dữ liệu thông qua những giao diện đó.
Ví dụ chuongtrinh1.mde được tạo từ chuongtrinh1.mde quản trị dữ liệu sẽ thông qua nó để kiểm tra, thêm bớt, thay đổi nội dung giá trị tất cả các table của chuongtrinh_be.mdb. Nhưng không vào được các phần thiết kế hoặc các table dành riêng cho bộ phận back end.
Chuongtrinh2.mde chỉ có các giao diện quản lý nhân viên, lý lịch nhân viên thời gian tham gia công tác, danh sách các bộ phận trong cơ quan. Như form nhập danh sách nhân viên, các bản lý lịch nhân viên…chuongtrinh 2 dành cho cán bộ phòng tổ chức sử dụng
Chuongtrinh3.mde chỉ có các giao diện thông báo giá hàng hóa cho khách hàng…
Ngoài ra còn có thể chia ra chuongtrinh4.mde dành cho phòng kế toán có các giao diện chấm công tính lương hoặc gộp chung phần này vào chuongtrinh2.mde chỉ khác nhau mật khẩu để vào từng giao diện nhập liệu riêng để làm việc.
Đại loại dữ liệu chương trình chỉ có 1. Nhưng các tập tin chứa các giao diện tương tác thì có thể chia tách tùy ý, nhiều dạng khác nhau nhằm bảo đảm công việc theo từng bộ phận riêng lẽ. Điều quan trọng là tất cả các bô phận back end hoặc front end đều gắn liền với một database duy nhất (hoặc tập hợp các tập tin data duy nhất).
Thông thường những người mới đến với access không mấy quan tâm đến chuyện này. Có khi làm xong một ứng dụng là xử dụng luôn. Nhưng như vậy nếu những ai có hiểu biết ít nhiều về access cũng có thể vào thay đổi, phá hoại chương trình một cách dễ dàng. Vì thế ít nhất chúng ta cũng phải chia cơ sở dữ liệu ra làm 3 phần (Đa số các bạn đã thực hiện việc này rồi). Phần 1: data chỉ chứa các table - Phần 2: Back End Hệ thống quản lý tương tác đầy đủ (phần còn lại sau khi chuyển các table thành link table phần này thường người thiết kế chương trình cất vào một nơi để dành lưu trữ) – Phần 3 Front End là phần thứ 2 được chuyển thành mde để người xử dụng xử lý dữ liệu mà không được phép điều chỉnh các bộ phận tương tác.
Khi chúng ta phân chia ứng dụng ra từng phần nhỏ như vậy. Quyền quản lý từ bộ phận sử lý, sử dụng chương trình sẽ rõ ràng. Tốc độ truy cập nhanh hơn. Và đặt biệt ai hay bộ phận nào làm sai cũng không thể chối bỏ trách nhiệm hay đổ lỗi cho nhau được.
Phương pháp chung hầu như có đầy đủ trên forum. Quan trọng là cách xử lý tùy thuộc theo từng người và chỉ có thể trao đổi qua từng trường hợp cụ thể.
Thân
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , Minh Tiên


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] Giúp đỡ về cách xóa nội dung trong một field nam8384 2 117 17-10-16, 08:43 PM
Bài mới nhất: toancvp
  [Hỏi] Lỗi khi dùng CSDL qua Link Table xndt 5 228 28-09-16, 08:22 AM
Bài mới nhất: xndt
Heart [Help] Phân chia phòng thi trong access Tuzke95 11 613 16-12-15, 01:23 AM
Bài mới nhất: Tuzke95
  [Hỏi] Hướng dẩn chi tiết chia file access thành Back - End để chạy trên mạng LAN nội bộ thanhtruong 7 1,117 03-08-15, 10:21 PM
Bài mới nhất: tranthanhan1962
  [Hỏi] Cách không cho nhập chỉ cho chọn trong combobox của access thunga25 4 959 20-07-15, 10:31 AM
Bài mới nhất: hkht

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ