Một cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, được lưu trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình.. Hệ quản trị cơ sở dữ liệu sử dụn
Cơ sở dữ liệu
Định nghĩa cơ sở dữ liệu
Cơ sở dữ liệu và kỹ thuật xử lý dữ liệu đã có ảnh hưởng rất lớn đến các lĩnh vực sử dụng máy tính như giáo dục, thương mại, kỹ thuật, khoa học và thư viện Thuật ngữ "cơ sở dữ liệu" đã trở thành một thuật ngữ phổ biến và quen thuộc trong cộng đồng công nghệ thông tin.
Dữ liệu là các sự kiện có thể ghi lại được và mang ý nghĩa, được tổ chức thành các tập hợp liên quan với nhau trong các cơ sở dữ liệu Một cơ sở dữ liệu là tập hợp các dữ liệu liên quan, được lưu trữ trên máy tính và tổ chức theo một mô hình nhất định, phục vụ nhiều người sử dụng.
Ví dụ về quản lý việc học tập trong môi trường đại học cho thấy dữ liệu bao gồm thông tin về sinh viên, các môn học, điểm thi, được tổ chức thành các bảng và lưu trữ dưới dạng sổ sách hoặc phần mềm máy tính Việc này tạo thành một tập hợp các dữ liệu liên quan đến nhau và mang nhiều ý nghĩa, chính là cơ sở dữ liệu Cơ sở dữ liệu giúp tổ chức, quản lý và truy cập thông tin một cách hiệu quả trong môi trường giáo dục.
Các tính chất của một cơ sở dữ liệu
Một cơ sở dữ liệu có các tính chất sau:
1 Một cơ sở dữ liệu biểu thị một khía cạnh nào đó của thế giới thực như hoạt động của một công ty, một nhà trường, một ngân hàng… Những thay đổi của thế giới thực phải được phản ánh một cách trung thực vào trong cơ sở dữ liệu Những thông tin được đưa vào trong cơ sở dữ liệu tạo thành một không gian cơ sở dữ liệu hoặc là một “thế giới nhỏ” (miniworld)
2 Một cơ sở dữ liệu là một tập hợp dữ liệu liên kết với nhau một cách logic và mang một ý nghĩa cố hữu nào đó Một cơ sở dữ liệu không phải là một tập hợp tuỳ tiện
3 Một cơ sở dữ liệu được thiết kế và được phổ biến cho một mục đích riêng
Nội dung của cơ sở dữ liệu gồm nhóm người dùng có chủ đích và các ứng dụng phù hợp với sở thích của họ, đảm bảo mức độ tương tác cao với các sự kiện trong thế giới thực Cơ sở dữ liệu còn cung cấp nguồn dữ liệu đa dạng, giúp thu hút nhóm người quan tâm tích cực đến các nội dung được cập nhật.
Một cơ sở dữ liệu có thể có kích thước và độ phức tạp khác nhau, từ những cơ sở dữ liệu nhỏ với vài trăm bản ghi như quản lý lương tại các cơ quan nhỏ, đến các hệ thống lớn phục vụ tính cước điện thoại và quản lý nhân sự trên phạm vi rộng Việc tổ chức và quản lý cơ sở dữ liệu cần đảm bảo người dùng dễ dàng truy cập và sử dụng Cơ sở dữ liệu tin học hóa được xây dựng và duy trì bởi nhóm chương trình ứng dụng hoặc hệ quản trị cơ sở dữ liệu nhằm đảm bảo tính hiệu quả và an toàn trong quản lý dữ liệu.
Hệ quản trị cơ sở dữ liệu
Định nghĩa hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu là tập hợp các chương trình giúp người dùng tạo, duy trì và khai thác dữ liệu một cách dễ dàng và hiệu quả Nó là hệ thống phần mềm phổ biến, hỗ trợ quá trình định nghĩa, xây dựng và thao tác cơ sở dữ liệu cho nhiều loại ứng dụng khác nhau Việc định nghĩa cơ sở dữ liệu bao gồm việc đặc tả các kiểu dữ liệu, cấu trúc và các ràng buộc nhằm đảm bảo tính nhất quán và chính xác của dữ liệu được lưu trữ.
Xây dựng một cơ sở dữ liệu là quá trình lưu trữ dữ liệu trên các phương tiện lưu trữ được quản lý bởi hệ quản trị cơ sở dữ liệu Quá trình này đảm bảo dữ liệu được tổ chức khoa học, dễ dàng truy cập và quản lý hiệu quả Việc xây dựng cơ sở dữ liệu giúp tối ưu hóa hoạt động của các hệ thống thông tin, nâng cao hiệu suất và độ an toàn của dữ liệu.
Quản lý cơ sở dữ liệu bao gồm các chức năng chính như truy vấn để lấy dữ liệu chính xác, cập nhật dữ liệu nhằm phản ánh các thay đổi diễn ra trong thực tế, và tạo ra các báo cáo dựa trên dữ liệu đã xử lý Những thao tác này giúp duy trì dữ liệu nhất quán, phục vụ cho công tác phân tích và ra quyết định hiệu quả Việc thực hiện các chức năng này đảm bảo hệ thống cơ sở dữ liệu hoạt động tối ưu, đáp ứng nhu cầu của người dùng và nâng cao hiệu quả quản lý thông tin.
Hệ quản trị cơ sở dữ liệu (DBMS) là phần mềm dùng để quản lý và thể hiện một cơ sở dữ liệu tin học hoá Các hệ quản trị này có thể là phổ dụng, hoạt động như các phần mềm đóng gói dễ sử dụng, hoặc chuyên dụng, gồm tập hợp các phần mềm được thiết kế để phục vụ mục đích nhất định DBMS giúp đảm bảo tính toàn vẹn, an toàn và truy cập dữ liệu hiệu quả trong các hệ thống thông tin hiện đại.
Trong lĩnh vực công nghệ, người ta thường gọi chung cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu là hệ cơ sở dữ liệu Môi trường của hệ cơ sở dữ liệu được mô tả rõ ràng qua hình ảnh minh họa (hình I-1), giúp hiểu rõ hệ thống hoạt động và cấu trúc dữ liệu.
Các chức năng của một hệ quản trị cơ sở dữ liệu
Một hệ quản trị cơ sở dữ liệu hiện nay có các chức năng sau :
1 Lưu trữ các định nghĩa, các mối liên kết dữ liệu (gọi là siêu dữ liệu) vào một từ điển dữ liệu Các chương trình truy cập đến cơ sở dữ liệu làm việc thông qua hệ quản trị cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu sử dụng dữ liệu trong từ điển dữ liệu để tìm kiếm các cấu trúc thành phần dữ liệu và các mối liên kết được yêu cầu Mọi sự thay đổi trong các tệp cơ sở dữ liệu sẽ được tự động ghi lại vào từ điển dữ liệu Như vậy, hệ quản trị cơ sở dữ liệu giải phóng người sử dụng khỏi việc trị cơ sở dữ liệu loại bỏ sự phụ thuộc giữa dữ liệu và cấu trúc ra khỏi hệ thống ình I-1 Môi trường hệ cơ sở dữ liệu
2 Tạo ra các cấu trữ dữ liệu Nó giúp ngườ ác dữ liệu được nhập vào để phù hợp với các cấu trúc dữ liệu ở điểm chương trình truy cập đến tệp cơ sở dữ liệu đã bị sửa đổi Nói cách khác, hệ quản
Người sử dụng / Người lập trình
Chương trình ứng dụng / Truy vấn
Phần mềm xử lý Truy vấn / Chương trình
Phần mềm truy cập dữ liệu giúp người dùng dễ dàng lưu trữ và truy xuất thông tin Cơ sở dữ liệu (siêu dữ liệu) được xây dựng để quản lý dữ liệu một cách có tổ chức và hiệu quả Cơ sở dữ liệu có cấu trúc phức tạp theo yêu cầu, nhằm đáp ứng các nhiệm vụ khó khăn trong việc lưu trữ và sử dụng dữ liệu Việc định nghĩa và lập trình các đặc trưng vật lý của dữ liệu là yếu tố quan trọng để đảm bảo khả năng truy cập và xử lý dữ liệu một cách tối ưu.
2 Như vậy, hệ quản trị cơ sở dữ liệu giúp người sử dụng phân biệt dạng logic và dạng vật lý của dữ liệu Bằng việc duy trì sự độc lập dữ liệu, hệ quản trị cơ sở dữ liệu chuyển các yêu cầu logic thành các lệnh định vị một cách vật lý và lấy ra các o ra một hệ thống bảo mật và áp đặt tính bảo mật và riêng tư trong cơ sở dữ li ạo ra các cấu trúc phức tạp cho phép nhiều người sử dụng truy cập đến dữ li
Chúng tôi cung cấp các thủ tục sao lưu và phục hồi dữ liệu nhằm đảm bảo an toàn và toàn vẹn dữ liệu của hệ thống Đồng thời, chúng tôi áp đặt các quy tắc an toàn nghiêm ngặt để loại bỏ các vấn đề về mất mát hoặc hỏng hóc dữ liệu Việc truy cập dữ liệu được thực hiện thông qua các ngôn ngữ truy vấn, giúp thao tác dễ dàng và an toàn hơn Các giải pháp này đảm bảo dữ liệu của bạn luôn được bảo vệ và khôi phục nhanh chóng khi cần thiết.
Các đặc trưng của giải pháp cơ sở dữ liệu
Phân tích file là một phương pháp điểm nhằm mục đích trích xuất dữ liệu phù hợp với yêu cầu và mong muốn của người sử dụng Quá trình này giúp đảm bảo dữ liệu được điều chỉnh chính xác theo logic và mục đích sử dụng, nâng cao hiệu quả quản lý dữ liệu trong các hệ thống thông tin.
7 Xúc tiến v đó cho phép ta làm tối thiểu sự dư thừa dữ liệu và làm tối đa tính nhất quán dữ liệu
8 Cung c ữ truy vấn là một ngôn ngữ phi thủ tục cho phép người sử dụng chỉ ra cái gì cần phải làm mà không cần phải chỉ ra nó được làm như thế nào Các hệ quản trị cơ sở dữ liệu cũng cung cấp việc truy cập dữ liệu cho những người lập trình thông qua các ngôn ngữ thủ tục
Trước khi khái niệm cơ sở dữ liệu ra đời, hệ thống được sử dụng để quản lý thông tin thông qua các tệp chứa hồ sơ liên quan đến từng công việc cụ thể Ví dụ, bộ phận tài vụ lưu trữ hồ sơ về lương nhân viên, trong khi bộ phận nhân sự có hồ sơ liên quan đến quản lý nhân sự Ban đầu, việc truy cập và xử lý các dữ liệu này được thực hiện thủ công, tuy nhiên khi khối lượng thông tin ngày càng tăng, công tác quản lý trở nên phức tạp hơn Để giải quyết vấn đề này, người ta bắt đầu sử dụng máy tính để quản lý dữ liệu, chuyển các hồ sơ thành các tệp trên máy tính và xử lý thông tin bằng lập trình trong các ngôn ngữ lập trình thế hệ 3.
Việc quản lý theo giải pháp hệ thống tệp gặp nhiều nhược điểm, trong đó nổi bật là tình trạng dư thừa thông tin khi cùng một dữ liệu được lưu trữ nhiều lần trong các tệp khác nhau, như danh sách nhân viên có trong tệp lương và tệp nhân sự Điều này gây ra sự bất nhất và làm giảm hiệu quả trong quản lý dữ liệu Để khắc phục những hạn chế này, hệ quản trị cơ sở dữ liệu (DBMS) ra đời, giúp lưu trữ dữ liệu một cách nhất quán và dễ dàng truy cập Hệ thống cơ sở dữ liệu không chỉ cho phép nhiều người dùng truy cập dữ liệu đồng thời mà còn giảm thiểu sự dư thừa và mất dữ liệu Tuy nhiên, mỗi khi có sự thay đổi về cấu trúc tệp hoặc dữ liệu, các chương trình ứng dụng khai thác dữ liệu cũng cần được cập nhật, điều này gây khó khăn lớn trong việc bảo trì hệ thống.
Giải pháp cơ sở dữ liệu ra đời đã g iải pháp cơ sở dữ liệu có những đặc trưng sau:
1 Bản chất tự mô tả của hệ cơ sở dữ liệu
Giải pháp hệ quản trị cơ sở dữ liệu không chỉ bao gồm dữ liệu mà còn chứa đ ầy đủ định nghĩa về cấu trúc và ràng buộc của cơ sở dữ liệu Thông tin này được lưu trữ trong từ điển hệ thống dưới dạng siêu dữ liệu (meta-data), mô tả chi tiết về cấu trúc các tệp, kiểu dữ liệu và dạng lưu trữ từng mục dữ liệu Phần mềm hệ quản trị và người dùng dựa vào từ điển để truy xuất thông tin về cấu trúc của cơ sở dữ liệu, đảm bảo việc quản lý và khai thác dữ liệu hiệu quả.
2 Sự độc lập giữa chương trình và dữ liệu
Trong hệ thống tệp, cấu trúc của các tệp cơ sở dữ liệu truy cập gây ảnh hưởng đến các chương trình truy cập, do đó mọi thay đổi về cấu trúc đều cần thiết phải chỉnh sửa tất cả các chương trình liên quan Tuy nhiên, trong hệ quản trị cơ sở dữ liệu, cấu trúc dữ liệu được lưu trữ riêng biệt trong từ điển tách rời với các chương trình truy cập, giúp duy trì tính độc lập giữa dữ liệu và chương trình Tính chất này gọi là sự độc lập dữ liệu – chương trình, đảm bảo tính linh hoạt và dễ bảo trì hệ thống dữ liệu.
3 Hỗ trợ các khung nhìn dữ liệu nhiều thành phần
Trong một hệ quản trị cơ sở dữ liệu nhiều người dùng, mỗi người dùng có thể truy cập vào các cảnh hoặc khung nhìn (view) khác nhau, phù hợp với nhu cầu của họ Khung nhìn có thể là tập con của dữ liệu trong cơ sở dữ liệu hoặc chứa các dữ liệu ảo, được trích xuất từ nhiều tệp dữ liệu khác nhau mà không cần lưu trữ rõ ràng Hệ quản trị cơ sở dữ liệu đa người dùng cần cung cấp các công cụ để định nghĩa, quản lý và tùy chỉnh các khung nhìn đa thành phần nhằm phù hợp với các yêu cầu truy cập và xử lý dữ liệu khác nhau.
4 Chia sẻ dữ liệu và nhiều người sử dụng
Một hệ quản trị cơ sở dữ liệu nhiều người s
Ví dụ về một cơ sở dữ liệu
Dữ liệu mà nhiều người đã quen biết phải được quản lý trong một cơ sở dữ liệu thống nhất, đảm bảo tính chính xác và tin cậy Việc thực hiện các cập nhật trong cơ sở dữ liệu cần được kiểm tra kỹ lưỡng để đảm bảo kết quả là chính xác và phù hợp Quản lý dữ liệu đúng cách giúp duy trì tính toàn vẹn của thông tin và hỗ trợ các quyết định kinh doanh đúng đắn.
Cơ sở dữ liệu TRƯỜNG lưu trữ thông tin về sinh viên, môn học, điểm số và các yếu tố liên quan trong môi trường đại học Cơ sở dữ liệu này được tổ chức thành 5 bảng chính: SINHVIÊN chứa dữ liệu về sinh viên, MÔNHỌC lưu trữ các môn học, HỌCPHẦN quản lý các học phần của môn học, ĐIỂM ghi nhận điểm của từng học phần cho từng sinh viên, và BIẾTTRƯỚC cung cấp thông tin về các môn học cần biết trước của các môn học khác Cấu trúc cùng mẫu dữ liệu minh họa của hệ thống được trình bày rõ ràng trong hình I-2, giúp hình dung rõ hơn về cách tổ chức và quản lý dữ liệu trong hệ thống.
SINHVIÊN MãsốSV HọtênSV Lớp Chuyênngành
MÔNHỌC MãsốMH TênMH Sốđvht Khoa
101 Tinhọc cơ sở 8 Công nghệ
102 Cấu trúc DL và GT 5 Công nghệ
103 Toán rời rạc 5 Công nghệ
104 Cơ sở dữ liệu 3 Công nghệ
HỌCPHẦN MãsốHP MãsốMH Họckỳ Năm Têngiáoviên
1020 102 3 2002 Lân ĐIỂM MãsốSV MãsốHP Điểm
BIẾT TRƯỚC Mã sốMH MãsốMHbiếttrước
Trong cơ sở dữ liệu, cấu trúc của các bản ghi được định nghĩa rõ ràng, bao gồm các kiểu dữ liệu khác nhau như mã số sinh viên, họ tên sinh viên, lớp, chuyên ngành để biểu diễn các thông tin cần thiết Ví dụ, họ tên sinh viên có thể được đặc tả là một chuỗi ký tự có độ dài tối đa 30, trong khi mã số sinh viên là một số nguyên Các bản ghi trong các tệp khác nhau, như sinh viên, môn học hay điểm, có thể có mối quan hệ với nhau; ví dụ, bản ghi của Nguyễn Nam trong tệp sinh viên liên quan đến hai bản ghi trong tệp điểm để biểu diễn điểm của anh ấy ở các môn học khác nhau Một cơ sở dữ liệu thường chứa nhiều loại bản ghi và các mối quan hệ phức tạp giữa các tệp nhằm hỗ trợ quản lý dữ liệu hiệu quả.
Thao tác cơ sở dữ liệu bao gồm việc truy vấn và cập nhật, đảm bảo quá trình quản lý dữ liệu hiệu quả Truy vấn cơ sở dữ liệu giúp lấy các thông tin cần thiết như danh sách môn học và điểm thi của sinh viên Nguyễn Nam hoặc danh sách sinh viên thi trượt môn cơ sở dữ liệu Cập nhật cơ sở dữ liệu gồm việc thêm, xóa hoặc sửa đổi các bản ghi để duy trì tính chính xác và mới nhất của dữ liệu Tất cả các yêu cầu truy vấn và cập nhật đều cần phải được mô tả chính xác bằng ngôn ngữ hệ cơ sở dữ liệu trước khi thực thi, đảm bảo hoạt động đúng quy trình và hiệu quả.
Mô hình cơ sở dữ liệu
Các loại mô hình cơ sở dữ liệu
Nhiều mô hình dữ liệu đã được đề xuất để mô tả các cấu trúc cơ sở dữ liệu khác nhau Các mô hình này có thể được phân loại dựa trên các khái niệm cốt lõi mà chúng sử dụng để thể hiện dữ liệu Việc hiểu rõ các khái niệm chính trong từng mô hình giúp tối ưu hóa thiết kế và quản lý hệ thống dữ liệu Các mô hình dữ liệu phổ biến như mô hình quan hệ, mô hình hướng đối tượng và mô hình phân cấp đều dựa trên các nguyên tắc cơ bản riêng biệt để tổ chức dữ liệu hiệu quả.
Các mô hình dữ liệu bậc cao hoặc mô hình dữ liệu mức quan niệm giúp thể hiện các khái niệm dữ liệu phù hợp với cách cảm nhận của người dùng Những mô hình này hỗ trợ hiểu rõ hơn về cấu trúc và mối quan hệ dữ liệu, từ đó nâng cao hiệu quả quản lý thông tin Việc lựa chọn mô hình dữ liệu phù hợp góp phần tối ưu hóa quá trình thiết kế hệ thống và cải thiện trải nghiệm người dùng.
Các mô hình dữ liệu bậc thấp hoặc mô hình dữ liệu vật lý cung cấp các khái niệm chi tiết về cách dữ liệu được lưu trữ trong máy tính, chủ yếu dành cho các chuyên gia công nghệ thông tin Giữa hai loại mô hình này là các mô hình dữ liệu thể hiện, hay còn gọi là mô hình dữ liệu mức logic, giúp người dùng dễ hiểu hơn về cách tổ chức dữ liệu bên trong máy tính mà không tiết lộ quá nhiều chi tiết về cách lưu trữ Các mô hình dữ liệu thể hiện này che giấu một số chi tiết về việc lưu trữ dữ liệu, nhưng vẫn có thể được cài đặt trực tiếp trên hệ thống máy tính, giúp phù hợp với nhu cầu sử dụng của người dùng không chuyên.
Trong Chương II, chúng ta sẽ nghiên cứu mô hình dữ liệu mức quan niệm, còn gọi là mô hình thực thể - liên kết (ER - Entity Relationship Model) Mô hình ER giúp mô tả các dữ liệu dưới dạng các thực thể và các mối quan hệ giữa chúng, đóng vai trò quan trọng trong thiết kế hệ thống cơ sở dữ liệu Việc hiểu rõ mô hình ER là bước nền tảng để xây dựng các hệ thống dữ liệu hiệu quả và nhất quán.
Mô hình dữ liệu này sử dụng các khái niệm thực thể, thuộc tính và mối liên kết để mô tả các đối tượng của thế giới thực, giúp đại diện các đối tượng như nhân viên hoặc dự án trong cơ sở dữ liệu Các thuộc tính như họ tên, lương thể hiện đặc điểm của thực thể nhân viên Mối liên kết giữa các thực thể, ví dụ như nhân viên làm việc trên dự án, mô tả các mối quan hệ giữa chúng Ngoài ra, mô hình dữ liệu hướng đối tượng còn là một mô hình cao cấp, sử dụng các khái niệm như lớp, phương thức, thông điệp, giúp mở rộng khả năng mô tả và quản lý dữ liệu hiệu quả hơn Để hiểu rõ hơn về mô hình này, bạn có thể tham khảo các tài liệu [1], [2].
Các mô hình dữ liệu thể hiện là những mô hình phổ biến nhất được sử dụng trong các hệ cơ sở dữ liệu thương mại hiện nay Ba loại mô hình nổi bật gồm mô hình quan hệ, mô hình mạng và mô hình phân cấp Trong lịch sử phát triển, các mô hình mạng và phân cấp được ra đời từ trước và được sử dụng rộng rãi trước năm 1970 Tuy nhiên, từ đầu những năm 1970, mô hình quan hệ ra đời và nhanh chóng chiếm ưu thế nhờ tính ưu việt vượt trội của nó, dần thay thế các mô hình mạng và phân cấp Trong chương III, chúng ta sẽ đi sâu nghiên cứu về mô hình quan hệ để hiểu rõ hơn về vai trò và lợi ích của nó trong quản trị dữ liệu.
Các mô hình dữ liệu vật lý đóng vai trò quan trọng trong việc mô tả cách lưu trữ dữ liệu trong máy tính, bao gồm các yếu tố như khuôn dạng bản ghi, sắp xếp bản ghi và phương thức truy cập dữ liệu hiệu quả Việc hiểu rõ các mô hình này giúp tối ưu hóa hiệu suất hệ thống lưu trữ, đảm bảo truy xuất dữ liệu nhanh chóng và chính xác Những thông tin về cách tổ chức dữ liệu vật lý đóng góp vào việc thiết kế hệ quản trị cơ sở dữ liệu tối ưu, phù hợp với yêu cầu sử dụng.
Lược đồ và trạng thái cơ sở dữ liệu
Trong mô hình dữ liệu, cần phân biệt rõ giữa mô tả của cơ sở dữ liệu và chính bản thân cơ sở dữ liệu Mô tả này được gọi là lược đồ cơ sở dữ liệu, xác định rõ trong quá trình thiết kế và ít khi thay đổi Đa số các mô hình dữ liệu đều có quy ước hiển thị các lược đồ qua các biểu đồ, trong đó biểu đồ lược đồ thể hiện các khía cạnh chính như kiểu bản ghi, mục dữ liệu và các ràng buộc cơ bản Các khía cạnh khác của lược đồ thường không được thể hiện trong biểu đồ.
Dữ liệu trong cơ sở dữ liệu có thể thay đổi thường xuyên theo thời gian Trạng thái của cơ sở dữ liệu tại một thời điểm cụ thể được gọi là ảnh hoặc snapshot của cơ sở dữ liệu, phản ánh dữ liệu tại thời điểm đó Nhiều trạng thái khác nhau có thể được tạo ra để phù hợp với các lược đồ cơ sở dữ liệu khác nhau Mỗi khi bạn thêm, xóa hoặc sửa đổi dữ liệu, điều đó đều làm thay đổi trạng thái của cơ sở dữ liệu sang một trạng thái mới.
Việc phân biệt giữa lược đồ cơ sở dữ liệu và trạng thái của cơ sở dữ liệu là rất quan trọng trong quản trị dữ liệu Khi tạo mới một cơ sở dữ liệu, hệ quản trị chỉ đặc tả lược đồ, trong khi trạng thái ban đầu của cơ sở dữ liệu là rỗng, không có dữ liệu Mỗi khi dữ liệu được nhập vào, trạng thái của cơ sở dữ liệu thay đổi, và tại mọi thời điểm, cơ sở dữ liệu đều có một trạng thái hiện tại Hệ quản trị đảm bảo rằng mọi trạng thái đều là vững chắc, thỏa mãn các cấu trúc và ràng buộc của lược đồ đã định nghĩa Việc thiết kế một lược đồ chính xác và cẩn thận là điều tối quan trọng, vì nó được lưu trữ như siêu dữ liệu trong từ điển của hệ quản trị để phần mềm dễ dàng tham khảo Đôi khi, lược đồ còn được gọi là mục tiêu (intension), trong khi trạng thái dữ liệu tương ứng gọi là mở rộng (extension) của lược đồ.
Con người trong hệ cơ sở dữ liệu
Người quản trị hệ cơ sở dữ liệu (Database Administrator – DBA)
Trong môi trường hệ quản trị cơ sở dữ liệu, việc quản lý tài nguyên như cơ sở dữ liệu, phần mềm liên quan và phần cứng là rất quan trọng để đảm bảo hoạt động hiệu quả Người quản trị hệ cơ sở dữ liệu chịu trách nhiệm giám sát, kiểm soát và phân phối các tài nguyên này, bao gồm việc cấp quyền truy cập, tổ chức và hướng dẫn sử dụng cơ sở dữ liệu đúng cách Công việc của họ giúp duy trì an toàn, tối ưu hóa hiệu suất và đảm bảo các tài nguyên được sử dụng hiệu quả trong tổ chức.
Người thiết kế cơ sở dữ liệu (Database Designer)
Người thiết kế cơ sở dữ liệu chịu trách nhiệm xác định dữ liệu cần lưu giữ, chọn các cấu trúc phù hợp để biểu diễn và lưu trữ dữ liệu đó trước khi hệ thống được triển khai Họ cần giao tiếp với người dùng tương lai để hiểu rõ yêu cầu và đảm bảo thiết kế đáp ứng các mong đợi của họ Ngoài ra, người thiết kế còn hỗ trợ các nhóm người dùng trong việc thực hiện các yêu cầu của họ để đảm bảo hệ thống hoạt động hiệu quả và phù hợp với nhu cầu thực tế.
Những người sử dụng (End User)
502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared
502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared
502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared
Người phân tích hệ thống và lập trình ứng dụng
Người phân tích hệ thống đóng vai trò quan trọng trong việc xác định các yêu cầu của người dùng, chủ yếu là những người sử dụng thụ động Họ thu thập và đặc tả các yêu cầu này để phát triển các chương trình phù hợp, đáp ứng đúng nhu cầu và mong đợi của khách hàng Việc hiểu rõ yêu cầu của người dùng giúp đảm bảo rằng các giải pháp phần mềm được thiết kế phù hợp, tối ưu hóa trải nghiệm người dùng và nâng cao hiệu quả hoạt động của hệ thống.
Người viết chương trình ứng dụng chịu trách nhiệm thể hiện các đặc tả của người phân tích thành mã nguồn, sau đó tiến hành kiểm thử, sửa lỗi và tạo tài liệu hướng dẫn sử dụng Họ cũng thực hiện bảo trì các giao tác đã được định sẵn để đảm bảo hệ thống hoạt động ổn định và hiệu quả Việc này giúp đảm bảo chất lượng phần mềm và tối ưu hóa trải nghiệm người dùng, đồng thời phù hợp với các tiêu chuẩn SEO để nâng cao khả năng tiếp cận thông tin.
Người thiết kế và cài đặt hệ quản trị dữ liệu
Hệ quản trị cơ sở dữ liệu (DBMS) là một hệ thống phần mềm phức tạp gồm nhiều mô đun, trong đó các nhà thiết kế và lập trình viên cài đặt các mô đun như từ điển dữ liệu, ngôn ngữ truy vấn, bộ xử lý giao diện, kiểm tra cạnh tranh, phục hồi và an toàn Các mô đun này giúp hệ quản trị cơ sở dữ liệu hoạt động hiệu quả và chính xác Hệ quản trị cơ sở dữ liệu phải có khả năng giao tiếp với các hệ thống phần mềm khác như hệ điều hành và các chương trình dịch nhiều ngôn ngữ để đảm bảo tính linh hoạt và tương tác trong môi trường phần mềm đa dạng.
Những người phát triển công cụ
Những người thiết kế và cài đặt các công cụ (tool) đóng vai trò quan trọng trong việc phát triển phần mềm, giúp việc thiết kế và sử dụng cơ sở dữ liệu trở nên dễ dàng hơn Các công cụ này là các phần mềm đóng gói hỗ trợ tối ưu hóa quy trình quản lý dữ liệu, nâng cao hiệu quả làm việc Việc thiết kế và cài đặt công cụ phù hợp góp phần cải thiện hiệu suất hệ thống và giúp người dùng dễ dàng truy cập, thao tác dữ liệu một cách thuận tiện.
Các thao tác viên và những người bảo trì
Là những người chịu trách nhiệm về việc chạy và bảo trì phần cứng và phần
Ngôn ngữ cơ sở dữ liệu và giao diện
Các ngôn ngữ hệ quản trị cơ sở dữ liệu
Sau khi hoàn tất thiết kế cơ sở dữ liệu, bước tiếp theo là chọn hệ quản trị cơ sở dữ liệu để cài đặt Các hệ quản trị cơ sở dữ liệu hiện nay thường hỗ trợ hai ngôn ngữ chính là ngôn ngữ định nghĩa dữ liệu (DDL) để xây dựng cấu trúc dữ liệu và ngôn ngữ thao tác dữ liệu (DML) để thực hiện các thao tác xử lý dữ liệu Việc lựa chọn hệ quản trị phù hợp giúp đảm bảo hiệu quả và an toàn trong quản lý dữ liệu.
Ngôn ngữ định nghĩa dữ liệu (DDL) được sử dụng để xác định các lược đồ trong hệ quản trị cơ sở dữ liệu Chương trình dịch ngôn ngữ DDL xử lý các câu lệnh DDL để mô tả cấu trúc của lược đồ, sau đó lưu trữ thông tin này vào từ điển của hệ quản trị cơ sở dữ liệu, giúp quản lý và truy xuất dữ liệu hiệu quả.
Ngôn ngữ thao tác cơ sở dữ liệu là công cụ dùng để thực hiện các thao tác như lấy dữ liệu, chèn dữ liệu, loại bỏ hoặc sửa đổi thông tin trong hệ thống Có hai loại chính của ngôn ngữ thao tác dữ liệu: ngôn ngữ thao tác dữ liệu mức cao, còn gọi là ngôn ngữ phi thủ tục, và ngôn ngữ thao tác dữ liệu mức thấp Những ngôn ngữ này giúp người dùng dễ dàng quản lý và vận hành dữ liệu trong hệ thống cơ sở dữ liệu một cách hiệu quả.
Ngôn ngữ thao tác dữ liệu mức cao giúp diễn đạt các phép toán cơ sở dữ liệu một cách ngắn gọn và dễ hiểu Hầu hết các hệ quản trị cơ sở dữ liệu cho phép nhập lệnh của ngôn ngữ này theo phương thức lặp lại hoặc nhúng vào các ngôn ngữ lập trình phổ biến Khi nhúng vào ngôn ngữ khác, các lệnh sẽ cần được xác định rõ trong chương trình để hệ quản trị cơ sở dữ liệu có thể nhận diện và xử lý chính xác.
Ngôn ngữ thao tác cơ sở dữ liệu mức thấp hoặc ngôn ngữ thủ tục cần được nhúng vào trong ngôn ngữ lập trình vạn năng để xử lý dữ liệu hiệu quả Các ngôn ngữ này thường rút từng bản ghi hoặc đối tượng riêng rẽ và xử lý theo cách riêng, đòi hỏi phải sử dụng cấu trúc lập trình như vòng lặp và điều kiện để xử lý từng bản ghi trong tập dữ liệu Ngôn ngữ thao tác dữ liệu mức thấp thường gọi là "ngôn ngữ một lần một bản ghi" do xử lý dữ liệu từng dòng một Trong khi đó, các ngôn ngữ thao tác dữ liệu mức cao cho phép truy xuất nhiều bản ghi cùng lúc bằng một lệnh duy nhất, nên được gọi là "ngôn ngữ một lần một tập hợp," giúp tối ưu hoá hiệu suất truy vấn dữ liệu.
Các loại giao diện hệ quản trị cơ sở dữ liệu
Các hệ quản trị cơ sở dữ liệu cung cấp rất nhiều loại giao diện người dùng thân thiện Các loại giao diện chính gồm có:
Giao diện dựa trên bảng chọn cung cấp danh sách các lựa chọn, giúp người dùng dễ dàng diễn đạt yêu cầu từ đầu đến cuối mà không cần nhớ các lệnh hoặc cú pháp phức tạp của ngôn ngữ truy vấn Các bảng chọn thả xuống đã trở thành kỹ thuật phổ biến trong giao diện dựa trên cửa sổ, thường được sử dụng trong các hệ thống quét để hiển thị nội dung cơ sở dữ liệu một cách trực quan và không có cấu trúc phức tạp.
Giao diện dựa trên mẫu biểu giúp người dùng dễ dàng nhập dữ liệu bằng cách điền vào các ô trên mẫu biểu Người dùng có thể điền toàn bộ hoặc chỉ một phần các ô, trong khi hệ quản trị cơ sở dữ liệu tự động cung cấp dữ liệu phù hợp cho các ô còn lại Các mẫu biểu thường được thiết kế đơn giản và phù hợp cho người dùng không chuyên, với nhiều hệ thống còn tích hợp tiện ích hướng dẫn từng bước tạo mẫu biểu trên màn hình.
Giao diện đồ họa (GUI) thường hiển thị sơ đồ trực quan để người dùng dễ dàng thao tác và thực hiện các truy vấn Người dùng có thể tương tác với biểu đồ bằng cách sử dụng chuột và bàn phím để kích hoạt các phần của sơ đồ, giúp thao tác trở nên dễ dàng và trực quan hơn Trong nhiều trường hợp, GUI còn tích hợp các bảng chọn và mẫu biểu để nâng cao trải nghiệm người dùng trong việc truy cập và xử lý dữ liệu.
Giao diện cho người quản trị hệ thống của các hệ quản trị cơ sở dữ liệu cho phép truy cập vào các lệnh ưu tiên chỉ dành cho quản trị viên, như tạo tài khoản, thiết lập tham số hệ thống, cấp quyền truy cập, và tổ chức lại các cấu trúc lưu trữ của cơ sở dữ liệu Những lệnh này giúp quản trị viên kiểm soát và quản lý hệ thống một cách hiệu quả, đảm bảo an toàn và tối ưu hóa hoạt động của cơ sở dữ liệu.
Câu hỏi ôn tập
Trong bài viết này, chúng ta sẽ đi qua các định nghĩa cơ bản liên quan đến lĩnh vực cơ sở dữ liệu Cơ sở dữ liệu (Database) là tập hợp các dữ liệu được lưu trữ một cách có tổ chức để dễ dàng truy xuất và quản lý Hệ quản trị cơ sở dữ liệu (DBMS - Database Management System) là phần mềm giúp người dùng tạo, duy trì và thao tác với cơ sở dữ liệu một cách hiệu quả Hệ cơ sở dữ liệu (Database System) gồm cả hệ quản trị và cơ sở dữ liệu, tạo thành một môi trường hoàn chỉnh để lưu trữ và xử lý dữ liệu Từ điển cơ sở dữ liệu (Data Dictionary) là phần mềm hoặc dữ liệu mô tả cấu trúc, các thành phần và các quy tắc hoạt động của cơ sở dữ liệu Mô hình cơ sở dữ liệu (Database Model) là phương pháp tổ chức dữ liệu trong cơ sở dữ liệu, như mô hình quan hệ, mô hình mạng hay mô hình hướng đối tượng, giúp đảm bảo tính nhất quán và khả năng mở rộng của hệ thống.
2 Nêu các tính chất của một cơ sở dữ liệu
3 Nêu các chức năng của một hệ quản trị cơ sở dữ liệu
5 Định nghĩa mô hình cơ sở dữ liệu và phân loại
6 Liệt kê các người có liên quan đến hệ cơ sở dữ liệu.
MÔ HÌNH THỰC THỂ - LIÊN KẾT
S ử dụng mô hình quan niệm bậc cao cho việc thiết kế cơ sở dữ liệu
Quá trình thiết kế một cơ sở dữ liệu sử dụng mô hình quan niệm bậc cao được minh họa bằng hình II.1
Bước đầu tiên trong thiết kế cơ sở dữ liệu là tập hợp và phân tích các yêu cầu của người dùng Quá trình này bao gồm phỏng vấn người sử dụng để hiểu rõ các yêu cầu về dữ liệu và tài liệu hóa chúng một cách đầy đủ, chi tiết Kết quả của bước này là một tập hợp ghi chú súc tích về các yêu cầu của người dùng, giúp đảm bảo dữ liệu phản ánh đúng nhu cầu thực tế Ngoài ra, cần xác định rõ các yêu cầu về chức năng của ứng dụng, bao gồm các thao tác mà người sử dụng sẽ thực hiện trên cơ sở dữ liệu để đáp ứng các mục tiêu kinh doanh.
Sau khi thu thập và phân tích các yêu cầu, bước tiếp theo là tạo ra lược đồ quan niệm cho cơ sở dữ liệu bằng mô hình dữ liệu quan niệm mức cao, gọi là thiết kế quan niệm Lược đồ quan niệm mô tả ngắn gọn các yêu cầu dữ liệu của người dùng, gồm các kiểu thực thể, kiểu liên kết và ràng buộc được biểu diễn bằng các khái niệm từ mô hình dữ liệu bậc cao, dễ hiểu và dễ giao tiếp với người sử dụng Nó cũng có thể dùng làm tài liệu tham khảo để đảm bảo rằng các yêu cầu của người dùng đều được đáp ứng và không mâu thuẫn Phương pháp này giúp các nhà thiết kế tập trung vào đặc tả tính chất dữ liệu mà không cần lo lắng về các chi tiết lưu trữ, đảm bảo tính nhất quán và rõ ràng của thiết kế cơ sở dữ liệu.
Trong quá trình hoặc sau khi thiết kế lược đồ quan niệm, chúng ta có thể sử dụng các phép toán cơ bản của mô hình dữ liệu để đặc tả các thao tác của người dùng, đảm bảo rằng lược đồ đáp ứng đầy đủ các yêu cầu chức năng đã xác định Việc này giúp xác nhận rằng lược đồ quan niệm thỏa mãn mọi yêu cầu chức năng đã đề ra Nếu có một số yêu cầu chức năng không thể thể hiện trong lược đồ ban đầu, bước này cho phép sửa đổi lược đồ để phù hợp và đảm bảo tính đầy đủ của mô hình dữ liệu.
Bước tiếp theo trong thiết kế cơ sở dữ liệu là cài đặt một cơ sở dữ liệu sử dụng hệ quản trị cơ sở dữ liệu có sẵn Hầu hết các hệ quản trị này áp dụng mô hình dữ liệu cài đặt như mô hình quan hệ hoặc mô hình đối tượng, giúp chuyển đổi lược đồ từ mô hình dữ liệu cao cấp thành mô hình dữ liệu cài đặt Quá trình này, gọi là thiết kế logic hoặc ánh xạ mô hình dữ liệu, tạo ra lược đồ cơ sở dữ liệu dưới dạng mô hình dữ liệu cài đặt của hệ quản trị cơ sở dữ liệu, đảm bảo phản ánh chính xác cấu trúc dữ liệu cần thiết.
Bước cuối cùng trong thiết kế cơ sở dữ liệu là thiết kế vật lý, trong đó xác định các cấu trúc bên trong, các đường dẫn truy cập và tổ chức tệp cho hệ thống dữ liệu Đồng thời, các chương trình ứng dụng được thiết kế và cài đặt như các giao dịch (transaction) của cơ sở dữ liệu, phù hợp với các đặc tả giao dịch mức cao Quá trình này đảm bảo tối ưu hóa hiệu suất truy xuất dữ liệu và mở rộng hệ thống quản trị cơ sở dữ liệu hiệu quả.
TẬP HỢP VÀ PHÂN TÍCH CÁC YÊU C
Hình II-1 Sơ đồ mô tả các bước chính của việc thiết kế
CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU
Thuộc tính của các kiểu liên kết
Các kiểu liên kết trong mô hình dữ liệu có thể có các thuộc tính như các thuộc tính của kiểu thực thể, giúp mô tả chi tiết hơn về mối quan hệ giữa các thực thể Ví dụ, kiểu liên kết giữa các thực thể NHÂNVIÊN và DỰÁN có thể có thuộc tính Sốgiờ, dùng để ghi lại số giờ nhân viên đã làm việc trên dự án đó Các thuộc tính của kiểu liên kết được thể hiện bằng hình ô van và liên kết với kiểu liên kết, giúp biểu diễn rõ các đặc điểm của mối quan hệ.
NHÂNVIÊN Làm việc cho ĐƠNVỊ
NHÂNVIÊN Làm việc trên DỰÁN
Các kiểu thực thể yếu
Các kiểu thực thể không có thuộc tính khoá riêng gọi là các kiểu thực thể yếu, trong khi các kiểu thực thể có thuộc tính khoá được gọi là kiểu thực thể mạnh Thực thể của kiểu thực thể yếu được xác định thông qua liên kết với thực thể của kiểu thực thể khác, được gọi là kiểu thực thể xác định hoặc kiểu thực thể chủ, và liên kết này gọi là liên kết xác định của thực thể yếu Một kiểu thực thể yếu luôn phụ thuộc toàn bộ vào liên kết xác định của nó, vì không thể tồn tại mà không có kiểu thực thể chủ Ví dụ, trong một công ty, các con của nhân viên được liên kết với nhân viên qua kiểu liên kết NHÂNVIÊN , trong đó kiểu liên kết này có tỷ lệ 1:N Thuộc tính của kiểu thực thể CON như Họ tên, Ngày sinh, Giới tính, có thể trùng nhau giữa các con của các nhân viên khác nhau, nhưng chúng vẫn là các thực thể riêng biệt khi có liên quan đến một nhân viên cụ thể Mỗi thực thể nhân viên được xem là chủ của các thực thể con liên kết với nó.
Thông thường, các kiểu thực thể yếu có một khoá bộ phận, được định nghĩa là tập hợp các thuộc tính có thể xác định duy nhất các thực thể yếu liên kết với cùng một thực thể chủ Ví dụ, trong trường hợp các con của một nhân viên không bao giờ có cùng tên, thuộc tính Họ tên của kiểu thực thể CON chính là khoá bộ phận Trong các tình huống xấu nhất, tất cả các thuộc tính của thực thể yếu đều có thể tạo thành một khoá bộ phận duy nhất, giúp xác định chính xác các thực thể yếu liên kết với thực thể chủ Điều này nhấn mạnh tầm quan trọng của khoá bộ phận trong việc quản lý và phân biệt các thực thể yếu trong hệ thống dữ liệu.
NHÂNVIÊN 1 1 Làm việc trên DỰÁN
Trong sơ đồ ER, các kiểu thực thể yếu và kiểu liên kết của chúng đều được thể hiện bằng các ký hiệu đặc trưng: hình chữ nhật cho kiểu thực thể yếu và hình thoi nét đôi cho kiểu liên kết xác định Việc sử dụng các ký hiệu này giúp mô tả rõ ràng các mối quan hệ phức tạp trong cơ sở dữ liệu, đảm bảo tính trực quan và dễ hiểu cho việc thiết kế hệ thống.
Ví dụ về thiết kế mô hình ER
Trong phần này, chúng ta sẽ xem xét ví dụ xây dựng mô hình ER cho cơ sở dữ liệu công ty, giúp hiểu rõ quy trình thiết kế hệ thống dữ liệu Quá trình bắt đầu bằng việc tập hợp và phân tích các yêu cầu dựa trên các ghi chép ngắn gọn về nhu cầu người dùng và tình trạng hiện tại của doanh nghiệp Kết quả của bước này là xác định rõ các yêu cầu hệ thống, phục vụ cho việc thiết kế cơ sở dữ liệu hiệu quả và chính xác.
Giả sử rằng sau khi tập hợp các yêu cầu và phân tích, hoạt động của công ty được ghi chép lại như sau:
1 Công ty được tổ chức thành các đơn vị Mỗi đơn vị có một tên duy nhất, một mã số duy nhất, một nhân viên cụ thể quản lý đơn vị Việc nhân viên quản lý đơn vị được ghi lại bằng ngày nhân viên đó bắt đầu quản lý Một đơn vị có thể có nhiều địa điểm
2 Mỗi đơn vị kiểm soát một số dự án Một dự án có một tên duy nhất, một mã số duy nhất và một địa điểm
3 Với mỗi nhân viên chúng ta lưu giữ lại Họ tên, Mã số, địa chỉ, lương, giới tính, ngày sinh Một nhân viên chỉ làm việc cho một đơn vị nhưng có thể làm việc trên nhiều dự án do nhiều đơn vị kiểm soát Chúng ta lưu giữ lại số giờ làm việc của mỗi nhân viên trên một dự án Mỗi nhân viên có thể có một người giám sát trực tiếp, người đó cũng là một nhân viên
4 Mỗi nhân viên có những người con Những người này được hưởng bảo hiểm theo nhân viên Với mỗi người con của nhân viên, chúng ta lưu giữ Họ tên, giới tính, ngày sinh
III.1- Xác đị nh các ki ể u th ự c th ể , các thu ộ c tính và các ki ể u liên k ế t
Theo các ghi chép ở trên, chúng ta có thể xác định các kiểu thực thể và các kiểu liên kết như sau:
1 CÔNGTY không phải là một kiểu thực thể vì ở đây ta có một công ty duy nhất
2 ĐƠNVỊ là một kiểu thực thể với các thuộc tính Tên, Mãsố, Ngườiquảnlý, Ngàybắtđầu và Địađiểm Các thuộc tính Tên, Mãsố, Địađiểm là các thuộc tính mô tả đơn vị, các thuộc tính Ngườiquảnlý, Ngàybắtđầu là các thuộc tính biểu thị một kiểu liên kết (với kiểu thực thể NHÂNVIÊN) Các thuộc tính đều là đơn và đơn trị, trừ thuộc tính Địađiểm, nó là một thuộc tính đa trị (một đơn vị có nhiều địa điểm) Các thuộc tính Tên, Mãsố là các thuộc tính khóa (vì mỗi đơn vị có một tên và một mã số duy nhất)
3 Kiểu thực thể DỰÁN có các thuộc tính Tên, Mãsố, Địađiểm, Đơnvịkiểmsoát Các thuộc tính Tên, Mãsố, Địa điểm là các thuộc tính mô tả DỰÁN, thuộc tính Đơnvịkiểmsoát biểu thị kiểu liên kết với kiểu thực thể ĐƠNVỊ (một đơn vị kiểm soát một số dự án) Các thuộc tính Tên, Mãsố là các thuộc tính khóa
4 Kiểu thực NHÂNVIÊN với các thuộc tính Họtên, Mãsố, Giới tính, Ngàysinh, Lương, Đơnvị, Ngườigiámsát Thuộc tính Họtên là một thuộc tính phức hợp (gồm Họđệm, Tên) Các thuộc tính Đơnvị, Ngườigiámsát mô tả các kiểu liên kết giữa kiểu thực thể NHÂNVIÊN và các kiểu thực thể ĐƠNVỊ và NHÂNVIÊN tương ứng Thuộc tính Mãsố là thuộc tính khóa
5 Kiểu thực thể CON với các thuộc tính Nhânviên, Họtên, Giới tính, Ngàysinh Thuộc tính Nhânviên mô tả kiểu liên kết với kiểu thực thể NHÂNVIÊN
6 Kiểu liên kết ĐƠNVỊ DỰÁN là kiểu liên kết có tỷ số lực lượng 1:N (một đơn vị kiểm soát một số dự án, một dự án do một đơn vị quản lý)
Dự án tham gia vào kiểu liên kết là toàn bộ, do mỗi dự án đều được kiểm soát bởi một đơn vị cụ thể Khi một đơn vị quản lý nhiều dự án, sự tham gia của đơn vị đó vào kiểu liên kết cũng là toàn bộ Ngược lại, nếu một đơn vị chỉ quản lý một phần dự án, thì sự tham gia của đơn vị đó chỉ chiếm bộ phận trong kiểu liên kết.
7 Kiểu liên kết NHÂNVIÊN ĐƠNVỊ có tỷ số lực lượng N:1 (mỗi nhân viên làm việc cho một đơn vị nhưng mỗi đơn vị có nhiều nhân viên là việc) Sự tham gia của hai kiểu thực thể vào liên kết là toàn bộ
8 Kiểu liên kết NHÂNVIÊN ĐƠNVỊ có tỷ số lực lượng 1:1 (một nhân viên quản lý một đơn vị và một đơn vị có một nhân viên quản lý) Sự tham viên nào cũng quản lý đơn vị), ngược lại, sự tham gia của kiểu thực thể ĐƠNVỊ vào kiểu liên kết là toàn bộ (bởi vì đơn vị nào cũng phải có người quản lý)
9 Kiểu liên kết NHÂNVIÊN NHÂNVIÊN có tỷ số lực lượng 1:N (một nhân viên có thể giám sát nhiều nhân viên khác) Sự tham gia của của kiểu thực thể NHÂNVIÊN (ở cả hai phía) là bộ phận (bởi vì không phải nhân viên nào cũng giám sát nhân viên khác, và không phải nhân viên nào cũng bị giám sát) Kiểu thực thể NHÂNVIÊN ở đây đóng hai vai trò khác nhau: vai trò người giám sát và vai trò người bị giám sát
10 Kiểu liên kết NHÂNVIÊN DỰÁN là có tỷ số lực lượng là M:N (một nhân viên có thể làm việc trên nhiều dự án khác nhau và mỗi dự án có nhiều nhân viên làm việc) Sự tham gia của kiểu thực thể NHÂNVIÊN là bộ phận (bởi vì không phải tất cả nhân viên đều làm việc trên dự án) ngược lại, sự tham gia của kiểu thực thể DỰÁN là toàn bộ (bởi vì dự án nào cũng phải có nhân viên làm việc) Kiểu liên kết này có một thuộc tính là Sốgiờ, ghi lại số giờ làm việc của một nhân viên trên một dự án
11 Kiểu liên kết NHÂNVIÊN CON biểu thị mối liên hệ giữa kiểu thực thể NHÂNVIÊN và kiểu thực thể CON (một nhân viên có thể có những người con) Kiểu liên kết này có tỷ số lực lượng 1:N (một nhân viên có thể có nhiều người con nhưng mỗi con là con của chỉ một nhân viên) Sự tham gia của kiểu thực thể NHÂNVIÊN là bộ phận (không phải nhân viên nào cũng có con), ngược lại, sự tham gia của kiểu thực thể CON là toàn bộ (người con nào cũng phải là con của một nhân viên) Ngoài ra, kiểu thực thể CON là một kiểu thực thể yếu
Để vẽ lược đồ ER, ta loại bỏ các thuộc tính xem như các kiểu liên kết khỏi các thực thể, gồm có thuộc tính Ngườiquảnlý và Ngàybắtđầu của thực thể ĐƠNVỊ, thuộc tính Đơnvịkiểmsoát của thực thể DỰÁN, các thuộc tính Đơnvị và Ngườigiám sát của thực thể NHÂNVIÊN, cùng thuộc tính Nhânviên của thực thể PHỤTHUỘC.
Kết quả, chúng ta có lược đồ ER như sau:
Hình II-6 Lược đồ ER “CÔNGTY”
Mô hình thực thể liên kết mở rộng (mô hình EER)
Trong quá trình xây dựng cơ sở dữ liệu, phương pháp truyền thống bắt đầu bằng việc thiết kế mô hình liên kết – thực thể (mô hình ER) và sau đó chuyển đổi thành mô hình quan hệ Mô hình ER là công cụ phổ biến để trình bày các lược đồ cơ sở dữ liệu trong các ứng dụng truyền thống như kinh doanh và công nghiệp Tuy nhiên, với sự phát triển của các ứng dụng công nghệ dữ liệu mới, các hệ thống cơ sở dữ liệu ngày nay đòi hỏi các yêu cầu phức tạp hơn, đòi hỏi người thiết kế phải sử dụng các khái niệm mới để mô tả chính xác Việc mở rộng mô hình ER bằng cách thêm các khái niệm mới đã tạo ra mô hình ER mở rộng, gọi là mô hình EER (Enhanced Entity Relationship Model), giúp phản ánh tốt hơn các yêu cầu phức tạp của hệ thống hiện đại.
Mô hình EER mở rộng từ mô hình ER bằng cách bổ sung các khái niệm như lớp ( lớp cha/lớp con), kiểu liên kết lớp, tính thừa kế, chuyên biệt và tổng quát, giúp thể hiện mối quan hệ phức tạp giữa các dữ liệu một cách rõ ràng và chính xác hơn.
IV.1- L ớ p cha, l ớ p con và s ự th ừ a k ế
Trong mô hình EER, khái niệm đầu tiên là lớp con của một kiểu thực thể, thể hiện mối quan hệ phân cấp giữa các thực thể Kiểu thực thể dùng để biểu diễn cả kiểu của thực thể và tập hợp các thực thể cùng loại trong cơ sở dữ liệu Trong nhiều trường hợp, một kiểu thực thể có thể bao gồm các nhóm con thực thể, và việc trình bày rõ ràng các nhóm con này rất quan trọng để đảm bảo ý nghĩa chính xác của dữ liệu trong hệ thống.
Các thành viên của kiểu thực thể NHÂNVIÊN có thể được phân chia thành các nhóm nhỏ như KỸSƯ, NGƯỜIQUẢNLÝ, KỸTHUẬTVIÊN, trong đó các thực thể trong cùng nhóm là các tập con của thực thể nhân viên chung Mỗi thực thể trong các nhóm này vẫn là một thành viên của tập thực thể nhân viên, thể hiện mối liên hệ phân lớp trong mô hình dữ liệu Các nhóm này được gọi là các lớp con của kiểu thực thể NHÂNVIÊN, giúp phân loại và quản lý dữ liệu hiệu quả hơn trong thiết kế hệ thống.
NHÂNVIÊN Kiểu thực thể NHÂNVIÊN được gọi là lớp cha của các lớp con đó
Trong lập trình hướng đối tượng, mối quan hệ giữa lớp cha và lớp con được gọi là kiểu liên kết lớp cha/lớp con, thường được mô tả bằng kiểu liên kết IS_A Đây là kiểu liên kết thể hiện mối quan hệ kế thừa, trong đó lớp con kế thừa đặc điểm và hành vi của lớp cha, ví dụ như một kỹ sư là một nhân viên hoặc một kỹ thuật viên là một chuyên gia trong lĩnh vực của mình Kiểu liên kết này giúp xây dựng cấu trúc rõ ràng, dễ mở rộng và duy trì cho hệ thống phần mềm.
Trong hệ thống cơ sở dữ liệu, các thực thể thành viên trong lớp con đều đồng thời biểu diễn một thực thể thực tại như thành viên của lớp cha, nghĩa là chúng giống nhau về mặt dữ liệu, nhưng giữ vai trò hoàn toàn khác nhau Khi tạo kiểu liên kết lớp cha/lớp con, chúng ta có thể trình bày một thành viên của lớp con như một đối tượng riêng biệt hoặc bản ghi riêng biệt, và liên kết với các thực thể của lớp cha thông qua thuộc tính khoá Kiểu liên kết này thường có tỷ lệ 1:1, thể hiện mối quan hệ chặt chẽ giữa các lớp cha và lớp con trong hệ thống cơ sở dữ liệu.
Trong lập trình hướng đối tượng, khái niệm quan trọng liên quan đến lớp con là sự thừa kế kiểu, giúp xác định kiểu của thực thể dựa trên các thuộc tính và kiểu liên kết tham gia Các thực thể trong lớp con đại diện cho cùng một thực thể trong lớp cha, do đó các giá trị thuộc tính của chúng phải giống như khi đóng vai trò thành viên trong lớp cha, đồng thời kế thừa tất cả các liên kết đã có trong lớp cha Lớp con không những có các thuộc tính riêng mà còn kế thừa toàn bộ các thuộc tính và kiểu liên kết từ lớp cha, từ đó hình thành nên một kiểu thực thể hoàn chỉnh, đảm bảo tính nhất quán và mở rộng trong quá trình phát triển phần mềm hướng đối tượng.
IV.2- Chuyên bi ệ t hoá, t ổ ng quát hoá
2.1- Chuyên biệt hóa
Chuyên biệt hoá là quá trình xác định các lớp con của một kiểu thực thể, trong đó kiểu thực thể ban đầu gọi là lớp cha Tập các lớp con tạo thành một chuyên biệt hoá dựa trên đặc trưng phân biệt của các thực thể trong lớp cha; ví dụ như các lớp con {THƯKÝ, KỸSƯ, KỸTHUẬTVIÊN} là một chuyên biệt hoá của lớp cha NHÂNVIÊN dựa trên kiểu công việc Một kiểu thực thể có thể có nhiều chuyên biệt hoá dựa trên các đặc trưng khác nhau, như chuyên biệt hoá của NHÂNVIÊN thành {NHÂNVIÊN_BIÊNCHẾ, NHÂNVIÊN_HỢPĐỒNG} dựa trên hình thức trả tiền.
Chuyên biệt hoá trong sơ đồ EER được thể hiện qua các lớp con được nối với lớp cha bằng các đường đến vòng tròn, ký hiệu tập con mô tả các thực thể thuộc lớp con cụ thể như Tốc độ đăng máy của lớp con THƯKÝ Các thuộc tính này gọi là thuộc tính riêng hoặc địa phương của lớp con Ngoài ra, các lớp con như NHÂNVIÊN_HỢPĐỒNG có thể tham gia vào các kiểu liên kết riêng, ví dụ như kiểu liên kết .
Có hai lý do chính để đặt các kiểu liên kết lớp cha/lớp con và chuyên biệt hóa trong mô hình dữ liệu Thứ nhất, một số thuộc tính chỉ áp dụng cho một số thực thể nhất định của lớp cha, vì vậy cần xác định lớp con để nhóm các thực thể có cùng đặc điểm này Ví dụ, lớp con THƯKÝ có thuộc tính riêng là Tốcđộđánhmáy, trong khi lớp con KỸSƯ có thuộc tính riêng là Kiểukỹsư, còn phần lớn thuộc tính chung vẫn chia sẻ với lớp cha NHÂNVIÊN Thứ hai, chỉ có các thành viên của lớp con mới tham gia vào một số kiểu liên kết cụ thể, như ví dụ các nhân viên hợp đồng tham gia công đoàn, được thể hiện qua việc tạo lớp con NHÂNVIÊN_HỢPĐỒNG và liên kết nó với kiểu thực thể CÔNGĐOÀN qua kiểu thực thể .
Tóm lại, quá trình chuyên biệt hoá cho phép chúng ta làm các việc sau:
• Xác định một tập hợp các lớp con của một kiểu thực thể
• Thiết lập các thuộc tính riêng cho mỗi lớp con
• Thiết lập các kiểu liên kết riêng giữa mỗi lớp con và các kiểu thực thể khác hoặc các lớp con khác
Hình II-7 Biểu diễn lược đồ EER của chuyên biệt hoá
2.2- Tổng quát hóa
Tổng quát hóa là quá trình đảo ngược của chuyên biệt hoá, trong đó ta xác định các đặc tính chung của các kiểu thực thể khác nhau và hợp nhất chúng thành một lớp cha chung Ví dụ, các kiểu thực thể XECON và XETẢI có những thuộc tính chung như Mãsố, Sốgiấyphép và Giá, và được tổng quát thành kiểu thực thể XEÔTÔ với các thuộc tính này Trong đó, XECON và XETẢI trở thành các lớp con của lớp cha XEÔTÔ Quá trình tổng quát hóa giúp tạo ra các lớp thực thể chung, tối ưu hóa việc tổ chức dữ liệu và mở rộng hệ thống một cách hiệu quả.
Mãsố Họtên Địachỉ Ngày Kiểucôngviệc
Trong sơ đồ EER, tổng quát hoá được thể hiện giống như một quá trình chuyên biệt hoá, trong đó tổng quát trở thành lớp cha và các lớp con là các chuyên biệt cần thiết để tạo thành lớp cha Quá trình này giúp mô hình hóa các mối quan hệ phân cấp giữa các đối tượng, nâng cao khả năng mở rộng và quản lý dữ liệu hiệu quả.
2.3- Phân cấp chuyên biệt và lưới chuyên biệt
Trong hệ thống phân cấp lớp, các lớp con có thể chứa các lớp con của riêng chúng, tạo thành một cấu trúc phân cấp chuyên biệt hoặc lưới chuyên biệt hoá Một phân cấp chuyên biệt ràng buộc nghĩa là mỗi lớp con chỉ liên kết với một lớp cha duy nhất, giống như một lớp con độc lập chỉ thuộc về một kiểu liên kết cha con cố định Trong khi đó, lưới chuyên biệt cho phép một lớp con tham gia vào nhiều kiểu liên kết khác nhau, mở rộng khả năng thừa kế đa dạng Điều này nghĩa là, trong phân cấp chuyên biệt, lớp con chỉ thừa hưởng từ một lớp cha duy nhất, còn trong lưới chuyên biệt, lớp con có thể thừa kế từ nhiều lớp cha thuộc các kiểu khác nhau, điều này được gọi là kiểu hợp (union type) hoặc phạm trù (category), giúp mở rộng tính linh hoạt trong thiết kế hệ thống lớp.
2.4- Các ràng buộc và các đặc trung của chuyên biệt hóa, tổng quát hóa
Trong quá trình chuyên biệt hóa, chúng ta có thể xác định chính xác các thực thể thuộc lớp con bằng cách đặt điều kiện trên một thuộc tính của lớp cha Các lớp con như vậy được gọi là lớp con xác định bằng điều kiện, giúp nâng cao tính chính xác và rõ ràng trong mô hình hóa dữ liệu Nếu các lớp con của một quá trình chuyên biệt hóa có điều kiện, điều này tạo điều kiện để phân chia dữ liệu một cách linh hoạt và phù hợp với các yêu cầu đặc thù của hệ thống.
Xe con Xe tải Tốcđộ
Trọngtải con không theo một điều kiện nào thì lớp con đó được gọi là được người sử dụng xác định
Dưới đây là các ràng buộc chính trong chuyên biệt hoá: Ràng buộc rời rạc yêu cầu các lớp con của chuyên biệt phải rời rạc, nghĩa là một thực thể chỉ thuộc một lớp con duy nhất, và thuộc tính xác định thành viên phải là đơn trị Trong khi đó, nếu các lớp con không thoả mãn ràng buộc rời rạc, thực thể có thể chồng chéo các lớp con, thậm chí thuộc nhiều lớp cùng lúc Ràng buộc đầy đủ có hai dạng: toàn bộ và từng phần Ràng buộc chuyên biệt toàn bộ đòi hỏi mọi thực thể của lớp cha phải là thành viên của ít nhất một lớp con, còn ràng buộc từng phần cho phép một số thực thể không thuộc bất kỳ lớp con nào Ví dụ, một nhân viên phải là nhân viên biên chế hoặc hợp đồng thể hiện chuyên biệt toàn bộ, còn trường hợp nhân viên có thể không phải thư ký, kỹ sư hay kỹ thuật viên thể hiện chuyên biệt từng phần của lớp nhân viên.
Trong sơ đồ của mô hình EER, chuyên biệt hoá rời rạc được biểu thị bằng hình tròn nối các lớp con có ghi chữ d (disjoint), thể hiện rằng các thực thể thuộc một lớp con cụ thể không chồng chéo Ngược lại, khi chuyên biệt hoá chồng chéo, hình tròn nối các lớp con có ghi chữ o (overlap), cho phép các thực thể thuộc nhiều lớp con cùng lúc Đây là cách thể hiện rõ ràng các mối liên hệ phân biệt giữa các loại chuyên biệt hoá trong mô hình EER, giúp tối ưu hoá quá trình thiết kế cơ sở dữ liệu.
IV.3- S ơ đồ mô hình EER
Mô hình EER có biểu diễn đồ hoạ giống như mô hình ER, với các kiểu thực thể được thể hiện bằng hình chữ nhật có ghi tên trung tâm Thuộc tính của các thực thể được biểu diễn bằng các hình ô van nối với hình chữ nhật đó, giúp mô tả đầy đủ các đặc điểm của thực thể Các kiểu liên kết trong mô hình EER được thể hiện bằng hình thoi, kết nối với các kiểu thực thể tham gia liên kết, và tại các hình thoi ghi rõ tỷ lệ lực lượng của các thực thể tham gia Mô hình EER còn đặc biệt thể hiện kiểu liên kết lớp cha/lớp con bằng một đường nối có ký hiệu tập con "⊂" ở giữa, tạo nên mối liên hệ rõ ràng giữa các lớp Ngoài ra, các lớp con trong một kiểu liên kết đặc biệt được thể hiện bằng vòng tròn và nối với nhau qua vòng tròn, giúp mô tả cấu trúc phân lớp một cách trực quan và dễ hiểu.
Tổng kết chương và câu hỏi ôn tập
Trong chương này, chúng ta đã thảo luận về vai trò của mô hình dữ liệu bậc cao trong thiết kế cơ sở dữ liệu, bao gồm các khái niệm cơ bản của mô hình liên kết - thực thể như kiểu thực thể, kiểu liên kết và các thuộc tính của chúng Các kiểu thuộc tính khác nhau, chẳng hạn như thuộc tính đơn, phức hợp, đơn trị, đa trị, lưu trữ, suy diễn và có giá trị null, cũng đã được phân tích kỹ lưỡng Thông qua ví dụ cụ thể về mô hình ER “CÔNG TY”, chúng ta đã thực hiện quá trình xây dựng mô hình này Bên cạnh đó, mô hình EER, là mở rộng của mô hình ER, cùng với các khái niệm mở rộng như lớp, lớp con, kiểu liên kết lớp cha/lớp con, chuyên biệt hóa và tổng quát hóa, cũng đã được giới thiệu và phân tích Cuối cùng, chúng ta đã đề cập đến cách biểu diễn đồ họa của các mô hình ER và EER, giúp hình dung rõ hơn về cấu trúc dữ liệu.
1- Hãy nói về vai trò của mô hình dữ liệu bậc cao trong quá trình thiết kế cơ sở dữ liệu
2- Liệt kê các trường hợp cần phải sử dụng giá trị null
3- Định nghĩa các thuật ngữ sau: thực thể, thuộc tính, giá trị thuộc tính, thể hiện liên kết, thuộc tính phức hợp, thuộc tính đa trị, thuộc tính suy diễn được, thuộc tính phức tạp, thuộc tính khoá, miền giá trị
4- Kiểu thực thể là gì? Tập thực thể là gì? Giải thích sự khác nhau giữa một thực thể, một kiểu thực thể và một tập thực thể
5- Giải thích sự khác nhau giữa một thuộc tính và một tập giá trị
6 - Kiểu liên kết là gì? Giải thích sự khác nhau giữa một thể hiện liên kết, một tập liên kết và một kiểu liên kết
7- Vai trò tham gia là gì? Khi nào cần phải sử dụng các tên vai trò trong mô tả các kiểu liên kết
8- Mô tả cách chỉ ra các ràng buộc cấu trúc trên các kiểu liên kết
9- Với điều kiện nào một thuộc tính của một kiểu liên kết cấp 2 có thể chuyển
10- Khi chúng ta nghĩ đến các liên kết như là các thuộc tính, các tập giá trị của các thuộc tính đó là gì?
11- Kiểu liên kết đệ quy là gì? Cho một số ví dụ về các kiểu liên kết đệ quy
12- Khi nào khái niệm kiểu thực thể yếu được dùng trong mô hìn hoá cơ sở dữ liệu? Định nghĩa các thuật ngữ: kiểu thực thể chủ, kiểu thực thể yếu, khoá bộ phận, kiểu liên kết xác định
13- Trình bày các khái niệm lớp, lớp con, chuyên biệt hoá, tổng quát hoá Trong hoàn cảnh nào ta cần tách một lớp thành các lớp con
14- Trình bày cách biểu diễn đồ hoạ của các mô hình ER và EER
Bài 1: Xây dựng mô hình ER cho cơ sở dữ liệu TRƯỜNG
Hãy xây dựng lược đồ ER cho CSDL “TRƯỜNG”, dựa trên các ghi chép sau:
1) Trường được chia thành các trường con: Trường KHTN, Trường KHXH, Trường Công nghệ,… Mỗi trường có một hiệu trưởng quản lý Mỗi hiệu trưởng quản lý một trường
2) Mỗi trường có nhiều khoa Chẳng hạn, trường KHTN có các khoa Toán, Lý, Hoá,… Mỗi một khoa chỉ thuộc về một trường Thông tin về Khoa gồm Mã khoa, tên khoa, địa chỉ, số điện thoại, tên trường
3) Mỗi Khoa cung cấp nhiều môn học Mỗi môn học gồm có Tên môn học, mã số, số đơn vị học trình, trình độ, tên Khoa
4) Mỗi môn học có thể có nhiều học phần.Mỗi học phần được lưu giữ bằng các thông tin: Mã học phần, Tên môn học, Tên giáo viên dạy, học kỳ
5) Mỗi khoa có nhiều giáo viên làm việc, nhưng mỗi giáo viên chỉ làm việc cho một khoa Mỗi một khoa có một chủ nhiệm khoa, đó là một giáo viên
6) Mỗi giáo viên có thể dạy nhiều nhất là 4 học phần và cũng có thể không dạy học phần nào
7) Mỗi sinh viên phải học nhiều học phần
8) Mỗi một khoa có nhiều sinh viên, mỗi sinh viên chỉ thuộc về một khoa Thông
9) Mỗi sinh viên có một người giám sát (giáo viên chủ nhiệm), người đó là một giáo viên
10) Sau mỗi học kỳ sẽ có một danh sách điểm để phân loại Nó gồm các thông tin:
Mã sinh viên, mã học phần, điểm bằng chữ, điểm bằng số
Bài 2: Xây dựng mô hình ER cho cơ sở dữ liệu THƯ VIỆN
Hãy xây dựng lược đồ ER cho CSDL “THƯ VIỆN”, dựa trên các ghi chép sau:
1) Thư viện được chia ra thành các nhánh Thông tin về mỗi nhánh gồm có Mã nhánh, Tên nhánh và Địa chỉ
2) Mỗi cuốn sách trong thư viện có các thông tin về Mã sách, Tên sách Nhà xuất bản và Tác giả…
3) Một tác giả có thể viết nhiều cuốn sách Một cuốn sách có thể có nhiều tác giả viết
4) Một nhà xuất bản xuất bản nhiều cuốn sách Một cuốn sách do một nhà xuất bản xuất bản Thông tin về Nhà xuất bản gồm có Tên, Địachỉ và Sốđiệnthoại
5) Một cuốn sách có thể có nhiều bản sao được lưu trữ tại các nhánh Thông tin về bản sao sách gồm Mã sách, số các bản sao
6) Thư viện có những người mượn sách Thông tin về những người mượn sách gồm có Số thẻ, Họ tên, Địa chỉ và Số điện thoại
7) Sách được cho các người mượn mượn tại các nhánh Thông tin về một lần mượn gồm có Ngày mượn và ngày trả.