Mô hình cơ sở dữ liệu là một tập hợp các cấu trúc logic được sử dụng để diễn tả cấu trúc dữ liệu và các mối quan hệ dữ liệu được thìm thấy trong một cơ sở dữ liệu. Một cách cơ bản, ta có thể chia các mô hình cơ sở dữ liệu thành hai nhóm: các mô hình khái niệm và các mô hình thực hiện.
Mô hình khái niệm
Mô hình khái niệm tập trung vào bản chất logic của việc biểu diễn dữ liệu. Do đó, mô hình khái niệm liên quan tới vấn đề cái gì được biểu diễn trong cơ sở dữ liệu hơn là làm thế nào để biểu diễn nó. Mô hình khái niệm bao gồm ba dạng quan hệ mô tả sự liên hệ giữa các dữ liệu. Đó là dạng quan hệ một - nhiều, nhiều - nhiều, và quan hệ một - một.
Quan hệ một - một
Quan hệ một - một là mối quan hệ duy nhất tồn tại giữa hai thực thể. Từ thực thể này chỉ có thể có duy nhất một đường dẫn tới thực thể kia và ngược lại (xem ). Chẳng hạn như một ổ khoá chỉ có thể mở bằng một chìa duy nhất và chìa khoá đó cũng chỉ có thể mở được ổ khoá đó mà không mở được bất cứ ổ khoá nào khác.
Đây là mối quan hệ mà từ một gốc có thể chỉ tới nhiều điểm mới, nhưng mỗi điểm chỉ có một gốc duy nhất (xem ). Những mối quan hệ dạng này thường có rất nhiều trong các tổ chức doanh nghiệp. Một khách hàng có rất nhiều lần mua hàng với doanh nghiệp, vì vậy, trong hồ sơ lưu trữ tồn tại rất nhiều hoá đơn thanh toán của khách hàng này. Tuy nhiên, ngược lại, mỗi hoá đơn lại chỉ có liên quan tới một khách hàng duy nhất của doanh nghiệp.
Quan hệ nhiều - nhiều
Dạng quan hệ này là dạng mà cả gốc và ngọn đều có thể có quan hệ đa phương. Từ một gốc, có thể có nhiều ngọn khác nhau, và ngược lại, từ một ngọn, có thể có nhiều điểm gốc dẫn tới nó. Trong một trường học, một sinh viên có thể học rất nhiều môn học khác nhau. Nhưng ngược lại, mỗi một môn học lại có rất nhiều sinh viên theo học nó (xem )
Cơ sở dữ liệu đựơc xây dựng theo dạng thứ bậc có thể hình dung như một cây từ trên xuống dưới với các nút là các dạng báo cáo khác nhau của doanh nghiệp (xem ). Trong một dạng thứ bậc như vậy, nút đầu tiên là nút mẹ. Các nút ở tầng trên là các nút mẹ sinh ra các nút ở tầng dưới. Toàn bộ cây dữ liệu không có bất cứ một sự trùng lặp nào như đối với hệ thống tệp. Thay vào đó, để tìm tới một nút ở dưới nào đó, cây quan hệ sẽ thiết lập một đường dẫn tới vị trí cần thiết đó. Những mối quan hệ quan trọng trong dạng cấu trúc này là:
Mô hình cơ sở dữ liệu mạng thường giống như mô hình cơ sở dữ liệu thứ bậc. Tuy vậy, khác biệt lớn nhất để phân biệt hai loại mô hình cơ sở dữ liệu nàylà trong mô hình cơ sở dữ liệu mạng các báo cáo có thể được thiết lập từ nhiều nguồn có nghĩa là có nhiều nút mẹ tới một nút con.
Mô hình cơ sở dữ liệu mạng được thiết lập một phần để biểu thị những dữ liệu có mối quan hệ phức tạp hơn mô hình cơ sở dữ liệu thứ bậc có thể làm được. Mặt khác mô hình cơ sở dữ liệu mạng còn giúp cho việc thiết lập các chuẩn mực cơ sở dữ liệu, việc này giúp cho việc lập trình và tạo các chương trình quản lý cơ sở dữ liệu rất nhiều.
Cấu trúc cơ bản
Trong cơ sở dữ liệu dạng mạng, mối quan hệ đựơc gọi là một tập. Mỗi tập chưa ít nhất hai dạng: một báo cáo chủ giống như nút mẹ trong cơ sở dữ liệu thứ bậc, và một báo cáo thành phần như các nút con trong mô hình cơ sở dữ liệu có thứ bậc. Sự khác biệt của cơ sở dữ liệu mạng với cơ sở dữ liệu thứ bậc là một báo cáo thành phần có thể xuất hiện trong nhiều tập khác nhau, nghĩa là nó có thể có nhiều nút mẹ khác nhau. Hình 3.4 giới thiệu một ví dụ về dạng mô hình CSDL mạng.
Mô hình cơ sở dữ liệu mạng
Để xây dựng một cơ sở dữ liệu mạng, các mối quan hệ buộc phải được thiết lập thành các tập khác nhau.
Ưu điểm
Mô hình cơ sở dữ liệu mạng có một số các ưu điểm giúp nó khắc phục được những nhược điểm của cơ sở dữ liệu thứ bậc như sau:
Trong mô hình cơ sở dữ liệu mạng, các mối quan hệ nhiều-nhiều có thể dễ dàng biểu diễn hơn trong mô hình cơ sở dữ liệu thứ bậc.
Việc truy cập dữ liệu và độ linh hoạt của cơ sở dữ liệu cao hơn nhiều so với hệ cơ sở dữ liệu thứ bậc. Một ứng dụng bất kỳ có thể truy cập tới các báo cáo chủ cũng như các báo cáo thành phần trong bất kỳ một tập nào. Do đó, nếu một báo cáo thành phần có nhiều báo cáo chủ thì chương trình ứng dụng có thể nhanh chóng chuyển từ một báo cáo chủ này sang một báo cáo chủ khác khá nhanh chóng.
Mô hình cơ sở dữ liệu mạng cho phép nâng cao tính bảo toàn dữ liệu do người sử dụng buộc phải khai báo cáo chủ trứoc rồi mới tới báo cáo thành phần.
Mô hình cơ sở dữ liệu mạng đảm bảo tính độc lập của các cơ sở dữ liệu một cách cao nhất. Chính vì thế, một sự thay đổi tính chất của một dữ liệu này, không ảnh hưởng tới các dữ liệu khác và do đó, các chương trình ứng dụng cũng không phải thay đổi theo.
Nhược điểm
Mô hình cơ sở dữ liệu mạng khó thiết kế và sử dụng. Người sử dụng buộc phải nắm vững và quen thuộc với cấu trúc dữ liệu mới tận dụng được hết những ưu thế của hệ thống.
Khó có thể thay đổi trong cơ sở dữ liệu, có một số thay đổi gàn như không thể thực hiện đựơc. Mặc dù hệ cơ sở dữ liệu mạng tạo ra sự độc lập về dữ liệu nhưng nó lại không thể tạo ra sự độc lập về cấu trúc. Mỗi khi thay đổi cấu trúc của cơ sở dữ liệu thì cấu trúc con cũng phải thay đổi theo trước khi thực hiện bất cứ một chương trình truy cập dữ liệu nào.
Mô hình cơ sở dữ liệu mạng khiến cho việc lập trình trở nên phức tạp hơn. Các nhà lập trình phải nắm rất vững về cấu trúc cơ sở dữ liệu mới có thể làm tốt công việc của họ được.
Cũng giống như cơ sở dữ liệu dạng thứ bậc, cơ sở dữ liệu mạng tạo ra một môi trường truy cập dữ liệu theo một dòng thống nhất nghĩa là nếu đang từ một biểu ghi A, muốn chuyển sang biểu ghi E, trong dãy A, B, C, D, E thì người sử dụng buộc phải đi từ biểu ghi A, qua biểu ghi B, C, D, rồi mới tới E.
Nhìn chung, cơ sở dữ liệu mạng không tạo ra được một hệ thống tiện ích cho ngưòi sử dụng mà nó có hướng thích hợp với những người lập trình và các nhà quản lý.
Mô hình cơ sở dữ liệu quan hệ
Đòi hỏi phải hiểu biết về các yếu tố vật lý của cấu trúc dữ liệu đã khiến cho những cơ sở dữ liệu được thiết kế tốt trở nên khó khăn hơn. Trong thực tế, mặc dù cơ sở dữ liệu mạng có rất nhiều điểm mạnh, nhưng cấu trúc phức tạp của nó làm cho rất ít người sử dụng có thể tận dụng được những điểm mạnh đó của nó. Khi thông tin cần thiết tăng lên, và do đó, yếu tố dễ phổ biến trong xã hội của các cơ sở dữ liệu được đòi hỏi cao hơn thì việc thiết kế cơ sở dữ liệu, việc quản lý và sử dụng nó trở nên quá nặng nề và cồng kềnh.
Mô hình cơ sở dữ liệu quan hệ do E.F.Codd phát minh ra vào năm 1970, đã khắc phục được những nhược điểm nêu trên của cơ sở dữ liệu mạng. Với việc sử dụng một thuật toán tạo ra cơ sở dữ liệu truyền một cách tự động, thay cho cơ sở dữ liệu truyền chuẩn hoá trước đây, mô hình cơ sở dữ liệu quan hệ đã tạo ra một bước ngoặt cho cuộc cách mạng về cơ sở dữ liệu.
Công trình của Codd chưa được sử dụng một cách mạnh mẽ và cũng không có tiếng tăm mấy voà những năm mà nó mới ra đời do công nghệ thông tin còn phát triển chưa đạt mức yêu cầu và chi phí cho máy tính để thực hiện ý tưởng còn quá cao. Chỉ tới ngày nay, khi mà cuộc cách mạng trong công nghệ cao đã tạo ra những chiếc máy vi tính với khả năng sử dụng khá lớn và tốc độ nhanh tới mức cho phép cũng như đơn giá của những chiếc máy này ngày càng giảm xuống, do đó, tạo cơ hội cho có nhiều người sử dụng chúng thì các cơ sở dữ liệu quan hệ mới có đất để phát triển và hàng loạt các cơ sở dữ liệu quan hệ dạng này đã ra đời và phát huy được thế mạnh tiềm tàng của nó.
Cấu trúc cơ bản
Mô hình cơ sở dữ liệu quan hệ được thực hiện thông qua một hệ thống cơ sở dữ liệu quan hệ. Hệ thống này cũng có những chức năng tương tự như hệ cơ sở dữ liệu mạng và hệ cơ sở dữ liệu có thứ bậc và thêm vào đó, nó còn có những chức năng chủ khác cho phép mô hình cơ sở dữ liệu quan hệ trở nên dễ hiểu hơn và dễ thực hiện hơn.
Ưu điểm quan trọng nhất của cơ sở dữ liệu quan hệ là khả năng của nó trong việc thực hiện các mô hình quan hệ giống như trong một môi trường sống thực thụ. Điều này giúp cho người sử dụng và người thiết kế thực hiện được công việc dễ dàng hơn. Cơ sở dữ liệu quan hệ được nhiều người sử dụng nhận thức như một tập hợp các bảng biểu lưu trữ dữ liệu.
Mỗi bảng là một ma trận gồm một chuỗi các hàng hoặc cột giao nhau. Các bảng biểu còn được gọi là các mối quan hệ liên kết với nhau bởi một tính chất chung nào đó. Như trong ví dụ biểu diễn trong hình 3.5, bảng Khách hàng và bảng Đại lý bán hàng liên hệ với nhau theo một biến số chung có tên là TTĐại lý. Mặc dù các dữ liệu hoàn toàn độc lập ở mỗi bảng, ta vẫn có thể dễ dàng liên kết dữ liệu giữa các bảng với nhau. Mô hình cơ sở dữ liệu quan hệ loại bỏ được hầu hết sự trùng lặp dữ liệu giữa các bảng khác nhau mà hệ thống các tệp dữ liệu thường mắc phải.
Mối liên kết giữa các bảng có quan hệ
Mô hình cơ sở dữ liệu quan hệ lưu trữ một tập hợp các thực thể có liên quan tới nhau. Trong mô hình cơ sở dữ liệu này, các bảng cơ sở dữ liệu tương tự như một tệp dữ liệu. Nhưng các tệp dữ liệu đựơc lưu trữ là hoàn toàn độc lập về cấu trúc cũng như về dữ liệu. Nó hoàn toàn đựoc tổ chức theo dạng cấu trúc logic. Dù là dữ liệu được lưu trữ vật lý như thế nào, nó cũng hoàn toàn không ảnh hưởng tới công việc của nhà thiết kế cũng như của người sử dụng.
Ưu điểm
Cơ sở dữ liệu quan hệ là một kho dữ liệu riêng biệt. Khác với hệ cơ sở dữ liệu thứ bậc và hệ cơ sở dữ liệu mạng, trong hệ cơ sở dữ liệu quan hệ, người sử dụng và người thiết kế hoàn toàn không phải quan tâm tới cấu trúc cơ sở dữ liệu. Do đó, tính độc lập về cấu trúc cơ sở dữ liệu là ưu điểm nổi bật nhất của cơ sở dữ liệu quan hệ. Hơn thế nữa, do nó giải phóng cho ta vè mặt cần phải quan tâm tới khía cạnh vật lý của cơ sở dữ liệu, nên ta có thêm thời gian quan tâm tới khía cạnh logic của cơ sở dữ liệu.
Hệ cơ sở dữ liệu quan hệ có khả năng linh hoạt rất cao. Do đó, nó đòi hỏi ít việc lập trình để truy cập cơ sở dữ liệu hơn các loại cơ sở dữ liệu khác. Một trong những ưu thế mạnh của cơ sở dữ liệu dạng này là nó dễ tạo ra một giao diện thích hợp với người sử dụng hơn các cơ sở dữ liệu khác.
Nhược điểm
Hệ cơ sở dữ liệu quan hệ gần như che hết toàn bộ cấu trúc vật lý của cơ sở dữ liệu, do đó, nó đòi hỏi phải có hệ điều hành và phần cứng hoàn hảo đối với người sử dụng. Cũng do đặc tính đó, nó đòi hỏi một hệ thống máy tính mạnh để hỗ trợ cho việc thực hiện những nhiệm vụ truy cập dữ liệu và thông tin. Đồng thời dó cũng là nguyên nhân khiến cho cơ sở dữ liệu dạng này hoạt động có phần chậm hơn so với các dạng cơ sở dữ liệu khác. Nhưng với điều kiện hiện nay, khi hệ thống máy tính ngày càng được phát triển tốt hơn với sự hỗ trợ của công nghệ cao, thì sự chậm trễ này cũng đã giảm bớt được đáng kể.
Comments[ 0 ]
Đăng nhận xét