Triển vọng của các hệ cơ sở dữ liệu phân tán
Quản lý dữ liệu phân tán và nhân bản một cách vô hình
Đặc tính vô hình trong hệ thống đề cập đến sự tách biệt ngữ nghĩa giữa cấp độ cao và cấp độ thấp, cho phép người dùng không cần quan tâm đến các chi tiết cài đặt Hệ thống vô hình giúp "che khuất" các vấn đề cài đặt, mang lại lợi ích lớn trong việc phát triển ứng dụng phức tạp Do đó, mục tiêu là biến tất cả các DBMS, cả tập trung lẫn phân tán, thành những hệ thống hoàn toàn vô hình.
Một công ty điện toán với các văn phòng tại Boston, Edmonton, Paris và San Francisco cần duy trì một cơ sở dữ liệu (CSDL) về nhân viên, dự án và các thông tin liên quan CSDL này thuộc loại quan hệ, bao gồm các bảng EMP (ENO, ENAME, TITLE) và PROJ (PNO, PNAME, BUDGET), cùng với bảng PAY (TITLE, SAL) lưu thông tin về lương Bảng ASG (ENO, PNO, DUR, RESP) cho biết nhân viên nào được phân công cho dự án nào, trong thời gian và nhiệm vụ gì Để tìm tên và lương của các nhân viên đã làm việc cho một dự án trên 12 tháng, chúng ta sử dụng câu truy vấn SQL phù hợp.
SELECT ENAME, SAL FROM EMP, ASG, PAY WHERE ASG DUR > 12 AND EMP ENO = ASG ENO AND PAY TITLE = EMP TITLE
1 Các thuộc tính được viết tắt là ENO (employee number, mã số nhân viên), ENAME(employee name, tên
Do tính chất phân tán của công việc kinh doanh, công ty mong muốn lưu trữ dữ liệu nhân viên theo vị trí địa lý, như dữ liệu của nhân viên văn phòng ở Edmonton được lưu tại Edmonton và của Boston tại Boston Điều này cũng áp dụng cho thông tin về dự án và lương Vì vậy, công ty cần một quá trình phân hoạch để phân chia và lưu trữ mỗi phần dữ liệu tại các vị trí khác nhau, quá trình này được gọi là phân mảnh.
Người dùng mong muốn sao chép dữ liệu tại các vị trí khác nhau để nâng cao hiệu suất và độ tin cậy, dẫn đến việc hình thành một cơ sở dữ liệu phân tán, được phân mảnh và nhân bản Truy xuất dữ liệu vô hình cho phép người sử dụng thực hiện các truy vấn mà không cần lo lắng về việc phân mảnh, định vị hay nhân bản dữ liệu, trong khi hệ thống tự động xử lý những vấn đề này.
Để hệ thống xử lý hiệu quả các truy vấn trên cơ sở dữ liệu phân tán, phân mảnh và nhân bản, cần phải có khả năng giải quyết một số loại vô hình Chúng ta sẽ thảo luận chi tiết về các loại này trong các đoạn tiếp theo.
Khi nói đến thuật ngữ phân hoạch, chúng ta đề cập đến việc chia một tập hợp thành các tập con không giao nhau, tức là giao của chúng là tập rỗng Mỗi tập con này được gọi là một phân hoạch Ví dụ, một quan hệ tương đương R trên tập S sẽ phân hoạch tập S thành các lớp tương đương, trong đó mỗi lớp là một phân hoạch riêng biệt.
Edmonton Boston Mạng truyền dữ liệu
Nhân viên ở Boston Nhân viên Paris
Sự độc lập dữ liệu là một yếu tố quan trọng trong hệ thống quản lý cơ sở dữ liệu (DBMS), cho phép các ứng dụng "miễn nhiễm" với những thay đổi trong định nghĩa và tổ chức dữ liệu Độc lập dữ liệu được chia thành hai loại: độc lập dữ liệu logic và độc lập dữ liệu vật lý Độc lập dữ liệu logic bảo vệ ứng dụng khỏi những thay đổi trong cấu trúc logic của cơ sở dữ liệu, ví dụ, nếu một ứng dụng chỉ xử lý trường địa chỉ trong quan hệ EMP, việc thêm trường mới như skill sẽ không ảnh hưởng đến ứng dụng Trong khi đó, độc lập dữ liệu vật lý ẩn giấu các chi tiết về cấu trúc lưu trữ, cho phép ứng dụng hoạt động mà không cần quan tâm đến cách tổ chức dữ liệu vật lý, cho dù dữ liệu được lưu trữ trên các loại đĩa khác nhau hay theo các phương thức khác nhau Điều này giúp ứng dụng không cần hiệu chỉnh khi có sự thay đổi trong tổ chức dữ liệu, mặc dù việc hiểu biết về những thay đổi này có thể cải thiện hiệu năng hệ thống.
Vô hình kết mạng là khái niệm quan trọng trong quản trị cơ sở dữ liệu phân tán, nơi tài nguyên mạng cần được quản lý tương tự như dữ liệu trong hệ thống lưu trữ Người sử dụng thường được tách biệt khỏi các chi tiết phức tạp của mạng, tạo ra sự đồng nhất giữa các ứng dụng chạy trên cơ sở dữ liệu tập trung và phân tán Khái niệm này thường được gọi là vô hình kết mạng (network transparency) hoặc vô hình phân bố (distribution transparency).
Tính vô hình kết mạng có thể được xem xét từ hai góc độ: dịch vụ và dữ liệu Đối với dịch vụ, cần có một phương tiện thống nhất để truy xuất, trong khi từ góc độ hệ quản trị cơ sở dữ liệu, vô hình phân bố yêu cầu người dùng không phải chỉ định vị trí lưu trữ dữ liệu Tính vô hình phân bố được chia thành hai loại: vô hình vị trí và vô hình đặt tên Vô hình vị trí (location transparency) đảm bảo rằng lệnh thực hiện tác vụ không phụ thuộc vào vị trí dữ liệu hay hệ thống thực hiện Trong khi đó, vô hình đặt tên (naming transparency) yêu cầu mỗi đối tượng cơ sở dữ liệu phải có một tên duy nhất, tránh việc người dùng phải sử dụng tên vị trí hoặc định danh trong tên đối tượng.
Để tối ưu hiệu năng, độ tin cậy và tính sẵn sàng, việc phân bố dữ liệu qua nhân bản trên các máy trong mạng là cần thiết Nhân bản dữ liệu giúp đáp ứng các yêu cầu sử dụng xung đột dễ dàng hơn, ví dụ, dữ liệu thường xuyên được truy xuất có thể được lưu trữ trên máy của người sử dụng và máy của những người khác có nhu cầu tương tự, từ đó tăng cường khu vực tham chiếu Ngoài ra, nếu một máy ngừng hoạt động, bản sao dữ liệu vẫn tồn tại trên máy khác, đảm bảo tính khả dụng Tuy nhiên, quyết định nhân bản và số lượng bản sao phụ thuộc vào ứng dụng cụ thể Cần lưu ý rằng việc nhân bản có thể gây khó khăn trong việc cập nhật cơ sở dữ liệu, do đó, đối với các ứng dụng yêu cầu cập nhật thường xuyên, việc tạo nhiều bản sao không phải là giải pháp tối ưu.
Khi dữ liệu được nhân bản, vấn đề về sự vô hình cần được xem xét là liệu người sử dụng có nhận thức được sự tồn tại của các bản sao hay không, trong khi hệ thống phải quản lý các bản sao mà người sử dụng hành xử như chỉ có một bản duy nhất Từ góc độ người sử dụng, họ không muốn phải xử lý các bản sao và cần xác định rõ hành động nào cần thực hiện trên nhiều bản sao Tuy nhiên, từ quan điểm hệ thống, việc ủy thác cho người sử dụng trách nhiệm này có thể đơn giản hóa quản lý giao dịch trong các hệ DBMS phân tán, nhưng lại làm giảm tính linh hoạt của hệ thống Quyết định về việc nhân bản và số lượng bản sao phụ thuộc vào các ứng dụng, không phải hệ thống, và việc thay đổi quyết định này có thể ảnh hưởng đến ứng dụng, dẫn đến giảm tính độc lập dữ liệu Do đó, tính vô hình nhân bản nên được xem như một đặc điểm chuẩn của DBMS, chỉ đề cập đến sự tồn tại của các bản sao mà không phải vị trí thực tế của chúng, và việc phân bố các bản sao trên mạng theo cách vô hình thuộc về vấn đề vô hình kết mạng.
Vô hình phân mảnh (fragmentation transparency) là một khái niệm quan trọng trong các hệ CSDL phân tán, liên quan đến việc tách mỗi quan hệ thành các mảnh dữ liệu nhỏ hơn và xử lý chúng như những đối tượng CSDL độc lập Việc phân mảnh này thường được thực hiện nhằm nâng cao hiệu năng, tính sẵn sàng và độ tin cậy của hệ thống Hơn nữa, phân mảnh giúp giảm thiểu các tác động tiêu cực của việc nhân bản, khi mỗi bản sao chỉ là một tập con của quan hệ đầy đủ, từ đó tiết kiệm không gian lưu trữ và giảm bớt công sức quản lý dữ liệu.
Có hai kiểu chọn lựa phân mảnh tổng quát Một là phân mảnh ngang
Phân mảnh dữ liệu là một kỹ thuật quan trọng trong quản lý cơ sở dữ liệu, bao gồm hai loại chính: phân mảnh ngang và phân mảnh dọc Phân mảnh ngang (horizontal fragmentation) liên quan đến việc chia một quan hệ thành nhiều quan hệ con, mỗi quan hệ con chứa một tập hợp các bộ dữ liệu (các hàng) từ quan hệ ban đầu Trong khi đó, phân mảnh dọc (vertical fragmentation) tập trung vào việc định nghĩa mỗi quan hệ con dựa trên một tập hợp các thuộc tính (các cột) của quan hệ gốc.
Khi cơ sở dữ liệu bị phân mảnh, việc xử lý truy vấn của người dùng trở nên phức tạp hơn, vì chúng cần được thực hiện trên các quan hệ con thay vì trên toàn bộ quan hệ Điều này đòi hỏi một chiến lược xử lý truy vấn dựa trên các mảnh dữ liệu, mặc dù truy vấn ban đầu được đặt ra trên toàn bộ quan hệ Thông thường, quá trình này yêu cầu dịch truy vấn toàn cục thành các truy vấn phù hợp với từng mảnh dữ liệu.
(global query) thành nhiều câu vấn tin theo mảnh (fragment query)
AI sẽ cung cấp các đặc tính vô hình trong môi trường tính toán phân tán, nhằm giúp người sử dụng không chuyên dễ dàng truy cập dịch vụ của DBMS Để đạt được tính vô hình hoàn toàn, cần xem xét sự cân bằng giữa tính dễ sử dụng và những phức tạp, chi phí cao khi cung cấp các mức độ vô hình khác nhau.
Độ tin cậy qua các giao dịch phân tán
Các hệ quản trị CSDL phân tán được dự định dùng để cải thiện độ tin cậy
Hệ thống có độ tin cậy cao nhờ vào việc sử dụng các thành phần nhân bản, giúp loại bỏ sự cố tại các điểm riêng lẻ Một sự cố tại một trạm hoặc mất kết nối đường liên lạc sẽ không làm gián đoạn toàn bộ hệ thống Trong trường hợp của cơ sở dữ liệu phân tán, mặc dù một số dữ liệu có thể không truy xuất được, người sử dụng vẫn có thể truy cập các phần khác nếu được cấu hình đúng "Biết sắp đặt" ở đây ám chỉ đến sự hỗ trợ cho các giao dịch phân tán và các giao thức ứng dụng.
Giao dịch (transaction) là đơn vị tính toán cơ bản và tin cậy, bao gồm một loạt thao tác CSDL thực hiện như một hành động nguyên tử Nó chuyển đổi CSDL từ trạng thái nhất quán này sang trạng thái nhất quán khác, bất chấp việc có nhiều giao dịch diễn ra đồng thời (tính vô hình đồng thời) và ngay cả khi xảy ra sự cố (tính nguyên tử khi có sự cố) Một hệ quản trị cơ sở dữ liệu (DBMS) hỗ trợ đầy đủ giao dịch đảm bảo rằng việc thực hiện đồng thời các giao dịch của người dùng không vi phạm tính nhất quán của CSDL, với điều kiện mỗi giao dịch đều hợp lệ và tuân thủ các quy tắc toàn vẹn đã được xác định.
Hỗ trợ đầy đủ cho các giao dịch phân tán cho phép ứng dụng có được hình ảnh cục bộ duy nhất về cơ sở dữ liệu (CSDL), nhờ vào hệ quản trị CSDL phân tán đảm bảo thực hiện chính xác các yêu cầu Các ứng dụng không cần quan tâm đến việc điều phối truy xuất đến các CSDL cục bộ hay sự cố đường liên lạc trong quá trình giao dịch Sự liên quan giữa giao dịch phân tán và tính vô hình thể hiện qua các vấn đề về đặt tên phân tán và quản lý thư mục, cùng với yêu cầu cài đặt các nghi thức điều khiển đồng thời và nghi thức khả tín phân tán Các nghi thức phức tạp như ủy thác hai pha (2PC) và khôi phục phân tán là những thách thức lớn hơn so với hệ thống tập trung.
Để hỗ trợ nhiều bản sao, cần cài đặt các nghi thức điều khiển bản sao nhằm đảm bảo các ngữ nghĩa được xác định khi truy xuất.
Các hệ thống thương mại hỗ trợ giao dịch phân tán với nhiều mức độ khác nhau Một số phiên bản như Oracle V7 và V8 cho phép giao dịch phân tán, trong khi các phiên bản cũ yêu cầu người dùng mở một cơ sở dữ liệu tại mỗi thời điểm, từ đó loại bỏ nhu cầu về giao dịch phân tán Một số hệ thống khác như Sybase cung cấp các nguyên thủy cần thiết cho giao thức 2PC, nhưng yêu cầu ứng dụng tự quản lý việc điều phối các hành động ủy thác Điều này có nghĩa là các hệ quản trị cơ sở dữ liệu phân tán không bắt buộc tính nguyên tử cho giao dịch phân tán, nhưng vẫn cung cấp các nguyên thủy để ứng dụng có thể đảm bảo tính nguyên tử.
Cải thiện hiệu năng
Hiệu năng của DBMS phân tán được cải thiện dựa vào hai điểm:
1) Một DBMS phân tán có khả năng phân mảnh CSDL khái niệm, cho phép lưu dữ liệu ở gần nơi sử dụng (cũng được gọi là cục bộ hóa dữ liệu (data localization) Ở đây có hai ưu điểm nổi bật:
+ Vì mỗi trạm chỉ xử lý một phần CSDL, tranh chấp về CPU và dịch vụ xuất nhập không nghiêm trọng như trong các CSDL tập trung, và
Cục bộ hóa dữ liệu giúp giảm thiểu chậm trễ truy xuất thường gặp trong các mạng diện rộng (WAN), đặc biệt là trong các hệ thống sử dụng vệ tinh, nơi thời gian truyền tải thông báo có thể lên đến 1 giây.
Hầu hết các hệ quản trị cơ sở dữ liệu phân tán (DBMS) được thiết kế nhằm tối ưu hóa lợi ích từ việc cục bộ hóa dữ liệu Để đạt được lợi ích tối đa từ việc giảm thiểu tranh chấp và chi phí truyền tải, việc phân mảnh và phân tán dữ liệu một cách hợp lý là rất cần thiết.
2) Tính chất song hành của các hệ phân tán có thể được tận dụng để thực hiện song hành liên vấn tin và nội ván tin Song hành liên vấn tin là khả năng thực hiện cùng lúc nhiều câu vấn tin còn Song hành nội vấn tin sẽ đạt được bằng cách tách một câu vấn tin thành một số câu vấn tin con, mỗi câu sẽ được thực hiện tại một vị trí và truy xuất các phần khác nhau của CSDL phân tán Điểm thứ nhất liên quan đến chi phí tính toán phân tán nếu dữ liệu nằm tại các vị trí ở xa và người ta phải truy xuất nó bằng kỹ thuật xử lý từ xa Trong một số tình huống, người ta cho rằng phân phối chức năng quản lý cho nơi có chứa dữ liệu sẽ tốt hơn là di chuyển một số lượng lớn dữ liệu Chính điều này đã trở thành một đề tài tranh luận Một số người cho rằng với việc sử dụng rộng rãi các mạng có tốc độ cao và mạnh, việc phân tán dữ liệu và các chức năng quản lý dữ liệu không còn ý nghĩa nữa và sẽ đơn giản hơn khi lưu dữ liệu tại vị trí trung tâm và truy xuất nó (tải dữ liệu về) qua một mạng tốc độ cao Lập luận này, mặc dù nghe có lý, đã bỏ qua vấn đề của CSDL phân tán Trước tiên, trong phần lớn các ứng dụng ngày nay, dữ liệu đều phân tán; điều cần tranh luận là làm cách nào xử lý nó và xử lý ở đâu Thứ hai, và là điều quan trọng hơn, đó là lập luận này không phân biệt giữa dải thông (khả năng của các đường truyền máy tính) và độ trễ (thời gian cần để truyền dữ liệu) Độ trễ vốn dĩ tồn tại ngay trong bản thân các môi trường phân tán và có những giới hạn vật lý về tốc độ truyền dữ liệu trên các mạng máy tính như đã chỉ ra ở trên, các đường nối qua vệ tinh mất khoảng nửa giây để truyền dữ liệu giữa hai trạm mặt đất Điều này là do khoảng cách từ trái đất đến vệ tinh và không có gì để chúng ta có thể cải thiện được nó Đối với một số ứng dụng, đây là một thời gian trễ không thể chấp nhận được
Lập luận về vấn đề song hành trong CSDL phân tán rất quan trọng, đặc biệt khi người dùng truy xuất dữ liệu chỉ bằng cách vấn tin Việc cung cấp khả năng thực hiện song hành giữa các truy vấn đọc và viết là cần thiết, nhằm tối ưu hóa hiệu suất của CSDL Tuy nhiên, do phần lớn các truy xuất không chỉ là đọc, mà còn bao gồm các thao tác vừa đọc vừa cập nhật, nên việc cài đặt các nghi thức điều khiển đồng thời và ủy thác hợp lý là điều không thể thiếu.
Một số hệ thống thương mại hiện tại đã áp dụng phương pháp đa phân hóa cơ sở dữ liệu (CSDL) để giải quyết xung đột giữa hiệu năng chỉ đọc và hiệu năng cập nhật Họ duy trì hai bản sao: một bản dành cho việc truy vấn (CSDL vấn tin) và một bản cho các chương trình cập nhật (CSDL sản xuất) CSDL sản xuất được sao chép định kỳ vào CSDL vấn tin, giúp cải thiện hiệu năng truy vấn mà không tốn chi phí thao tác giao dịch Tuy nhiên, việc này vẫn yêu cầu cài đặt các nghi thức điều khiển đồng thời và nghi thức khả tín cho CSDL sản xuất để đồng bộ hóa các thao tác ghi vào cùng một mục dữ liệu.
Ngoài việc xem xét chi phí quản lý giao dịch, cần lưu ý rằng một số cài đặt chỉ cho phép truy vấn cơ sở dữ liệu (CSDL) theo chế độ đọc trong giờ làm việc, trong khi các cập nhật được xử lý theo lô Sau giờ làm việc, CSDL sẽ bị khóa để ngăn chặn truy vấn trong khi các cập nhật theo lô được thực hiện tuần tự Điều này tạo ra sự phân chia thời gian rõ ràng giữa các hoạt động đọc và cập nhật.
Hiệu năng của các hệ CSDL phân tán vẫn chưa được hiểu rõ, do thiếu ứng dụng thực tế để đánh giá Mặc dù cộng đồng CSDL đã phát triển một số chuẩn mốc để kiểm tra hiệu năng của ứng dụng xử lý giao dịch, nhưng tính khả thi của chúng trong việc đo hiệu năng quản lý giao dịch phân tán vẫn chưa được xác định Hơn nữa, thông tin về hiệu năng của các sản phẩm DBMS thương mại, ngay cả khi sử dụng các chuẩn mốc này, thường không được công bố Một ví dụ là Nonstop SQL, sản phẩm đã công bố các số liệu hiệu năng và cài đặt thử nghiệm [Tandem, 1988].
Tính dễ mở rộng
Trong môi trường phân tán, việc mở rộng kích thước cơ sở dữ liệu (CSDL) trở nên dễ dàng hơn Các thay đổi lớn đối với hệ thống hiếm khi cần thiết; sự mở rộng chủ yếu liên quan đến việc bổ sung khả năng lưu trữ và xử lý cho hệ thống mạng Mặc dù không thể đạt được sự gia tăng tuyến tính về "sức mạnh" do chi phí phân tán, nhưng vẫn có thể đạt được những cải thiện đáng kể.
Một trong những lợi ích của việc mở rộng hệ thống dễ dàng là tính kinh tế, với chi phí thấp hơn khi sử dụng nhiều máy tính nhỏ thay vì một máy lớn duy nhất Trong những năm 60 và đầu thập niên 70, người ta tin rằng có thể mua một máy tính mạnh gấp bốn lần với chi phí chỉ gấp đôi, điều này được gọi là luật.
Luật Grosh (Grosh's law) đã trở nên không còn chính xác với sự xuất hiện của máy tính mini và đặc biệt là máy vi tính Tuy nhiên, điều này không có nghĩa là máy mainframe sẽ biến mất hoàn toàn, vì nhiều ứng dụng vẫn thích hợp hơn khi thực hiện trên hệ thống này Thực tế, trong những năm gần đây, máy mainframe đã có sự hồi sinh đáng kể Vấn đề là, đối với nhiều ứng dụng, việc sử dụng hệ thống máy tính phân tán với sức mạnh vừa đủ thường sẽ kinh tế hơn.
Các yếu tố phức tạp
Các hệ cơ sở dữ liệu (CSDL) trong môi trường phân tán thường gặp phải những vấn đề phức tạp hơn, mặc dù nguyên tắc cơ bản vẫn giữ nguyên Sự phức tạp này dẫn đến việc phát sinh nhiều vấn đề mới, chịu ảnh hưởng bởi ba yếu tố chính.
Trong môi trường phân tán, dữ liệu có thể được nhân bản và lưu trữ tại nhiều vị trí khác nhau trong mạng máy tính, điều này giúp tăng cường độ tin cậy và hiệu quả hoạt động của hệ thống Hệ quản trị cơ sở dữ liệu phân tán cần lựa chọn bản sao dữ liệu phù hợp khi có yêu cầu truy xuất, đồng thời đảm bảo rằng mọi cập nhật được phản ánh trên tất cả các bản sao Nếu một số vị trí gặp sự cố hoặc mất kết nối trong quá trình cập nhật, hệ thống phải đảm bảo rằng các thay đổi sẽ được áp dụng cho dữ liệu ở những vị trí này khi phục hồi Cuối cùng, việc đồng bộ hóa giao dịch giữa các vị trí trở nên khó khăn hơn so với hệ thống tập trung, do mỗi vị trí không thể nhận thông tin tức thời về các hoạt động tại các vị trí khác.
Những khó khăn này đã chỉ ra một số vấn đề cần giải quyết trong các hệ quản trị CSDL phân tán và được thảo luận ở bên dưới
Hệ cơ sở dữ liệu phân tán (CSDL) có tính phức tạp cao hơn so với hệ thống tập trung, bởi vì chúng không chỉ gặp phải những vấn đề của môi trường tập trung mà còn phải đối mặt với nhiều thách thức mới chưa được giải quyết.
Chi phí cho các hệ phân tán tăng lên do yêu cầu về thiết bị mới như thiết bị truyền thông, nhưng xu hướng giảm giá thành của thiết bị đã làm giảm bớt tầm quan trọng của yếu tố này Tuy nhiên, chi phí đáng kể chủ yếu đến từ việc cần có phần mềm và phương pháp truyền thông phức tạp hơn để giải quyết các vấn đề kỹ thuật Phát triển các kỹ thuật công nghệ phần mềm, như các chương trình phát hiện và gỡ rối phân tán, là rất cần thiết trong bối cảnh này.
Chi phí nhân lực là một trong những yếu tố quan trọng nhất trong hoạt động xử lý dữ liệu Khi thiết bị máy tính được triển khai ở nhiều vị trí khác nhau, cần có nhân sự để điều hành và quản lý, dẫn đến việc gia tăng nhân lực cho các hoạt động này Do đó, việc phân tích kỹ lưỡng giữa lợi nhuận tăng lên nhờ vào việc sử dụng thông tin hiệu quả và kịp thời với chi phí nhân sự là rất cần thiết.
Phân tán quyền điều khiển là một ưu điểm nổi bật của các hệ CSDL phân tán, tuy nhiên, nếu không áp dụng các chiến lược phù hợp, việc điều khiển phân tán có thể trở thành một gánh nặng.
Một trong những lợi ích quan trọng của các cơ sở dữ liệu tập trung là khả năng kiểm soát truy xuất dữ liệu một cách hiệu quả Điều này giúp nâng cao tính an ninh và bảo mật thông tin, vì việc quản lý an ninh được thực hiện dễ dàng hơn tại một vị trí trung tâm.
CSDL phân tán và môi trường mạng đi kèm có những yêu cầu an ninh riêng biệt Những vấn đề nghiêm trọng về bảo mật trên mạng máy tính đã từng xảy ra, cho thấy rằng an ninh trong các hệ CSDL phân tán phức tạp hơn so với các hệ thống tập trung.
Một số vấn đề còn tồn tại trong hệ CSDL phân tán
Thiết kế CSDL phân tán
Câu hỏi chính được đặt ra là cách thức lưu trữ cơ sở dữ liệu (CSDL) và các ứng dụng trên nhiều vị trí khác nhau Có hai phương pháp chính là phân hoạch và nhân bản Trong phương pháp phân hoạch, CSDL được chia thành các phân hoạch riêng biệt, mỗi phân hoạch được lưu trữ ở một vị trí khác nhau Ngược lại, thiết kế nhân bản có thể là nhân bản hoàn toàn, khi toàn bộ CSDL được lưu tại mọi vị trí, hoặc nhân bản một phần, trong đó mỗi phân hoạch được lưu tại một số vị trí nhất định Hai vấn đề thiết kế quan trọng bao gồm phân mảnh, tức là chia CSDL thành các mảnh, và phân bố, liên quan đến việc phân tán các mảnh một cách hiệu quả.
Nghiên cứu trong lĩnh vực này chủ yếu tập trung vào qui hoạch toán học để tối ưu hóa chi phí lưu trữ dữ liệu, xử lý giao dịch và truyền thông Bài toán tổng quát thuộc loại NP-hard, do đó các giải pháp được đề xuất thường dựa vào các thuật giải heuristic.
Xử lý vấn tin phân tán
Xử lý vấn tin liên quan đến thiết kế thuật toán để phân tích và biến đổi câu hỏi thành chuỗi thao tác dữ liệu Vấn đề chính là lựa chọn chiến lược thực hiện từng câu hỏi trên mạng với chi phí hiệu quả Các yếu tố cần xem xét bao gồm sự phân tán dữ liệu, chi phí truyền tải và thiếu thông tin cục bộ Mục tiêu là tối ưu hóa vị trí thực hiện song song để nâng cao hiệu suất hoạt động trong các ràng buộc đã đặt ra Bài toán này thuộc loại NP-hard, và các phương pháp thông thường thường sử dụng heuristic.
Quản lý thư mục phân tán
Thư mục chứa thông tin quan trọng như mô tả và vị trí của các mục dữ liệu trong cơ sở dữ liệu (CSDL) Việc quản lý thư mục liên quan đến việc lựa chọn vị trí lưu trữ CSDL, với các đặc tính có thể là toàn cục cho hệ thống CSDL phân tán hoặc cục bộ cho từng vị trí Thư mục có thể được tập trung tại một địa điểm hoặc phân tán trên nhiều vị trí, và có thể tồn tại dưới dạng một bản duy nhất hoặc nhiều bản sao.
Điều khiển đồng thời phân tán
Điều khiển đồng thời (concurrency control) là quá trình đồng bộ hóa các truy xuất đến cơ sở dữ liệu (CSDL) phân tán nhằm duy trì tính toàn vẹn của dữ liệu Đây là một trong những vấn đề nghiên cứu phổ biến nhất trong lĩnh vực CSDL phân tán Trong ngữ cảnh phân tán, điều khiển đồng thời không chỉ tập trung vào tính toàn vẹn của từng CSDL mà còn cần đảm bảo tính nhất quán giữa nhiều bản sao của CSDL Điều kiện cần thiết là tất cả các giá trị của nhiều bản sao của mỗi mục dữ liệu phải "hội tụ về một giá trị," được gọi là nhất quán tương quan (mutual consistency).
Trong bài viết này, chúng ta sẽ thảo luận về hai giải pháp chính trong việc đồng bộ hóa thực thi yêu cầu của người sử dụng: giải pháp bi quan (pessimistic) và giải pháp lạc quan (optimistic) Giải pháp bi quan đồng bộ hóa việc thực thi trước khi bắt đầu, trong khi giải pháp lạc quan thực hiện các yêu cầu trước và sau đó kiểm tra tính nhất quán của cơ sở dữ liệu (CSDL) Hai nguyên thủy cơ bản được sử dụng trong cả hai phương pháp này là khóa chốt.
Các lược đồ khóa dựa trên sự độc quyền tương hỗ và nhãn thời gian, cho phép thực hiện các giao dịch theo một thứ tự nhất định Nhiều biến thể và thuật toán hỗn hợp đã được phát triển nhằm kết hợp hai cơ chế cơ bản này.
Quản lý khóa gài phân tán
Vấn đề khóa gài (deadlock) trong hệ thống phân tán tương tự như trong các trường hợp dữ liệu, có thể xảy ra khi sử dụng cơ chế đồng bộ hóa dựa trên khóa chốt Các giải pháp như ngăn chặn, tránh, phát hiện và khôi phục đều có thể áp dụng cho các hệ cơ sở dữ liệu phân tán.
Độ tin cậy của các hệ quản trị CSDL phân tán
Các hệ thống phân tán mang lại ưu điểm về độ tin cậy và tính sẵn sàng, nhưng điều này không tự nhiên mà có Các cơ chế cần thiết phải đảm bảo tính nhất quán của dữ liệu, khả năng phát hiện sự cố và khôi phục Khi xảy ra sự cố, các cơ sở dữ liệu tại những vị trí hoạt động vẫn phải giữ tính nhất quán và cập nhật Hơn nữa, khi hệ thống máy tính và mạng phục hồi, cơ sở dữ liệu phân tán phải có khả năng khôi phục và đồng bộ hóa với các vị trí bị mất liên lạc Điều này trở nên đặc biệt khó khăn khi mạng bị chia thành nhiều nhóm.
Hỗ trợ hệ điều hành
Cài đặt hệ CSDL phân tán trên nền tảng hệ điều hành truyền thống thường dẫn đến tình trạng ùn tắc do quá tải, vì hỗ trợ của hệ điều hành cho các thao tác CSDL không đáp ứng đủ yêu cầu của hệ quản trị CSDL Các vấn đề chính liên quan đến hệ điều hành trong hệ thống đơn bộ xử lý bao gồm quản lý bộ nhớ, hệ thống tập tin, phương pháp truy xuất, khôi phục sự cố và quản lý tiến trình Đối với hệ thống phân tán, còn có thêm thách thức trong việc xử lý nhiều tầng của phần mềm mạng Nghiên cứu trong lĩnh vực này nhằm tìm kiếm giải pháp vừa hỗ trợ đầy đủ cho các thao tác CSDL phân tán, vừa đảm bảo tính tổng quát cho hệ điều hành trong các ứng dụng khác.
CSDL đa chủng loại
Khi không đạt được sự đồng nhất giữa các cơ sở dữ liệu tại các vị trí khác nhau, hoặc theo phương pháp cấu trúc dữ liệu hay cơ chế truy xuất dữ liệu, cần thiết phải thiết lập cơ chế dịch chuyển dữ liệu giữa các hệ thống Cơ chế này thường được xây dựng theo một chuẩn tắc nhất định để thuận tiện cho việc phiên dịch dữ liệu, đồng thời bao gồm các khuôn mẫu chương trình nhằm hỗ trợ việc phiên dịch các chỉ thị thao tác dữ liệu.
Vấn đề tính đa chủng loại trở nên rõ ràng khi xây dựng hệ CSDL phân tán từ nhiều hệ thống tập trung tự vận hành Những hệ thống này, thường gọi là phức hệ CSDL (multidatabase system), cần được coi là bổ sung cho các hệ quản trị CSDL phân tán đã được định nghĩa Do đó, tất cả các vấn đề đã thảo luận trong các phần trước đều có những đặc tả bổ sung cho phức hệ CSDL.
Mối liên hệ giữa các vấn đề
Các vấn đề được nêu không phải là độc lập mà có mối liên hệ chặt chẽ với nhau Việc nghiên cứu chúng riêng rẽ là cần thiết do tính phức tạp của từng vấn đề, giúp chúng ta dễ dàng nhận diện tác động qua lại giữa các vấn đề thông qua các tham số và ràng buộc Mỗi vấn đề đều bị ảnh hưởng bởi các giải pháp của những vấn đề khác, và điều này cũng tác động đến tập hợp các giải pháp khả thi Trong phần này, chúng ta sẽ thảo luận về mối liên hệ giữa các vấn đề này.
Mối liên hệ giữa các thành phần trong thiết kế cơ sở dữ liệu phân tán ảnh hưởng đến nhiều vấn đề quản lý, bao gồm quản lý thư mục và chiến lược ước lượng vấn tin Định nghĩa các mảnh và vị trí của chúng không chỉ xác định nội dung thư mục mà còn quyết định cách thức quản lý thông tin Thông tin về cấu trúc mảnh và vị trí của chúng được bộ xử lý vấn tin sử dụng để phát triển chiến lược ước lượng hiệu quả Đồng thời, các khuôn mẫu truy xuất do bộ xử lý vấn tin xác định lại trở thành nguyên liệu cho các thuật toán phân tán và phân mảnh dữ liệu, trong khi vị trí và nội dung của thư mục cũng tác động đến quy trình xử lý câu vấn tin.
Nhân bản các mảnh dữ liệu để phân tán ảnh hưởng đến chiến lược điều khiển đồng thời và không phù hợp với các cơ sở dữ liệu có nhân bản Hơn nữa, các mẫu sử dụng và truy xuất cơ sở dữ liệu cũng tác động đến các thuật toán điều khiển đồng thời Trong trường hợp môi trường cần cập nhật thường xuyên, các biện pháp dự phòng sẽ khác so với môi trường chỉ yêu cầu truy vấn.
Bài toán điều khiển đồng thời có mối liên hệ chặt chẽ với quản lý khóa gài và độ tin cậy, thường được gọi là vấn đề quản lý giao dịch Thuật toán điều khiển đồng thời sẽ quyết định xem có cần công cụ quản lý khóa gài hay không Nếu áp dụng thuật toán dựa trên khóa chốt, khóa gài sẽ xảy ra, trong khi thuật toán dựa trên nhãn thời gian sẽ không dẫn đến tình trạng này.
Hình 1.10 Mối liên hệ giữa các đề tài đang được nghiên cứu
Cơ chế độ tin cậy được tích hợp vào thuật toán điều khiển đồng thời, tạo ra mối liên hệ rõ ràng giữa chúng Cần nhấn mạnh rằng cơ chế này ảnh hưởng đến việc lựa chọn thuật toán điều khiển đồng thời Các kỹ thuật đảm bảo độ khả tín cần thông tin về vị trí dữ liệu, vì các bản sao dữ liệu đóng vai trò quan trọng trong việc tăng cường độ tin cậy Hai vấn đề quan trọng đã thảo luận trước đó - hệ điều hành và các CSDL đa chủng - không được thể hiện trong Hình 1.10, nhưng chúng thực sự có liên quan chặt chẽ đến các vấn đề khác Loại hệ điều hành và các đặc trưng của nó có tác động lớn đến chiến lược giải quyết các vấn đề, và bản chất của những vấn đề này thay đổi đáng kể trong môi trường đa chủng.
Thiết kế CSDL phân tán Điều khiển đồng thời Quản lý khoá gài Độ tin cậy
Việc xử lý vấn đề loại cần áp dụng những phương pháp khác nhau do sự khác biệt về kiến trúc máy, hệ điều hành và các phần mềm quản trị cơ sở dữ liệu tại từng vị trí.
Các công nghệ hỗ trợ việc xây dựng phần mềm quản lý cơ sở dữ liệu phân tán
Server
Hầu hết các ứng dụng Web hoạt động tập trung trên Server, với Web Server chịu trách nhiệm giao tiếp với trình duyệt Cơ sở dữ liệu (CSDL) trên Server lưu trữ thông tin cần thiết cho ứng dụng Web Để kết nối giữa Web Server và CSDL, cần có một ngôn ngữ "liên lạc" để xử lý thông tin đi và đến từ Web Server.
Web Server, ngôn ngữ lập trình, CSDL phải hoạt động tốt trên một HĐH nào đó.
Hệ điều hành
Có rất nhiều chủng loại HĐH Windows 98/XP và Linux có lẽ rất phổ biến với tất cả mọi người.
Web Server
Hình 2.1 Web Server và Client
Web Server có chức năng chính là lắng nghe và phản hồi các yêu cầu từ người dùng trên Internet Nó hoạt động trên hệ điều hành, cung cấp và phân phối các trang web một cách hiệu quả Để đảm bảo tính ổn định cho môi trường Web, Web Server cần đáp ứng các yêu cầu một cách nghiêm túc, giúp người dùng có trải nghiệm trực tuyến mượt mà và liên tục.
Có rất nhiều loại Web Server khác nhau, nhưng chủ yếu trên thị trường thường sử dụng là Apache và IIS (Internet Information Server của hãng Microsoft)
Apache là một Web Server phổ biến và là một dự án mã nguồn mở, tương tự như Linux, PHP và MySQL Nó hoạt động tốt trên môi trường Unix, nhưng hiệu suất trên Windows chỉ ở mức trung bình Với tính chất mã nguồn mở, bất kỳ ai có kỹ năng lập trình đều có thể phát triển và mở rộng các tính năng của Apache.
Nếu ta chọn HĐH Windows thì nên sử dụng IIS Dưới đây, tôi xin trình bày chi tiết về IIS.
Giới thiệu về IIS - Internet Information Server
Microsoft Internet Information Server là một ứng dụng Server chuyển giao thông tin bằng việc sử dụng giao thức chuyển đổi siêu văn bản HTTP
2.4.2 IIS có thể làm được gì?
Xuất bản một Home page lên Internet
Tạo các giao dịch thương mại điện tử trên Internet( Quá trình giao dịch, đặt hàng…)
Cho phép người dùng từ xa có thể truy xuất Cơ sở dữ liệu (Data Base Remote Access)
2.4.3 IIS hoạt động như thế nào ?
Hình 2.1 Hoạt động của IIS
Web là một hệ thống gồm các yêu cầu (Request) và đáp ứng (Response) IIS đóng vai trò phản hồi các yêu cầu thông tin từ trình duyệt web, lắng nghe và xử lý các yêu cầu của người dùng trên mạng WWW.
Hiện tại đã có phiên bản 3.0, 4.0, 5.0, 6.0 nói chung cách cài đặt không khác nhau lắm trong các version
Chú ý: Tốt nhất bạn có thể dùng bản cài ngoài (Từ CD hoăc Download từ Internet) hoăc có thể tham khảo bảng sau
To set up a personal web server, you can find it in the Add-in folder of the full Windows 98 installation, or you can opt for the ASP WebServer, which is highly recommended The ASP WebServer installation comes with an excellent Roadmap program that provides valuable ASP learning resources.
Cài Internet Information Server trong Add/Remove Programs trong Control Panel hoặc Windows NT Option Pack
Cài Internet Information Server trong Add/Remove Programs trong Control Panel
Ví dụ và thực hiện chạy file ASP (VIDU.ASP)
Các bước thực hiện ( Win2000, XP, 2003 ) a Cài đặt Internet Information Server:
Vào Control Panel Add/Remove ProgramsAdd/Remove Windows Components Internet Information Server
Sau khi cài đặt xong vào Control Panel Administrative Tools Internet Information Services (IIS) Manager Có biểu tượng như sau: b Xuất bản web
- Tạo trên ổ đĩa cứng một thư mục để lưu các trang web Giả sử bạn có thư mục bài tập với đường dẫn như sau: C:\Inetpub\wwwroot\Baitap
- Chạy chương trình Internet Information Services (IIS) Manager, khi đó màn hình có dạng sau:
- Chuột phải vào thư mục Defaut Websites Propepties
- Chọn thư mục web trong Tab Home Directory (ở VD là thư mục bài tập):
- Chọn Apply OK c Chạy chương trình
Để truy cập file vidu.asp trong thư mục Baitap, bạn chỉ cần nhập địa chỉ http://localhost/vidu.asp vào ô địa chỉ của trình duyệt như Internet Explorer.
Đăng ký Website miễn phí trên Internet
Sau khi hoàn thành việc xây dựng một website, bước tiếp theo là đăng ký một tên miền với nhà cung cấp để đưa website lên mạng Internet, ví dụ như www.hic.edu.vn Có hai phương pháp để thực hiện việc đăng ký tên miền này.
Cách 1: Đăng ký tên miền và Web space (Dung lượng lưu trữ Web trên Server của nhà cung cấp)
To register a free domain on freeServer, you can do so if you already have your own server for database storage This method will provide you with a web address in the format http://.freeServers.com, along with web space on freeServer.
Bước 1 Vào địa chỉ http://www.freeServers.com để đăng kí website miễn phớ với địa chỉ truy cập cú dạng http://.freeServers.com
In Step 2, enter the desired registration address in the "yourname" field and click "Go." The next screen will appear, where you should select the last option, "100% Free Hosting Option," and then click on "Sign Up."
Bước 3: Tiếp theo, bạn cần điền đầy đủ thông tin cần thiết như họ tên, mật khẩu và email Cuối cùng, hãy nhấn vào ARTK để xác nhận rằng bạn đồng ý với các quy định của FreeServers khi sử dụng dịch vụ miễn phí này.
4 Nếu đăng kí thành công, màn hỡnh sau sẽ hiện ra để cung cấp cho bạn một số lựa chọn khi xõy dựng website của mỡnh.
Hệ CSDL quan hệ
Hình 2.2 CSDL được dùng trong website động
Relational Database Management Systems (Hệ quản trị Cơ sở dữ liệu quan hệ
Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) cung cấp phương thức hiệu quả để lưu trữ và truy xuất lượng thông tin lớn và phức tạp Xuất hiện trước cả Web, Linux và Windows NT, RDBMS đã trở thành một phần quan trọng trong công nghệ thông tin Hiện nay, có rất nhiều hệ quản trị cơ sở dữ liệu dựa trên SQL (Structured Query Language) để lựa chọn, trong đó các hệ phổ biến bao gồm Oracle, Sybase, Informix, IBM's DB2, MySQL và Microsoft SQL Server.
Dưới đây trình bày chi tiết về Hệ SQL Server của hãng Microsoft
SQL Server 2000 là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa
A Relational Database Management System (RDBMS) consists of databases, a database engine, and applications that manage data and various components within the RDBMS It operates across client computers and SQL Server computers, facilitating efficient data organization and retrieval.
SQL Server 2000 is optimized for operation in very large database environments, capable of handling data sizes up to terabytes while providing robust performance and support.
Web Server (HTTP Server) CSDL
Phần mềm phục vụ phía Server: Cung cấp siêu văn bản
Client-side software facilitates communication and performance for thousands of users SQL Server 2000 seamlessly integrates with other servers, including Microsoft Internet Information Server (IIS), E-Commerce Server, and Proxy Server, enhancing overall functionality and user experience.
Phiên bản Enterprise của SQL Server sở hữu đầy đủ các tính năng nổi bật, cho phép hoạt động hiệu quả trên hệ thống với tối đa 32 CPU và 64 GB RAM Ngoài ra, nó còn tích hợp các dịch vụ phân tích dữ liệu mạnh mẽ, như Analysis Services, giúp tối ưu hóa quá trình phân tích và xử lý dữ liệu.
The Standard Edition is highly suitable for small and medium-sized businesses due to its significantly lower cost compared to the Enterprise Edition, although it lacks some advanced features This edition can effectively operate on systems with up to 4 CPUs and 2 cores.
Personal: được tối ưu hóa để chạy trờn PC nờn cú thể cài đặt trờn hầu hết cỏc phiờn bản windows kể cả Windows 98
The Developer Edition of SQL Server includes all the features of the Enterprise Edition but is specifically designed with limitations on the number of simultaneous connections to the server This edition is ideal for those looking to learn SQL Server, and we will utilize it throughout the course It can be installed on Windows 2000 Professional or Windows NT Workstation.
The Desktop Engine (MSDE) is a desktop engine that operates without a user interface, making it suitable for application deployment on client machines It has a database size limit of approximately 2 GB.
Win CE : Dựng cho cỏc ứng dụng chạy trờn Windows CE Trial: Có các tính năng của Enterprise Edition, download free, nhưng giới hạn thời gian sử dụng
Cài éặt SQL Server 2000 (Installation) a Cài đặt SQL Server 2000 từ đĩa CD theo trình tự sau:
1) Đặt đĩa vào ổ CD, sau đó thực hiện tệp Autorun.exe
2) Chú ý chọn lần lượt các mục:
SQL Server 2000 Components Install Database Server
5) Create a new instance of SQL Server Next
6) Name: Dang Quynh Nga Company: CDCNHN
8) CD-KEY: GG8VD-YVFHM-8GYCD-F4KQ4-KMWTY (xem trong tệp: Serial.txl)
Use the local system account Next
Mixed Mode (Windows Authentication and SQL Server Athentication) Enter password : SA
Confirm password: SA Next, Next
14) Finish b Khởi động SQL Server
Bằng cách lần lượt chọn các mục:
After installing Microsoft SQL Server, you'll notice an icon in the bottom right corner of your screen, which represents the Service Manager You can easily start or stop SQL Server services by double-clicking this icon.
MySQL có thể không đáp ứng đầy đủ yêu cầu của một hệ quản trị cơ sở dữ liệu chính thống, nhưng nó vẫn cung cấp nhiều tính năng hữu ích cho công việc hàng ngày của người dùng Đặc biệt, nếu bạn cần lưu trữ dữ liệu trên web hoặc phát triển một trang thương mại điện tử cỡ vừa, MySQL hoàn toàn đủ khả năng đáp ứng nhu cầu của bạn Đối với các cơ sở dữ liệu cỡ trung bình, MySQL nổi bật với tốc độ xử lý nhanh chóng Hiện tại, MySQL đang liên tục được cải tiến với tần suất đáng ngạc nhiên.
MySQL là một hệ quản trị cơ sở dữ liệu chuyên nghiệp, được các nhà phát triển cập nhật thường xuyên và bổ sung nhiều tính năng ấn tượng.
CÁC NGÔN NGỮ LẬP TRÌNH DÙNG TRONG BÀI TOÁN QUẢN LÝ
Để thiết lập liên lạc giữa Web Server và CSDL trên Server, cần sử dụng ngôn ngữ lập trình nhằm xử lý thông tin truyền đi và nhận về Bên cạnh ngôn ngữ lập trình, các trình duyệt Web và ngôn ngữ kịch bản cũng đóng vai trò quan trọng trong việc trình bày nội dung và kiểm soát các thao tác của người dùng trước khi gửi dữ liệu về Server.
Ngôn ngữ định dạng HTML
HTML là ngôn ngữ đầu tiên được sử dụng để xây dựng và duyệt Web, cung cấp nhiều thẻ lệnh (Tag) giúp tạo ra các trang Web với nhiều kiểu dáng khác nhau Tuy nhiên, các trang Web này chủ yếu là tĩnh.
- Gõ tài liệu HTML bằng một trình soạn thảo văn bản bất kỳ và đặt tên file với phần mở rộng là HTML
- Chạy trình duyệt Web: Internet Explorer và chọn tên file vừa đặt (xem lại phần 2.4 ở chương trước)
Hình 3.1 Mô tả hoạt động của Server/Client dùng trình duyệt Web HTML
Trang chủ thường được đặt tên là Index.html, vì hầu hết các trình duyệt Web Server sẽ tự động nạp trang này Cấu trúc của một trang HTML mẫu bao gồm các phần cơ bản như thẻ , , và , giúp xác định nội dung và cách trình bày của trang web.
Enter tiltle here
Cặp thẻ … xác nhận rằng tài liệu là một tài liệu HTML, nghĩa là nó sử dụng các thẻ HTML để trình bày nội dung Toàn bộ nội dung của tài liệu được đặt giữa cặp thẻ này.
Cặp thẻ … chỉ có thể được sử dụng trong phần mở đầu của tài liệu, tức là nó phải nằm trong thẻ nằm trong cặp thẻ giới hạn.
, thường dùng để ghi tiêu đề của tài liệu
Cặp thẻ xác định phần nội dung chính của tài liệu, bao gồm các thông tin định dạng như ảnh nền, màu nền, màu văn bản siêu liên kết và lề trang Những thông tin này được đặt trong các tham số của thẻ Kể từ HTML 3.2, nhiều thuộc tính mới đã được áp dụng cho thẻ BODY.
Cặp thẻ
…
được dùng để viết các đoạn văn bản, nó sẽ bỏ qua khoảng trống và xuống dòng Thẻ Dùng để ngắt dòng
Nếu giữa hai từ có nhiều dấu cách, chỉ cần giữ lại một dấu cách khi hiển thị Để hiển thị dấu cách giữa các từ, bạn cần sử dụng dãy ký tự đặc biệt.
mỗi một   là một dấu cách
3.1.2 Các định dạng a Định dạng font chữ
Đoạn văn bản nằm giữa hai thẻ được sử dụng để định nghĩa một từ, thường được in nghiêng hoặc thể hiện qua kiểu dáng đặc biệt.
In chữ bị gạch ngang
Tăng kích thước font hiện thời lên một
Giảm kích thước font hiện thời đi một
Định dạng chỉ số trên (SuperScript)
Định dạng chỉ số dưới (SubScript)
Định nghĩa kích thước font chữ được sử dụng cho đến hết văn bản Thẻ này chỉ có một tham số size= xác định cỡ chữ Thẻ
không có thẻ kết thúc
Chọn kiểu chữ hiển thị bằng cách sử dụng thẻ FONT với hai tham số size= và color= để xác định cỡ chữ và màu sắc cho đoạn văn bản Kích thước chữ có thể là tuyệt đối (từ 1 đến 7) hoặc tương đối (+2, -4 ) so với font chữ hiện tại Ngoài ra, cần chú ý đến định dạng tiêu đề, đường kẻ và đoạn văn để tạo sự thu hút cho nội dung.
HTML hỗ trợ 6 mức thẻ định dạng đề mục từ H1 đến H6, trong đó H1 là cấp cao nhất và H6 là cấp thấp nhất Văn bản ở cấp H5 và H6 thường có kích thước nhỏ hơn so với văn bản thông thường Kích thước chữ của các cấp đề mục có thể khác nhau tùy thuộc vào trình duyệt.
Dưới đây là các thẻ dùng để định dạng văn bản ở dạng đề mục:
Định dạng đề mục cấp 1
Định dạng đề mục cấp 2
Định dạng đề mục cấp 3
Định dạng đề mục cấp 4
Định dạng đề mục cấp 5
Định dạng đề mục cấp 6
Vẽ một đường kẻ ngang:
Ví dụ:
Các đoạn văn thể hiện đúng như bản gốc dùng
Chú ý: Có thể dùng PRE để tạo bảng đơn giản
Thụt vào trong: Dùng thẻ
Để kết nối mailto, bạn chỉ cần đặt thuộc tính href của thẻ với giá trị mailto: address@domain Khi người dùng kích hoạt liên kết này, trình duyệt sẽ mở chức năng gửi thư điện tử.
3.1.3 Đưa hình ảnh vào trang WEB
Căn chỉnh phần chữ và hình ảnh (ảnh trên 1 dòng) Hình ảnh xem như một ký tự, nên nó nằm trên một dòng chữ Có 3 chế độ căn chỉnh:
Dòng chữ ở mép trên ảnh
Dòng chữ ở giữa ảnh
Dòng chữ ở mép dưới ảnh
RIGHT ảnh bên phải trang Web, LEFT ảnh bên trái trang Web VSPACE khoảng trống (pixel) bên trên và dưới ảnh
HSPACE khoảng trống (pixel) bên trái và phải ảnh WIDTH và HEIGHT là chiều rộng và chiều cao của khung chứa ảnh (pixel)
URL (Uniform Resource Locator): Địa chỉ tài nguyên thống nhất URL tuyệt đối: http://1ocalhost/test1.asp
URL tương đối: /test1.asp hoặc test2.asp (khi 2 tệp cùng nằm trên thư mục gốc)
Tạo liên kết từ trang web hiện hành (tệp HTML hay ASP hiện hành)
Dòng chỉ dẫn
VD: Gọi duyệt tệp test1.asp
Liên kết trên cùng một trang (chuyển đến một mục nào đó trên cùng trang)
Tra cứu Phone của Công ty
Danh sách phong
Các liên kết đồ hoạ
Dạng tổng quát của danh sách
Trước mỗi thành phần sẽ được đặt một bullet (chấm tròn), chữ số hay ký tự khác tuỳ thuộc vào TYPE
+ Danh sách có thứ tự (được đánh số LIST TYPE = OL
+ Danh sách không thứ tự (được đánh dấu tròn): LIST TYPE = UL
Để mở rộng danh sách có thứ tự, bạn có thể chọn kiểu ký tự và ký tự bắt đầu bằng cách sử dụng các thuộc tính của thẻ OL Các kiểu ký tự bao gồm: TYPE = A cho chữ hoa, TYPE = a cho chữ thường, TYPE = I cho chữ số La mã hoa, TYPE = i cho chữ số La mã thường, và TYPE = 1 cho chữ số.
START = 4 Ký tự đầu tiên là ký tự thứ 4 (mặc định là 1)
Chữ số La Mã thường bắt đầu từ iv
+ Đánh số lại các thành phần của danh sách có thứ tự: Dùng thêm các thuộc tính TYPE và START cho thẻ LI
Dùng thẻ chứa (Definition List) Bên trong và là các thẻ rỗng và
để trình bầy một đoạn văn thụt vào bên phải
Những người có nhiều thành tích trong chiến đấu và lao động
Chú ý: Có thể dùng toàn DT hoặc DD bên trong và
3.1.6 Bảng a Định dạng bảng cơ sở
Đầu đề của bảng
< ! Xác định các ô trong hàng ->
Nội dung Nội dung
Nội dung Nội dung
1 Mỗi ô được xác định bởi thẻ hoặc Nội dung trong được in đậm hơn, nên thường dùng làm đầu đề cho các hàng, cột
2 Trong thẻ có thể dùng các thuộc tính:
ALIGN = LEFT/CENTER/RIGHT VALIGN = TOP/CENTER/BOTTOM để căn chỉnh nội dung các ô trong hàng
3 Trong các thẻ và có thể dùng các thuộc tính:
To align content within a cell, use ALIGN options such as LEFT, CENTER, or RIGHT, and for vertical alignment, choose VALIGN settings like TOP, CENTER, or BOTTOM Additionally, you can define the cell's width using the WIDTH attribute, for example, WIDTH = 100 to set the width to 100 pixels This approach is essential when working with complex tables.
Các thuộc tính của
WIDTH thiết lập độ rộng tương đối (so với cửa sổ Browser) hay tuyệt đối, ví dụ: WIDTH = 50% WIDTH = 3.5 in WIDTH = 200 px
ALIGN = LEFT/CENTER/RIGHT Chú ý: Khi ALIGN = LEFT/ RIGHT thì văn bản sẽ bao hết bảng (nếu đủ hẹp) COLS = 3 - Số cột = 3
Đường viền của bảng được thiết lập dày 2 pixel, tạo nên sự nổi bật cho cấu trúc bảng Khoảng trắng giữa các ô được điều chỉnh lên 4 pixel, lớn hơn mặc định là 2 pixel, giúp tăng cường sự rõ ràng Bên cạnh đó, khoảng trắng giữa các vách của ô và nội dung là 3 pixel, cao hơn mức mặc định là 1 pixel, mang lại cảm giác thoải mái cho người đọc.
Nhóm các ô lại với nhau: Muốn vậy cần sử dụng các thuộc tính COLSPAN - mở rộng theo cột (sang phải)
ROWSPAN - mở rộng theo hàng (xuống dưới) cho các thẻ và
Student test 1 test 2AVERAGE
Mike 10075
Susan 80 95
Bill Dropped Course
+ Mầu nền: Để tô mầu các ô (cell) có thể dùng thuộc tính
BGCOLOR = Tênmầu/#FFFFFF trong các thẻ và
CLEANMIKEBILLSUE
Chú ý: Dùng 6 chữ số hệ Hex (thập lục) để xác định mầu theo kiểu RGB Chẳng hạn số FFFFFF tạo ra một nền trắng c Bố cục trang dạng bảng
Bài viết này giới thiệu bảng cấu hình các loại máy tính, trong đó cột đầu tiên hiển thị hình ảnh của từng máy, và cột thứ hai chứa các siêu liên kết để người đọc có thể tra cứu thông tin chi tiết.
Our System Configurations
PHOTONAMERAMHARD Disk
videoexpansioncase
System 6001 - 60
8 MB500 MB1 MB PCI
4 PCI SLOTSDESKTOP
System 7001 - 75
16 MB 1 GB 1 MB PCI
System 8001 - 120
20 MB1.6 GB2 MB PCI
5 PCI Slotstower
Tạo cột chứa văn bản
Ví dụ một bản đơn giản gồm một dòng 2 cột (hai ô), ô bên trái để quản lý các siêu liên kết ô bên phải là phần văn bản chính của trang
Letter from Donna
Query Checklist
Free - lancing Phone
Mảng là tập hợp các phần tử đồng kiểu dữ liệu, chia thành hai loại: mảng tĩnh và mảng động Mảng tĩnh có số lượng phần tử cố định khi khai báo, trong khi mảng động cho phép thay đổi số lượng phần tử trong quá trình thực thi chương trình Cách khai báo mảng được thực hiện theo một mẫu cụ thể.
Khi đó: a là mảng một chiều có 11 phần tử: a(0), a(1), a(2), …,a(10) b là mảng2 chiều gồm 21 hàng, 31 cột; 21 *31 phần tử: b(i,j) với i= đến 20, j=0 đến 30
* Mảng động được khai báo theo mẫu:
Sau này để sử dụng mảng a cần khai báo lại để định rõ số chiều và kích thước mỗi chiều như sau:
Mảng động thường được sử dụng để khai báo đối (là mảng) của hàm và thủ tục c Các phép toán
Các phép toán số học
Trong toán học, phép cộng (+) được thực hiện với các số hạng kiểu số như a + b Phép trừ (-) cũng áp dụng cho các số hạng kiểu số, ví dụ như a - b Đối với phép nhân (*), các số hạng kiểu số được nhân với nhau như a * b Cuối cùng, phép chia có hai dạng: a / b cho phép chia có phần thập phân và a \ b cho phép chia chỉ lấy phần nguyên.
Chú ý: Trong trường hợp phép chia a \ b thì kết quả sẽ được làm tròn
Phép lấy dư (mod): Áp dụng đối với các toán hạng kiểu số, a mod b = phần dư của phép chia a cho b
Các phép toán so sánh Các phép toán so sánh bao giờ cũng trả về giá trị thuộc kiểu Boolean
So sánh lớn hơn, lớn hơn hoặc bằng (>, >=): a > b; a >=b
So sánh nhỏ hơn, nhỏ hơn hoặc bằng (Chapnhan=Len(frmDKLop.ht.Value)>0 And Len(frmDKLOP.socmt.value)>0 Chapnhan=chapnhan and len(frmDKLop.ns.Value)>0
Chapnhan=chapnhan and len(frmDKLop.qq.Value)>0 Chapnhan=chapnhan and len(frmDKLop.tdvh.Value)>0 Chapnhan=chapnhan and len(frmDKLop.dkhn.Value)>0
Alert "Can nhap du thong tin"
'MsgBox "Can nhap du thong tin" frmDKLop.ht.Focus Exit sub else frmDklop.submit() End if
'Khai bao chung va cac ham, thu tuc Option Explicit
Dim connStr, conn,rec Sub Bosungvaolop() Dim sq
The user has successfully registered with the following details: name, date of birth, gender, ID number, hometown, educational background, and chosen field of study The registration information is inserted into the database using an SQL query Upon completion, a confirmation message is displayed indicating that the registration was successful.
Lop
Do Until rec1.eof Varlop=rec1("chuyennganh") if Varlop LopChon then
Lop
Mon: