Chương 2: Khái niệm và kiến trúc hệ thống cơ sở dữ liệu
Nội dung bài viết
Kiến trúc của các gói DBMS đã phát triển từ các hệ thống nguyên khối ban đầu, trong đó toàn bộ gói phần mềm DBMS là một hệ thống tích hợp chặt chẽ, đến các gói DBMS hiện đại được thiết kế theo mô-đun, với kiến trúc hệ thống client / server. Sự tăng trưởng gần đây về số lượng dữ liệu, yêu cầu lưu trữ đã dẫn đến các hệ thống cơ sở dữ liệu với kiến trúc phân tán bao gồm hàng nghìn máy tính quản lý các kho dữ liệu. Sự phát triển này phản ánh xu hướng của máy tính, nơi các máy tính lớn được thay thế bằng hàng trăm máy trạm phân tán và máy tính cá nhân được kết nối qua mạng truyền thông với nhiều loại máy chủ khác nhau — máy chủ web, máy chủ cơ sở dữ liệu, máy chủ tệp, máy chủ ứng dụng, và như thế. Môi trường điện toán đám mây hiện tại bao gồm các máy chủ lớn quản lý cái gọi là dữ liệu lớn cho người dùng trên web
Trong kiến trúc DBMS client / server cơ bản, chức năng hệ thống được phân phối giữa hai loại mô-đun.1 Mô-đun client thường được thiết kế để nó sẽ chạy trên thiết bị di động, laptop cá nhân người dùng hoặc máy tính cá nhân (PC). Thông thường, các chương trình ứng dụng và giao diện người dùng truy cập cơ sở dữ liệu chạy trong mô-đun máy khách. Do đó, mô-đun ứng dụng khách xử lý tương tác của người dùng và cung cấp các giao diện thân thiện với người dùng như ứng dụng dành cho thiết bị di động hoặc GUI dựa trên biểu mẫu hoặc mô-đun người dùng (giao diện người dùng đồ họa) cho PC. Loại mô-đun khác, được gọi là mô-đun máy chủ, thường xử lý việc lưu trữ dữ liệu, truy cập, tìm kiếm và các chức năng khác. Đầu tiên, chúng ta phải nghiên cứu các khái niệm cơ bản hơn sẽ giúp chúng ta hiểu rõ hơn về các kiến trúc cơ sở dữ liệu hiện đại.
1. Mô hình dữ liệu, lược đồ và thể hiện
Một đặc điểm cơ bản của cách tiếp cận cơ sở dữ liệu là nó cung cấp một số mức độ trừu tượng hóa dữ liệu. Trừu tượng hóa dữ liệu thường đề cập đến việc loại bỏ các chi tiết của tổ chức và lưu trữ dữ liệu, đồng thời làm nổi bật các tính năng cần thiết để nâng cao hiểu biết về dữ liệu. Một trong những đặc điểm chính của phương pháp tiếp cận cơ sở dữ liệu là hỗ trợ trừu tượng hóa dữ liệu để những người dùng khác nhau có thể cảm nhận dữ liệu ở mức độ chi tiết ưa thích của họ. Chế độ dữ liệu — một tập hợp các khái niệm có thể được sử dụng để mô tả cấu trúc của cơ sở dữ liệu — cung cấp các phương tiện cần thiết để đạt được sự trừu tượng này. Theo cấu trúc của cơ sở dữ liệu, chúng ta muốn nói đến các kiểu dữ liệu, mối quan hệ và ràng buộc áp dụng cho dữ liệu . Hầu hết các mô hình dữ liệu cũng bao gồm một tập hợp các hoạt động cơ bản để chỉ định các truy xuất và cập nhật trên cơ sở dữ liệu.
Ngoài các hoạt động cơ bản được cung cấp bởi mô hình dữ liệu, việc đưa các khái niệm vào mô hình dữ liệu để chỉ định khía cạnh động hoặc hành vi của một ứng dụng cơ sở dữ liệu đang trở nên phổ biến hơn. Điều này cho phép người thiết kế cơ sở dữ liệu chỉ định một tập hợp các hoạt động hợp lệ do người dùng xác định được phép trên các đối tượng cơ sở dữ liệu. Ví dụ về thao tác do người dùng xác định có thể là COMPUTE_GPA, có thể được áp dụng cho đối tượng STUDENT. Mặt khác, các hoạt động chung để thêm, xóa, sửa đổi hoặc truy xuất bất kỳ loại đối tượng nào thường được bao gồm trong các hoạt động của mô hình dữ liệu cơ bản. Các khái niệm để chỉ định hành vi là cơ bản đối với mô hình dữ liệu hướng đối tượng nhưng cũng đang được tích hợp trong các mô hình dữ liệu truyền thống hơn. Ví dụ, các mô hình quan hệ đối tượng mở rộng mô hình quan hệ cơ bản để bao gồm các khái niệm như vậy, trong số những khái niệm khác. Trong mô hình dữ liệu quan hệ cơ bản, có một điều khoản để gắn hành vi với các quan hệ dưới dạng các mô-đun được lưu trữ liên tục, phổ biến được gọi là các thủ tục (stored procedure)
1.1 Các loại mô hình dữ liệu
Nhiều mô hình dữ liệu đã được đề xuất, chúng ta có thể phân loại theo các loại khái niệm mà chúng sử dụng để mô tả cấu trúc cơ sở dữ liệu. Mô hình dữ liệu khái niệm hoặc mức cao cung cấp các khái niệm gần với cách nhiều người dùng trên mỗi dữ liệu liên tục, trong khi mô hình dữ liệu vật lý hoặc mức thấp cung cấp các khái niệm mô tả chi tiết về cách dữ liệu được lưu trữ trên phương tiện lưu trữ máy tính, cụ thể là ổ đĩa. Các khái niệm được cung cấp bởi các mô hình dữ liệu vật lý thường dành cho các chuyên gia máy tính, không dành cho người dùng cuối. Giữa hai thái cực này là một lớp mô hình dữ liệu biểu diễn (hoặc triển khai), 4 mô hình này cung cấp các khái niệm mà người dùng cuối có thể dễ dàng hiểu được nhưng không quá xa cách tổ chức dữ liệu trong lưu trữ máy tính. Mô hình dữ liệu biểu diễn ẩn nhiều chi tiết lưu trữ dữ liệu trên đĩa nhưng có thể được thực hiện trực tiếp trên hệ thống máy tính
Mô hình dữ liệu khái niệm sử dụng các khái niệm như thực thể, thuộc tính và mối quan hệ. Một thực thể đại diện cho một đối tượng hoặc khái niệm trong thế giới thực, chẳng hạn như một nhân viên hoặc một dự án từ thế giới nhỏ được mô tả trong cơ sở dữ liệu. Thuộc tính đại diện cho một số thuộc tính được quan tâm mô tả thêm về một thực thể, chẳng hạn như tên hoặc mức lương của nhân viên. Mối quan hệ giữa hai hoặc nhiều thực thể thể hiện sự liên kết giữa các thực thể, ví dụ, mối quan hệ đang thực hiện giữa một nhân viên và một dự án.
Các mô hình dữ liệu đại diện hoặc triển khai là các mô hình được sử dụng thường xuyên nhất trong các DBMS thương mại truyền thống. Chúng bao gồm mô hình dữ liệu quan hệ được sử dụng rộng rãi, cũng như cái gọi là mô hình dữ liệu kế thừa — mô hình mạng và phân cấp — đã được sử dụng rộng rãi trong quá khứ. Mô hình dữ liệu biểu diễn biểu diễn dữ liệu bằng cách sử dụng cấu trúc bản ghi và do đó đôi khi được gọi là mô hình dữ liệu dựa trên bản ghi
Chúng ta có thể coi mô hình dữ liệu đối tượng là một ví dụ về một họ mô hình dữ liệu triển khai cấp cao hơn gần với mô hình dữ liệu khái niệm hơn. Một tiêu chuẩn cho cơ sở dữ liệu đối tượng được gọi là mô hình đối tượng ODMG đã được đề xuất bởi Nhóm Quản lý Dữ liệu Đối tượng (ODMG). Mô hình dữ liệu đối tượng cũng thường được sử dụng như các mô hình khái niệm cấp cao, đặc biệt là trong lĩnh vực kỹ thuật phần mềm.
Mô hình dữ liệu vật lý mô tả cách dữ liệu được lưu trữ dưới dạng tệp trong máy tính bằng cách lưu trữ lại thông tin đã gửi như định dạng bản ghi, chuỗi bản ghi và đường dẫn truy cập. Đường dẫn truy cập là một cấu trúc tìm kiếm giúp cho việc tìm kiếm các bản ghi cơ sở dữ liệu cụ thể trở nên hiệu quả, chẳng hạn như lập chỉ mục hoặc băm. Chỉ mục là một ví dụ về đường dẫn truy cập cho phép truy cập trực tiếp vào dữ liệu bằng cách sử dụng một thuật ngữ chỉ mục hoặc một từ khóa. Nó tương tự như chỉ mục ở cuối văn bản này, ngoại trừ việc nó có thể được tổ chức theo tuyến tính, phân cấp (cấu trúc cây) hoặc một số kiểu khác.
Một lớp mô hình dữ liệu khác được gọi là mô hình dữ liệu tự mô tả. Việc lưu trữ dữ liệu trong các hệ thống dựa trên các mô hình này kết hợp mô tả dữ liệu với chính các giá trị dữ liệu. Trong các DBMS truyền thống, mô tả (lược đồ) được tách biệt khỏi dữ liệu. Các mô hình này bao gồm XML (cũng như trường hợp biểu diễn dưới dạng key-value và hệ thống NOSQL gần đây đã được thiết kế để quản lý dữ liệu lớn).
1.2 lược đồ, biển hiện (instances) và trạng thái cơ sở dữ liệu
Trong một mô hình dữ liệu, điều quan trọng là phải phân biệt giữa mô tả của cơ sở dữ liệu và chính cơ sở dữ liệu đó. Mô tả của cơ sở dữ liệu được gọi là lược đồ cơ sở dữ liệu, được chỉ định trong quá trình thiết kế cơ sở dữ liệu và dự kiến sẽ không thay đổi thường xuyên. Hầu hết các mô hình dữ liệu đều có một số quy ước nhất định để hiển thị các lược đồ dưới dạng sơ đồ. Một lược đồ được hiển thị được gọi là biểu đồ lược đồ.
Biểu đồ lược đồ chỉ hiển thị một số khía cạnh của lược đồ, chẳng hạn như tên của các loại bản ghi và mục dữ liệu, và một số loại ràng buộc. Các khía cạnh khác không được chỉ định trong sơ đồ lược đồ; ví dụ, Hình 2.1 không cho thấy kiểu dữ liệu của từng mục dữ liệu cũng như các mối quan hệ giữa các tệp khác nhau. Nhiều loại ràng buộc không được biểu diễn trong biểu đồ lược đồ. Một hạn chế chẳng hạn như sinh viên chuyên ngành khoa học máy tính phải thi CS1310 trước khi kết thúc năm thứ hai của họ là khá khó khăn để biểu diễn bằng sơ đồ
Dữ liệu thực tế trong cơ sở dữ liệu có thể thay đổi khá thường xuyên. Ví dụ, cơ sở dữ liệu về học sinh thay đổi mỗi khi chúng ta thêm một học sinh mới hoặc nhập một lớp mới. Dữ liệu trong cơ sở dữ liệu tại một thời điểm cụ thể được gọi là trạng thái cơ sở dữ liệu hoặc ảnh chụp nhanh. Nó còn được gọi là tập hợp các lần xuất hiện hoặc phiên bản hiện tại trong cơ sở dữ liệu. Trong một trạng thái cơ sở dữ liệu nhất định, mỗi cấu trúc lược đồ có tập hợp các thể hiện hiện tại của riêng nó; ví dụ, cấu trúc STUDENT sẽ chứa tập hợp các thực thể sinh viên cá biệt (bản ghi) làm thể hiện của nó. Nhiều trạng thái cơ sở dữ liệu có thể được cấu trúc để tương ứng với một lược đồ cơ sở dữ liệu cụ thể. Mỗi khi chúng ta thêm hoặc xóa một bản ghi hoặc thay đổi giá trị của một mục dữ liệu trong một bản ghi, chúng tôi sẽ thay đổi một trạng thái của cơ sở dữ liệu thành một trạng thái khác
Sự phân biệt giữa lược đồ cơ sở dữ liệu và trạng thái cơ sở dữ liệu là rất quan trọng. Khi chúng tôi xác định một cơ sở dữ liệu mới, chúng tôi chỉ định lược đồ cơ sở dữ liệu của nó cho DBMS. Lúc này, trạng thái cơ sở dữ liệu tương ứng là trạng thái trống không có dữ liệu. Chúng ta nhận được trạng thái ban đầu của cơ sở dữ liệu khi cơ sở dữ liệu được nhập lần đầu tiên hoặc tải dữ liệu ban đầu. Từ đó trở đi, mỗi khi một thao tác cập nhật được áp dụng cho cơ sở dữ liệu, chúng ta sẽ nhận được một trạng thái cơ sở dữ liệu khác. Tại bất kỳ thời điểm nào, cơ sở dữ liệu có trạng thái hiện tại. DBMS chịu trách nhiệm một phần trong việc đảm bảo rằng mọi trạng thái của cơ sở dữ liệu là trạng thái hợp lệ - nghĩa là trạng thái thỏa mãn cấu trúc và các ràng buộc được chỉ định trong lược đồ. Do đó, chỉ định nhập một lược đồ chính xác cho DBMS là cực kỳ quan trọng và lược đồ phải được thiết kế hết sức cẩn thận. DBMS lưu trữ các mô tả về cấu trúc và ràng buộc của lược đồ — còn được gọi là siêu dữ liệu — trong danh mục DBMS để phần mềm DBMS có thể tham chiếu đến lược đồ bất cứ khi nào nó cần. Lược đồ đôi khi được gọi là số nguyên và trạng thái cơ sở dữ liệu được gọi là phần mở rộng của lược đồ
2. Kiến trúc 3 lược đồ và độc lập dữ liệu
Ba trong bốn đặc điểm quan trọng của phương pháp tiếp cận cơ sở dữ liệu, được liệt kê ở phần trên , là sử dụng một danh mục để lưu trữ mô tả cơ sở dữ liệu (lược đồ) để làm cho nó tự mô tả, cách ly các chương trình và dữ liệu ( độc lập dữ liệu và chương trình), và hỗ trợ nhiều chế độ xem người dùng. Trong phần này, chúng ta chỉ định một kiến trúc cho các hệ thống cơ sở dữ liệu, được gọi là kiến trúc lược đồ 3 lớp, được đề xuất để giúp đạt được và hình dung các đặc điểm này. Sau đó, chúng ta thảo luận thêm về khái niệm độc lập dữ liệu.
2.1 Kiến trúc 3 lược đồ
Mục tiêu của kiến trúc lược đồ 3 lớp, được minh họa trong Hình 2.2, là tách các ứng dụng người dùng khỏi cơ sở dữ liệu vật lý. Trong kiến trúc này, các lược đồ có thể được xác định ở ba cấp độ sau:
-
Mức nội bộ (mức vật lý) có một lược đồ bên trong, mô tả cấu trúc lưu trữ vật lý của cơ sở dữ liệu. Lược đồ nội bộ sử dụng mô hình dữ liệu vật lý và mô tả chi tiết đầy đủ về đường dẫn truy cập và lưu trữ dữ liệu cho cơ sở dữ liệu
-
Mức khái niệm có một lược đồ khái niệm, mô tả cấu trúc của toàn bộ cơ sở dữ liệu cho một cộng đồng người dùng. Lược đồ khái niệm ẩn các chi tiết của cấu trúc lưu trữ vật lý và tập trung vào việc mô tả các mối quan hệ giữa các thực thể (entity), kiểu dữ liệu, mối quan hệ, hoạt động của người dùng và các ràng buộc. Thông thường, một mô hình dữ liệu đại diện được sử dụng để mô tả lược đồ khái niệm khi một hệ thống cơ sở dữ liệu được triển khai. Lược đồ khái niệm triển khai này thường dựa trên thiết kế lược đồ khái niệm trong mô hình dữ liệu mức cao.
-
Mức độ bên ngoài bao gồm một số lược đồ bên ngoài hoặc chế độ xem người dùng. Mỗi lược đồ bên ngoài mô tả phần cơ sở dữ liệu mà một nhóm người dùng cụ thể quan tâm và ẩn phần còn lại của cơ sở dữ liệu khỏi nhóm người dùng đó. Như ở cấp độ trước, mỗi lược đồ bên ngoài thường được đề cập bằng cách sử dụng mô hình dữ liệu đại diện, có thể dựa trên thiết kế giản đồ bên ngoài trong mô hình dữ liệu khái niệm cấp cao
Kiến trúc ba lược đồ là một công cụ thuận tiện mà người dùng có thể trực quan hóa các cấp lược đồ trong hệ thống cơ sở dữ liệu. Hầu hết các DBMS không tách biệt ba cấp một cách hoàn toàn và rõ ràng, nhưng chúng hỗ trợ kiến trúc ba lược đồ ở một mức độ nào đó. Một số DBMS cũ hơn có thể bao gồm các chi tiết mức vật lý trong lược đồ concep tual. Kiến trúc ANSI ba cấp có một vị trí quan trọng trong việc phát triển công nghệ cơ sở dữ liệu vì nó phân tách rõ ràng cấp bên ngoài của người dùng, cấp khái niệm của cơ sở dữ liệu và cấp lưu trữ nội bộ để thiết kế cơ sở dữ liệu. Nó được áp dụng rất nhiều trong việc thiết kế các DBMS, ngay cả ngày nay. Trong hầu hết các DBMS hỗ trợ chế độ xem người dùng, các lược đồ bên ngoài được chỉ định trong cùng một mô hình dữ liệu mô tả thông tin mức khái niệm (ví dụ: một DBMS quan hệ như Oracle hoặc SQLServer sử dụng SQL cho việc này)
Lưu ý rằng ba lược đồ chỉ là mô tả dữ liệu; dữ liệu thực tế chỉ được lưu trữ ở cấp độ vật lý. Trong kiến trúc ba lược đồ, mỗi nhóm người dùng tham chiếu đến lược đồ bên ngoài của riêng mình. Do đó, DBMS phải chuyển đổi một yêu cầu được chỉ định trên một lược đồ bên ngoài thành một yêu cầu đối với lược đồ khái niệm và sau đó thành một yêu cầu trên lược đồ bên trong để xử lý trên cơ sở dữ liệu được lưu trữ. Nếu yêu cầu là truy xuất cơ sở dữ liệu, thì dữ liệu được trích xuất từ cơ sở dữ liệu được lưu trữ phải được định dạng lại để phù hợp với chế độ xem bên ngoài của người dùng. Các quá trình chuyển đổi yêu cầu và kết quả giữa các mức được gọi là ánh xạ. Các ánh xạ này có thể tốn thời gian, vì vậy một số DBMS — đặc biệt là những DBMS nhằm hỗ trợ cơ sở dữ liệu nhỏ — không hỗ trợ các khung nhìn bên ngoài. Tuy nhiên, ngay cả trong những hệ thống như vậy, việc chuyển đổi các yêu cầu giữa cấp độ khái niệm và cấp độ bên trong là điều cần thiết.
2.2 Độc lập dữ liệu
Kiến trúc ba lược đồ có thể được sử dụng để giải thích thêm về khái niệm độc lập dữ liệu, có thể được định nghĩa là khả năng thay đổi lược đồ ở một cấp của hệ thống cơ sở dữ liệu mà không cần phải thay đổi lược đồ ở cấp cao hơn tiếp theo. Chúng ta có thể xác định hai loại độc lập dữ liệu
-
Độc lập dữ liệu logic: là khả năng thay đổi lược đồ khái niệm mà không cần phải thay đổi lược đồ hoặc chương trình ứng dụng bên ngoài. Chúng ta có thể thay đổi lược đồ khái niệm để mở rộng cơ sở dữ liệu (bằng cách thêm loại bản ghi hoặc mục dữ liệu), thay đổi các ràng buộc hoặc để giảm cơ sở dữ liệu (bằng cách xóa loại bản ghi hoặc mục dữ liệu). Trong trường hợp cuối cùng, các lược đồ bên ngoài chỉ tham chiếu đến dữ liệu còn lại sẽ không bị ảnh hưởng. Chỉ định nghĩa khung nhìn và ánh xạ cần được thay đổi trong DBMS hỗ trợ tính độc lập dữ liệu lôgic. Sau khi lược đồ khái niệm trải qua một tổ chức lại hợp lý, các chương trình ứng dụng tham chiếu các cấu trúc lược đồ bên ngoài phải hoạt động như trước. Các thay đổi đối với các ràng buộc có thể được áp dụng cho lược đồ khái niệm mà không ảnh hưởng đến các lược đồ hoặc chương trình ứng dụng bên ngoài.
-
Tính độc lập dữ liệu vật lý là khả năng thay đổi lược đồ bên trong mà không cần phải thay đổi lược đồ khái niệm. Do đó, mà sơ đồ bên ngoài cũng không cần phải thay đổi. Các thay đổi đối với lược đồ nội bộ có thể cần thiết vì một số tệp vật lý đã được tổ chức lại — ví dụ: bằng cách tạo ra các cấu trúc truy cập bổ sung để cải thiện hiệu suất truy xuất hoặc cập nhật. Nếu dữ liệu giống như trước đây vẫn còn trong cơ sở dữ liệu, chúng ta không cần phải thay đổi lược đồ khái niệm. Ví dụ: việc cung cấp một đường dẫn truy cập để cải thiện tốc độ truy xuất các bản ghi SECTION theo thời hạn và năm sẽ không yêu cầu một truy vấn như liệt kê tất cả các phần được cung cấp vào mùa thu năm 2008 phải được thay đổi, mặc dù truy vấn sẽ được thực thi nhưng nó sẽ hiệu quả hơn bằng cách sử dụng đường dẫn truy cập mới
Nói chung, tính độc lập của dữ liệu vật lý tồn tại trong hầu hết các cơ sở dữ liệu và môi trường tệp trong đó các chi tiết vật lý, chẳng hạn như vị trí chính xác của dữ liệu trên đĩa và chi tiết về mã hóa lưu trữ, vị trí, nén, chia nhỏ, hợp nhất các bản ghi, v.v. bị ẩn khỏi người dùng. Các ứng dụng vẫn không biết về những chi tiết này. Mặt khác, độc lập dữ liệu lôgic đạt được ở mức cao hơn vì nó cho phép thay đổi cấu trúc và ràng buộc mà không ảnh hưởng đến các chương trình ứng dụng - một yêu cầu khắt khe hơn nhiều.
Bất cứ khi nào chúng ta có một DBMS nhiều cấp, danh mục của nó phải được mở rộng để bao gồm thông tin về cách ánh xạ các yêu cầu và dữ liệu giữa các cấp khác nhau. DBMS sử dụng phần mềm bổ sung để thực hiện các ánh xạ này bằng cách tham khảo thông tin ánh xạ trong danh mục. Tính độc lập dữ liệu xảy ra bởi vì khi lược đồ được thay đổi ở một số cấp, lược đồ ở cấp cao hơn tiếp theo vẫn không thay đổi; chỉ ánh xạ giữa hai cấp độ được thay đổi. Do đó, vòng tham chiếu chương trình ứng dụng đến lược đồ cấp cao hơn không cần phải thay đổi
3. Ngôn ngữ cơ sở dữ liệu và giao diện
DBMS phải cung cấp các ngôn ngữ và giao diện thích hợp cho từng loại người dùng. Trong phần này, chúng ta thảo luận về các loại ngôn ngữ và giao diện được cung cấp bởi DBMS và các danh mục người dùng đượcnhắm đến theo từng giao diện.
3.1 Ngôn ngữ cở sở dữ liệu
Sau khi hoàn thành thiết kế cơ sở dữ liệu và một DBMS được chọn để triển khai cơ sở dữ liệu, bước đầu tiên là xác định các lược đồ nội bộ và khái niệm cho cơ sở dữ liệu và bất kỳ ánh xạ nào giữa hai cơ sở này. Trong nhiều DBMS nơi không duy trì mức phân tách nghiêm ngặt, một ngôn ngữ, được gọi là ngôn ngữ định nghĩa dữ liệu (DDL), được DBA và các nhà thiết kế cơ sở dữ liệu sử dụng để xác định cả hai lược đồ. DBMS sẽ có một trình biên dịch DDL có chức năng là xử lý các câu lệnh DDL để xác định các mô tả về cấu trúc lược đồ và lưu trữ mô tả lược đồ trong danh mục DBMS
Trong các DBMS, nơi duy trì sự tách biệt rõ ràng giữa mức khái niệm và mức vật lý, DDL chỉ được sử dụng để chỉ định lược đồ khái niệm. Một ngôn ngữ khác, ngôn ngữ định nghĩa lưu trữ (SDL), được sử dụng để chỉ định lược đồ vật lý. Các ánh xạ giữa hai lược đồ có thể được chỉ định bằng một trong hai ngôn ngữ này. Trong hầu hết các DBMS quan hệ ngày nay, không có ngôn ngữ cụ thể nào thực hiện vai trò của SDL. Thay vào đó, lược đồ vật lý được chỉ định bởi sự kết hợp của các chức năng, tham số và thông số kỹ thuật liên quan đến việc lưu trữ tệp. Những điều này cho phép nhân viên DBA kiểm soát các lựa chọn lập chỉ mục và ánh xạ dữ liệu vào bộ nhớ. Đối với một kiến trúc ba lược đồ thực sự, chúng ta sẽ cần một ngôn ngữ thứ ba, ngôn ngữ định nghĩa chế độ xem (VDL), để chỉ định các chế độ xem của người dùng và ánh xạ của họ với lược đồ khái niệm, nhưng trong hầu hết các DBMS, DDL được sử dụng để xác định cả lược đồ khái niệm và lược đồ bên ngoài. . Trong các DBMS quan hệ, SQL được sử dụng trong vai trò của VDL để xác định chế độ xem người dùng hoặc ứng dụng là kết quả của các truy vấn được xác định trước
Một khi các lược đồ cơ sở dữ liệu được biên dịch và cơ sở dữ liệu được điền dữ liệu, người dùng phải có một số phương tiện để thao tác với cơ sở dữ liệu. Các thao tác điển hình bao gồm truy xuất, thêm, xóa và sửa đổi dữ liệu. DBMS cung cấp một tập hợp các thao tác hoặc một ngôn ngữ được gọi là ngôn ngữ thao tác dữ liệu (DML) cho những mục đích này
Trong các DBMS hiện tại, các loại ngôn ngữ trước thường không được coi là ngôn ngữ khác biệt; thay vào đó, một ngôn ngữ tích hợp toàn diện được sử dụng bao gồm các cấu trúc cho định nghĩa lược đồ khái niệm, định nghĩa chế độ xem và thao tác dữ liệu. Định nghĩa lưu trữ thường được giữ riêng biệt, vì nó được sử dụng để xác định cấu trúc lưu trữ vật lý để tinh chỉnh hiệu suất của hệ thống cơ sở dữ liệu, điều này thường do nhân viên DBA thực hiện. Một ví dụ điển hình của một ngôn ngữ cơ sở dữ liệu toàn diện lan guage là ngôn ngữ cơ sở dữ liệu quan hệ SQL, ngôn ngữ này đại diện cho sự kết hợp của DDL, VDL và DML, cũng như các câu lệnh cho đặc tả ràng buộc, sự phát triển lược đồ và nhiều tính năng khác. SDL không có trong các phiên bản đầu tiên của SQL nhưng đã bị loại bỏ để giữ cho nó chỉ ở mức khái niệm và bên ngoài
Có hai loại DML chính. DML cấp cao hoặc phi thủ tục có thể được sử dụng riêng để chỉ định các hoạt động cơ sở dữ liệu phức tạp một cách ngắn gọn. Nhiều DBMS cho phép các câu lệnh DML cấp cao được nhập từ giao diện các phần mềm DBMS hoặc được nhúng vào ngôn ngữ lập trình. Trong trường hợp thứ hai, các câu lệnh DML phải được xác định trong chương trình để chúng có thể được trích xuất bởi một trình biên dịch trước và được xử lý bởi DBMS. DML cấp thấp hoặc thủ tục phải được nhúng trong ngôn ngữ lập trình mục đích chung. Loại DML này thường truy xuất các bản ghi hoặc đối tượng riêng lẻ từ cơ sở dữ liệu và xử lý từng bản ghi riêng biệt. Do đó, nó cần sử dụng các cấu trúc của ngôn ngữ lập trình, chẳng hạn như lặp, để lấy và xử lý từng bản ghi từ một tập hợp các bản ghi. DML cấp thấp còn được gọi là DML bản ghi tại một thời điểm vì thuộc tính này. Các DML cấp cao, chẳng hạn như SQL, có thể chỉ định và truy xuất nhiều bản ghi trong một câu lệnh DML duy nhất; do đó, chúng được gọi là các DML định hướng tại một thời điểm hoặc theo định hướng. Một truy vấn trong DML cấp cao thường chỉ định dữ liệu nào cần truy xuất hơn là cách truy xuất dữ liệu đó; do đó, những ngôn ngữ như vậy còn được gọi là ngôn ngữ khai báo.
Bất cứ khi nào các lệnh DML, dù ở mức cao hay mức thấp, được nhúng vào một ngôn ngữ lập trình (C#, Java, Python,…), ngôn ngữ đó được gọi là ngôn ngữ chủ (host language) và DML được gọi là ngôn ngữ con dữ liệu. Mặt khác, DML cấp cao được sử dụng theo cách tương tác độc lập được gọi là ngôn ngữ truy vấn. Thông thường, cả lệnh truy xuất và cập nhật của DML cấp cao có thể được sử dụng liên quan lẫn nhau và do đó được coi là một phần của ngôn ngữ truy vấn.
Người dùng cuối thông thường thường sử dụng ngôn ngữ truy vấn cấp cao để chỉ định yêu cầu của họ, trong khi các lập trình viên sử dụng DML ở dạng nhúng của nó. Đối với người dùng phổ thông, thường có các giao diện thân thiện để tương tác với cơ sở dữ liệu; những điều này cũng có thể được sử dụng bởi những người dùng phổ thông hoặc những người khác không muốn tìm hiểu chi tiết về ngôn ngữ truy vấn cấp cao. Chúng ta sẽ thảo luận về các loại giao diện này trong phần tiếp theo
3.2 Giao diện quản trị cơ sở dữ liệu
Các giao diện thân thiện với người dùng do DBMS cung cấp có thể bao gồm các yếu tố sau:
-
Giao diện dựa trên menu hoặc các ứng dụng web trên trình duyệt. Các giao diện này cung cấp người dùng với danh sách các tùy chọn (được gọi là menu) dẫn người dùng thông qua việc thực hiện một yêu cầu. Menu loại bỏ nhu cầu ghi nhớ các lệnh và cú pháp cụ thể của một ngôn ngữ truy vấn; thay vào đó, truy vấn được soạn thảo từng bước bằng cách chọn các tùy chọn từ menu được hiển thị bởi hệ thống. Menu dạng xổ xuống là một kỹ thuật rất phổ biến trong giao diện người dùng dựa trên web. Chúng cũng thường được sử dụng trong các giao diện duyệt web, cho phép người dùng xem qua nội dung của cơ sở dữ liệu theo cách khám phá và không có cấu trúc
-
Ứng dụng cho thiết bị di động. Các giao diện này cung cấp cho người dùng di động quyền truy cập vào dữ liệu của họ. Ví dụ: ngân hàng, đặt phòng và các công ty bảo hiểm, trong số nhiều công ty khác, cung cấp các ứng dụng cho phép người dùng truy cập dữ liệu của họ thông qua điện thoại di động hoặc thiết bị di động. Các ứng dụng có giao diện được lập trình tích hợp thường cho phép người dùng đăng nhập bằng tên tài khoản và mật khẩu của họ; các ứng dụng sau đó cung cấp một menu tùy chọn giới hạn để truy cập hệ quản trị cơ sở dữ liệu, cũng như các tùy chọn như thanh toán hóa đơn (đối với ngân hàng) hoặc đặt chỗ (đối với các trang web đặt chỗ).
-
Giao diện dựa trên biểu mẫu (form). Giao diện dựa trên biểu mẫu hiển thị biểu mẫu cho mỗi người dùng. Người dùng có thể điền vào tất cả các mục nhập biểu mẫu để chèn dữ liệu mới hoặc họ chỉ có thể điền vào một số mục nhập nhất định, trong trường hợp đó, DBMS sẽ truy xuất dữ liệu phù hợp cho các mục nhập còn lại. Các biểu mẫu thường được thiết kế và lập trình cho những người dùng phổ thông dựa trên các giao dịch được viết sẵn. Nhiều DBMS có ngôn ngữ đặc tả biểu mẫu, là những ngôn ngữ đặc biệt giúp lập trình viên chỉ định các biểu mẫu đó. SQL* Forms là một ngôn ngữ dựa trên biểu mẫu chỉ định các truy vấn, sử dụng biểu mẫu được thiết kế theo kiểu liên kết với lược đồ cơ sở dữ liệu quan hệ. Oracle Forms là một thành phần của bộ sản phẩm Oracle cung cấp một tập hợp các tính năng mở rộng để thiết kế và xây dựng các ứng dụng sử dụng các biểu mẫu. Một số hệ thống có các tiện ích xác định biểu mẫu bằng cách cho phép người dùng cuối tương tác tạo biểu mẫu trên màn hình.
-
Giao diện đồ họa (GUI). GUI thường hiển thị một lược đồ cho người dùng ở dạng tổ hợp giữa menu và biểu mẫu. Sau đó, người dùng có thể chỉ định một truy vấn bằng cách thao tác trêngiao diện. Trong nhiều trường hợp, GUI sử dụng cả menu và biểu mẫu.
-
Giao diện ngôn ngữ tự nhiên. Các giao diện này chấp nhận các yêu cầu được viết bằng tiếng Anh hoặc một số ngôn ngữ khác và cố gắng hiểu chúng. Giao diện ngôn ngữ tự nhiên thường có lược đồ riêng, tương tự như lược đồ khái niệm cơ sở dữ liệu, cũng như từ điển các từ quan trọng. Giao diện ngôn ngữ tự nhiên đề cập đến các từ trong lược đồ của nó, cũng như tập hợp các từ tiêu chuẩn trong schema của nó, được sử dụng để diễn giải yêu cầu. Nếu thông dịch thành công, giao diện tạo ra một truy vấn cấp cao tương ứng với yêu cầu ngôn ngữ tự nhiên và gửi nó tới DBMS để xử lý; nếu không, các thông báo sẽ đến với người dùng để làm rõ yêu cầu.
-
Tìm kiếm cơ sở dữ liệu dựa trên Từ khoá. Các công cụ này hơi giống với các công cụ tìm kiếm trên web, chấp nhận các chuỗi từ ngôn ngữ tự nhiên (như tiếng Anh hoặc tiếng Tây Ban Nha) và khớp chúng với các tài liệu tại các trang cụ thể (đối với công cụ tìm kiếm cục bộ) hoặc các trang web nói chung (đối với các công cụ như Google hoặc Ask). Họ sử dụng các chỉ mục được xác định trước trên các từ và sử dụng các chức năng xếp hạng để truy xuất và trình bày các tài liệu kết quả theo mức độ khớp giảm dần. Giao diện truy vấn dạng văn bản “dạng tự do” như vậy chưa phổ biến trong cơ sở dữ liệu quan hệ có cấu trúc, mặc dù một lĩnh vực nghiên cứu được gọi là truy vấn dựa trên từ khóa đã xuất hiện gần đây cho cơ sở dữ liệu quan hệ
-
Đầu vào và đầu ra bằng giọng nói. Việc sử dụng lời nói như một truy vấn đầu vào và lời nói như một câu trả lời cho một câu hỏi hoặc kết quả của một yêu cầu đang trở nên phổ biến.Ứng dụng có lượng từ vựng hạn chế, chẳng hạn như các câu hỏi về danh bạ điện thoại, chuyến bay đến / đi và thông tin tài khoản thẻ tín dụng, sẽ cho phép nhập và xuất giọng nói để cho phép khách hàng truy cập thông tin này. Đầu vào bằng giọng nói được phát hiện bằng cách sử dụng thư viện các từ được xác định trước và được sử dụng để thiết lập các tham số được cung cấp cho các truy vấn. Đối với đầu ra, một chuyển đổi tương tự từ văn bản hoặc ký tự số thành giọng nói sẽ được thực hiện.
-
Giao diện cho người dùng cơ bản. Người dùng cơ bản, chẳng hạn như giao dịch viên ngân hàng, thường có một nhóm nhỏ các thao tác mà họ phải thực hiện lặp đi lặp lại. Ví dụ: một giao dịch viên có thể sử dụng các phím chức năng đơn lẻ để thực hiện các giao dịch thường xuyên và lặp đi lặp lại như gửi tiền hoặc rút tiền tài khoản hoặc truy vấn số dư. Các nhà phân tích và lập trình hệ thống thiết kế và triển khai một giao diện đặc biệt cho từng lớp người dùng phổ thông đã biết. Thông thường, một tập hợp nhỏ các lệnh viết tắt sẽ được cung cấp với mục tiêu giảm thiểu số lần nhấn phím không cần thiết cho mỗi yêu cầu
-
Các giao diện cho DBA. Hầu hết các hệ thống cơ sở dữ liệu đều chứa các lệnh đặc quyền mà chỉ nhân viên DBA mới có thể sử dụng được. Chúng bao gồm các lệnh để tạo tài khoản, thiết lập tham số hệ thống, cấp quyền tài khoản, thay đổi lược đồ và tổ chức lại cấu trúc lưu trữ của cơ sở dữ liệu.
4. Môi trường cơ sở dữ liệu
DBMS là một hệ thống phần mềm phức tạp. Trong phần này, chúng ta thảo luận về các loại thành phần phần mềm cấu thành DBMS và các loại phần mềm hệ thống máy tính mà DBMS tương tác với chúng
4.1 Các thành phần của cơ sở dữ liệu
Hình 2.3 minh họa, ở dạng đơn giản, các thành phần DBMS điển hình. Hình được chia thành hai phần. Phần trên cùng của hình đề cập đến những người dùng khác nhau của môi trường cơ sở dữ liệu và giao diện của họ. Phần dưới hiển thị các mô-đun bên trong của DBMS chịu trách nhiệm lưu trữ dữ liệu và xử lý các giao dịch
Cơ sở dữ liệu và danh mục DBMS thường được lưu trữ trên ổ đĩa. Quyền truy cập vào ổ đĩa được kiểm soát chủ yếu bởi hệ điều hành (OS), hệ điều hành này lập lịch đọc / ghi đĩa. Nhiều DBMS có mô-đun quản lý bộ đệm riêng của chúng để lên lịch đọc / ghi đĩa, vì việc quản lý bộ nhớ đệm có ảnh hưởng đáng kể đến hiệu suất. Giảm đọc / ghi đĩa cải thiện hiệu suất đáng kể. Mô-đun quản lý dữ liệu được lưu trữ cấp cao hơn của DBMS kiểm soát quyền truy cập vào thông tin DBMS được lưu trữ trên đĩa, cho dù đó là một phần của cơ sở dữ liệu hay danh mục
Trước tiên, chúng ta hãy xem xét phần trên cùng của Hình 2.3. Nó hiển thị các giao diện cho nhân viên DBA, người dùng bình thường làm việc với giao diện tương tác để hình thành truy vấn, lập trình viên ứng dụng tạo chương trình bằng một số ngôn ngữ lập trình máy chủ và người dùng phổ thông thực hiện công việc nhập dữ liệu bằng cách cung cấp các tham số cho các giao dịch được xác định trước. Nhân viên DBA làm việc để xác định cơ sở dữ liệu và điều chỉnh nó bằng các thay đổi đối với định nghĩa của nó bằng cách sử dụng DDL và các lệnh đặc quyền khác.
Trình biên dịch DDL xử lý các định nghĩa lược đồ, được chỉ định trong DDL và lưu trữ các mô tả của các lược đồ (siêu dữ liệu) trong danh mục DBMS. Danh mục bao gồm thông tin như tên và kích thước của tệp, tên và kiểu dữ liệu của các mục dữ liệu, chi tiết lưu trữ của từng tệp, thông tin ánh xạ giữa các lược đồ và các ràng buộc.
Ngoài ra, danh mục lưu trữ nhiều loại thông tin khác mà các mô-đun DBMS cần, sau đó có thể tra cứu thông tin danh mục khi cần thiết.
Người dùng bình thường và những người thỉnh thoảng cần thông tin từ cơ sở dữ liệu tương tác bằng giao diện truy vấn tương tác trong Hình 2.3. Ở đây đã không hiển thị rõ ràng bất kỳ tương tác nào dựa trên menu hoặc dựa trên biểu mẫu hoặc thiết bị di động thường được sử dụng để tạo truy vấn tương tác tự động hoặc để truy cập các giao dịch soạn trước. Các truy vấn này được phân tích cú pháp và xác nhận tính đúng đắn của cú pháp truy vấn, tên của tệp và phần tử dữ liệu, v.v. bởi trình biên dịch truy vấn biên dịch. Truy vấn nội bộ này phải được tối ưu hóa. Trong số những thứ khác, trình tối ưu hóa truy vấn liên quan đến việc sắp xếp lại và có thể sắp xếp lại các hoạt động, loại bỏ các phần dư thừa và sử dụng các thuật toán tìm kiếm hiệu quả trong quá trình thực thi.
Các lập trình viên ứng dụng viết chương trình bằng các ngôn ngữ máy chủ như Java, C hoặc C ++ được gửi đến trình biên dịch trước. Trình biên dịch trước trích xuất các lệnh DML từ một chương trình ứng dụng được viết bằng ngôn ngữ lập trìn. Các câu lệnh này được gửi đến trình biên dịch DML để biên dịch thành các câu lệnh để truy cập cơ sở dữ liệu. Phần còn lại của chương trình được gửi đến trình biên dịch ngôn ngữ lập trình tương ứng. Các đoạn code liên kết các lệnh DML và phần còn lại của chương trình tạo thành một giao dịch đóng gói mà đoạn lệnh thực thi của nó bao gồm các lệnh gọi giao tiếp cơ sở dữ liệu. Việc sử dụng các ngôn ngữ kịch bản như PHP và Python để viết các chương trình giao tiếp với cơ sở dữ liệu cũng ngày càng trở nên phổ biến. Các giao dịch soạn trước được thực hiện nhiều lần bởi người dùng thông thường thông qua PC hoặc ứng dụng dành cho thiết bị di động; những người dùng này chỉ cần cung cấp các tham số cho các giao dịch. Mỗi lần thực hiện được coi là một giao dịch riêng biệt. Một ví dụ là giao dịch thanh toán qua ngân hàng trong đó số tài khoản, người nhận thanh toán và số tiền có thể được cung cấp dưới dạng tham số.
Trong phần dưới của Hình 2.3, bộ xử lý cơ sở dữ liệu thực thi (1) các lệnh đặc quyền, (2) các kế hoạch truy vấn có thể thực thi và (3) các giao dịch được lập trình sẵn. Nó hoạt động với danh mục hệ thống và có thể cập nhật các số liệu thống kê. Nó cũng hoạt động với trình quản lý dữ liệu được lưu trữ, lần lượt sử dụng các dịch vụ cơ bản của hệ điều hành để thực hiện các hoạt động in/out (đọc / ghi) mức thấp ở mức ổ đĩa. Bộ xử lý cơ sở dữ liệu xử lý các khía cạnh khác của truyền dữ liệu, chẳng hạn như quản lý bộ đệm trong bộ nhớ. Một số DBMS có mô-đun quản lý bộ đệm của riêng chúng trong khi một số khác phụ thuộc vào HĐH để quản lý bộ đệm. Chúng ta đã chỉ ra các hệ thống điều khiển đồng thời và sao lưu và phục hồi riêng biệt dưới dạng một mô-đun trong hình này. Chúng được tích hợp vào hoạt động của bộ xử lý cơ sở dữ liệu cho các mục đích quản lý giao dịch.
Thông thường chương trình client truy cập DBMS đang chạy trên một máy tính hoặc thiết bị riêng biệt chứa cơ sở dữ liệu. Cái trước được gọi là client chạy phần mềm máy client DBMS và cái sau được gọi là máy chủ cơ sở dữ liệu (database server). Trong nhiều trường hợp, client truy cập vào một máy tính trung gian, được gọi là máy chủ ứng dụng (application server/ web server), server này sẽ truy cập vào máy chủ cơ sở dữ liệu
Hình 2.3 không dùng để mô tả một DBMS cụ thể; thay vào đó, nó minh họa các mô-đun DBMS điển hình. DBMS tương tác với hệ điều hành khi truy cập ổ đĩa — đến cơ sở dữ liệu hoặc danh mục — là cần thiết. Nếu hệ thống máy tính được chia sẻ bởi nhiều người dùng, hệ điều hành sẽ lên lịch các yêu cầu truy cập DBMS và xử lý DBMS cùng với các process khác. Mặt khác, nếu hệ thống máy tính chủ yếu dành riêng để chạy máy chủ cơ sở dữ liệu, thì DBMS sẽ kiểm soát bộ nhớ chính. DBMS cũng giao tiếp với các trình biên dịch cho các ngôn ngữ lập trình và với các máy chủ ứng dụng và các ứng dụng client chạy trên các máy riêng biệt thông qua môi trường mạng
4.2 Tiện ích của hệ thống cơ sở dữ liệu
Ngoài việc sở hữu các mô-đun phần mềm vừa được mô tả, hầu hết các DBMS đều có các tiện ích cơ sở dữ liệu giúp DBA quản lý hệ thống cơ sở dữ liệu. Các tiện ích thông thường có các loại chức năng sau
-
Nạp dữ liệu. Tiện ích tải được sử dụng để tải các tệp dữ liệu hiện có — chẳng hạn như tệp văn bản hoặc tệp tuần tự — vào cơ sở dữ liệu. Thông thường, định dạng (nguồn) hiện tại của tệp dữ liệu và cấu trúc tệp cơ sở dữ liệu (đích) mong muốn được chỉ định cho tiện ích, sau đó sẽ tự động định dạng lại dữ liệu và lưu trữ trong cơ sở dữ liệu. Với sự gia tăng của các DBMS, việc chuyển dữ liệu từ DBMS này sang DBMS khác đang trở nên phổ biến trong nhiều tổ chức. Một số nhà cung cấp cung cấp các công cụ chuyển đổi tạo ra các chương trình loading thích hợp, dựa trên các mô tả lưu trữ cơ sở dữ liệu nguồn và đích hiện có (lược đồ nội bộ).
-
Sao lưu. Tiện ích sao lưu tạo một bản sao lưu của cơ sở dữ liệu, thường bằng cách kết xuất toàn bộ cơ sở dữ liệu phương tiện lưu trữ khối lượng lớn khác. Bản sao lưu có thể được sử dụng để khôi phục cơ sở dữ liệu trong trường hợp ổ đĩa bị lỗi nghiêm trọng. Các bản sao lưu tăng dần cũng thường được sử dụng, trong đó chỉ những thay đổi kể từ bản sao lưu trước đó được ghi lại. Sao lưu tăng dần phức tạp hơn, nhưng tiết kiệm không gian lưu trữ.
-
Tổ chức lại cơ sở dữ liệu lưu trữ. Tiện ích này có thể được sử dụng để tổ chức lại một tập hợp các tệp cơ sở dữ liệu thành các tổ chức tệp khác nhau và tạo các đường dẫn truy cập mới để cải thiện hiệu suất
-
Giám sát hiệu suất. Một tiện ích như vậy giám sát việc sử dụng cơ sở dữ liệu và cung cấp số liệu thống kê cho DBA. DBA sử dụng số liệu thống kê để đưa ra các quyết định như có hay không tổ chức lại các tệp hoặc thêm hoặc bớt các chỉ mục để cải thiện hiệu suất
Các tiện ích khác có thể có sẵn để phân loại tệp, xử lý nén dữ liệu, giám sát quyền truy cập của người dùng, giao tiếp với mạng và thực hiện các chức năng khác.
4.3 Công cụ, môi trường ứng dụng và cơ sở truyền thông
Các công cụ khác thường có sẵn cho người thiết kế cơ sở dữ liệu, người dùng và DBMS. Các công cụ CASE được sử dụng trong giai đoạn thiết kế hệ thống cơ sở dữ liệu. Một công cụ khác có thể khá hữu ích trong các tổ chức lớn là hệ thống từ điển dữ liệu mở rộng (hoặc kho dữ liệu). Ngoài việc lưu trữ thông tin danh mục về các lược đồ và ràng buộc, từ điển dữ liệu còn lưu trữ các thông tin khác, chẳng hạn như quyết định thiết kế, tiêu chuẩn sử dụng, mô tả chương trình ứng dụng và thông tin người dùng. Hệ thống như vậy còn được gọi là kho thông tin. Thông tin này có thể được truy cập trực tiếp bởi người dùng hoặc DBA khi cần thiết. Một tiện ích từ điển dữ liệu tương tự như danh mục DBMS, nhưng nó bao gồm nhiều loại thông tin hơn và được người dùng truy cập chủ yếu chứ không phải bởi phần mềm DBMS
Các môi trường phát triển ứng dụng, chẳng hạn như PowerBuilder (Sybase) hoặc JBuilder (Borland), đã khá phổ biến. Các hệ thống này cung cấp môi trường để phát triển các ứng dụng cơ sở dữ liệu và bao gồm các phương tiện trợ giúp trong nhiều khía cạnh của hệ thống cơ sở dữ liệu, bao gồm thiết kế cơ sở dữ liệu, phát triển GUI, truy vấn và cập nhật cũng như phát triển chương trình ứng dụng.
DBMS cũng cần giao tiếp với phần mềm truyền thông, có chức năng là cho phép người dùng ở các vị trí xa trang hệ thống cơ sở dữ liệu truy cập cơ sở dữ liệu thông qua các thiết bị đầu cuối máy tính, máy trạm hoặc máy tính cá nhân. Chúng được kết nối với trang cơ sở dữ liệu thông qua phần cứng truyền thông dữ liệu như bộ định tuyến Internet, đường dây điện thoại, mạng đường dài, mạng cục bộ hoặc thiết bị liên lạc vệ tinh. Nhiều hệ thống cơ sở dữ liệu thương mại có các gói giao tiếp hoạt động với DBMS. Hệ thống truyền thông dữ liệu và DBMS tích hợp được gọi là hệ thống DB / DC. Ngoài ra, một số DBMS phân tán được phân phối vật lý trên nhiều máy. Trong trường hợp này, mạng lưới truyền thông là cần thiết để kết nối các máy. Đây thường là các mạng cục bộ (LAN), nhưng chúng cũng có thể là các loại mạng khác
5. Kiến trúc tâp trung và client/server
5.1 Kiến trúc tập trung
Các kiến trúc dành cho DBMS đã tuân theo các xu hướng tương tự như các kiến trúc của hệ thống máy tính nói chung. Các kiến trúc cũ hơn đã sử dụng máy tính lớn để cung cấp quá trình xử lý chính cho tất cả các chức năng của hệ thống, bao gồm các chương trình ứng dụng người dùng và các chương trình giao diện người dùng, cũng như tất cả các chức năng DBMS. Lý do là trong các hệ thống cũ, hầu hết người dùng truy cập DBMS thông qua các thiết bị đầu cuối máy tính không có khả năng xử lý và chỉ cung cấp khả năng hiển thị. Do đó, tất cả quá trình xử lý được thực hiện từ xa trên hệ thống máy tính chứa DBMS, và chỉ thông tin hiển thị và các điều khiển được gửi từ máy tính đến các thiết bị đầu cuối, được kết nối với máy tính trung tâm thông qua nhiều loại mạng truyền thông khác nhau.
Khi giá phần cứng giảm, hầu hết người dùng thay thế thiết bị đầu cuối của họ bằng PC và máy trạm, và gần đây là thiết bị di động. Lúc đầu, các hệ thống cơ sở dữ liệu sử dụng các máy tính này tương tự như cách chúng sử dụng các thiết bị đầu cuối hiển thị, do đó bản thân DBMS vẫn là một DBMS tập trung trong đó tất cả các chức năng DBMS, thực thi chương trình ứng dụng và xử lý giao diện người dùng được thực hiện trên một máy. Hình 2.4 minh họa các thành phần vật lý trong một kiến trúc tập trung. Dần dần, các hệ thống DBMS bắt đầu khai thác sức mạnh xử lý có sẵn ở phía người dùng, dẫn đến các kiến trúc DBMS client/server.
5.2 Kiến trúc client/server cơ bản
Đầu tiên, chúng ta thảo luận về kiến trúc client / server nói chung; sau đó chúng ta thảo luận về cách nó được áp dụng cho các DBMS. Kiến trúc client / server được phát triển để đối phó với các môi trường máy tính trong đó một số lượng lớn PC, máy trạm, máy chủ tệp, máy in, máy chủ cơ sở dữ liệu, máy chủ web, máy chủ e-mail và phần mềm và thiết bị khác được kết nối qua mạng. Ý tưởng là xác định các máy chủ chuyên biệt với các chức năng cụ thể. Ví dụ, có thể kết nối một số PC hoặc máy trạm nhỏ làm máy khách với máy chủ tệp lưu trữ tệp của máy khách. Một máy khác có thể được chỉ định làm máy chủ máy in bằng cách kết nối với các máy in khác nhau; tất cả các yêu cầu in của khách hàng được chuyển tiếp đến máy này. Máy chủ web hoặc máy chủ e-mail cũng thuộc loại máy chủ chuyên dụng. Các tài nguyên được cung cấp bởi các máy chủ chuyên dụng có thể được truy cập bởi nhiều máy khách. Các máy khách cung cấp cho người dùng các giao diện thích hợp để sử dụng các máy chủ này, cũng như khả năng xử lý cục bộ để chạy các ứng dụng cục bộ. Khái niệm này có thể được chuyển sang các gói phần mềm khác, với các chương trình chuyên biệt như gói CAD (thiết kế hỗ trợ máy tính) — được lưu trữ trên các máy chủ cụ thể và có thể truy cập được cho nhiều máy khách. Hình 2.5 minh họa kiến trúc client / server ở mức logic; Hình 2.6 là một sơ đồ đơn giản thể hiện kiến trúc vật lý. Một số máy sẽ chỉ là máy khách (ví dụ: thiết bị di động hoặc máy trạm / PC chỉ được cài đặt phần mềm client). Các máy khác sẽ là máy chủ chuyên dụng, và những máy khác sẽ có cả chức năng máy khách và máy chủ.
Khái niệm kiến trúc client / server giả định một khuôn khổ cơ bản bao gồm nhiều PC / máy trạm và thiết bị di động cũng như một số lượng nhỏ hơn các máy chủ, được kết nối qua mạng không dây hoặc mạng LAN và các loại mạng máy tính khác. Máy khách trong khuôn khổ này thường là một máy cung cấp khả năng về giao diện người dùng và xử lý cục bộ. Khi máy khách yêu cầu quyền truy cập vào chức năng bổ sung — chẳng hạn như tài khoản cơ sở dữ liệu — không tồn tại ở máy khách, nó sẽ kết nối với máy chủ cung cấp chức năng cần thiết. Máy chủ là một hệ thống chứa cả phần cứng và phần mềm có thể cung cấp các dịch vụ cho các máy khách, chẳng hạn như truy cập tệp, in, lưu trữ hoặc truy cập cơ sở dữ liệu. Nói chung, một số máy chỉ cài đặt phần mềm máy khách, một số máy khác chỉ cài đặt phần mềm máy chủ, và những máy khác có thể bao gồm cả phần mềm máy khách và máy chủ, như minh họa trong Hình 2.6. Tuy nhiên, phổ biến hơn là phần mềm máy khách và máy chủ thường chạy trên các máy riêng biệt. Hai loại kiến trúc DBMS cơ bản chính đã được tạo trên khuôn khổ client / server cơ bản này
5.3 Kiến trúc client / server hai tầng cho DBMS
Trong các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS), nhiều hệ thống bắt đầu là hệ thống tập trung, các thành phần hệ thống đầu tiên được chuyển sang phía máy khách là giao diện người dùng và các chương trình ứng dụng. Bởi vì SQL cung cấp một ngôn ngữ chuẩn cho RDBMS, điều này đã tạo ra một điểm phân chia hợp lý giữa máy khách và máy chủ. Do đó, truy vấn và chức năng chuyển tiếp liên quan đến xử lý SQL vẫn ở phía máy chủ. Trong kiến trúc như vậy, máy chủ thường được gọi là máy chủ truy vấn hoặc máy chủ giao dịch vì nó cung cấp hai chức năng này. Trong RDBMS, máy chủ cũng thường được gọi là máy chủ SQL.
Các chương trình giao diện người dùng và chương trình ứng dụng có thể chạy ở phía máy khách. Khi cần truy cập DBMS, chương trình sẽ thiết lập một kết nối tới DBMS (ở phía máy chủ); khi kết nối được tạo, chương trình khách có thể giao tiếp với DBMS. Một tiêu chuẩn được gọi là Kết nối cơ sở dữ liệu mở (ODBC) cung cấp giao diện lập trình ứng dụng (API), cho phép các chương trình phía máy khách gọi DBMS, miễn là cả máy khách và máy chủ đều được cài đặt phần mềm cần thiết. Hầu hết các nhà cung cấp DBMS đều cung cấp trình điều khiển ODBC cho hệ thống của họ. Một chương trình khách thực sự có thể kết nối với một số RDBMS và gửi các yêu cầu truy vấn và giao dịch bằng API ODBC, sau đó được xử lý tại các trang web của máy chủ. Mọi kết quả truy vấn đều được gửi lại chương trình khách, chương trình này có thể xử lý và hiển thị kết quả khi cần. Một tiêu chuẩn liên quan cho ngôn ngữ lập trình Java, được gọi là JDBC, cũng đã được xác định. Điều này cho phép các chương trình khách Java truy cập một hoặc nhiều DBMS thông qua giao diện tiêu chuẩn.
Các kiến trúc được mô tả ở đây được gọi là kiến trúc hai tầng vì các thành phần phần mềm được phân phối trên hai hệ thống: máy khách và máy chủ. Ưu điểm nổi bật của kiến trúc này là tính đơn giản và khả năng tương thích liền mạch với các hệ thống hiện có. Sự xuất hiện của web đã thay đổi vai trò của máy khách và máy chủ, dẫn đến kiến trúc ba tầng.
5.4 Kiến trúc ba tầng và n tầng cho các ứng dụng web
Nhiều ứng dụng web sử dụng kiến trúc được gọi là kiến trúc ba tầng, kiến trúc này thêm một lớp trung gian giữa máy khách và máy chủ cơ sở dữ liệu, như được minh họa trong Hình 2.7 (a).
Tầng trung gian hoặc tầng giữa này được gọi là máy chủ ứng dụng hoặc máy chủ Web, tùy thuộc vào ứng dụng. Máy chủ này đóng vai trò trung gian bằng cách chạy các chương trình ứng dụng và lưu trữ các quy tắc nghiệp vụ (thủ tục hoặc ràng buộc) được sử dụng để truy cập dữ liệu từ máy chủ cơ sở dữ liệu. Nó cũng có thể cải thiện bảo mật cơ sở dữ liệu bằng cách kiểm tra thông tin đăng nhập của người dùng trước khi chuyển tiếp yêu cầu đến máy chủ cơ sở dữ liệu. Máy khách chứa giao diện người dùng và trình duyệt Web. Máy chủ trung gian chấp nhận các yêu cầu từ máy khách, xử lý yêu cầu và gửi các truy vấn và lệnh cơ sở dữ liệu đến máy chủ cơ sở dữ liệu, sau đó hoạt động như một đường dẫn để truyền dữ liệu đã xử lý (một phần) từ máy chủ cơ sở dữ liệu đến máy khách, nơi nó có thể được xử lý thêm và được lọc để hiển thị cho người dùng. Do đó, giao diện người dùng, quy tắc ứng dụng và quyền truy cập dữ liệu hoạt động như ba cấp. Hình 2.7 (b) cho thấy một cái nhìn khác về kiến trúc ba tầng được sử dụng bởi cơ sở dữ liệu và các nhà cung cấp gói ứng dụng khác. Lớp trình bày hiển thị thông tin cho người dùng và cho phép nhập dữ liệu. Lớp logic nghiệp vụ xử lý các quy tắc và ràng buộc trung gian trước khi dữ liệu được chuyển tới người dùng hoặc xuống DBMS. Lớp dưới cùng bao gồm tất cả các dịch vụ quản lý dữ liệu. Lớp giữa cũng có thể hoạt động như một máy chủ web , lấy kết quả truy vấn từ máy chủ cơ sở dữ liệu và định dạng chúng thành các trang web động được trình duyệt web ở phía máy khách xem. Máy khách thường là PC hoặc thiết bị di động được kết nối với web
Các kiến trúc khác cũng đã được đề xuất. Có thể chia các lớp giữa người dùng và dữ liệu được lưu trữ thành các thành phần tốt hơn, do đó tạo ra kiến trúc n-tier, trong đó n có thể là bốn hoặc năm tầng. Thông thường, lớp logic nghiệp vụ được chia thành nhiều lớp. Bên cạnh việc phân phối lập trình và dữ liệu trên toàn mạng, các ứng dụng n-tier có lợi thế mà bất kỳ một cấp nào cũng có thể chạy trên nền tảng bộ xử lý hoặc hệ điều hành thích hợp và có thể được xử lý độc lập. Các nhà cung cấp gói ERP (hoạch định nguồn lực doanh nghiệp) và CRM (quản lý quan hệ khách hàng) thường sử dụng lớp phần mềm trung gian, lớp này chiếm các mô-đun front-end (khách hàng) giao tiếp với một số cơ sở dữ liệu back-end (máy chủ)
Những tiến bộ trong công nghệ mã hóa và giải mã giúp việc truyền dữ liệu nhạy cảm từ máy chủ sang máy khách an toàn hơn ở dạng mã hóa, nơi dữ liệu sẽ được giải mã. Sau đó có thể được thực hiện bằng phần cứng hoặc bằng phần mềm tiên tiến. Công nghệ này mang lại mức độ bảo mật dữ liệu cao hơn, nhưng các vấn đề an ninh mạng vẫn là một vấn đề lớn. Các công nghệ nén dữ liệu khác nhau cũng giúp truyền một lượng lớn dữ liệu từ máy chủ đến máy khách qua mạng có dây và không dây
6 Phân loại hệ thống quản lý cơ sở dữ liệu
Một số tiêu chí có thể được sử dụng để phân loại DBMS. Đầu tiên là mô hình dữ liệu dựa trên DBMS. Mô hình dữ liệu chính được sử dụng trong nhiều DBMS thương mại hiện tại là mô hình dữ liệu quan hệ và các hệ thống dựa trên mô hình này được gọi là hệ thống SQL. Mô hình dữ liệu đối tượng đã được thực hiện trong một số hệ thống thương mại nhưng chưa được sử dụng rộng rãi. Gần đây, cái gọi là hệ thống dữ liệu lớn, còn được gọi là hệ thống lưu trữ khóa-giá trị và hệ thống NOSQL, sử dụng các mô hình dữ liệu khác nhau: mô hình dữ liệu dựa trên tài liệu, dựa trên đồ thị, dựa trên cột và khóa-giá trị. Nhiều ứng dụng kế thừa vẫn chạy trên hệ thống cơ sở dữ liệu dựa trên mô hình dữ liệu mạng và phân cấp
Các DBMS quan hệ đang phát triển liên tục và đặc biệt, đã kết hợp nhiều khái niệm đã được phát triển trong cơ sở dữ liệu đối tượng. Điều này đã dẫn đến một lớp DBMS mới được gọi là DBMS quan hệ đối tượng. Chúng ta có thể phân loại các DBMS dựa trên mô hình dữ liệu: quan hệ, đối tượng, đối tượng-quan hệ, NOSQL, khóa-giá trị, phân cấp, mạng và các thể loại khác
Một số DBMS thử nghiệm dựa trên mô hình XML (eXtended Markup Language), là một mô hình dữ liệu có cấu trúc cây. Chúng được gọi là các DBMS XML nguyên gốc. Một số DBMS quan hệ thương mại đã thêm giao diện và lưu trữ XML vào các sản phẩm của họ.
Tiêu chí thứ hai được sử dụng để phân loại DBMS là số lượng người dùng được hệ thống hỗ trợ. Hệ thống một người dùng chỉ hỗ trợ một người dùng tại một thời điểm và chủ yếu được sử dụng với PC. Các hệ thống đa người dùng, bao gồm phần lớn các DBMS, hỗ trợ nhiều người dùng đồng thời.
Tiêu chí thứ ba là số lượng các trang web mà cơ sở dữ liệu được phân phối. DBMS là tập trung nếu dữ liệu được lưu trữ tại một trang web máy tính. Một DBMS tập trung có thể hỗ trợ nhiều người dùng, nhưng DBMS và cơ sở dữ liệu nằm hoàn toàn tại một trang máy tính duy nhất. Một DBMS phân tán (DDBMS) có thể có cơ sở dữ liệu thực tế và phần mềm DBMS được phân phối trên nhiều trang web được kết nối bởi mạng máy tính. Các hệ thống dữ liệu lớn thường được phân phối ồ ạt, với hàng trăm trang web. Dữ liệu thường được sao chép trên nhiều trang web do đó lỗi của một trang web sẽ không làm cho một số dữ liệu không có sẵn
Các DDBMS đồng nhất sử dụng cùng một phần mềm DBMS tại tất cả các trang web, trong khi các DDBMS không đồng nhất có thể sử dụng các phần mềm DBMS khác nhau tại mỗi trang web. Cũng có thể phát triển phần mềm trung gian để truy cập một số cơ sở dữ liệu tự quản đã tồn tại từ trước được lưu trữ trong các DBMS không đồng nhất. Điều này dẫn đến một DBMS liên kết (hoặc hệ thống đa cơ sở dữ liệu), trong đó các DBMS tham gia được kết hợp và có mức độ tự trị cục bộ.
Tiêu chí thứ tư là chi phí. Rất khó để đề xuất phân loại các DBMS dựa trên chi phí. Hôm nay chúng ta có các sản phẩm DBMS mã nguồn mở (miễn phí) như MySQL và PostgreSQL được các nhà cung cấp bên thứ ba hỗ trợ với các dịch vụ bổ sung. Các sản phẩm RDBMS chính có sẵn dưới dạng phiên bản sao chép 30 ngày kiểm tra miễn phí cũng như phiên bản cá nhân, có thể có giá dưới 100 đô la và cho phép một lượng chức năng hợp lý. Các hệ thống khổng lồ đang được bán ở dạng mô-đun với các thành phần để xử lý phân phối, sao chép, xử lý song song, khả năng di động, v.v. và với một số lượng lớn các tham số phải được xác định cho cấu hình. Hơn nữa, chúng được bán dưới dạng giấy phép — giấy phép trang web cho phép sử dụng không giới hạn hệ thống cơ sở dữ liệu với bất kỳ số lượng bản sao nào đang chạy tại trang web của khách hàng. Một loại giấy phép khác giới hạn số lượng người dùng đồng thời hoặc số lượng ghế của người dùng tại một vị trí. Các phiên bản dành cho một người dùng độc lập của một số hệ thống như Microsoft Access được bán trên mỗi bản sao hoặc được bao gồm trong cấu hình tổng thể của máy tính để bàn hoặc máy tính xách tay. Ngoài ra, các tính năng khai thác và lưu trữ dữ liệu, cũng như hỗ trợ cho các loại dữ liệu bổ sung, được cung cấp với một khoản chi phí bổ sung. Có thể trả hàng triệu đô la cho việc cài đặt và bảo trì hệ thống cơ sở dữ liệu lớn hàng năm.
Chúng ta cũng có thể phân loại DBMS trên cơ sở các loại tùy chọn đường dẫn truy cập để lưu trữ tệp. Một nhóm DBMS nổi tiếng dựa trên cấu trúc tệp đảo ngược. Cuối cùng, một DBMS có thể là mục đích chung hoặc mục đích đặc biệt. Khi hiệu suất là yếu tố chính, một DBMS có mục đích đặc biệt có thể được thiết kế và xây dựng cho một ứng dụng cụ thể; một hệ thống như vậy không thể được sử dụng cho các ứng dụng khác nếu không có những thay đổi lớn. Nhiều hệ thống đặt chỗ của hãng hàng không và danh bạ điện thoại được phát triển trong quá khứ là các DBMS dành cho mục đích đặc biệt. Các hệ thống này thuộc loại hệ thống xử lý giao dịch trực tuyến (OLTP), hệ thống này phải hỗ trợ một số lượng lớn các giao dịch đồng thời mà không gây ra sự chậm trễ quá mức
Chúng ta hãy trình bày ngắn gọn về tiêu chí chính để phân loại DBMS: mô hình dữ liệu. Mô hình dữ liệu quan hệ biểu diễn cơ sở dữ liệu như một tập hợp các bảng, trong đó mỗi bảng có thể được lưu trữ dưới dạng một tệp riêng biệt. Hầu hết các cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn cấp cao được gọi là SQL và hỗ trợ một hình thức hạn chế của lượt xem người dùng.
Mô hình dữ liệu đối tượng xác định cơ sở dữ liệu về các đối tượng, thuộc tính của chúng và hoạt động của chúng. Các đối tượng có cùng cấu trúc và hành vi thuộc về một lớp và các lớp được tổ chức thành các cấu trúc phân cấp (hoặc đồ thị xoay chiều). Các hoạt động của mỗi lớp được xác định theo các thủ tục được xác định trước được gọi là các phương thức. Các DBMS khác nhau đã và đang mở rộng các mô hình của chúng để kết hợp các khái niệm cơ sở dữ liệu đối tượng và các khả năng khác; những hệ thống này được gọi là hệ thống quan hệ đối tượng hoặc quan hệ mở rộng.
Hệ thống dữ liệu lớn dựa trên các mô hình dữ liệu khác nhau, với bốn mô hình dữ liệu sau đây là phổ biến nhất. Mô hình dữ liệu khóa-giá trị liên kết một khóa duy nhất với mỗi giá trị (có thể là một bản ghi hoặc đối tượng) và cung cấp quyền truy cập rất nhanh vào một giá trị được cung cấp cho khóa của nó. Mô hình dữ liệu tài liệu dựa trên JSON (Ký hiệu đối tượng tập lệnh Java) và lưu trữ dữ liệu dưới dạng tài liệu, phần nào giống với các đối tượng phức tạp. Mô hình dữ liệu đồ thị lưu trữ các đối tượng dưới dạng các nút đồ thị và mối quan hệ giữa các đối tượng dưới dạng các cạnh đồ thị có hướng. Cuối cùng, mô hình dữ liệu dựa trên cột lưu trữ các cột của hàng được nhóm lại trên các trang đĩa để truy cập nhanh và cho phép nhiều phiên bản dữ liệu
Mô hình XML đã nổi lên như một tiêu chuẩn để trao đổi dữ liệu qua web và được sử dụng làm cơ sở để triển khai một số hệ thống XML nguyên mẫu. XML sử dụng cấu trúc cây phân cấp. Nó kết hợp các khái niệm cơ sở dữ liệu với các khái niệm từ các mô hình biểu diễn tài liệu. Dữ liệu được biểu diễn dưới dạng các phần tử; với việc sử dụng các thẻ, dữ liệu có thể được lồng vào nhau để tạo ra các cấu trúc cây phức tạp. Mô hình này về mặt khái niệm giống với mô hình đối tượng nhưng sử dụng các thuật ngữ khác nhau. Các khả năng XML đã được thêm vào nhiều sản phẩm DBMS thương mại
Hai mô hình dữ liệu cũ hơn, quan trọng về mặt lịch sử, hiện được gọi là mô hình dữ liệu kế thừa, là mô hình mạng và mô hình phân cấp. Mô hình mạng biểu diễn dữ liệu dưới dạng các kiểu bản ghi và cũng biểu diễn một kiểu giới hạn của mối quan hệ 1: N, được gọi là kiểu tập hợp. Mối quan hệ 1: N, hoặc một-nhiều, liên quan một thể hiện của bản ghi với nhiều thể hiện bản ghi bằng cách sử dụng một số cơ chế liên kết con trỏ trong các mô hình này. Mô hình mạng, còn được gọi là mô hình CODASYL DBTG, có một ngôn ngữ bản ghi tại một thời điểm được liên kết phải được nhúng trong ngôn ngữ lập trình máy chủ. DML được đề xuất trong Báo cáo Nhóm Tác vụ Cơ sở dữ liệu (DBTG) năm 1971 như một phần mở rộng của ngôn ngữ COBOL.
Mô hình phân cấp biểu diễn dữ liệu dưới dạng cấu trúc cây phân cấp. Mỗi cay phân cấp đại diện cho một số bản ghi liên quan. Không có ngôn ngữ chuẩn cho mô hình phân cấp. Một DML phân cấp phổ biến là DL / 1 của hệ thống IMS. Nó đã tham gia vào thị trường DBMS trong hơn 20 năm từ năm 1965 đến năm 1985. DML của nó, được gọi là DL / 1, là một tiêu chuẩn công nghiệp trên thực tế trong một thời gian dài.
7. Tóm tắt nội dung
Bài viết khá dài nên mình sẽ tóm tắt các ý chính trong phần dưới đây để bạn đọc dễ theo dõi. Trong phần này chúng ta được làm quen và giới thiệu các khái niệm liên quan đến hệ quản trị cơ sở dữ liệu và các ý chính như sau
- Các chức năng chính của DBMS gồm có đặc tả kiểu dữ liệu, cấu trúc và các ràng buộc đối với dữ liệu lưu trữ và quản lý việc lưu trữ dữ liệu
- Các thao tác chính trên CSDL gồm: truy vấn (query), cập nhật, chia sẻ dữ liệu giữa các người dùng (thông qua các view) đồng thời phải giải quyết vấn đề xử lý đồng thời để đảm bảo tính nhất quán của dữ liệu
- Ngoài các chức năng chính trên thì DBMS còn đảm nhận các chức năng liên quan đến bảo mật, tránh truy cập bất hợp pháp
- Các khái niệm liên quan đến mô hình dữ liệu và lịch sử mô hình dữ liệu
- Lược đồ là sự mô tả của một CSDL, bao gồm mô tả cấu trúc và các ràng buộc phải được kiểm soát trong CSDL, Thể hiện (Instance) gồm dữ liệu thực được lưu trong CSDL hay còn gọi là database state hoặc occurrenece -> Kiến trúc 3 lược đồ được đề xuất nhằm đạt được các ưu điểm quan trọng trong cách tiếp cận CSDL
- Giới thiệu về các ngôn ngữ dữ liệu (DML, DDL,....)
Chúc bạn đọc vui vẻ!
Bài viết thuộc các danh mục
Bài viết được gắn thẻ
BÌNH LUẬN (0)
Hãy là người đầu tiên để lại bình luận cho bài viết !!
Hãy đăng nhập để tham gia bình luận. Nếu bạn chưa có tài khoản hãy đăng ký để tham gia bình luận với mình
Bài viết liên quan
Cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu là một thành phần thiết yếu của cuộc sống trong xã hội hiện đại: hầu hết chúng ta đều gặp các hoạt động liên quan đến hoạt động với cơ sở dữ liệu trong cuộc sống hằng ngày. Trong bài viết này chúng ta sẽ tìm hiểu khái niệm đầu tiên về hệ quản trị cơ sở dữ liệu và nhóm người dùng
Mô hình hóa khái niệm là một giai đoạn rất quan trọng trong việc thiết kế một ứng dụng cơ sở dữ liệu thành công. Thông thường, thuật ngữ ứng dụng cơ sở dữ liệu đề cập đến một cơ sở dữ liệu cụ thể và các chương trình liên quan thực hiện các truy vấn và cập nhật cơ sở dữ liệu. Trong bài này chúng ta sẽ tìm hiểu mô hình hóa dữ liệu với sơ đồ ER
Các khái niệm mô hình ER được thảo luận trong Chương 3 là đủ để biểu diễn nhiều lược đồ cơ sở dữ liệu cho các ứng dụng cơ sở dữ liệu truyền thống, bao gồm nhiều ứng dụng xử lý dữ liệu trong kinh doanh và công nghiệp. Tuy nhiên, kể từ cuối những năm 1970, các nhà thiết kế ứng dụng cơ sở dữ liệu đã cố gắng thiết kế các lược đồ cơ sở dữ liệu chính xác hơn phản ánh các thuộc tính và ràng buộc dữ liệu một cách chính xác hơn từ đó chúng ta có mô hình thực thể mối quan hệ mở rộng - EER
Mô hình dữ liệu quan hệ lần đầu tiên được giới thiệu bởi Ted Codd của IBM Research vào năm 1970 trong một bài báo kinh điển (Codd, 1970), và nó đã thu hút sự chú ý ngay lập tức do tính đơn giản và nền tảng toán học của nó. Mô hình sử dụng khái niệm quan hệ toán học - trông giống như một bảng giá trị - làm khối xây dựng cơ bản của nó và có cơ sở lý thuyết trong lý thuyết tập hợp và logic vị từ bậc nhất.