24/05/2018, 16:58

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 ...

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 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.

  1. 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 [link]). 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.

  2. Quan hệ một - nhiều

    Đâ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 [link]). 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.

  3. 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 [link])

Mô phỏng các dạng quan hệ của các mô hình khái niệm

Khác với mô hình khái niệm, các mô hình thực hiện thì quan tâm với vấn đề làm thế nào để biểu diễn dữ liệu trong một cơ sở dữ liệu. Mô hình thực hiện bao gồm ba loại: (1) mô hình dữ liệu thứ bậc, (2) mô hình cơ sở dữ liệu dạng mạng lưới, và (3) mô hình cơ sở dữ liệu dạng quan hệ.

thứ bậc

thứ bậc ra đời vào năm 1969 nhằm giải quyết những khó khăn do sự trùng lặp dữ liệu của hệ thống tệp xảy ra trong quá trình xử lý thông tin trong dự án Apollo của công ty North American Rockwell. thứ bậc được coi là mô hình chính đầu tiên có tính thương mại dành cho một cơ sở dữ liệu lớn. Những khái niệm cơ sở của nó đã tạo lập nên cơ sở cho sự phát triển cơ sở dữ liệu có thứ tự. Những hạn chế tồn tại trong mô hình cơ sở dữ liệu này dẫn tới hàng loạt các nghiên cứu khác nhau về cách thiết kế cơ sở dữ liệu.

Cấu trúc cơ bản

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 [link]). 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ỗi nút mẹ có thể có nhiều hơn một nút con.

+ Mỗi nút con chỉ có một nút mẹ và chỉ duy nhất một mà thôi.

Các phần tử của một cấu trúc có thứ bậc

Mối liên hệ dạng này là mối liên hệ theo kiểu một-nhiều, và thường hay gặp trong các tổ chức doanh nghiệp, như trong một doanh nghiệp có rất nhiều phòng ban, mỗi phòng ban, lại chỉ phụ thuộc vào duy nhất một công ty mà thôi.

Ưu điểm

Các mô hình dạng cấu trúc thứ bậc như thế này thường có một số ưu điểm cơ bản như sau:

  • Do tất cả các dữ liệu đều được giữ trong một cơ sở dữ liệu chung nên việc phân chia dữ liệu do hệ thống quản lý thông tin điều hành thường phải đòi hỏi khá thực tế và đảm bảo được độ an toàn về dữ liệu.
  • Hệ thống quản lý cơ sở dữ liệu tạo ra một môi trường trong đó đảm bảo tính độc lập của các dữ liệu, do đó, làm tăng tính hiệu quả của các chương trình xử lý nó.
  • Tạo ra các mối liên hệ chặt chẽ giữa các nút mẹ và nút con và nhờ đó đảm bảo tính toàn vẹn của dữ liệu từ trên xuống dưới.
  • thứ bậc rất phù hợp với cơ sở dữ liệu chứa một số lượng lớn dữ liệu có quan hệ một-nhiều và khi người sử dụng cần một số lượng lớn các giao dịch sử dụng những mối quan hệ cố định trong một thời gian dài. Phần lớn các ngân hàng đều sử dụng mô hình quan hệ thứ bậc dạng này.
  • Cơ sở dữ liệu được thiết lập từ đầu là rất lớn, và do đó, người lập trình có khả năng thiết lập các chương trình một các có hiệu quả hơn.
  • Các ứng dụng của doanh nghiệp có thể áp dụng được rất nhiều trong môi trường chính của cơ sở dữ liệu này.

Hạn chế

Mặc dù có rất nhiều các ứng dụng có thể áp dụng đối với dạng cơ sở dữ liệu lớn dạng này, nhưng không phải bao giờ người ta cũng sử dụng mô hình này trong việc quản lý cơ sở dữ liệu của các doanh nghiệp do nó còn có một số các nhược điểm sau:

  • Mặc dù mô hình dạng thứ bậc này giúp cho các nhà lập trình thoát khỏi các vấn đề phụ thuộc về dữ liệu, nhưng hệ thống quản lý dữ liệu vẫn đòi hỏi phải có kiến thức về mức độ vật lý trên khía cạnh lưu trữ dữ liệu. Bất cứ sự thay đổi trong cấu trúc cơ sở dữ liệu, như thiết lập lại các môđun, đều đòi hỏi thay đổi tất cả các chương trình ứng dụng. Do đó, thực hiện việc thiết kế cơ sở dữ liệu có thể trở nên hết sức phức tạp.
  • Nhiều mối quan hệ giữ các dữ liệu thực tế không có mối quan hệ một - nhiều theo tiêu chuẩn mà mô hình thứ bậc cung cấp. Những mối quan hệ dạng nhiều - nhiều thường rất khó sử dụng mô hình thức bậc này.
  • Cơ sở dữ liệu thứ bậc thường phức tạp, khó quản lý, và ít linh hoạt. Khi một khâu nối nào đó bị xoá đi, rất khó có thể xoá những dữ liệu trực tiếp dưới quyền quản lý của nó một cách tự động.
  • Các chương trình ứng dụng có vẻ khá bao quát. Các nhà quản lý hay lập trình buộc phải biết rõ về các mã điều khiển để lấy được dữ liệu và phải rất quen thuộc với cấu trúc dữ liệu.

mạng

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ạ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ạ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ạ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ạ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ạ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ạ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ạ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ý.

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.

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

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. 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ệ

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ể.

0