Giáo trình Hệ cơ sở dữ liệu phân tán

pdf 77 trang hoanguyen 4642
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ cơ sở dữ liệu phân tán", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_he_co_so_du_lieu_phan_tan.pdf

Nội dung text: Giáo trình Hệ cơ sở dữ liệu phân tán

  1. HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
  2. Hệ cơ sở dữ liệu phân tán Chương I: Cơ sở dữ liêu phân tán Giới thiệu tổng quát về cơ sở dữ liệu và cơ sở dữ liệu phân tán. Phân biệt cơ sở dữ liệu tập trung với cơ sở dữ liệu phân tán để thấy được khác biệt giữa hai cơ sở dữ liệu và lợi ích của cơ sở dữ liệu phân tán. Chương II: Thiết kế cơ sở dữ liệu phân tán. Chương này mô tả cách thiết kế cơ sở dữ liệu phân tán ở mức thấp như phân chia quan hệ thành các đoạn, cấp phát đoạn, đánh giá các cách phân tán dữ liệu sao cho hợp lý nhất. Trọng tâm là phân đoạn ngang, phân đoạn dọc và phân đoạn hỗn hợp. Từ tài liệu tham khảo, luận văn cũng đưa ra được hàm giá trị của các cách phân đoạn. Chương III Xây dựng hệ cơ sở dữ liệu phân tán trong kế toán tài chính. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 1
  3. Hệ cơ sở dữ liệu phân tán CHƯƠNG I GIỚI THIỆU CƠ SỞ DỮ LIỆU PHÂN TÁN Những năm của thập kỷ 70, máy tính đã có đủ khả năng xây dựng hệ thống thông tin và hệ cơ sở dữ liệu. Một mặt đã hình thành và phát triển các mô hình lý thuyết cho hệ cơ sở dữ liệu và mặt khác những nguồn phát triển hệ thống ứng dụng ngày càng có nhiều kinh nghiệm. Hệ thống thông tin hình thành trên cơ sở kết nối các máy tính khác nhau. Những năm gần đây, hệ cơ sở dữ liệu phân tán được phát triển dựa trên cơ sở dữ liệu và mạng máy tính. Cơ sở dữ liệu phân tán gồm nhiều cơ sở dữ liệu tích hợp lại với nhau thông qua mạng máy tính để trao đổi dữ liệu, thông tin Cơ sở dữ liệu được tổ chức và lưu trữ ở những vị trí khác nhau trong mạng máy tính và chương trình ứng dụng làm việc trên cơ sở truy cập dữ liệu ở những điểm khác nhau đó. Vấn đề hoàn toàn mới là xây dựng và cài đặt một cơ sở dữ liệu phân tán. Cần giải quyết vấn đề xây dựng và cài đặt cơ sở dữ liệu phân tán cụ thể như vấn đề thiết kế phân tán, thiết kế cơ sở dữ liệu I.CƠ SỞ DỮ LIỆU Về cơ bản cơ sở dữ liệu (Database) là tập hợp dữ liệu được lưu trữ một cách có tổ chức để phục vụ cho công việc sử dụng thuận tiện nhất. Dữ liệu là số liệu, hình ảnh cần được lưu trữ dưới dạng file, record tiện lợi cho người dùng đối với việc tham khảo, xử lý Mỗi cơ sở dữ liệu cần có chương trình quản lý, xắp xếp, duy trì dữ liệu gọi là hệ quản trị cơ sở dữ liệu (DBMS - Database Management System). Hệ quản trị cơ sở dữ liệu được coi là bộ diễn dịch ngôn ngữ bậc cao để dịch các công việc người sử dụng thao tác trên dữ liệu mà người dùng không cần quan tâm đến thuật toán. Về mặt kiến trúc, cơ sở dữ liệu được phân chia thành các mức khác nhau. Một cơ sở dữ liệu cơ bản có ba phần chính là mức vật lý, mức khái niệm và mức thể hiện. Tuy nhiên với cơ sở dữ liệu cấp cao thì có thể có nhiều mức phân hoá hơn. Mức vật lý: là mức thấp nhất của kiến trúc hệ cơ sở dữ liệu, ở mức này dữ liệu được tổ chức dưới nhiều cấp khác nhau như bản ghi, file Mức khái niệm: là sự biểu diễn trừu tượng của cơ sở dữ liệu vật lý và có thể nói mức vật lý là sự cài đặt cụ thể của cơ sở dữ liệu ở mức khái niệm. Mức thể hiện: khi cơ sở dữ liệu được thiết kế, những gì thể hiện (giao diện, chương trình quản lý, bảng ) gần gũi với người sử dụng với cơ sở dữ Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 2
  4. Hệ cơ sở dữ liệu phân tán liệu ở mức khái niệm gọi là khung nhìn. Như vậy sự khác nhau giữa khung nhìn và mức khái niệm không lớn. Mô hình phổ biến nhất của cơ sở dữ liệu là mô hình quan hệ: trong mô hinh quan hệ xét tập con của tích Decard của các miền D (Domain) với miền là một tập các giá trị. Gọi D1, D2, D3, Dn là n miền. Tích Decard của các miền D1× D2× D3× ×Dn là tập tất cả n bộ (v1,v2,v3 ,vn) sao cho vi ∈ Di với i=1, ,n. Mỗi hàng của quan hệ là một bộ (tuples). Quan hệ là tập con của tích Decard D1× D2× D3× ×Dn gọi là quan hệ n ngôi. Khi đó mỗi bộ có n thành phần ( n cột ), mỗi cột của quan hệ gọi là thuộc tính. II.CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ CƠ SỞ DỮ LIỆU TẬP TRUNG Cơ sở dữ liệu tập trung cùng với cơ sở dữ liệu không qua thiết kế hình thành trước khi có cơ sở dữ liệu phân tán. Hai hình thức này phát triển trên cơ sở tự phát và hệ thống tập trung. Như vậy hai hình thức này không đáp ứng được yêu cầu tổ chức và công việc trên phạm vi lớn. Cơ sở dữ liệu phân tán được thiết kế khác cơ sở dữ liệu tập trung. Do đó cần đối sánh các đặc trưng của cơ sở dữ liêu phân tán với cơ sở dữ liệu tập trung để thấy được lợi ích của cơ sở dữ liệu phân tán. Đặc trưng mô tả cơ sở dữ liệu tập trung là điều khiển tập trung, độc lập dữ liệu, giảm bớt dư thừa, cơ cấu vật lý phức tạp đối với khả năng truy cập, toàn vẹn, hồi phục, điều khiển tương tranh, biệt lập và an toàn dữ liệu. Điều khiển tập trung: Điều khiển tập trung các nguồn thông tin của công việc hay tổ chức. Có người quản trị đảm bảo an toàn dữ liệu. Trong cơ sở dữ liệu phân tán: không đề cập đến vấn đề điều khiển tập trung. Người quản trị cơ sở dữ liệu chung phân quyền cho người quản trị cơ sở dữ liệu địa phương. Độc lập dữ liệu: là một trong những nhân tố tác động đến cấu trúc cơ sở dữ liệu để tổ chức dữ liệu chuyển cho chương trình ứng dụng. Tiện lợi chính của độc lập dữ liệu là các chương trình ứng dụng không bị ảnh hưởng khi thay đổi cấu trúc vật lý của dữ liệu. Trong cơ sở dữ liệu phân tán, độc lập dữ liệu có tầm quan trọng cũng như trong cơ sở dữ liệu truyền thống. Khái niệm cơ sở dữ liệu trong suốt mô tả hoạt động chương trình trên cơ sở dữ liệu phân tán được viết như làm việc trên cơ sở dữ liệu tập trung. Hay nói cách khác tính đúng đắn của chương trình không bị ảnh hưởng bởi việc di chuyển dữ liệu từ nơi này sang nơi khác trong mạng máy tính. Tuy nhiên tốc độ làm việc bị ảnh hưởng do có thời gian di chuyển dữ liệu. Giảm dư thừa dữ liệu: Trong cơ sở dữ liệu tập trung, tính dư thừa hạn chế được càng nhiều càng tốt vì: Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 3
  5. Hệ cơ sở dữ liệu phân tán -Dữ liệu không đồng nhất khi có vài bản sao của cùng cơ sở dữ liệu logic; để tránh được nhược điểm này giải pháp là chỉ có một bản sao duy nhất. -Giảm không gian lưu trữ. Giảm dư thừa có nghĩa là cho phép nhiều ứng dụng cùng truy cập đến một cơ sở dữ liệu mà không cần đến nhiều bản sao ở những nơi chương trình ứng dụng cần . Trong cơ sở dữ liệu truyền thống tính dư thừa dữ liệu cũng cần quan tâm vì: -Tính cục bộ của chương trình ứng dụng sẽ tăng nếu dữ liệu đặt ở mọi nơi mà chương trình ứng dụng cần. -Khả năng sẵn sàng của hệ thống cao bởi vì khi có lỗi ở một nơi nào đó trong hệ thống thì không cản trở hoạt động của chương trình ứng dụng. Nói chung, nguyên nhân đối lập với tính dư thừa đưa ra trong môi trường truyền thống vẫn còn đúng cho hệ thống phân tán và vì vậy công việc định giá mức độ tốt của tính dư thừa đòi hỏi định giá lại công việc lựa chọn mức độ dư thừa dữ liệu. Cơ sở dữ liệu phân tán khắc phục được hai nhược điểm này vì dữ liệu được chia ra thành nhiều phần nhỏ và chỉ có một bản sao logic tổng thể duy nhất để tiện cho việc truy cập dữ liệu. Cấu trúc vật lý và khả năng truy cập: người sử dụng truy cập đến cơ sở dữ liệu tập trung phải thông qua cấu trúc truy cập phức tạp: định vị cơ sở dữ liệu, thiết lập đường truyền Trong cơ sở dữ liệu phân tán, cấu trúc truy cập phức tạp không phải là công cụ chính để truy cập hiệu quả đến cơ sở dữ liệu. Hiệu quả có nghĩa là thời gian tìm kiếm và chuyển dữ liệu nhỏ nhất, chi phí truyền thông thấp nhất. Mỗi cách thức truy cập cơ sở dữ liệu phân tán viết bởi người lập trình hoặc tạo ra bởi một bộ tối ưu. Công việc viết ra một cách thức truy cập cơ sở dữ liệu phân tán cũng giống như viết chương trình duyệt trong cơ sở dữ liệu tập trung. Công việc mà chương trình duyệt này làm là xác định xem có thể truy cập đến được bao nhiêu cơ sở dữ liệu. Tính toàn vẹn, hồi phục và điều khiển tương tranh: Mặc dù trong cơ sở dữ liệu, tính toàn vẹn, hồi phục và điều khiển đồng thời liên quan nhiều vấn đề liên quan lẫn nhau. Mở rộng hơn vấn đề này là việc cung cấp các giao tác. Giao tác là đơn vị cơ bản của việc thực hiện: giao tác cụ thể là bó công việc được thực hiện toàn bộ hoặc không được thực hiện. Trong cơ sở dữ liệu phân tán, vấn đề điều khiển giao tác tự trị có ý nghĩa quan trọng: hệ thống điều phối phải chuyển đổi các quỹ thời gian cho các giao Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 4
  6. Hệ cơ sở dữ liệu phân tán tác liên tiếp. Như vậy giao tác tự trị là phương tiện đạt được sự toàn vẹn trong cơ sở dữ liệu Có hai mối nguy hiểm của giao tác tự trị là lỗi và tương tranh. Tính biệt lập và an toàn: trong cơ sở dữ liệu truyền thống, người quản trị hệ thống có quyền điều khiển tập trung, người sử dụng có chắc chắn được phân quyền mới truy cập vào được dữ liệu. Điểm quan trọng là trong cách tiếp cận cơ sở dữ liệu tập trung, không cần thủ tục điều khiển chuyên biệt. Trong cơ sở dữ liệu phân tán, những người quản trị địa phương cũng phải giải quyết vấn đề tương tự như người quản trị cơ sở dữ liệu truyền thống. Tuy nhiên, hai vấn đề đặc biệt sau đây của cơ sở dữ liệu phân tán có ý nghĩa quan trọng khi đề cập đến: -Thứ nhất trong cơ sở dữ liệu phân tán với cấp độ tự trị cao ở mỗi điểm, người có dữ liệu địa phương sẽ cảm thấy an toàn hơn vì họ có thể tự bảo vệ dữ liệu của mình thay vì phụ thuộc vào người quản trị hệ thống tập trung. -Thứ hai, vấn đề an toàn thực chất với hệ thống phân tán không giống như các hệ thống thông thường khác mà còn liên quan đến mạng truyền thông. Như vậy trong cơ sở dữ liệu phân tán vấn đề an toàn cơ sở dữ liệu phức tạp hơn và đòi hỏi nhiều kỹ thuật bảo vệ. Nguyên nhân gây ra là hệ thống này có tính mở và nhiều người dùng trong cùng hệ thống sử dụng nhiều cơ sở dữ liệu. III.KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN Vì yêu cầu của công ty, doanh nghiệp, đơn vị kinh doanh về vấn đề tổ chức sao cho kinh doanh có hiệu quả nhất và nắm bắt thông tin nhanh nhất khi các cơ sở của công ty hiện ở những địa điểm xa nhau cho nên xây dựng một hệ thống làm việc trên cơ sở dữ liệu phân tán là phù hợp xu hướng hiện nay vì hệ thống này thoả mãn được những yêu cầu tổ chức của đơn vị. Lợi điểm về tổ chức và kỹ thuật của xu hướng phát triển cơ sở dữ liệu phân tán là: giải quyết được những hạn chế của cơ sở dữ liệu tập trung và phù hợp xu hướng phát triển tự nhiên với cơ cấu không tập trung của các tổ chức, công ty doanh nghiệp Nói một cách đơn giản, cơ sở dữ liệu phân tán là tập hợp dữ liệu logic thuộc về cùng một hệ thống nhưng trải rộng ra nhiều điểm trên mạng máy tính. Như vậy có hai vấn đề của cơ sở dữ liệu phân tán với tầm quan trọng tương đương nhau: Việc phân tán: Trong thực tế dữ liệu không đặt trên cùng một vị trí vì vậy đây là đặc điểm để phân biệt cơ sở dữ liệu phân tán với cơ sở dữ liệu tập trung và cơ sở dữ liệu đơn lẻ. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 5
  7. Hệ cơ sở dữ liệu phân tán Liên quan logic: Trong cơ sở dữ liệu phân tán, dữ liệu có một số đặc tính liên kết chặt chẽ với nhau như tính kết nối, tính liên quan logíc Trong cơ sở dữ liệu tập trung, mỗi vị trí quản lý một cơ sở dữ liệu và người sử dụng phải truy cập đến cơ sở dữ liệu ở những vị trí khác nhau để lấy thông tin tổng hợp. IV.LỢI ĐIỂM CỦA CƠ SỞ DỮ LIỆU PHÂN TÁN Có nhiều nguyên nhân để phát triển cơ sở dữ liệu phân tán nhưng tựu trung lại chỉ gồm những điểm sau đây: Lợi điểm về tổ chức và tính kinh tế: tổ chức phân tán nhiều chi nhánh và dùng cơ sở dữ liệu phân tán phù hợp với các tổ chức kiểu này. Với vai trò là động lực thúc đẩy kinh tế thương mại phát triển rộng hơn, thì việc phát triển các trung tâm máy tính phân tán ở nhiều vị trí trở thành nhu cầu cần thiết. T ận dụng những cơ sở dữ liệu sẵn có: Hình thành cơ sở dữ liệu phân tán từ các cơ sở dữ liệu tập trung có sẵn ở các vị trí địa phương. Thuận lợi cho nhu cầu phát triển: Xu hướng dùng cơ sở dữ liệu phân tán sẽ cung cấp khả năng phát triển thuận lợi hơn và giảm được xung đột về chức năng giữa các đơn vị đã tồn tại và giảm được xung đột giữa các chương trình ứng dụng khi truy cập đến cơ sở dữ liệu. Với hướng tập trung hoá, nhu cầu phát triển trong tương lai sẽ gặp khó khăn. Giảm chi phí truyền thông: Trong cơ sở dữ liệu phân tán chương trình ứng dụng đặt ở địa phương có thể giảm bớt được chi phí truyền thông khi thực hiện bằng cách khai thác cơ sở dữ liệu tại chỗ. Tăng số công việc thực hiện: Hệ cơ sở dữ liệu phân tán có thể tăng số lượng công việc thực hiện qua áp dụng nguyên lý xử lý song song với hệ thống xử lý đa nhiệm. Tuy nhiên cơ sở dữ liệu phân tán cũng có tiện lợi trong việc phân tán dữ liệu như tạo ra các chương trình ứng dụng phụ thuộc vào tiêu chuẩn mở rộng vị trí làm cho các nơi xử lý có thể hỗ trợ lẫn nhau. Do đó tránh được hiện tượng tắc nghẽn cổ chai trong mạng truyền thông hoặc trong các dịch vụ thông thường của toàn bộ hệ thống. Tính dễ hiểu và sẵn sàng: Hướng phát triển cơ sở dữ liệu phân tán cũng nhằm đạt được tính dễ hiểu và tính sẵn sàng cao hơn. Tuy nhiên để đạt được mục tiêu này không phải là dễ làm và đòi hỏi sử dụng kỹ thuật phức tạp. Khả năng xử lý tự trị của các điểm làm việc khác nhau không đảm bảo tính dễ sử dụng. Hai nguyên nhân về mặt kỹ thuật đáp ứng cho sự phát triển hệ cơ sở dữ liệu phân tán: -Công nghệ tạo ra máy tính nhỏ và nền tảng phần cứng có khả năng phục vụ xây dựng hệ thống thông tin phân tán. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 6
  8. Hệ cơ sở dữ liệu phân tán -Kỹ thuật thiết kế hệ cơ sở dữ liệu phân tán được phát triển vững chắc dựa trên hai kỹ thuật thiết kế chính là Top-down và Bottom-up từ những năm thập kỷ 60. Kỹ thuật thiết kế cơ sở dữ liệu phân tán phức tạp nhưng hệ cơ sở dữ liệu phân tán cũng cần thiết cho xu hướng phát triển kinh tế hiện nay. V.HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN Hệ quản trị cơ sở dữ liệu phân tán cung cấp công cụ như tạo lập và quản lý cơ sở dữ liệu phân tán. Phân tích đặc điểm của hệ thống quản trị cơ sở dữ liệu phân tán như dưới đây để phân biệt hệ thống phát triển theo kiểu thương mại có sẵn và kiểu mẫu phân tán. Hệ thống phát triển theo kiểu thương mại có sẵn được phát triển bởi những người cung cấp hệ cơ sở dữ liệu tập trung. Hệ cơ sở dữ liệu tập trung mở rộng bằng cách thêm vào những phần bổ xung qua cách cung cấp thêm đường truyền và điều khiển giữa các hệ quản trị cơ sở dữ liệu tập trung cài đặt ở những điểm khác nhau trên mạng máy tính. Những phần mềm cần thiết cho việc xây dựng cơ sở dữ liệu phân tán là: Phần quản lý cơ sở dữ liệu ( Database Management - DB ). Phần truyền thông dữ liệu (Data Communication - DC ). Từ điển dữ liệu được mở rộng để thể hiện thông tin về phân tán dữ liệu trong mạng máy tính (Data Dictionary - DD). Phần cơ sở dữ liệu phân tán (Distributed Database DDB). Mô hình các thành phần của hệ quản trị cơ sở dữ liệu phát triển theo kiểu thương mại (Truy cập từ xa trực tiếp). Cơ sở dữ DB DC DDB liệu địa DD phương 1 Cơ sở dữ DD DDB liệu địa DB DC phương 2 Những dịch vụ hệ quản trị cơ sở dữ liệu cung cấp: Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 7
  9. Hệ cơ sở dữ liệu phân tán -Cách thức truy cập dữ liệu từ xa: bằng chương trình ứng dụng. -Lựa chọn một cấp độ trong suốt phân tán thích hợp: cho phép mở rộng hệ thống theo nhiều cách khác nhau theo từng hoàn cảnh (phải cân nhắc giữa cấp độ trong suốt phân tán và phân chia công việc thực hiện để công việc quản trị hệ thống đơn giản hơn). -Quản trị và điều khiển cơ sở dữ liệu bao gồm công cụ quản lý cơ sở dữ liệu, tập hợp thông tin về các thao tác trên cơ sở dữ liệu và cung cấp thông tin tổng thể về file dữ liệu đặt ở các nơi trong hệ thống. -Điều khiển tương tranh và điều khiển hồi phục dữ liệu của giao tác phân tán. Cách thức truy cập cơ sở dữ liệu từ xa qua chương trình ứng dụng theo hai cách cơ bản: Truy cập từ xa trực tiếp và gián tiếp. PhươTruyng thcậứpc ctruyơ sở c ập dữ lidệữu liệu Chương trình Hệ quản trị cơ ứng dụng sở dữ liệu 1 Hệ quản trị cơ Cơ sở dữ sở dữ liệu 2 liệu 2 Kết quả Mô hình truy cập từ xa qua phương thức cơ sở của hệ quản trị cơ sở dữ liệu Theo mô hình trực tiếp trên, chương trình ứng dụng đưa ra yêu cầu truy cập đến cơ sở dữ liệu từ xa, yêu cầu này được hệ quản trị cơ sở dữ liệu tự động tìm nơi đặt dữ liệu và thực hiện yêu cầu tại điểm đó. Kết quả được trả lại cho chương trình ứng dụng. Đơn vị chuyển đổi giữa hai hệ quả trị cơ sở dữ liệu là phương thức truy cập cơ sở dữ liệu và kết quả nhận được (thông qua việc thực hiện phương thức truy cập này). Với cách thức truy cập từ xa như vậy cấp độ trong suốt phân tán được xây dựng bằng cách tạo ra tên file toàn bộ để đánh địa chỉ thích hợp cho những điểm lưu trữ dữ liệu ở xa. Mô hình dưới đây mô tả cách thức truy cập phức tạp hơn (truy cập gián tiếp): Chương trình ứng dụng Hệ quản trị cơ sở dữ liệu 1 Khoa CNTT ĐH KHTN ĐH Quốc Gia HàKế tN quộiả Trang 8 toàn bộ Chương trình phụ Hệ quản trị Hệ quảntrị d li
  10. Hệ cơ sở dữ liệu phân tán Theo mô hình truy cập này, chương trình ứng dụng thực hiện yêu cầu qua chương trình phụ ở điểm khác. Chương trình phụ này được người lập trình ứng dụng viết để truy cập từ xa đến cơ sở dữ liệu và trả về kết quả của chương trình ứng dụng yêu cầu. Hệ quản trị cơ sở dữ liệu phân tán cung cấp cả hai kiểu truy cập bỏi vì mỗi cách truy cập đều có ưu điểm của nó. VI.CÁC MỨC TRONG SUỐT CỦA CƠ SỞ DỮ LIỆU PHÂN TÁN Trong hệ cơ sở dữ liệu phân tán, những người thiết kế hệ thống đã xây dựng lên một hệ các phần mềm phục vụ yêu cầu người dùng trên cơ sở dữ liệu đã có sẵn. Hình dưới đây trình bày kiến trúc chung của cơ sở dữ liệu phân tán. Tất nhiên kiến trúc này không biểu diễn tường minh cho mọi hệ cơ sở dữ liệu phân tán. Các mức của cơ sở dữ liệu phân tán được trình bày mang tính khái niệm thích hợp để dễ hiểu về tổ chức của các cơ sở dữ liệu phân tán nói chung. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 9
  11. Hệ cơ sở dữ liệu phân tán Sơ đồ toàn thể Sơ đồ phân đoạn Sơ đồ cấp phát Sơ đồ ánh xạ Sơ đồ ánh xạ DBMS ở vị trí 1 địa phương 1 địa phương 2 DBMS ở vị trí 2 Cơ sở dữ Cơ sở dữ liệu 1 liệu 2 Mức đỉnh của lược đồ là sơ đồ toàn thể: Mô tả mọi dữ liệu nằm trong cơ sở dữ liệu phân tán như không bị phân tán. Tuy nhiên mô hình dữ liệu sử dụng để xác định sơ đồ toàn thể để xác định cách thức ánh xạ đến những mức khác của cơ sở dữ liệu phân tán. Theo cách sử dụng mô hình sơ đồ toàn thể, sơ đồ toàn thể xác định một tập các quan hệ chung nhất của hệ thống. Mỗi quan hệ có thể chia ra các phần không chồng lên nhau gọi là đoạn. Có nhiều cách chia: chia theo chiều ngang, chia theo chiều dọc và chia theo kiểu hỗn hợp theo chiều ngang và chiều dọc. Ánh xạ này giữa quan hệ và các đoạn được xác định trong sơ đồ phân đoạn. Ánh xạ theo kiểu 1:n (một quan hệ sang nhiều đoạn) là một đoạn tương ứng một quan hệ và một quan hệ tương đương với một số đoạn. Đoạn xác định bởi một quan hệ qua chỉ số (chỉ số đoạn dữ liệu). Đoạn là phần logic của quan hệ, được đặt vật lý tại một hay vài vị trí trên mạng máy tính. Sơ đồ cấp phát xác định những vị trí đặt đoạn. Kiểu ánh xạ xác định trong sơ đồ cấp phát cho phép nhận ra một cơ sở dữ liệu phân tán là dư thừa hay không dư thừa Về mặt hình thức ánh xạ thường từ một quan hệ sang nhiều đoạn, trong trường hợp ánh xạ 1:1 thì một đoạn được ánh xạ từ một quan hệ. Mọi đoạn dữ liệu tương ứng với cùng một quan hệ R và đặt ở cùng vị trí j tạo ra “ảnh vật lý” của quan hệ R ở vị trí j. Vì vậy có ánh xạ 1:1 giữa ảnh vật lý và một cặp (quan hệ, đoạn). Mỗi ảnh vật lý có thể được chỉ định bởi một tên quan hệ và một chỉ số vị trí. Để phân biệt ảnh vật lý, quan hệ với đoạn dữ liệu, ký hiệu Rj chỉ ảnh vật lý của quan hệ R ở vị trí j. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 10
  12. Hệ cơ sở dữ liệu phân tán Thuật ngữ trong suốt mô tả bằng bản sao của đoạn tham chiếu đến vị trí lưu trữ và bản sao xác định qua tên quan hệ và hai chỉ số (chỉ số đoạn và chỉ số vị trí). Trong kiến trúc lược đồ trên có ba mức độ độc lập theo thứ tự giảm: mức tổng thể, mức cấp phát và mức ánh xạ. Vì vậy, ở mức thấp hơn cần thiết phải ánh xạ sang mức cao hơn. Việc ánh xạ này gọi là sơ đồ ánh xạ và phụ thuộc vào kiểu của cơ sở dữ liệu địa phương. Trong hệ thống đồng nhất mức độ độc lập có một số kiểu khác nhau khi ánh xạ địa phương ở các vị trí khác nhau. Kiến trúc này cung cấp khái niệm cơ sở và dễ hiểu về cơ sở dữ liệu phân tán. Ba đối tượng quan trọng thúc đẩy phát triển cấu trúc này là tính riêng rẽ của việc phân đoạn dữ liệu, cấp phát đoạn, điều khiển dư thừa và độc lập dữ liệu đối với hệ quản trị cơ sở dữ liệu địa phương. 1.Phân đoạn dữ liệu và cấp phát dữ liệu. Sự chia xẻ này cho phép phân biệt hai mức khác nhau của mức độ trong suốt phân tán, có tên là trong suốt phân đoạn và trong suốt định vị. Trong suốt phân đoạn: là cấp độ cao nhất của mức độ trong suốt, người sử dụng hoặc chương trình ứng dụng chỉ làm việc trên các quan hệ của cơ sở dữ liệu. Trong suốt định vị là cấp độ thấp hơn của độ trong suốt vì hệ thống yêu cầu người sử dụng hay chuơng trình ứng dụng phải làm việc trên đoạn logíc thay vì làm việc trên các quan hệ của cơ sở dữ liệu. Tuy nhiên người đó không biết đoạn đó được đặt ở vị trí nào trong cơ sở dữ liệu. 2.Điều khiển dư thừa. Kiến trúc tham chiếu cho phép điều khiển dư thừa dữ liệu ở mức đoạn. Các đoạn có thể có dữ liệu giống nhau dùng để kết nối dữ liệu đó là nguyên nhân dư thừa dữ liệu. 3.Độc lập với hệ quản trị cở sở dữ liệu địa phương. Đặc điểm này gọi là ánh xạ trong suốt đối với cơ sở dữ liệu địa phương: quản trị cơ sở dữ liệu phân tán không cần quan tâm đến kiểu dữ liệu xác định của cơ sở dữ liệu địa phương. Mức trong suốt bản sao liên quan chặt chẽ tới mức trong suốt định vị. Mức trong suốt bản sao có nghĩa là người sử dụng không biết bản sao của đoạn đặt ở vị trí nào. Mức trong suốt bản sao tương đương mức trong suốt định vị. Tuy nhiên, trong những trường hợp thực tế người sử dụng không có mức trong suốt định vị nhưng lại có mức trong suốt bản sao. Phân rã quan hệ thành các đoạn thực hiện qua việc áp dụng hai phân đoạn: phân đoạn ngang và phân đoạn dọc. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 11
  13. Hệ cơ sở dữ liệu phân tán Phân đoạn ngang: một đoạn được xác định qua biểu thức đại số quan hệ với quan hệ là toán tử và các đoạn là kết quả. Hay nói cách khác, việc phân đoạn ngang bao gồm việc chia các bộ của quan hệ thành các tập con. Mỗi tập con này có thuộc tính vị trí thông thường. Các đoạn này được xác định qua việc coi mỗi đoạn là toán tử chọn trên quan hệ. Phân đoạn dọc: phân đoạn dọc một quan hệ là việc chia nhỏ tập thuộc tính thành nhiều nhóm quan hệ và đoạn dọc. Phân đoạn đúng khi mỗi thuộc tính đều ánh xạ ít nhất sang một thuộc tính của đoạn. Hơn nữa, có thể tạo lại quan hệ ban đầu bằng liên kết các đoạn với nhau. Có một số luật để xác định các đoạn: Điều kiện hợp: mọi dữ liệu của quan hệ phải ánh xạ đến các đoạn. Không xảy ra trường hợp dữ liệu thuộc về quan hệ nhưng không thuộc về một đoạn nào. Điều kiện tái tạo lại quan hệ: luôn luôn có khả năng tạo lại quan hệ từ các đoạn của quan hệ. Điều kiện cần: mỗi đoạn được lưu trữ trong cơ sở dữ liệu phân tán và quan hệ phải xây dựng lại được khi cần thiết. Điều kiện không liên kết: thích hợp khi các đoạn không liên kết với nhau vì vậy các bản dữ liệu lặp lại có thể được điều khiển rõ ràng ở các mức cấp phát. Điều kiện này chủ yếu có ích với phân đoạn ngang. VII.QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN Quản trị hệ cơ sở dữ liệu phân tán để giải quyết vấn đề phát triển, điều khiển, duy trì và kiểm tra phần mềm của chương trình ứng dụng dùng cơ sở dữ liệu. Quản trị cơ sở dữ liệu không chỉ là công việc kỹ thuật mà bao gồm cả thông báo về cách tạo phương thức để người sử dụng truy cập được đến cơ sở dữ liệu. Trong phần này quan tâm đến những nội dung sau đây: +Nội dung và cách quản lý bảng danh mục. Bảng danh mục chứa các thông tin hệ thống cho chương trình ứng dụng khi có yêu cầu truy cập đến cơ sở dữ liệu. Trong hệ thống phân tán, bảng danh mục chứa các mô tả về việc phân đoạn, cấp phát dữ liệu và ánh xạ tới tên cơ sở dữ liệu địa phương. Như vậy những bảng danh mục trở thành cơ sở dữ liệu phân tán để phân tán tại các vị trí và quản lý một cách hiệu quả. +Mở rộng cơ chế bảo vệ và phân quyền đối với hệ thống phân tán. Vấn đề quan trọng nhất trong quản trị cơ sở dữ liệu là cấp độ tự trị của các vị trí tự trị địa phương. Có hai cách giải quyết cực đoan là không có tính tự trị địa phương và tự trị địa phương hoàn toàn. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 12
  14. Hệ cơ sở dữ liệu phân tán Trường hợp thứ nhất, chức năng của người quản trị địa phương không khác so với người quản trị ở các cơ sở dữ liệu tập trung. Tuy nhiên để thực hiện các chức năng của người quản trị khó hơn khi phân tán hệ thống. Một hệ thống không có tính tự trị địa phương có thể khác nhiều về phía cấp độ phân tán của bài toán thiết lập các chức năng quản trị. Trường hợp thứ hai, chức năng của người quản trị cơ sở dữ liệu hoàn toàn bị giới hạn vì mỗi vị trí đều quản trị độc lập hay tự trị. Việc chia xẻ dữ liệu giữa hai vị trí là kết quả của sự thoả thuận giữa hai vị trí đó. Hai vị trí thâm nhập lẫn nhau trên cơ sở tự trị để quyết định phần dữ liệu nào sẽ được chia sẻ cho vị trí kia và theo nguyên tắc nào để truy cập từ xa đến các người sử dụng khác. 1.Quản lý bảng danh mục trong cơ sở dữ liệu phân tán: Bảng danh mục của cơ sở dữ liệu phân tán lưu trữ mọi thông tin có ích cho hệ thống để truy cập dữ liệu đúng đắn, hiệu quả và để thay đổi cách thức người sử dụng có quyền khác nhau truy cập đến dữ liệu. Bảng danh mục dùng để: -Dịch các chương trình ứng dụng: Chương trình ứng dụng tham chiếu đến dữ liệu ở các mức trong suốt khác nhau để ánh xạ đến dữ liệu vật lý. -Tối ưu hoá các chương trình ứng dụng. Yêu cầu để tạo ra cách thức truy cập qua công việc cấp phát dữ liệu, lưu trữ các cách thức truy cập dữ liệu có ở mỗi vị trí và thông tin thống kê ghi ở bảng danh mục. -Thực hiện các chương trình ứng dụng. Thông tin về bảng dùng để thay đổi các cách thức truy cập đúng đắn mà người sử dụng có các quyền truy cập khác nhau. Bảng danh mục luôn luôn được cập nhật khi người sử dụng thay đổi dữ liệu. Cập nhật vào bảng danh mục xảy ra khi quan hệ, đoạn hoặc ảnh vật lý được tạo ra hay di chuyển, cấu trúc truy cập địa phương thay đổi hoặc luật quản trị bị thay đổi. 2.Nội dung của bảng danh mục: Có một số cách phân loại thông tin lưu trữ trong bảng danh mục cơ sở dữ liệu phân tán. Sau đây là các cấu trúc tham chiếu: -Mô tả sơ đồ toàn bộ: Gồm tên của quan hệ và các thuộc tính. -Mô tả phân đoạn: Trong phân đoạn ngang phân chia dữ liệu thành các đoạn có cùng tính chất hay thuộc tính nào đó như phân chia theo các bộ. Phân đoạn dọc là công việc phân chia các thuộc tính thành các nhóm nhỏ. Phân đoạn hỗn hợp chỉ là sự kết hợp hai công việc phân đoạn ngang và phân đoạn dọc. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 13
  15. Hệ cơ sở dữ liệu phân tán -Mô tả công việc cấp phát: Đưa ra ánh xạ giữa các đoạn và ảnh vật lý. -Ánh xạ đến tên cơ sở dữ liệu địa phương: Dùng để tập hợp các tên của ảnh vật lý sang tên của dữ liệu địa phương lưu trữ ở mỗi vị trí. -Mô tả cách thức truy cập: Mô tả các cách thức truy cập có sẵn ở mỗi vị trí địa phương. -Thống kê tên cơ sở dữ liệu: Gồm những thông tin sơ lược về cơ sơ dữ liệu. -Tính vững chắc của thông tin (bảo vệ và ràng buộc toàn vẹn): Các thông tin này bao gồm thông tin về công việc quản trị người sử dụng để truy cập đến cơ sở dữ liệu hay ràng buộc toàn vẹn trên những giá trị cho phép của cơ sở dữ liệu. Như quyền truy cập của người sử dụng để thao tác trên một phần của dữ liệu, điển hình như đọc, xoá, cập nhật di chuyển dữ liệu. Cho phép người sử dụng khả năng phân quyền cho những người sử dụng khác các quyền trên. Thông tin trạng thái về nội dung bảng danh mục dùng để tìm kiếm hay hồi phục dữ liệu. Thông tin của bảng danh mục coi như một phần cấu trúc dữ liệu của hệ thống. 3.Phân tán bảng danh mục: Các bảng danh mục dùng để thiết lập cơ sở dữ liệu phân tán. Công việc phân đoạn, và cấp phát của cơ sở dữ liệu được thiết kế theo các nguyên tắc thiết kế cơ sở dữ liệu phân tán. Thông tin của bảng danh mục chỉ lưu trữ lại khi bảng danh mục dùng cho việc dịch, tối ưu hoá và thực hiện các chương trình ứng dụng cũng như sử dụng để liên kết khi có cập nhật thay đổi dữ liệu. Một vài hệ thống, thống kê những thay đổi được cập nhật sau mỗi công việc thực hiện. Nhưng điển hình vẫn là cập nhật để thống kê thay đổi thông tin về những công việc được thực hiện theo bó. Nói chung công việc lưu trữ là quan trọng nhất để tỷ lệ giữa công việc cập nhật và công việc hỏi đáp trên cơ sở dữ liệu là nhỏ nhất. Việc cập nhật và điều khiển bảng danh mục liên quan chặt chẽ với cấp độ tự trị địa phương của mỗi vị trí. Thực tế có một đặc trưng để phân biệt điểm tự trị là mỗi điểm có khả năng tự điều khiển dữ liệu tại vị trí đó. Để giữ gìn các vị trí tự trị, cơ chế đặt tên phải đảm bảo được tên mới tạo ra phải duy nhất trong hệ thống phân tán và không truy cập đến tất cả các bảng danh mục. Thông tin bảng danh mục về đối tương mới tạo ra không cần hiện ra ngay đối với các vị trí khác. Điểm tự trị không yêu cầu nhưng việc tạo ra một đối tưọng mới có thể bao gồm cả việc truy cập đến bảng danh mục có đối tượng mới tạo ra ở mọi vị trí. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 14
  16. Hệ cơ sở dữ liệu phân tán Cách giải quyết vấn đề quản lý bảng danh mục thông qua việc quản lý các điểm tự trị ở mức độ khác nhau. Trong cơ sở dữ liệu phân tán, bảng danh mục được cấp phát theo nhiều cách khác nhau. Có ba cách sau đây: -Bảng danh mục tập trung: Bảng danh tổng thể được lưu trữ ở một vị trí. Cách làm này rõ ràng có hạn chế như thiếu chỗ của chương trình ứng dụng vì chương trình ứng dụng này không đặt ở vị trí trung tâm và thiếu tính sẵn sàng của hệ thống vì phụ thuộc vào chỉ một vị trí trung tâm. -Bảng danh mục sao đầy đủ: Bảng danh mục được sao chép đầy đủ tại mỗi điểm, nhưng chỉ cho đọc bảng mục này. Vì vậy việc thay đổi bảng danh mục là công việc phức tạp khi có yêu cầu cần cập nhật thông tin vào bảng danh mục ở mọi vị trí. -Bảng danh mục địa phương: Bảng danh mục được phân mảnh và cấp phát theo cách chúng lưu trữ tại cùng vị trí với dữ liệu có thể truy cập tới. Có thể có một số cách thay đổi: có cả hai bảng danh mục nghĩa là một bảng ở cơ sở dữ liệu tại một vị trí trung tâm và một bảng danh mục địa phương tại vị trí khác. Đây là kiểu điển hình của hệ thống phân tán với một điểm tập trung và mạng hình sao để nối vị trí trung tâm với các vị trí khác. Nếu thông tin bảng danh mục tìm thấy ở tại chỗ thì chương trình ứng dụng được xử lý tại chỗ và nếu bảng danh mục tìm thấy ở điểm trung tâm thì được xử lý ở trung tâm. Một cách giải quyết đặc biệt sử dụng trong một số hệ thống là làm công việc lưu trữ định kỳ thông tin không lưu trữ ở địa phương. Và cách giải quyết này khác với việc có bảng danh mục bản sao toàn bộ vì thông tin lưu trữ không cập nhật thường xuyên. Thông tin đã thay đổi chỉ được cập nhật vào chỉ khi đến thời điểm cần cập nhật. 4.Quản trị và bảo vệ: a.Bảo vệ giữa các vị trí : Vấn đề nảy sinh trong cơ sở dữ liệu phân tán là vấn đề an toàn, thêm vào đó là việc bảo vệ trong truyền thông. Khi truyền dữ liệu, hai vị trí cần phải chắc chắn: -Ở phía đích của đường truyền cho phép trao đổi thông tin là vị trí thoả thuận trước. -Không người xâm nhập bất hợp pháp nào có thể đọc hay điều khiển các thông báo trao đổi giữa các vị trí khác nhau trên đường truyền. Yêu cầu đầu tiên được đảm bảo thông qua việc thiết lập giao thức đồng nhất giữa các điểm ở xa nhau. Khi hai cơ sở dữ liệu ở xa nhau, truyền thông với nhau, yêu cầu đầu tiên là hai vị trí có sở dữ liệu này gửi lẫn nhau mật Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 15
  17. Hệ cơ sở dữ liệu phân tán khẩu, giống như công việc xảy ra khi hai người sử dụng ở hai vị trí khác nhau quyết định chia xẻ dữ liệu. Yêu cầu thứ hai là bảo vệ nội dung thông báo chuyển mỗi lần truyền khi truyền thông. Thông báo trong mạng máy tính là các nhiệm vụ và yêu cầu tạo các bộ nhớ tạm thời để lưu trữ các thông báo. Yêu cầu mà các bước trung gian được thực hiện sau một ký hiệu và dưới cơ chế an toàn không thích hợp và hiệu quả vì số lượng lớn các nút có thể thay đổi . Cách giải quyết tốt nhất đối với vấn đề này là sử dụng phương pháp mã hoá. Phương pháp mã hóa là kỹ thuật tiêu chuẩn thường dùng trong hệ thống thông tin phân tán. Ví dụ như để bảo vệ truyền thông giữa thiết bị ngoại vi và bộ xử lý thông tin được truyền trên mạng được mã hoá và được giải mã ở điểm nhận. Phương pháp mã hoá không chỉ là việc chuyển nhóm bit này vào nhóm bit khác mà còn hoán đổi thứ tự và toán tử logíc. Tuy nhiên những toán tử này có thể phủ định được. Nguyên tắc để mã hoá và giải mã gọi là khoá của hệ thống giải mật mã. Phương pháp giải mật mã giữa hai vị trí yêu cầu người gửi và người nhận đồng ý trên cơ sở khoá giải mật mã đã thoả thuận giữa hai bên. b.Xác nhận người sử dụng: Khi một người kết nối với cơ sở dữ liệu, người đó phải được hệ thống nhận biết. Nhân dạng là yêu cầu chủ yếu để giữ gìn tính an toàn vì nếu một người xâm nhập bất hợp pháp có thể giả dạng một người hợp lệ, tính an toàn của hệ thống bị xâm phạm. Giả sử có một cơ chế mật khẩu, cách nhận dạng này yêu cầu người sử dụng cung cấp mật khẩu để liên kết với mật khẩu có sẵn trong hệ thống. Trong cơ sở dữ liệu phân tán, theo nguyên tắc người sở dụng có thể tự nhận ra mình ở tại vị trí của cơ sở dữ liệu. Tuy nhiên đặc điểm này được thành lập theo hai cách sau: -Mật khẩu có thể bị sao lại ở mọi vị trí của cơ sở dữ liệu phân tán. Cách này cho phép cách nhận dạng người sử dụng thực hiện ở địa phương nhưng cũng thoả hiệp tính an toàn của mật khẩu khi một người xâm nhập bất hợp pháp truy cập vào cơ sở dữ liệu. -Người sử dụng có thể có một vị trí tại chỗ mà công việc nhận dạng thực hiện. Trong hoàn cảnh này người sử dụng được nhận dạng kết nối với vị trí khác bằng công việc gửi một yêu cầu. 5.Áp đặt luật phân quyền: Mỗi nguời sử dụng được nhận dạng theo nhiều cách khác nhau, hệ cơ sở dữ liệu dùng luật phân quyền để quy định các thao tác thực hiện trên một số đối tượng cơ sở dữ liệu qua các luật phân quyền này. Trong môi trường phân tán, những công việc nảy sinh là công việc cấp phát những luật này và tạo cơ Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 16
  18. Hệ cơ sở dữ liệu phân tán cấu phân tán dùng để áp đặt các luật phân quyền. Luật phân quyền là một phần của bảng danh mục. Có hai hướng giải quyết khác nhau là : a.Bản sao đầy đủ các luật phân quyền. Hướng giải quyết này thích hợp với trường hợp có bản sao bảng danh mục đầy đủ ở các vị trí và yêu cầu cơ chế thich hợp để phân tán trực tuyến cập nhật được đến các bảng danh mục này. Tuy nhiên hướng giải quyết này cho phép các cách phân quyền kiểm tra khi bắt đầu chương trình biên dịch hay bắt đầu thực hiện công việc. Thực tế người sử dụng có yêu cầu truy cập không đúng đắn sẽ bị phát hiện tại chỗ và do đó dễ dàng tăng khả năng nhận biết chương trình dịch hay công việc thực hiện là không thích hợp . b.Cấp phát luật phân quyền cho các đối tượng ở cùng một vị trí mà luật phân quyền tham chiếu tới. Hướng giải quyết này thích hợp với bảng danh mục được đặt ở địa phương và không mắc phải lỗi không có quyền nhưng truy cập bất hợp pháp. Tuy nhiên, người sử dụng không có quyền truy cập hợp pháp xử lý bằng cách cho truy cập đến dữ liệu trong kho nhớ trung gian. Trường hợp truy cập không đúng đắn thì công việc yêu cầu sẽ không được thực hiện. Hướng giải quyết thứ hai thích hợp với các vị trí tự trị trong khi đó cách thứ nhất thích hợp với cơ sở dữ liệu phân tán trong hệ thống riêng lẻ. Trong hướng giải quyết thứ nhất dùng bản sao đầy đủ các luật phân quyền theo nhiều cách khác nhau nếu tính đến giá cả thực hiện. Phân quyền cho người sử dụng trong hệ thống tập trung bao gồm phân các quyền: đọc, chèn, tạo và xoá các đối tượng (ví dụ như bộ) và công việc tạo, xoá các đối tượng (như quan hệ của các đoạn). Trong cơ sở dữ liệu phân tán, bổ xung những quyền đặc biệt như một người di chuyển một đối tượng từ vị trí này sang vị trí khác. Để có quyền đặc biệt di chuyển một đối tượng khó khăn hơn khi cấp cả hai quyền chèn và xoá. Việc di chuyển một đối tượng nếu chỉ thông qua hai công việc xoá đối tượng ở vị trí này và tạo đối tượng đó ở vị trí khác nhưng không đảm bảo thông tin về đối tượng không bị mất và không thông tin nào được tạo thêm vào. 6.Phân lớp người sử dụng: Để đơn giản hoá cơ cấu giải quyết việc phân quyền và việc sắp xếp thông tin, các người sử dụng riêng rẽ được nhóm thành các nhóm và mỗi nhóm được phân các quyền giống nhau. Việc phân thành nhóm sẽ dễ quản lý hơn thay vì việc quản lý từng người sử dụng. Trong cơ sở dữ liệu, phân lớp người sử dụng theo quyền cần cân nhắc công việc sau đây: Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 17
  19. Hệ cơ sở dữ liệu phân tán -Sự sắp xếp một cách tự nhiên những người sử dụng là một vấn đề trong việc phân tán cơ sở dữ liệu cho những vị trí khác nhau. Giống như mọi người sử dụng ở vị trí x có cùng có một vài đặc tính theo quan điểm quản trị. Phải thành lập cơ cấu đặt tên thích hợp cho lớp người sử dụng. -Một số vấn đề xuất hiện khi chia nhóm gồm những người sử dụng ví như nơi nào lưu trữ thông tin về quyền truy cập của nhóm người sử dụng và luật nào sẽ được sử dụng để tính toán việc chia nhóm người sử dụng. Vấn đề đặc biệt phức tạp khi nhiều nhóm người sử dụng ở các vị trí được xem xét trong hoàn cảnh là những vị trí tự trị. Xuất hiện vấn đề xem xét quyết định đối với các nhóm làm việc như bỏ quyền hoặc thêm quyền và xoá một thành viên. Vì vậy cơ chế này phải có sự nhất trí của đa số hay của toàn bộ các vị trí trong cùng nhóm hoặc của người quản trị ở cấp cao hơn. Kết luận Mọi đặc điểm của công việc quản trị hệ cơ sở dữ liệu tập trung đều quy định cho công việc quản trị cơ sở dữ liệu phân tán. Công việc quản trị cơ sở dữ liệu phân tán phụ thuộc vào cấp độ tự trị của hệ thống với sự vắng mặt của những vị trí tự trị, tuy nhiên cấp độ phân tán cả thuật toán thiết lập hệ cơ sở dữ liệu phân tán. Trong cơ sở dữ liệu phân tán, bảng danh mục không bị ràng buộc trong việc phân tán và cấp phát. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 18
  20. Hệ cơ sở dữ liệu phân tán CHƯƠNG II THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN Khi cơ sở dữ liệu phân tán mới ở giai đoạn phát triển ban đầu, những người thiết kế chưa có nhiều kinh nghiệm về việc làm thế nào để thiết kế cơ sở dữ liệu phân tán. Tuy nhiên việc thiết kế một cơ sở dữ liệu trong hệ thống đơn lẻ về mặt kỹ thuật và tổ chức đã rất khó khăn vì vậy việc thiết kế cơ sở dữ liệu phân tán càng khó khăn hơn. Vấn đề mới nảy sinh về mặt kỹ thuật như việc nối liền các điểm làm việc với nhau qua mạng máy tính và tối ưu hoá việc phân tán dữ liệu cũng như ứng dụng để tối ưu công việc thực hiện. Về phía tổ chức, vấn đề phân quyền rất quan trọng khi hệ thống phân tán điển hình thay thế cho hệ thống lớn, hệ thống tập trung. Trong trường hợp này, có thể xung đột về phía công tác tổ chức. Mặc dù còn hạn chế về kinh nghiệm thiết kế hệ thống phân tán, vấn đề này là lĩnh vực được nghiên cứu rộng rãi. Quan điểm về mặt toán học của cơ sơ dữ liệu đối với việc phân tán tốt dữ liệu qua mạng máy tính đã được phân tích trong hệ thống file phân tán và gần đây là trong cơ sở dữ liệu phân tán. Kết quả chính của công việc nghiên cứu được dùng để thiết kế cơ sở dữ liệu phân tán: -Phương pháp để có thể phân tán dữ liệu một cách thuận tiện. -Cơ sở về mặt toán học dùng để trợ giúp thiết kế trong việc xác định việc phân tán dữ liệu. Chương này sẽ giới thiệu một cơ sở cho thiết kế cơ sơ dữ liệu phân tán qua việc nhấn mạnh những bước trong thiết kế và cũng chỉ ra đối tượng của thiết kế cơ sở dữ liệu phân tán, hướng phát triển top-down và bottom-up. I.CƠ SỞ THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN: Thuật ngữ thiết kế cơ sở dữ liệu phân tán có nghĩa rất rộng và không chính xác. Thiết kế cơ sở dữ liệu tập trung gồm có các công việc sau: -Thiết kế sơ đồ khái niệm: mô tả cơ sở dữ liệu đã hợp nhất (mọi dữ liệu được sử dụng bởi ứng dụng cơ sở dữ liệu). -Thiết kế cơ sở dữ liệu vật lý: tham chiếu từ lược đồ khái niệm tới vùng lưu trữ và xác định các cách thức truy cập khác nhau. Trong cơ sở dữ liệu phân tán, có hai vấn đề xảy ra khi thiết kế sơ đồ toàn bộ và khi thiết kế cơ sở dữ liệu vật lý ở địa phương (ở mỗi vị trí). Những kỹ Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 19
  21. Hệ cơ sở dữ liệu phân tán thuật có thể ứng dụng cho hai vấn đề trên cũng giống như trong cơ sở dữ liệu phân tán. Trong cơ sở dữ liệu phân tán bổ xung vào hai vấn đề nữa: -Thiết kế phân đoạn: xác định cách thức phân chia những quan hệ toàn bộ thành những đoạn dữ liệu theo chiều dọc ,chiều ngang và kiểu hỗn hợp. -Thiết kế cấp phát đoạn dữ liệu: xác định cách thức đoạn dữ liệu tham khảo đến ảnh vật lý nào và cũng xác định các bản sao của đoạn dữ liệu. Thiết kế phân đoạn mới được nghiên cứu gần đây, tuy nhiên công việc phân đoạn trở thành đặc trưng của cơ sở dữ liệu phân tán. Bên cạnh đó vấn đề cấp phát cũng được nghiên cứu khi phát triển hệ thống file phân tán vì trong cơ sở dữ liệu tập trung có thiết bị lưu trữ phức tạp. Cách phân biệt hai vấn đề này rõ ràng, vấn đề thứ nhất động lực của việc phân mảnh quan hệ giải quyết vấn đề tiêu chuẩn về logic; vấn đề thứ hai giải quyết vấn đề về nơi đặt vật lý của dữ liệu ở những vị trí khác nhau. Tuy nhiên phải rất cẩn thận khi phân biệt theo cách này vì không thể xác định cách phân đoạn tốt nhất và công việc cấp phát bằng cách giải quyết hai vấn đề độc lập vì rằng hai vấn đề liên quan nhau. Công việc thiết kế chương trình ứng dụng được thực hiện sau khi thiết kế sơ đồ và có kiến thức về yêu cầu của chương trình ứng dụng. Thiết kế sơ đồ để có khả năng cung cấp hiệu quả các chương trình ứng dụng. Vì vậy trong thiết kế cơ sở dữ liệu phân tán, hiểu biết rõ ràng và đầy đủ về yêu cầu của chương trình ứng dụng là cần thiết đối với chương trình ứng dụng quan trọng. Những công việc thiết kế được thực hiện thường xuyên để công việc thực hiện của thiết kế đúng đắn. Những yêu cầu trong chương trình ứng dụng: -Vị trí nơi chương trình ứng dụng được đưa ra (cũng gọi là vị trí cơ sở của chương trình ứng dụng ). -Tính thường xuyên hoạt động của chương trình ứng dụng: số lần yêu cầu của chuơng trình ứng dụng trong một khoảng thời gian. Trường hợp thông thường chương trình ứng dụng có thể được đưa ra ở nhiều vị trí khác nhau vì vậy phải biết tần suất hoạt động của chương trình ứng dụng tại mỗi vị trí. -Số lượng, kiểu và phân tán thống kê các lần truy cập đối với mỗi đối tượng dữ liệu được yêu cầu bởi các chương trình ứng dụng. Việc mô tả những đặc điểm này không quan trọng, hơn nữa phần này chỉ quan tâm đến những dữ liệu điển hình cho quan hệ và phải dịch đúng đắn sang loại có thể áp dụng được cho các đoạn. Kết quả của công việc thiết kế được dùng khi phân đoạn, những dữ liệu này phải nhận biết bởi các cách phân đoạn khác nhau khi thiết kế. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 20
  22. Hệ cơ sở dữ liệu phân tán 1.Đối tượng thiết kế của cơ sở dữ liệu phân tán Trong thiết phân tán dữ liệu, những đối tượng sau đây được quan tâm: Tiến trình địa phương: phân tán dữ liệu để cực đại hoá tiến trình địa phương hay tăng thời gian bộ xử lý trung tâm cho tiến trình địa phương tương ứng với nguyên tắc là đơn giản hoá công việc: đặt dữ liệu gần chương trình ứng dụng thường xuyên sử dụng dữ liệu đó. Thực hiện được tiến trình ở địa phương là mục đích chính của cơ sở dữ liệu phân tán. Cách đơn giản nhất để mô tả tiến trình địa phương là chú ý đến hai loại tham chiếu tới dữ liệu: tham chiếu địa phương và tham chiếu từ xa. Một vị trí cơ sở của chương trình ứng dụng đã xác định thì tính địa phương và tính biệt lập của công việc tham chiếu của chương trình đó chỉ phụ thuộc vào việc phân tán dữ liệu. Thiết kế phân tán dữ liệu để cực đại hoá tiến trình ở địa phương có thể thực hiện qua việc thêm vào một số tham chiếu địa phương và tham chiếu từ xa tương ứng với mỗi phân đoạn. Một cách mở rộng tầm quan trọng của việc tối ưu hoá là đưa vào một số mục tiêu khi chương trình ứng dụng có tính địa phương hoàn toàn. Thuật ngữ này để chỉ rõ những chương trình ứng dụng này có thể hoàn toàn thực hiện ở vị trí cơ sở. Tiện lợi chính của tính địa phương không chỉ hoàn toàn là việc giảm công việc truy cập từ xa mà bên cạnh đó cũng làm tăng tính đơn giản trong điều khiển thực hiện chương trình ứng dụng. Tính sẵn có và dễ hiểu của dữ liệu phân tán: Cấp độ cao của tính sẵn có đối với chương trình ứng dụng có thuộc tính chỉ đọc đạt được qua việc lưu trữ các bản sao của cùng một thông tin. Hệ thống phải chuyển sang một bản sao khác khi một bản sao nào đó truy cập ở điều kiện không bình thường hay bản sao đó không có sẵn. Tính dễ hiểu cũng đạt được khi lưu trữ nhiều bản sao của cùng một thông tin khi cho phép hồi phục từ những hỏng hóc hay từ những phá hủy về mặt vật lý của cùng một bản sao bằng cách dùng một bản sao khác (khi vẫn tồn tại các bản sao khác). Hỏng hóc trong máy tính thường là những sự kiện xảy ra mà không còn khả năng hồi phục lại. Như vậy việc đặt nhiều bản sao ở trên những vị trí địa lý rải rác khắp nơi là giải pháp hợp lý. Phân chia khối lượng công việc: Phân tán công việc cho những vị trí là đặc điểm quan trọng của hệ thống máy tính phân tán. Việc phân chia công việc cũng nhằm mục đích đạt được tiện lợi về khả năng hoặc tiện ích máy tính ở mỗi vị trí trên mạng và cũng để tăng cấp độ thực hiện song song của chương trình ứng dụng. Khi phân chia khối lượng công việc có thể ảnh hưởng xấu đến tiến trình xử lý địa phương và cần thiết cân nhắc đến lợi hại trong thiết kế dữ liệu phân tán. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 21
  23. Hệ cơ sở dữ liệu phân tán Giá cả thiết bị lưu trữ và tính sẵn có: Phân tán dữ liệu có thể phản ánh giá cả và tính sẵn có của thiết bị lưu trữ ở các vị trí khác nhau. Tuy nhiên có thể có những điểm đặc biệt trong mạng để lưu trữ dữ liệu hoặc có những điểm làm việc không cung cấp kho dữ liệu. Giá cả của thiết bị lưu trữ không thể thích hợp khi so sánh với CPU - đơn vị xử lý trung tâm, thiết bị vào ra và giá cả truyền thông của chương trình ứng dụng, do đó giới hạn tính sẵn có của thiết bị lưu trữ ở mỗi vị trí phải được cân nhắc. Sử dụng mọi tiêu chuẩn ở cùng một vị trí (cơ sở dữ liệu) là công việc rất khó khăn và dẫn tới mô hình tối ưu phức tạp. Có thể xem xét một vài đặc điểm trên đây như những ràng buộc. 2.Hướng thiết kế Top-dowwn và Bottom-up cơ sở dữ liệu phân tán Có hai phương pháp thiết kế là hướng thiết kế Top-dowwn và Bottom-up. Trong hướng thiết kế Top-down, bắt đầu bởi việc thiết kế sơ đồ tổng thể, tiếp tục thiết kế phân đoạn cơ sở dữ liệu và sau đó cấp phát các đoạn này cho các vị trí, tạo hình ảnh vật lý của dữ liệu. Hoàn thành hướng này qua việc thực hiện thiết kế vật lý dữ liệu để cấp phát cho dữ liệu. Đối với hệ thống phát triển từ những hệ thống hỗn tạp thì phương pháp này có sức hấp dẫn lớn vì nó cho phép thực hiện thiết kế dựa trên các giải pháp hợp lý theo từng trường hợp. Dùng thiết kế Bottom-up khi cơ sở dữ liệu phân tán được phát triển qua việc liên kết cơ sở dữ liệu đã có sẵn. Thực tế, trong trường hợp này sơ đồ toàn thể được được tạo ra bởi sự thoả hiệp giữa các loại mô tả dữ liệu có sẵn. Thậm chí có thể mỗi cặp cơ sở dữ liệu có sẵn không phụ thuộc việc kết hợp với nhau khi sử dụng sơ đồ giải thích. Tuy nhiên dẫn tới các hệ thống trong khái niệm khác nhau về kiến trúc tham chiếu. Khi cơ sở dữ liệu có sẵn được liên kết với nhau thành cơ sở dữ liệu phân tán, các cơ sở dữ liệu này có thể dùng hệ quản trị cơ sở dữ liệu địa phương ở vị trí đó. Để hệ thống đồng bộ cần có thêm một số việc phức tạp như đồng bộ dữ liệu cần phải giải thích giữa các mẫu cơ sở dữ liệu khác nhau. Trong trường hợp này có thể tạo bản giải thích 1:1 giữa hai hệ quản trị cơ sở dữ liệu địa phương. Trong thực tế hầu hết các hệ thống đồng bộ đều sử dụng hướng thiết kế này để ra chọn mô hình dữ liệu thông thường và sau đó chuyển sang mẫu cơ sở dữ liệu duy nhất đối với sơ đồ khác nhau trong hệ quản trị cơ sở dữ liệu. Nói chung các yêu cầu của thiết kế Bottom-up gồm: -Chọn mô hình cơ sở dữ liệu thông thường để thiết kế lược đồ toàn bộ của cơ sở dữ liệu. -Dịch chuyển mỗi lược đồ địa phương sang mô hình dữ liệu thông thường. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 22
  24. Hệ cơ sở dữ liệu phân tán -Tích hợp sơ đồ địa phương sang sơ đồ toàn bộ thông thường. Vì vậy thiết kế theo hướng Bottom-up đòi hỏi giải quyết một số vấn đề không đặc biệt đối với cơ sơ dữ liệu phân tán nhưng cũng tồn tại trong hệ thống tập trung. II.THIẾT KẾ PHÂN ĐOẠN CƠ SỞ DỮ LIỆU H ầu hết các hệ cơ sở dữ liệu phân tán được tạo mới cho nên chúng ta chỉ đề cập đến thiết kế theo hướng Top down. Thiết kế phân đoạn là công việc đầu tiên phải giải quyết trong thiết kế Top-down cơ sở dữ liệu phân tán. Mục đích của việc phân đoạn để nhận ra những đoạn không trùng nhau (đoạn như vậy được gọi là đơn vị cấp phát logíc). Rõ ràng, các bộ hoặc các thuộc tính của quan hệ không thể được xem như một đơn vị cấp phát vì sẽ làm cho việc cấp phát trở lên phức tạp hơn. Thiết kế phân đoạn bao gồm công việc nhóm các bộ trong trường hợp phân đoạn ngang hay nhóm các thuộc tính trong trường hợp phân đoạn dọc có cùng đặc tính theo quan điểm cấp phát. Mỗi nhóm các bộ hoặc thuộc tính có cùng đặc tính hay tính chất để thành lập một đoạn. Ý cơ bản là nếu bất cứ hai đơn vị cấp phát nào của cùng một đoạn thì có cùng đặc tính theo quan điểm cấp phát. Mỗi cách thức dùng để cấp phát dữ liệu sẽ chọn lựa các đoạn này với nhau. Vì vậy các đoạn hình thành nhờ các phương pháp này tạo ra các đơn vị cấp phát khác nhau. Điểm chú ý ở trong công việc phân đoạn là vị trí cơ sở của mỗi chương trình ứng dụng phải thích hợp để nhận biết đặc tính địa phương đối với công việc xác định vị trí thích hợp của đoạn . Vì vậy cần quan niệm rằng chương trình ứng dụng thực hiện ở nhiều vị trí khác nhau có vai trò như các chương trình ứng dụng khác nhau thậm chí ngay cả khi chúng thực hiện cùng chức năng. Tiếp theo là mô tả công việc phân đoạn ngang, phân đoạn dọc và phân đoạn hỗn hợp (chéo độc lập). 1.Phân đoạn ngang Công việc xác định cách thức phân đoạn ngang của cơ sở dữ liệu là vấn đề có đặc tính logic của dữ liệu, vị từ phân đoạn, thống kê đặc tính của dữ liệu, số lượng chương trình ứng dụng tham chiếu đến các đoạn và tổ chức của mặt nào đó về mặt vật lý và thống kê. Phân đoạn cơ sở: phân đoạn ngang cơ sở được tìm ra khi sử dụng phép chọn quan hệ. Tính đúng đắn của phân đoạn ngang cơ sở đòi hỏi mỗi bộ của quan hệ được chọn vào một và chỉ một đoạn. Vì vậy việc xác định phân đoạn ngang cơ sở của một quan hệ yêu cầu xác định một tập các vị từ chọn ra Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 23
  25. Hệ cơ sở dữ liệu phân tán không liên kết hoặc hoàn toàn liên kết. Yêu cầu đối với mỗi đoạn là các thành phần của nó phải tham chiếu đồng đều bởi chương trình ứng dụng. Giả sử R là một quan hệ cần thiết để tạo ra phân đoạn ngang cơ sở. Phải xác định: 1.Vị từ đơn giản là vị từ có dạng. Thuộc_tính = giá_trị 2.Vị từ minterm y đối với một tập P của những vị từ đơn giản là mối liên hệ giữa mọi vị từ xuất hiện trong P, có thể kiểu liên kết này là khẳng định hay phủ định nhưng không mâu thuẫn nhau. Vì vậy: * y = Λpi∈ p pi * * với pi = p, pi = NOT pi và y ≠ false. 3.Đoạn là một tập các bộ mà vị từ minterm nắm giữ được. 4.Một vị từ đơn pi thích hợp với mối quan hệ trong tập P mà biểu thức của các vị từ chỉ khác trong vị từ pi (biểu thức xuất hiện trong dạng khẳng định trong một số trường hợp và phủ định ở một số trường hợp khác).Vì vậy các đoạn tương đương được tham chiếu theo nhiều cách bởi ít nhất một chương trình ứng dụng. 2. Các phân đoạn ngang suy diễn Các phân đoạn ngang suy diễn sau khi phân đoạn ngang của quan hệ R không dựa trên cơ sở đặc tính của các thuộc tính nhưng tạo ra được từ phân đoạn ngang của quan hệ khác. Các phân đoạn ngang suy diễn để thuận tiện khi tạo mối liên kết giữa các đoạn. Mối liên kết phân tán là liên kết giữa các quan hệ được phân đoạn ngang. Khi chương trình ứng dụng yêu cầu liên kết giữa hai quan hệ R và S thì mọi bộ của R và S cần được so sánh với nhau. Vì vậy theo nguyên tắc, cần phải so sánh mọi đoạn Ri của R với mọi đoạn Sj của S. Tuy nhiên một số trường hợp có thể suy diễn một số liên kết bộ phận Ri JN Sj là rỗng bên trong. Đối với việc phân tán dữ liệu, trường hợp này xảy ra khi giá trị của thuộc tính liên kết ở đoạn Ri và Sj không liên kết với nhau. Mối liên kết phân tán thể hiện hiệu quả khi sử dụng mô hình liên kết. Mô hình liên kết G của liên kết phân tán R JN S là mô hình (N,E) khi nút N thể hiện đoạn của R và S và biên không trực tiếp giữa hai nút biểu hiện liên kết giữa hai đoạn không rỗng bên trong. Để đơn giản hóa, không chứa trong N các đoạn của R hay S. Một số ví dụ về mô hình liên kết: R1 R1 S1 S1 R2 S R2 24 Khoa CNTT ĐH KHTN ĐH Quốc 2Gia Hà Nội S 2 Trang R3 R3 S3
  26. Hệ cơ sở dữ liệu phân tán Có thể nói rằng mỗi mô hình liên kết là toàn bộ khi mô hình này gồm mọi biên có thể giữa các đoạn của R và S. Liên kết giảm khi không có số biên giữa các đoạn của R và các đoạn của S. Hai kiểu giảm liên kết đặc biệt thích hợp là: -Giảm mô hình liên kết bộ phận nếu mô hình được tạo thành từ hai hay nhiều mô hình con không có biên giữa chúng. -Giảm mô hình liên kết đơn giản nếu nó là bộ phận và mỗi mô hình liên kết con có một biên. Xác định liên kết có trong mô hình liên kết đơn giản là quan trọng trong thiết kế cơ sở dữ liệu. Mỗi cặp đoạn được liên kết với nhau bởi biên, trong mô hình liên kết đơn lẻ có một tập giá trị của các thuộc tính kết nối. Vì vậy có khả năng xác định cách phân đoạn và cấp phát của quan hệ toán hạng giữa R và S, và mô hình liên kết đơn giản và tương xứng với các đoạn được cấp phát ở cùng một vị trí. Sau đó liên kết được thực hiện trong các cách phân tán qua các cặp liên kết địa phương của các đoạn và tiếp theo lựa chọn kết quả liên kết bộ phận này. Vì vậy quan trọng để thiết kế cơ sở dữ liệu phân tán cho các mối liên kết được thực hiện thường xuyên qua mô hình liên kết cơ bản. Xem xét cách phân đoạn tìm được trong mối liên hệ này: quan hệ R có các đoạn là Ri tìm được từ cách phân đoạn của S qua liên kết phụ: Ri = R SJF Sj 3.Phân đoạn dọc: Xác định phân đoạn dọc của quan hệ R là chia nhóm các thuộc tính thành tập các thuộc tính để các chương trình ứng dụng tham chiếu đến. Tuy nhiên phải phân biệt vấn đề chia phần theo chiều dọc và theo cách này các tập không liên kết với nhau từ những vấn đề chia nhóm theo chiều ngang. Điều kiện đúng đối với việc chia theo chiều ngang là đòi hỏi mỗi thuộc tính của quan hệ R phải ít nhất thuộc về một tập mà mỗi tập gồm có khoá của R hoặc một tập các minh chứng. Mục đích của việc phân đoạn dọc là nhận ra các phân đoạn Ri, như vậy nhiều chương trình ứng dụng có thể được thực hiện thao tác trên dữ liệu mà chỉ cần sử dụng một đoạn. Ví dụ, xem quan hệ R được phân đoạn dọc thành R1 và R2. Chương trình ứng dụng thích hợp với phân đoạn dọc nếu các chương trình này có thể thực hiện qua việc sử dụng một trong hai đoạn R1 và R2. Tuy nhiên nếu chương Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 25
  27. Hệ cơ sở dữ liệu phân tán trình ứng dụng yêu cầu cả hai đoạn R1 và R2 thì cách phân đoạn dọc không có lợi ích vì cần phải thêm một liên kết t vào để yêu cầu tạo lại quan hệ. Tiêu chuẩn này cũng áp dụng cho cơ sở dữ liệu phân tán. Trong cơ sở dữ liệu phân tán, tiện lợi của việc phân đoạn dọc khi nhiều chương trình ứng dụng sử dụng R1 và nhiều chương trình ứng dụng sử dụng R2 ở các vị trí khác nhau. Theo cách này đặt quan hệ R ở một vị trí có thể xung đột giữa các chương trình ứng dụng khi cùng truy cập vào. Công việc xác định cách phân đoạn cho quan hệ R không dễ dàng vì số lượng những phần có khả năng phát triển có thể kết hợp với số lượng các thuộc tính của quan hệ R và số lượng các bó có khả năng lớn thêm. Vì vậy thể hiện của quan hệ lớn, theo hướng tiếp cận heuristic cần thiết để xác định các phần hay các nhóm thuộc tính để phân chia hợp lý. Có hai cách phân chia các thuộc tính: -Hướng chia từ trên xuống: quan hệ được liên tục chia thành các đoạn (không chọn lọc). -Hướng nhóm từ dưới lên: các thuộc tính liên kết để tạo thành các đoạn (có chọn lọc). C ả hai hướng có thể được phân loại riêng rẽ như dãy heuristic, các đoạn này được sử dụng để chuyển sang đánh dấu mỗi công việc lặp lại khả năng lựa chọn tốt nhất. Trong cả hai trường hợp sử dụng công thức báo hiệu khả năng chia hay hợp tốt nhất. Một số kiểu lùi có thể được dùng để thử chuyển thuộc tính từ tập thuộc tính này sang tập thuộc tính còn lại để chia tiếp. Nhóm các thuộc tính theo chiều dọc đưa ra bản lặp một số thuộc tính trong các đoạn qua việc đánh đấu mỗi khả năng chọn tốt nhất những công việc lặp lại. Bản lặp lại có ảnh hưởng khác nhau đến chương trình ứng dụng có thuộc tính chỉ đọc và cập nhật. Chương trình ứng dụng có thuộc tính chỉ đọc có lợi thế của bản lặp lại vì các chương trình này làm công việc giống như tham chiếu đến dữ liệu ở địa phương. Đối với chương trình úng dụng có thuộc tính chỉ cập nhật, tạo bản lặp lại không thích hợp khi các chương trình này cập nhật mọi bản sao để bảo đảm tính đúng đắn. 4.Phân đoạn hỗn hợp: Cách đơn giản nhất để phân đoạn hỗn hợp gồm có : -Áp dụng phân đoạn ngang cho các đoạn phân chi theo chiều dọc. -Áp dụng phân đoạn dọc cho các đoạn phân chi theo chiều ngang. Mặc dù các công việc này có thể lặp lại, tạo ra cây phân đoạn phức tạp nào đó, có nghĩa là có hai hay nhiều cấp phân đoạn sinh ra trong thực tế. Hai vấn đề trên cho phép cả hai cách phân đoạn được xem xét mỗi quan hệ và vì Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 26
  28. Hệ cơ sở dữ liệu phân tán vậy không đạt được tiện lợi cần thiết. Cách phân đoạn lần thứ hai có thể áp dụng cho đoạn con từ cách phân đoạn thứ nhất. III.CẤP PHÁT CHO CÁC ĐOẠN: Cách dễ nhất thực hiện công việc cấp phát file là xem mỗi đoạn như một file riêng rẽ. Tuy nhiên cách này không thích hợp do ba lý do: -Các đoạn không mô hình hóa thích hợp như các file riêng rẽ vì các đoạn không có cấu trúc như file dẫn đến khó tác động đến đoạn. -Số đoạn nhiều hơn quan hệ cơ sở như vậy nhiều mô hình phân tích không tính toán được giải pháp cho vấn đề này. -Mô hình hóa tác động chương trình ứng dụng với hệ thống file rất đơn giản trong khi chương trình ứng dụng ở cơ sở dữ liệu phân tán có thể tạo cách sử dụng dữ liệu dễ dàng. Một số vấn đề này hiện chưa được giải quyết thỏa đáng, ví dụ như vấn đề thứ 3 đặc biệt khó vì đòi hỏi phải tối ưu chương trình ứng dụng, tái tạo lại quan hệ và nhiều tính toán phức tạp. 1.Các chuẩn thông thường của công việc cấp phát cho các đoạn: Trong các công việc cấp phát cho các đoạn, quan trọng phân biệt được thiết kế cấp phát cho các đoạn dư thừa hay không dư thừa. Cách dễ nhất là hướng “phù hợp nhất”: tiêu chuẩn vị trí kết hợp với khả năng cấp phát cho các đoạn. Hướng này không quan tâm đến ảnh hưởng qua lại của việc đặt một đoạn ở vị trí những đoạn liên quan cũng đặt ở vị trí đó. Bản lặp lại các đoạn làm phức tạp công việc thiết kế hơn vì: -Cấp độ những bản sao của mỗi đoạn thích hợp với vấn đề có thể thay đổi thiết kế. -Mô hình hóa chương trình ứng dụng có thuộc tính chỉ đọc bị làm phức tạp bởi thực tế chương trình ứng dụng có thể chọn một trong số vài vị trí khác nhau để truy cập đến các đoạn. Để xác định cấp phát đoạn dư thừa thì phải dùng hai cách thức sau: -Xác định nhóm mọi vị trí có lợi ích dụng cấp phát đoạn và cấp phát bản sao của đoạn cao hơn chi phí và cấp phát các bản sao của đoạn cho các vị trí thành phần của nhóm này. Cách này có nghĩa là lựa chọn các vị trí có lợi nhất. -Đầu tiên xác định giải pháp của bài toán cấp phát không sao lại các đoạn và sau đó tiếp tục sao lại các bảo sao bắt đầu từ nơi có tính chất lợi ích nhất. Tiến trình này được kết thúc khi bản sao không có lợi. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 27
  29. Hệ cơ sở dữ liệu phân tán Cả hai phương pháp có một số nhược điểm. Trong phương pháp mọi vị trí có lợi nhất đánh giá chi phí và lợi ích cơ bản cho việc cấp phát các đoạn riêng rẽ hơn trường hợp không dư thừa vì không quan tâm đến tác động qua lại khi cấp phát những bản sao khác nhau của cùng một đoạn. Phương pháp thêm bản lặp lại là hướng tiếp cận theo heuristic theo cách này có thể đưa vào nguyên nhân tăng mức độ dư thừa ít hơn phương pháp tốt nhất. Cả hai tính sẵn có và tính dư thừa của hệ thống tăng nếu có hai bản sao của mỗi đoạn nhưng những bản sao sau này ít tăng theo tỉ lệ. 2.Đánh giá mức độ quan trọng về giá trị và lợi ích của công việc cấp phát đoạn: Công thức đơn giản để đánh giá giá trị và lợi nhuận của công việc cấp phát đoạn cho quan hệ R. nkj = Γkj + υki Với: i là đoạn index và J là vị trí index. ∫kj tần xuất sử dụng của chương trình ứng dụng k tại vị trí j. Γkj là số lượng tham chiếu có tính chất hồi phục của chương trình ứng dụng k sang đoạn j. υkj số lượng tham chiếu có thuộc tính cập nhật của chương trình ứng dụng k sang đoạn i; Đối với phân đoạn ngang: -Sử dụng hướng phân đoạn phù hợp nhất đối với cấp phát không lặp lại: đặt đoạn R ở vị trí có số lượng chương trình ứng dụng tham chiếu đến đoạn R lớn nhất. Đánh giá số lượng tham chiếu của các chương trình ứng dụng ở địa phương tới đoạn Ri ở vị trí j được tính theo công thức tổng các tham chiếu hồi phục với tần xuất sử dụng: Bij = Σk ∫kj. Γkj Bij số lượng tham chiếu của các chương trình ứng dụng. Đoạn Rj được đặt tại vị trí j* với Bỵi* cực đại (j*là vị trí lựa chọn) . -Sử dụng phương pháp đặt đoạn ở mọi vị trí có lợi nhất đối với công việc cấp phát các bản sao: đặt đoạn Rj ở các vị trí j có chi phí tham chiếu, hồi phục của chương trình lớn hơn chi phí tham chiếu cập nhật đến đoạn Ri từ chương trình ở các vị trí khác. Biểu thức đánh giá tính như sau: Bi j =Σk ƒ k j . Γk i - C. Σk Σj’ ≠ j ƒk j’ uk i Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 28
  30. Hệ cơ sở dữ liệu phân tán Với C là hằng số, hằng số này là tỷ lệ giữa chi phí loại truy cập để cập nhật và loại chi phí để hồi phục . Truy cập mang tính cập nhật đắt hơn khi yêu cầu số lượng lớn thông báo điều khiển và thực hiện nhiều công việc của chương trình ứng dụng ở địa phương ( vì vậy C ≥ 1). Đoạn Ri được cấp phát ở mọi vị trí j*với biểu thức đánh giá Bi j* với giá trị tuyệt đối. Bản sao của đoạn Ri được cấp phát ở vị trí với biểu thức đánh giá Bi j lớn nhất. 3.Sử dụng phương pháp thêm bản Ri đối với cách phân đoạn lặp lại. Chỉ có thể đo lợi ích đặt bản sao của đoạn Ri trong giới hạn khả năng tăng và khả năng sẵn có của hệ thống. Khi bắt đầu công việc cấp phát, lợi ích này không tăng tỷ lệ với độ dư thừa của đoạn Ri. Giả sử di tương đương với cấp độ dư thừa của đoạn Ri và giả sử Fj tương đương với lợi ích với việc có đoạn Rj đầy lặp lại đủ ở mỗi vị trí. Hàm β(di) đo lợi ích này: 1-di β(di) = ( 1 - 2 )Fi Chú ý β( 1 ) = 0, β ( 2 ) = Fi/2, β( 3 ) = 3Fi. Sau đó tính toán lợi ích của việc rút ra bản sao mới của Ri ở vị trí j qua việc thay đổi công thức ở trường hợp 2 như sau: Bi j =Σk ƒ k j . Γk i - C. Σk Σj’ ≠ j ƒk j’ uk i + β(di) Đánh gía số lượng tham chiếu đến phân đoạn theo chiều ngang: Để đo lợi ích của các phần phân đoạn ngang của đoạn Ri đặt ở vị trí thành hai đoạn Rs và Rt đặt ở vị trí r và vị trí t. Xem xét các tập sau đây: -Có hai nhóm chương trình ứng dụng As và At sử dụng thuộc tính chỉ từ Rs và Rt đoạn của chương trình ứng dụng xử lý ở vị trí s và t và đưa ra ở vị trí địa phương s và t, mối liên quan giữa các chương trình ứng dụng này là đều tham chiếu từ xa. -Có một tập At chương trình ứng dụng tại vị trí r và chỉ sử dụng các thuộc tính của Rs hoặc Rt. Các chương trình ứng dụng này cần tạo ra một tham chiếu địa phương từ xa. -Có một tập A2 chương trình ứng dụng tại vị trí r và sử dụng cả các thuộc tính của Rs và Rt. Các chương trình ứng dụng này cần tạo ra hai tham chiếu địa phương từ xa. -Có một tập A3 chương trình ứng dụng ở các vị trí khác nhau r, s và t tham chiếu đến cả hai đoạn Rs và Rt. Các chương trình ứng dụng này cần tạo một tham chiếu địa phương từ xa Đo lợi ích này theo công thức sau: Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 29
  31. Hệ cơ sở dữ liệu phân tán Btst = Σ k∈A sƒksnki + Σ k∈Atƒktnki - Σ k∈A1ƒkrnki + 2 Σ k∈A2 . ƒkrnki + Σ k∈A3Σk∉ r, s, tƒkjnki Để đơn giản hoá, công thức này đếm số lượng các lần truy cập. Phân biệt truy cập hồi phục và cập nhật đưa vào tài khoản các giá trị khác nhau, các giá trị này không hiệu quả khi dùng (rk i + C . uki) thay vì nk i. Công thức này có thể sử dụng trong thuật toán chia nhỏ để xác định có chia Ri ở vị trí i vào đoạn Rsở vị trí s và đoạn Rt ở vị trí t thích hợp qua việc thử mọi khả năng kết hợp của vị trí s và t chú ý trường hợp khi r = s hay r = t. Nhóm theo các thuộc tính chiều dọc: Đo lợi ích của việc nhóm các thuộc tính của đoạn Ri j theo chiều dọc ở vị trí r thành hai đoạn đặt ở vị trí s và t với thuộc tính lặp là I. Việc nhóm đòi hỏi các nhóm chương trình ứng dụng tương đương đưa ra từ các phần theo chiều ngang: +As gồm các chương trình ứng dụng đặt ở vị trí s vì các chương trình này: -Đọc các thuộc tính của đoạn Rs hoặc -Cập nhật các thuộc tính của Rs không lặp lại ở thuộc tính lặp I cũng như đối vơí As. +As gồm các chương trình ứng dụng có thuộc tính chỉ đọc một cách hình thức đặt vào vị trí R một thao tác truy cập vào thuộc tính lặp I thì thao tác này truy cập đến cả hai đoạn Rs và Rt +As gồm các chương trình ứng dụng ở các vị trí khác r,s hay t cập nhật vao thuộc tính I thì phải truy cập đến cả hai đoạn Rs và Rt Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 30
  32. Hệ cơ sở dữ liệu phân tán CHƯƠNG III XÂY DỰNG MỘT HỆ CƠ CỞ DỮ LIỆU TRONG KẾ TOÁN TÀI CHÍNH I.YÊU CẦU Một trong những điều quan trọng đảm bảo cho kinh doanh thành công là có hệ thống kế toán. Hệ thống kế toán giúp cho các nhà doanh nghiệp, người đầu tư, người quản lý thấy rõ được thực chất của quá trình kinh doanh qua số liệu cụ thể, chính xác, khách quan và khoa học. Kế toán được coi là hoạt động có tính dịch vụ. Chức năng của kế toán là đo lường các hoạt động kinh doanh bằng cách lưu trữ các số liệu để sử dụng trong tương lai và qua xử lý để đưa thông tin hữu ích cho những người quyết định cũng như những người có quyền lợi trong hoạt động kinh doanh. Thông tin đó phải có bản chất tài chính và có mục dích sử dụng trong quả trình ra các quyết định kinh tế. Các báo cáo kế toán được dùng để mô tả hoạt động và thực trạng tài chính của các loại hình tổ chức khác nhau. Tổ chức này trong cả lĩnh vực kinh tế quốc doanh và kinh tế ngoài quốc doanh. Có thể nói đầu vào của hệ thống kế toán là các số liệu về hoạt động kinh doanh và đầu ra của hệ thống kế toán là thông tin hữu ích cho người làm quyết định. 1.Kế toán tài chính và kế toán quản trị Kế toán là hệ thống thông tin đo lường, xử lý và truyền đạt các thông tin cần thiết cho việc làm quyết định. Tuy nhiên cũng có hai khái niệm kế toán quản trị và kê toán tài chính. Nói đến kế toán quản trị là tất cả các loại thông tin kế toán đã được đo lường xử lý và truyền đạt để sử dụng trong quản trị nội bộ của cơ sở kinh doanh. Kế toán tài chính cung cấp thông tin kế toán ngoài việc sử dụng trong việc quản trị nội bộ của cơ sở kinh doanh còn có thể để cho người ngoài cơ sở kinh doanh sử dụng. Quyết định Người làm quyết định Hoạt động Nhu cầu thông tin Thông tin kinh T doanh Kế toán Đolường Xử lý Thông tin Thực hiện Thực hiện qua Thực hiện qua qua tính lưu trữ và lập báo cáo toán báo cáo Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 31
  33. Hệ cơ sở dữ liệu phân tán Thông tin kế toán và việc làm quyết định Thông tin do kế toán cung cấp làm nền tảng của những quyết định kinh tế quan trọng cho cả bên trong cũng như bên ngoài đơn vị kinh doanh. Vì thế thông tin kế toán là một công cụ cũng như hầu hết các công cụ khác cho nên người làm kế toán phải cung cấp thông tin để - mọi người có thể sử dụng được dù người đó chuyên nghiệp hay không chuyên nghiệp. Kế toán cung cấp thông tin để thực hiên ba chức năng sau: lập kế hoạch, kiểm tra thực thi kế hoạch và đánh giá thực hiện kế hoạch. 2.Những người sử dụng hệ thống thông tin kế toán: a)Ban lãnh đạo doanh nghiệp: Ban lãnh đạo doanh nghiệp là nhóm người trong một cơ sở kinh doanh có trách nhiệm điều hành và thực hiện các mục tiêu của cơ sở kinh doanh. Trong một cơ sở kinh doanh nhỏ, ban lãnh đạo gồm có những người chủ của cơ sở kinh doanh này. Trong cơ sở kinh doanh lớn, ban lãnh đạo gồm các nhà quản lý được thuê mướn. Mục tiêu của các cơ sở kinh doanh thường phức tạp và khác nhau. Các mục tiêu này nhằm đạt được mức lợi nhuận cao có thể đạt được, cung cấp hàng hoá và dịch vụ có chất lượng với giá thấp, tạo ra các sản phẩm mới, tạo ra nhiều công ăn việc làm cho mọi người, cải thiện môi trường và hoàn thành nhiều công việc. Muốn đạt được các mục tiêu này thì đơn vị kinh doanh phải kinh doanh có lãi với môi trường kinh doanh có tính cạnh tranh cao. Như vậy mục tiêu đặt ra cho người lãnh đạo phải chú ý vào hai mục tiêu quan trọng: khả năng tạo lợi nhuận và khả năng thanh toán công nợ. Khả năng tạo lợi nhuận là khả năng kiếm đủ lợi nhuận để thu hút và duy trì vốn kinh doanh. Khả năng thanh toán công nợ là khả năng tạo sẵn tiền để trả nợ khi hết hạn thanh toán. Các nhà quản lý thường quyết định phải làm gì, làm như thế nào và đánh giá kết quả đạt được có đúng với kế hoạch ban đầu hay không. Các công việc đó phải trên cơ sở thông tin có giá trị và kịp thời. Phần lớn những quyết định này dựa trên số liệu thông tin kế toán và sự phân tích các số liệu này. Do đó ban lãnh đạo là một trong những thành phần sử dụng thông tin kế toán quan trọng nhất và nhiêm vụ của kế toán là cung cấp cho ban lãnh đạo thông tin cần thiết và hữu ích. Các nhà đầu tư hiện tại hoặc tương lai: Những người đang dự tính đầu tư vào một cơ sở kinh doanh và những nhà phân tích tài chính làm cố vấn cho các nhà đầu tư đều quan tâm đến kết quả thu được cả trong quá khứ và tiềm năng tạo lợi nhuận trong tương lai của cơ sở kinh doanh. Sau khi đầu tu các nhà đầu tư phải luôn luôn theo đõi các thông tin này. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 32
  34. Hệ cơ sở dữ liệu phân tán b)Những người sử dụng thông tin kế toán (có quyền lợi trực tiếp về tài chính) Ngoài nhiệm vụ kể trên, kế toán còn phải hoạch toán và báo cáo kết quả hoạt động sản xuất kinh doanh của đơn vị kinh doanh đó. Hầu hết các cơ sở kinh doanh đều phát hành định kỳ một bộ báo cáo kế toán tổng quát, nêu rõ kết quả hoạt động kinh doanh nhằm mục tiêu tạo lợi nhuận và thanh toán công nợ. Các bản báo cáo kế toán này trình bày những công việc đã xảy ra và dùng làm hướng để phát triển trong tương lai. Những người ngoài cơ sở kinh doanh cũn6g dùng thông tin của các bản báo cáo này. Các chủ nợ hiên tại và tương lai: Hầu hết các công ty đều vay nợ để đáp ứng các nhu cầu ngắn hạn hay dài hạn. Các nhà chủ nợ cho vay tiền hoặc giao hàng hoá và cung cấp dịch vụ trước khi được thanh toán, đều quan tâm đến việc khả năng trả nợ của công ty khi hết hạn và tiền lời thu được. Họ sẽ nghiên cứu khả năng thanh toán công nợ cũng như lưu lượng tiền mặt cùng với khả năng tạo ra lợi nhuận của công ty đó. Các ngân hàng, công ty tài chính, công ty chứng khoán, công ty bảo hiểm, các nhà cung cấp, cá nhân và các cơ sở khác cho vay tiền đều muốn phân tích tình hình tài chính của một cơ sở kinh doanh trước khi cho cơ sở này vay tiền. c)Những người sử dụng thông tin kế toán có quyền lợi gián tiếp về tài chính: Xã hội nói chung, thông qua các viên chức nhà nước và các tổ chức công cộng, gần đây đã trở thành một trong những thành phần quan trọng sử dụng thông tin kế toán. Những thành phần cần thông tin kế toán để làm quyết định về những vấn đề công cộng gồm các cơ quan thuế vụ, cơ quan lập quy, các kế hoạch gia kinh tế và các thành phần khác. Các cơ quan thuế vụ: Các cơ quan chính quyền của Nhà nước được tài trợ bằng nguồn thu thuế. Có nhiều nguồn thu thuế, mỗi nguồn thu thuế có tờ khai thuế riêng và thường đòi hỏi một hồ sơ phức tạp kèm theo khi khai báo. Hiện tại có nhiều luật chi phối việc lập báo cáo kế toán để dùng vào việc tính thuế lợi tức. Các cơ quan lập quỹ: Hầu hết các cơ quan điều hợp ở cấp Nhà nước hoặc địa phương. Tất cả các công ty có đăng ký kinh doanh chứng quán đều phải báo cáo định kỳ. Các nhóm khác: Các cơ sở kinh doanh lớn nghiên cứu báo cáo của các cơ sở kinh doanh nhỏ để chuẩn bị cho các hợp đồng quan trọng. Việc tính toán để có được các Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 33
  35. Hệ cơ sở dữ liệu phân tán số liệu về doanh thu và chi phí thường rất quan trọng trong các cuộc thương lượng. Những người cố vấn cho các nhà đầu tư và các chủ nợ cũng có mối quan tâm gián tiếp đến khả năng tài chính và phát triển của cơ sở kinh doanh đó. Trong những người cố vấn có những người phân tích và các cố vấn tài chính, người môi giới buôn bán, các công ty bảo hiểm, luật sư và báo cáo về tài chính. Nhóm tiêu thụ, khách hàng và nhân dân nói chung ngày càng quan tâm nhiều hơn về khả năng tài chính và thu nhập của công ty cũng như hậu quả của công ty gây ra như lạm phát, vấn đề xã hội và giá trị của đời sống. Theo mô hình nghiệp vụ của tổ chức kinh doanh nói chung, chương trình này phân nhóm người tác động đến hệ thông kế toán này: Các đối tác: là người mua hàng của cơ sở kinh doanh thông qua các đơn yêu cầu,hoá đơn thanh toán, phiếu giao nhận hàng và người cung cấp hàng hoá cho cơ sở kinh doanh này. Ngân hàng: là nơi cơ sở kinh doanh mở tài khoản và có các hoạt động như gửi tiền, rút tiền, chuyển khoản với các đối tác và các hoạt động nội bộ của công ty đó. Chủ doanh nghiệp hay chủ cơ sỏ kinh doanh và các đối tượng sử dụng thông tin kế toán: đây là các đối tượng bên ngoài hệ thống kế toán nhưng sử dụng thông tin kế toán để đưa ra quyết định. Bộ phận theo dõi đơn hàng: bộ phận này quản lý các đơn hàng tập trung các đơn hàng lại để tạo thông tin tác động để hệ thống hoạt động. Bộ phận theo dõi khách hàng và ngân hàng: thông tin của bộ phận này quan trọng đối với các giap dịch của doanh nghiệp hay cơ sở kinh doanh vì nó là cơ sở cho các hoạt động mua bán, chuyển khoản 3.Nghiệp vụ kinh tế phát sinh là đối tượng của đo lường trong kế toán tài chính: Nghiệp vụ kinh tế phát sinh là những sự kiện kinh tế có ảnh hưởng đến tình hình tài chính của một cơ sở kinh doanh. Các cơ sở kinh doanh có thể có nhiều nghiệp vụ kinh tế phát sinh mỗi ngày. Các nghiệp vụ kinh tế phát sinh dùng để tạo ra các bản báo cáo kế toán. Một nghiệp vụ kinh tế phát sinh có thể liên quan đến những trao đổi về giá trị như việc mua bán, chi trả, thu nợ hoặc vay mượn giữa hai hay nhiều bên. Một nghiệp vụ kinh tế phát sinh cũng có thể là một sự kiện kinh tế không có tính chất trao đổi nhưng có cùng kết quả như một nghiệp vụ kinh tế phát sinh có tính chất trao đổi. Thước đo bằng tiền: Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 34
  36. Hệ cơ sở dữ liệu phân tán Tất cả các nghiệp vụ kinh tế phát sinh được ghi chép bằng tiền gọi là thước đo bằng tiền. Nhưng những số liệu có đặc tính phi tài chính có thể ghi chép bằng ngoại tệ tính theo giá trị cảu các nghiệp vụ kinh tế và các hoạt động của doanh nghiệp. Tiền tệ là yếu tố chung nhất đối với tất cả các nghiệp vụ kinh tế phát sinh và như vậy nó là đơn vị đo lường duy nhất có thể tạo được dữ liệu tài chính giống nhau để có thể so sánh được. Thông tin các báo cáo lấy từ sổ nhật ký cái và sổ nhật ký tổng quát. Các nghiệp vụ kinh tế phát sinh được ghi vào sổ nhật ký tổng quát được tóm lược như sau: -Ghi ngày, tháng, năm của sự kiện kinh tế phát sinh. -Viết đúng tên của các tài khoản ghi nợ và ghi có trong cột diễn giải. Chọn loại mã tài khoản cấp một, tài khoản cấp hai của tài khoản và ghi vào nhật ký tổng quát. -Ghi loại của tài khoản để dễ tính tổng tài khoản khi viết tàI khoản vào sổ cái. -Ghi số tiền tương đương với nghiệp vụ kinh tế phát sinh. Từ các nghiệp vụ kinh tế phát sinh phải tổng kết thông tin và ghi vào sổ cái. Ghi các thông tin của các tài khoản có các nghiệp vụ kinh tế phát sinh trong tháng như mã tài khoản, tên tài khoản,. Ghi số tiền tương ứng với mỗi tài khoản cấp hai. Cách tính số tiền tương ứng với mỗi tài khoản là tính tổng lượng tiền trong các nghiệp vụ kinh tế phát sinh trong tháng. Đối với tài khoản cấp một có số tiền dư bằng tổng số tiền dư của các tài khoản cấp hai thuộc loại tài khoản cấp một. Nguyên tắc tạo ra báo cáo là các báo cáo được tạo ra theo tháng và có thể tạo ra ngày cuối tháng hay ngày nào đó sau tháng cần làm báo cáo. 4.Nguyên tắc thiết kế hệ thống Trong việc thiết kế hệ thống kế toán, điều quan trọng là phải dựa vào bốn nguyên tắc chung: nguyên tắc lợi hại, nguyên tắc kiểm soát, nguyên tắc đồng bộ và nguyên tắc linh động. Nguyên tắc lợi hại: theo nguyên tắc này thì giá trị hoăc lợi ích mà thông tin do hệ thống cung cấp phải bằng hoặc lớn hơn chi phí sử dụng hệ thống đó. Ngoài những công việc thông thường của hệ thống kế toán như lập bảng lương, kê khai thuế, lập báo cáo kế toán và duy trì công tác nội kiểm, ban lãnh đạo có thể được cung cấp các thông tin khác. Các thông tin này phải trung thực, kịp thời và có ích cho ban lãnh đạo. cần phải cân nhắc giữa các lợi ích Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 35
  37. Hệ cơ sở dữ liệu phân tán của các thông tin này và các chi phí hữu hình và vô hình được sử dụng trong việc sử dụng thông tin đó. Trong các chi phí hữu hình có chi phí về nhân viên và thiết bị. Một trong những chi phí vô hình là chi phí do quyết định sai lầm vì thiếu thông tin chính xác. Nguyên tắc kiểm soát: Nguyên tắc kiểm soát đòi hỏi hệ thống kế toán phải cung cấp các quy định then chốt của công tác kiểm tra nội bộ để bảo vệ tài sản và bảo đảm được mức độ trung thực của số liệu. Nguyên tắc đồng bộ: Nguyên tắc đồng bộ chủ trương rằng việc thiết kế một hệ thống kế toán phải hài hoà với các yếu tố tổ chức và nhân sự của doanh nghiệp. Một tổ chức gồm nhiều người làm nhiều việc khác nhau và trong các nhóm khác nhau. Các yếu tố tổ chức liên quan đến nhiều loai doanh nghiệp của tổ chức và các bộ phận khác nhau của doanh nghiệp đó chính thức liên kết với nhau theo phương cách nào đó để hoàn thành công việc. Nguyên tắc linh động: nguyên tắc linh động đòi hỏi hệ thống kế toán phải đủ mềm dẻo để sau này phát triển các nghiệp vụ kinh tế và thực hiện các thay đổi về tổ chức của doanh nghiệp. Các doanh nghiệp không bao giờ giữ nguyên tình trạng ban đầu mà luôn luôn phát triển, tạo thêm sản phẩm mới , mở thêm chi nhánh mới hoặc thực hiện những thay đổi khác đòi hỏi phải có sự điều ch ỉnh trong hệ thống kế toán. Một hệ thống kế toán được thiết kế phải cho phép doanh nghiệp phát triển và thay đổi mà không có sự điều chỉnh đáng kể. Chẳng hạn như hệ thống tài khoản phải thiết kế sao để có chỗ thêm các tài khoản mới về tài sản, nợ phải trả, vốn chủ sở hữu, doanh thu hoặc chi phí mà không ảnh hưởng đến việc sử dụng hệ thống tài khoản kế toán này. 5.Tình hình tài chính và phương trình kế toán: Tình hình tài chính của một công ty là tài nguyên kinh tế của công ty đó và các trái quyền đối với tài nguyên này ở mội thời điểm nào đó. Trái quyền có nghĩa là vốn. Như vậy công ty được xem xét qua hai phần tài nguyên kinh tế và trái quyền đối với các tài nguyên này. Tài nguyên kinh tế = vốn Mọi công ty đều có hai loại vốn, vốn của chủ nợ và vốn của chủ sở hữu. Như vậy: Tài nguyên kinh tế = vốn chủ nợ + vốn chủ sở hữu Vì trong thuật ngữ kế toán, tài nguyên kinh tế được coi như tài sản và vốn chủ nợ được coi như nợ phải trả, phương trình kế toán có thể được viết như sau: Tài sản = Nợ phải trả + Vốn chủ sở hữu Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 36
  38. Hệ cơ sở dữ liệu phân tán Phương trình này gọi là phương trình kế toán. Hai vế của phương trình luôn luôn bằng nhau hoặc cân bằng. Các thành phần sẽ được định nghĩa sau đây: Tài sản: là nguồn lợi kinh tế mà một cơ sở kinh doanh có thể kiểm soát được trong tương lai nhờ vào những nghiệp vụ kinh tế phát sinh hoặc những sự kiện xảy ra trong quá khứ. Nợ phải trả: là những thiệt thòi về quyền lợi về kinh tế trong tương lai phát sinh từ những khoản nợ hiện tại của cơ sở kinh doanh là phải chuyển nhượng tài sản hoặc phải cung cấp các dịch vụ cho những đơn vị kinh doanh khác trong tương lai do các nghiệp vụ kinh tế phát sinh hoặc các sự kiện đã xảy ra trong quá khứ. Vốn chủ sở hữu: là phần vốn còn lại trong tài sản của một cơ sở kinh doanh sau khi trừ đi nợ phải trả. Đối vế của phương trình kế toán trên, có thể xác định vốn chủ sở hữu như sau: Vốn chủ sở hữu = Tài sản - Nợ phải trả 6.Mục tiêu thông tin kế toán qua các báo cáo kế toán Các báo cáo kế toán là trọng tâm của kế toán vì báo cáo kế toán là phương tiện chính để truyền đạt thông tin kế toán quan trọng đối với người sử dụng. Những bản báo cáo dưới đây chỉ là mô hình bản mẫu. Có bốn bảng báo cáo kế toán được sử dụng để truyền đạt thông tin kế toán cần thiết về một cơ sở kinh doanh. Báo cáo kết quả hoạt động kinh doanh: là bản kê về tài chính tổng hợp các khoản thu chi của một cơ sở kinh doanh qua một giai đoạn thời gian. Có thể nói đây là một báo cáo quan trọng nhất vì mục đích đo lường xem doanh nghiệp có đạt được mục tiêu thu lợi nhuận hay không. Báo cáo về vốn chủ sở hữu: trình bày tất cảc những biến động của vốn chủ sở hữu qua một giai đoạn thời gian. Báo cáo cân đối tài sản: bảng cân đối tài sản trình bày tình trạng tài chính của một doanh nghiệp vào một thời điểm nhất định. Vì lý do này mà báo cáo cân đối tài sản được gọi là bản kê tình trạng tài chính vào ngày tháng nhất định nào đó. Báo cáo lưu chuyển tiền mặt: Báo cáo kết quả kinh doanh chỉ trình bày những biến động về tình hình tài chính của các hoạt động tạo ra lợi nhuận hay lỗ. Và báo cáo kết quả kinh doanh không thể hiện nhiều biến cố quan trọng khác đặc biệt là những biến cố liên quan đến các hoạt động tài chính và đầu tư đã phát sinh trong kỳ kế toán nhưng lại không thể hiện trong hoạt động báo cáo kết quả kinh doanh. Giai đoạn này gồm cả việc rà soát các việc tổ chức Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 37
  39. Hệ cơ sở dữ liệu phân tán cơ cấu cơ sở kinh doanh, các mô tả công tác và sự nghiên cứu về các mẫu biểu chứng từ, báo cáo thủ tục và các phương pháp xử lý dữ liệu và hệ thống nội tại đang sử dụng. Thiết lập hệ thống mới hay thay đổi hệ thống hiện tại phải được bắt đầu từ giai đoạn thiết kế hệ thống và dựa trên việc nghiên cứu khả thi trong giai đoạn nghiên cứu. Việc thiết kế quan tâm đến người sử dụng và điều hành hệ thống, tài liệu và hồ sơ sử dụng, thủ tục vận hành, các loại báo cáo cần thiết lập và các thiết bị sử dụng trong hệ thống. Mối quan hệ qua lại giữa tất cả các thành phần trên đây phải tuân theo những nguyên tắc về thiết kế hệ thống kế toán. Ngoài các báo cáo về tình hình tài chính còn có các loại báo cáo chỉ dùng trong nội bộ của cơ sơ kinh doanh như báo cáo về đối tác và ngân hàng. Hệ thống kế toán kép Hệ thống kế toán kép được coi như là một trong những khám phá tốt của trí tuệ loài người. Hệ thống kế toán kép dựa trên nguyên tắc lưỡng diện, có nghĩa là mọi biến cố có tầm quan trọng về kinh tế đều có hai mặt cố gắng- khen thưởng, hy sinh-quyền lợi, nguồn gốc và sử dụng. Hai khía cạnh này cân đối nhau. Trong hệ thống kế toán kép, mỗi nghiệp vụ kinh tế phát sinh phải được ghi chép vào sổ ít nhất là một lần là một lần ghi nợ và một lần ghi có, làm thế nào để tổng số tiền bên nợ và tổng số tiền bên có cân bằng nhau. Nhờ cách thiết kế như vậy nên hệ thống kế toán kép luôn luôn cân bằng. Tất cảc các hệ thống kế toán phức tạp đều dùng nguyên tắc lưỡng diện của hệ thống kế toán kép. Nghiên cứu hệ thống kế toán kép bắt đầy bằng tài khoản chữ T. Tài khoản chữ T: Hình thức đơn giản nhất của tài khoản gồm ba phần: (1) tên tài khoản tài sản, nợ phải trả hoặc vốn chủ sở hữu; (2) bên trái gọi là bên nợ và (3) bên phải gọi là bên có. Tài khoản này gọi là tài khoản chữ T bởi vì nó giống chữ T, dùng để phân tích nghiệp vụ kinh tế phát sinh Tên tài khoản Bên trái Bên phải ( Bên NỢ ) ( Bên CÓ ) Theo mô hình này bất cứ một mục nào ghi vào bên trái của tài khoản là một phát sinh nợ hay là bút toán ghi nợ và bất cứ mục nào ghi vào bên phải của tài khoản là phái sinh có hoặc bút toán ghi có. Phân tích các nghiệp cụ kinh tế phát sinh Nguyên tắc hệ thống kế toán kép là mọi nghiệp vụ kinh tế phát sinh đều có ảnh hưởng ít nhất đến hai tài khoản. Nói cách khác phải có một hoặc nhiều tài khoản được ghi vào bên Nợ và một hoặc nhiều tài khoản được ghi vào bên Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 38
  40. Hệ cơ sở dữ liệu phân tán Có và tổng số tiền của các tài khoản ghi Nợ phải bằng với tổng số tiền của các tài khoản ghi Có. Theo phương trình kế toán: Tài sản = Nợ phải trả + Vốn chủ sở hữu Như vậy nếu một tài khoản ghi bên Nợ làm tăng tài sản thì phải sử dụng một tài khoản ghi Có để làm tăng Nợ phải trả hay Vốn chủ sở hữu. Mặt khác nếu một khoản ghi có làm giảm tài sản thì phải có một khoản ghi nợ để chỉ sự giảm Nợ phải trả hoặc Vốn chủ sở hữu. Các nguyên tắc này đối nghịch nhau bởi vì Tài sản nằm ở vế đối nghịch vói Nợ phải trả và Vốn chủ sở hữu. Tài sản Nợ phải trả Vốn chủ sở hữu Tăng Giảm = Tăng Giảm + Giảm Tăng ghi bên Nợ ghi bên Có ghi bên Nợ ghi bênCó ghi bên Nợ ghi bên Có Phát sinh tăng của Tài sản ghi vào bên Nợ các tài khoản Tài sản. Phát sinh giảm của Tài sản ghi vào bên Có các tài khoản tài sản. Phát sinh tăng của Nợ phải trả và Vốn chủ sở hữu ghi vào bên Có các tài khoản Nợ phải trả và Vốn chủ sở hữu. Phát sinh giảm Nợ phải trả và vốn chủ sở hữu ghi bên Nợ các tài khoản Nợ phải trả và Vốn chủ sở hữu. II.CHIẾN LƯỢC. Qua việc tiếp xúc với khách hàng để xác định chiến lược cho bài toán, nói cụ thể hơn là phải xác định được những yêu cầu của khách hàng phục vụ cho công việc thiết kế. Đối với bài toán kế toán thì mục tiêu của nghiệp vụ là : + Việc định khoản trong kế toán và các tính toán báo cáo phải được thực hiện tự động. + Tìm kiếm, in ra các chứng từ. + Các báo cáo kế toán là trọng tâm của kế toán bởi vì chúng là những phương tiện chính yếu để truyền đạt thông tin kế toán quan trọng đến người sử dụng. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 39
  41. Hệ cơ sở dữ liệu phân tán + Chương trình phải tổ chức cơ sở dữ liệu theo cơ chế phân quyền truy nhập tới từng cơ sở dữ liệu để đảm bảo tính bảo mật. + Chương trình phải có khả năng phân tán dữ liệu. + Hệ thống phải có tính mở. + Tạo ra các báo các chi tiết theo yêu cầu cụ thể như là: Báo cáo về tiền gửi ở ngân hàng, Báo cáo về các khoản công nợ với đối tác. + Ngoài ra còn có thể tạo ra các báo cáo về việc thanh toán đối với từng hoá đơn mua bán. III.PHÂN TÍCH 1.Thiết lập hệ thống kế toán Mục đích của việc nghiên cứu hệ thống là để phát hiện những nhu cầu về một hệ thống mới, hoặc nhận xét về hệ thống đang sử dụng. Giai đoạn này liên quan đến việc nghiên cứu các nhu cầu thông tin của nhà quản lý, tìm các nguồn cung cấp thông tin này và phác hoạ các bước cùng các phương pháp cần thiết để biến các số liệu này thành hình thức hữu dụng. Giai đoạn này gồm cả việc rà soát tổ chức doanh nghiệp, các bảng mô tả công tác và nghiên cứu về các mẫu biểu , chứng từ, báo cáo, thủ tục và các phương pháp xử lý dữ kiện và hệ thống nội tại đang sử dụng. Thiết lập hệ thống mới hay thay đổi hệ thống hiện tại bắt đầu từ giai đoạn thiết kế hệ thống và dựa trên nghiên cứu khả thi trong giai đoạn nghiên cứu. Công việc thiết kế cần quan tâm đến người sử dụng và điều hành hệ thống, tài liệu và hồ sơ sử dụng, thủ tục vận hành, các loại báo cáo cần thiết lập, các thiết bị sử dụng trong hệ thống. Các nghiệp vụ kinh tế liên quan đến chức năng này đều dựa vào các chứng từ gốc là chứng cứ bằng văn bản để chứng minh cho nghiệp vụ kinh tế. Chứng từ gốc chứng minh sự kiện nghiệp vụ kinh tế đó xảy ra và cung cấp chi tiết về nghiệp vụ kinh tế đó. Sau khi đã xử lý các nghiệp vụ kinh tế xong, bước tiếp theo là phải hoàn tất thủ tục cập nhật nhật ký tổng quát. Thông qua các bút toán của sổ nhật ký tổng quát ghi vào sổ cái các loại tài khoản. Từ thông tin của sổ cái sẽ có chương trình tính toán số liệu để sinh ra các báo cáo. Phân tích dữ liệu: Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 40
  42. Hệ cơ sở dữ liệu phân tán Phân tích dữ liệu: hệ thống cần có một khái niệm rõ ràng về thông tin được quản lý và xử lý. Mô hình thực thể - liên kết là kỹ thuật chủ chốt hầu như trong các phương pháp phân tích thiết kế hệ thống. Việc xác định các thông tin cần thiết cho hệ thống cần phải định nghĩa các thông tin quan trọng trong một tổ chức các thực thể, đặc trưng của các thông tin ( của các thuộc tính ) và mối quan hệ giữa các thực thể. Các mô hình độc lập với phương pháp lưu trữ và cập nhật dữ liệu: -Thực thể: một thực thể là một chủ điểm, một đối tượng hay một vấn đề có ý nghĩa trong thực tế hay tưởng tượng về thông tin cần quan tâm hay nắm giữ. Thực thể có thể là một lớp hay một nhóm thể hiện hay bản thân thể hiện đó. Một thực thể được thể hiện dưới dạng hợp bằng một xâu chữ hoa trong hồ sơ. Các luật của thực thể: -Mỗi đối tượng chỉ có thể thể hiện bằng một thực thể, có nghĩa là các thực thể loại trừ lẫn nhau trong mọi trường hợp. -Mỗi thực thể phải được xác định duy nhất. -Mỗi thể hiện của thực thể phải tách biệt và phân biệt với các thể hiện. khác của từng loại thực thể đó. Thuộc tính: Mỗi thuộc tính là bất cứ chi tiết nào phục vụ cho việc đánh giá chất lượng, cách gọi tên, phân lớp, đánh giá khối lượng hoặc biểu điễn trạng thái cảu một thực thể, hay thuộc tính là bất cứ mô tả có ý nghĩa về đối tượng. Quá trình phân tích bắt nguồn từ nguồn thông tin mà hệ thông cần xử lý và nắm bắt. Như vậy nguồn thông tin cần thiết được tìm ra từ thế giới thực, sau đó biến đổi nguồn thông tin này thành các thực thể và các thuộc tính của thực thể đó. Công việc này gọi là việc mô hình hoá thông tin cho hệ thống từ thế giới thực. Chọn khóa: sau khi xác định được thực thể và các thuộc tính của thực thể, theo luật các thực thể cần phải chọn cho thực thể đó một khóa để tách biệt và xác định duy nhất các thể hiện của cùng một thực thể. Khóa có thể gồm một thuộc tính hay một tập các thuộc tính gọi là khóa kép. Nhiều khi xem xét tất cả các thuộc tính của các thực thể có thể không có các thuộc tính nào có thể riêng biệt rõ ràng vì mọi thuộc tính đều có thể trùng lặp. Trong trường hợp này phải thêm một thuộc tính khóa vào thực thể. Khi xác định thực thể và thuộc tính phải chuẩn hóa nhằm đảm bảo bất kỳ thông tin nào của thế giới thực được biểu diễn chỉ một lần trong mô hình thực Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 41
  43. Hệ cơ sở dữ liệu phân tán thể nhằm tránh trùng lặp, dư thừa thông tin, tránh nhập nhằng. Chuẩn hoá cần cân nhắc: -Việc lập một danh sách các mục dữ liệu. -Xác đinh các danh mục dữ liệu dẫn xuất từ các mục khác ( kết quả bài toán ) chọn một khóa. -Tách tất cả các nhóm lặp với khoá đó ( các thuộc tính lập). -Tách các thuộc tính phụ thuộc một phần hay hoàn toàn vào khóa. Để xác định các thực thể phải nghiên cứu các chứng từ, hoá đơn, các hoạt động và các khái niệm tưởng tượng. Từ các khái niệm và thực tế của bài toán kế toán tài chính đã xây dựng lên được các thực thể minh hoạ cho chức năng báo cáo tổng quát. Trong quá trình tìm hiểu về hệ thống thông tin kế toán về mua bán hàng của một doanh nghiệp cần phải tổ chức các thực thể và tiến hành chuẩn hoá chúng về dạng chuẩn 3 được các thực thể sau: 1. Thực thể DAU_TU dùng để lưu các thông tin về vốn đầu tư của chủ nhân khi mới bắt đầu mở doanh nghiệp hay khi đầu tư thêm vốn để mở rộng doanh nghiệp, thực thể đó bao gồm các thuộc tính sau: MA_DAU_TU trường khoá của thực thể đầu tư. NGAY_DAU_TU ngày phát sinh nghiệp vụ đầu tư. SO_TIEN_DAU_TU số tiền chủ nhân đầu tư. 2. Thực thể RUT_VON dùng để lưu các thông tin về việc rút vốn của chủ nhân, nó có những thuộc tính sau: MA_RUT_VON trường khoá của thực thể rút vốn. NGAY_RUT_VON ngày phát sinh nghiệp vụ rút vốn. SO_TIEN_RUT_VON số tiến mà chủ nhân rút ra. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 42
  44. Hệ cơ sở dữ liệu phân tán 3. Thực thể HOA_DON_MUA lưu các thông tin chung về hoá đơn mua, nó bao gồm các thuộc tính sau: MA_HD_MUA trường khoá. NGAY_HD_MUA ngày phát sinh hoá đơn mua. MA_DOI_TAC lưu mã của người cung cấp. TONG_TIEN_MUA tổng tiền của hoá đơn mua. NO_MUA số tiền còn nợ của hoá đơn mua này. NGAY_PHAI_TRA_HDM ngày phải trả hoá đơn mua đó. THUE_MUA tổng tiền thuế phải trả cho hoá đơn mua này. GHI_CHU_HDM ghi chú về hoá đơn mua đó. SO_CT_GOC số chứng từ liên quan đến nghiệp vụ này của người cung cấp. TRANG_THAI_HDM trạng thái của hoá đơn mua này. 4. Thực thể DONG_HOA_DON_MUA dùng để mô tả chi tiết về từng mặt hàng trong hoá đơn mua, gồm các thuộc tính sau: STT_HD_MUA trường khoá và là số thứ tự của các mặt hàng trong hoá đơn mua. MA_MAT_HANG khoá ngoài liên kết với thực thể DANH_MUC_MAT_HANG. MA_HD_MUA khoá ngoài liên kết với thực thể HOA_DON_MUA. SO_LUONG_MUA số lượng của hàng mua. DON_VI_TINH đơn vị tính. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 43
  45. Hệ cơ sở dữ liệu phân tán GIA_MUA giá mua của mặt hàng. THANH_TIEN_DHDM thành tiền của mặt hàng đó. THUE_DONG_MUA thuế của hàng đó. BIEU_THUE biểu thuế của mặt hàng đó. 5. Thực thể HOA_DON_BAN lưu các thông tin chung về hoá đơn bán, nó bao gồm các thuộc tính sau: MA_HD_BAN trường khoá. NGAY_HD_BAN ngày phát sinh hoá đơn bán. MA_DOI_TAC lưu mã của khách hàng. TONG_TIEN_BAN tổng tiền của hoá đơn bán. NO_BAN số tiền khách hàng còn nợ của hoá đơn bán này. NGAY_PHAI_TRA_HDB ngày phải trả hoá đơn bán đó. THUE_BAN tổng tiền thuế phải trả cho hoá đơn bán này. GHI_CHU_HDB ghi chú về hoá đơn bán đó. TRANG_THAI_HDB trạng thái của hoá đơn bán này. 6. Thực thể DONG_HOA_DON_BAN dùng để mô tả chi tiết về từng mặt hàng trong hoá đơn bán, gồm các thuộc tính sau: STT_HD_BAN trường khoá và là số thứ tự của các mặt hàng trong hoá đơn bán. MA_MAT_HANG khoá ngoài liên kết với thực thể DANH_MUC_MAT_HANG. MA_HD_BAN khoá ngoài liên kết với thực thể HOA_DON_BAN. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 44
  46. Hệ cơ sở dữ liệu phân tán SO_LUONG_BAN số lượng của hàng bán. DV_TINH đơn vị tính. GIA_BAN giá bán của mặt hàng. THANH_TIEN_DHDB thành tiền của mặt hàng đó. THUE_DONG_BAN thuế bán của hàng đó. BIEU_THUE biểu thuế bán của mặt hàng đó. 7. Thực thể DANH_MUC_DOI_TAC dùng để lưu các thông tin về đối tác (người cung cấp và khách hàng) liên quan đến doanh nghiệp, có các thuộc tính sau: MA_DOI_TAC trường khoá của thực thể. TEN_DOI_TAC tên của đối tác. DIA_CHI_DOI_TAC địa chỉ của đối tác. SO_DIEN_THOAI số điện thoại của đối tác. 8. Thực thể DANH_MUC_NGAN_HANG, dùng để lưu danh mục các ngân hàng liên quan đến hoạt động của doanh nghiệp, nó bao gồm các thuộc tính sau: MA_NGAN_HANG trường khoá của thực thể. TEN_NGAN_HANG tên của ngân hàng đó. DIA_CHI_NGAN_HANG địa chỉ của ngân hàng đó. SO_DIEN_THOAI_NH số điện thoại của ngân hàng. 9. Thực thể DOI_TAC_NGAN_HANG đây là thực thể trung gian giữa đối tác và ngân hàng, gồm những thuộc tính sau. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 45
  47. Hệ cơ sở dữ liệu phân tán MA_NH_DT trường khoá . MA_NGAN_HANG khoá ngoài liên kết với thực thể DANH_MUC_NGAN_HANG. MA_DOI_TAC khoá ngoài liên kết với thực thể DANH_MUC_DOI_TAC. SO_TK_DOI_TAC số tài khoản của đối tác. 10. Thực thể SO_TAI_KHOAN_O_NH dùng để lưu số tài khoản của doanh nghiệp tại ngân hàng, nó gồm những thuộc tính sau: MA_SO_TK trường khoá của thực thể. MA_NGAN_HANG khoá ngoài kết nối với thực thể DANH_MUC_NGAN_HANG. SO_TK_O_NH số tài khoản của doanh nghiệp ở ngân hàng. 11. Thực thể CHUNG_TU_NGAN_HANG dùng để lưu các thông tin liên quan đến ngân hàng như là việc gửi tiền, rút tiền từ ngân hàng, hay việc thanh toán đơn hàng thông qua ngân hàng. Nó bao gồm những thông tin sau: MA_PHIEU trường khoá của thực thể. NGAY_PHAT_SINH lưu ngày phát sinh chứng từ. GUI_OK trường này xác nhận việc gửi hay rút tiền khỏi ngân hàng. MA_DOI_TAC nếu trường này có nó sẽ thể hiên việc thanh toán của đối tác với doanh nghiệp thông qua ngân hàng. MA_HD_BAN trường này thể hiên việc khách hàng hay doanh nghiệp thanh toán cho hoá đơn mua bán nào. SO_LUONG_TIEN số tiền của nghiệp vụ. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 46
  48. Hệ cơ sở dữ liệu phân tán TRANG_THAI_CT_NH thể hiện trạng thái của chứng từ đó. 12. Thực thể PHIEU_THU_CHI dùng để lưu thông tin thu chi tiền theo hoá đơn mua bán hàng. Nó bao gồm các thuộc tính sau: MA_PHIEU_THU_CHI trường khoá của thực thể. NGAY_PHIEU_THU_CHI ngay ghi phiếu thu. MA_DOI_TAC mã của khách hàng thanh toán. MA_HD_BAN mã hoá đơn thanh toán. MA_HD_MUA ta thanh toán cho mã hoá đơn nào. SO_TIEN_THU_CHI số tiền thu. PHIEU_THU trường này thể hiện đây là phiếu thu hay phiếu chi. TRANG_THAI_PTC trạng thái của phiếu thu. 13. Thực thể DANH_MUC_MAT_HANG lưu các thông tin về mặt hàng, bao gồm các thuộc tính sau: MA_MAT_HANG trường khoá. TEN_HANG tên của mặt hàng. MO_TA_MAT_HANG mô tả về mặt hàng. SO_TK_CAP_1 số tài khoản cấp 1 của mặt hàng đó. SO_TK_CAP_2 số tài khoản cấp 2 của mặt hàng đó. MA_NHOM_HANG mã của nhóm hàng để đánh thuế. 14. Thực thể MAT_HANG_VA_DOI_TAC là thực thể trung gian giữa thực thể DANH_MUC_MAT_HANG và thực thể DANH_MUC_DOI_TAC, nó bao gồm các thuộc tính sau: Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 47
  49. Hệ cơ sở dữ liệu phân tán MA_MH_DT trường khoá. MA_MAT_HANG trường khoá ngoài kết hợp với thực thể DANH_MUC_MAT_HANG. MA_DOI_TAC trường khoá ngoài liên kết với thực thể DANH_MUC_DOI_TAC. GIA_CHUAN giá tham khảo chuẩn tại một thời điểm nào đó. 15. Thực thể NHOM_HANG dùng để lưu các nhóm hàng để phục vụ việc đánh giá về mức độ tiêu thụ của các loại hàng, có các thuộc tính sau: MA_NHOM_HANG trường khoá của thuộc tính. SO_TK_CAP_1 số tài khoản cấp 1 của mặt hàng đó. SO_TK_CAP_2 số tài khoản cấp 2 của mặt hàng đó. TEN_NHOM_HANG tên của nhóm hàng. 16. Tất cả các thông tin về nghiệp vụ kinh tế phát sinh thì đều được định khoản và lưu trong sổ nhật ký tổng quát. Ta có thực thể SO_NHAT_KI_TONG_QUAT, nó bao gồm các thực thể sau: STT trường khoá của thực thể. TK_NO_CAP_1 số của tài khoản ghi nợ cấp 1 TK_CO_CAP_1 Số của tài khoản ghi có cấp 1 TK_NO_CAP_2 số của tài khoản ghi có cấp 2 TK_CO_CAP_2 số của tài khoản ghi có cấp 2 LOAI_NGHIEP_VU_1 loại của nghiệp vụ phát sinh gây ra. MA_NGHIEP_VU_1 mã của nghiệp vụ phát sinh Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 48
  50. Hệ cơ sở dữ liệu phân tán NGAY_NGHIEP_VU_1 ngày phát sinh nghiệp vụ. LOAI_NGHIEP_VU_2 loại nghiệp vụ là nguyên nhân gây ra nghiệp vụ trên. MA_NGHIEP_VU_2 mã của nghiệp vụ là nguyên nhân gây ra nghiệp vụ trên. DIEN_GIAI diễn giải về nghiệp vụ kinh tế phát sinh. SO_TIEN số tiền của nghiệp vụ kinh tế phát sinh. MA_DOI_TAC lưu mã của đối tác để phục vụ việc báo cáo theo từng đối tác.MA_NGAN_HANG lưu mã ngân hàng để phục vụ cho việc báo cáo theo từng ngân hàng. 17. Thực thể SO_CAI dùng để tổng kết tất cả các tài khoản, bao gồm các thuộc tính sau: SO_TK_CAP_1 số tài khoản cấp 1. SO_TK_CAP_2 số tài khoản cấp 2. TEN_TK_CAP_1 tên của tài khoản cấp 1. TEN_TK_CAP_2 tên của tài khoản cấp 2. LOAI_TK_1 loại tài khoản 1 phục vụ cho việc làm báo cáo thu nhập. LOAI_TK_2 loại tài khoản 1 phục vụ cho việc làm bảng tổng kết tài sản. SO_DU_BAN_DAU số dư của tài khoản ban đầu. SO_DU_THANG_1 số dư của tài khoản ở tháng 1. SO_DU_THANG_2 số dư của tài khoản ở tháng 2. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 49
  51. Hệ cơ sở dữ liệu phân tán SO_DU_THANG_3 số dư của tài khoản ở tháng 3. SO_DU_THANG_4 số dư của tài khoản ở tháng 4. SO_DU_THANG_5 số dư của tài khoản ở tháng 5. SO_DU_THANG_6 số dư của tài khoản ở tháng 6. SO_DU_THANG_7 số dư của tài khoản ở tháng 7. SO_DU_THANG_8 số dư của tài khoản ở tháng 8. SO_DU_THANG_9 số dư của tài khoản ở tháng 9. SO_DU_THANG_10 số dư của tài khoản ở tháng 10. SO_DU_THANG_11 số dư của tài khoản ở tháng 11. SO_DU_THANG_12 số dư của tài khoản ở tháng 12. 18.Thực thể BAO_CAO chủ yếu mô tả các thông tin như tiêu đề, loại báo cáo. Các thuộc tính của BAO_CAO: SO_TT_BC mô tả số thứ tự của các báo cáo và cũng là thuộc tính khoá. CONG_TY Tên công ty lập báo cáo. TEN_BC Tên của báo cáo. THANG Tháng lập báo cáo. NAM Năm lập báo cáo NGUOI_LAP Tên của người lập báo cáo. NGAY_LAP Ngày lập ra báo cáo. DON_VI_TINH Đơn vị tính toán các số liệu trên báo cáo. LOAI_BAO_CAO Thuộc tính này dùng để phân loại các báo cáo. Theo hệ thống kế toán có bốn loại báo cáo chính: 0 - Báo cáo lời lỗ. 1 - Báo cáo về vốn chủ sở hữu. Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 50
  52. Hệ cơ sở dữ liệu phân tán 2 - Báo cáo cân đối tài sản. 3 - Báo cáo lưu chuyển tiền mặt. DOANH_THU doanh thu của báo cáo kết quả hoạt động kinh doanh. Trong đó ba loại báo cáo đầu 0 - 2 được lập theo tháng và báo cáo thứ 4 được lập theo năm hoạt động của công ty. CHI_PHI chi phí của báo cáo kết quả hoạt động kinh doanh. LOI_RONG lời ròng hay lỗ ròng của báo cáo kết quả hoạt động kinh doanh. VON_DAU_THANG vốn tại thời điểm đầu tháng của chủ nhân. DAU_TU số tiền đầu tư của chủ nhân trong tháng. RUT_VON số tiền rút vốn của chủ nhân trong tháng. VON_DAU_THANG Vốn chủ sở hữu cuối tháng. VON_CUOI_THANG Vốn chủ sở hữu cuối tháng. TAI_SAN Tài sản của công ty. NO_PHAI_TRA Số tiền nợ phải trả. TIEN_HD_KINH_DOANH Lưu lượng tiền trong hoạt động kinh doanh. TIEN_HD_DAU_TU Lưu lượng tiền trong hoạt động đầu tư. TIEN_HD_TAI_CHINH Lưu lượng tiền trong hoạt động tài chính. TANG_RONG Lượng tiền tăng ròng trong năm. TIEN_DAU_NAM Lượng tiền vào công ty đầu năm. TIEN_CUOI_NAM Lượng tiền vào công ty cuối năm. Trong đó ba loại báo cáo đầu 0 - 2 được lập theo tháng và báo cáo thứ 4 được lập theo năm hoạt động của công ty. 19.Mô tả nội đung của báo cáo dùng thực thể DONG_BAO_CAO với các thuộc tính như sau: Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội Trang 51