1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giáo trình: Nhập môn hệ cơ sở dữ liệu

95 10 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nhập Môn Hệ Cơ Sở Dữ Liệu
Tác giả Lê Đăng Nguyên, Lê Thị Phương Anh, Hoàng Trần Hiếu
Trường học Trường Đại Học Hải Phòng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Giáo Trình
Năm xuất bản 2023
Thành phố Hải Phòng
Định dạng
Số trang 95
Dung lượng 1,36 MB

Cấu trúc

  • Chương 1. TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU (8)
    • 1.1. CÁC KHÁI NIỆM CƠ BẢN (8)
      • 1.1.1. Cơ sở dữ liệu và Hệ quản trị cơ sở dữ liệu (8)
      • 1.1.2. Hệ Quản trị cơ sở dữ liệu, ưu điểm và nhược điểm (8)
      • 1.1.3. Dữ liệu và thông tin (12)
    • 1.2. MÔ HÌNH TRỪU TƯỢNG BA LỚP (12)
      • 1.2.1. Khái niệm mô hình cơ sở dữ liệu (12)
      • 1.2.2. Các mô hình cơ sở dữ liệu (13)
    • 1.3. CÁC NGÔN NGỮ CƠ SỞ DỮ LIỆU (18)
    • 1.4. THIẾT KẾ CƠ SỞ DỮ LIỆU (19)
      • 1.4.1. Sự cần thiết của việc thiết kế cơ sở dữ liệu (19)
      • 1.4.2. Các vai trò trong môi trường cơ sở dữ liệu (20)
      • 1.4.3. Các bước của quá trình thiết kế (20)
    • 1.5. PHÂN LOẠI CÁC HỆ CƠ SỞ DỮ LIỆU (21)
      • 1.5.1. Các hệ cơ sở dữ liệu tập trung (21)
      • 1.5.2. Các hệ CSDL phân tán (23)
  • Chương 2. MÔ HÌNH DỮ LIỆU (26)
    • 2.1. MÔ HÌNH THỰC THỂ LIÊN KẾT (26)
      • 2.1.1 Các khái niệm cơ bản (26)
      • 2.1.2. Một số vấn đề cần quan tâm khi thiết kế mô hình thực thể liên kết (28)
      • 2.1.3. Mô hình thực thể liên kết mở rộng (34)
    • 2.2. MÔ HÌNH DỮ LIỆU QUAN HỆ (35)
      • 2.2.1 Các khái niệm cơ bản (35)
      • 2.2.2 Lược đồ quan hệ (37)
      • 2.2.3. Ánh xạ mô hình thực thể liên kết sang mô hình quan hệ (38)
  • Chương 3. NGÔN NGỮ TRUY VẤN QUAN HỆ (43)
    • 3.1. NGÔN NGỮ ĐẠI SỐ QUAN HỆ (43)
      • 3.1.1. Các phép toán cơ bản (43)
      • 3.1.2. Các truy vấn thực hành áp dụng các phép toán đại số quan hệ (48)
      • 3.2.1. Giới thiệu chung về ngôn ngữ truy vấn cấu trúc (48)
      • 3.2.2. Ngôn ngữ định nghĩa dữ liệu (51)
      • 3.2.3. Ngôn ngữ thao tác dữ liệu (57)
  • Chương 4. PHỤ THUỘC HÀM (66)
    • 4.1. CÁC KHÁI NIỆM CƠ BẢN VỀ PHỤ THUỘC HÀM (66)
      • 4.1.1 Định nghĩa Phụ thuộc hàm (66)
      • 4.1.2 Hệ tiên đề Armstrong (66)
    • 4.2. BẢO TOÀN PHỤ THUỘC HÀM (67)
      • 4.2.1 Ràng buộc toàn vẹn (67)
      • 4.2.2 Các yếu tố ảnh hưởng đến ràng buộc toàn vẹn (68)
    • 4.3. KHÁI NIỆM BAO ĐÓNG (69)
      • 4.3.1 Bao đóng của tập Phụ thuộc hàm F (70)
      • 4.3.2 Bao Đóng Của Tập Thuộc Tính X (70)
    • 4.4. PHỦ VÀ SỰ TƯƠNG ĐƯƠNG CỦA TẬP PHỤ THUỘC HÀM (71)
      • 4.4.1 Tập phụ thuộc hàm tương đương (71)
      • 4.4.2 Phủ tối thiểu của phụ thuộc hàm (72)
    • 4.5. CÂY HỌC TẬP (74)
      • 4.5.1. Biểu diễn các phụ thuộc hàm trên máy tính (74)
      • 4.5.2. Lập trình giải các bài toán tìm bao đóng, phủ và xác định tính tương đương của các tập phụ thuộc hàm (76)
  • Chương 5. CHUẨN HOÁ DỮ LIỆU (81)
    • 5.1. SỰ CẦN THIẾT PHẢI CHUẨN HÓA (81)
    • 5.2. CÁC DẠNG CHUẨN (82)
      • 5.2.1 Một số khái niệm (83)
      • 5.2.2 Dạng chuẩn 1 (83)
      • 5.2.3 Dạng chuẩn 2 (84)
      • 5.2.4 Dạng Chuẩn 3 (85)
      • 5.2.5 Dạng Chuẩn BC (85)
    • 5.3. PHÂN TÁCH LƯỢC ĐỒ QUAN HỆ VỀ CÁC DẠNG CHUẨN (86)
    • 5.4. CÁC THUẬT TOÁN CHO VIỆC PHÂN TÁCH VỀ DẠNG CHUẨN (87)
    • 5.5. PHÉP TÁCH VÀ NỐI BẢO TOÀN PHỤ THUỘC (88)
      • 5.5.1 Định nghĩa (88)
    • 5.6. CÂY HỌC TẬP (89)
      • 5.6.1. Cài đặt các thuật toán xác định dạng chuẩn cao nhất của các lược đồ (89)
      • 5.6.2. Cài đặt các thuật toán tách và nối bảo toàn phụ thuộc và thông tin (91)

Nội dung

Cơ sở dữ liệu và Hệ quản trị cơ sở dữ liệu Cơ sở dữ liệu CSDL là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị như băng từ, đĩa từ,… để có thể thoả mãn yêu cầu k

TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU

CÁC KHÁI NIỆM CƠ BẢN

1.1.1 Cơ sở dữ liệu và Hệ quản trị cơ sở dữ liệu

Cơ sở dữ liệu (CSDL) là hệ thống thông tin có cấu trúc, được lưu trữ trên các thiết bị như băng từ và đĩa từ, nhằm phục vụ nhu cầu khai thác đồng thời của nhiều người dùng CSDL liên quan chặt chẽ đến đại số, logic toán và nhiều lĩnh vực khác.

 Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu

 Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau

 Khả năng chia sẻ thông tin cho nhiều người sử dụng

Hệ quản trị cơ dữ liệu là phần mềm chuyên dụng cần thiết để giải quyết các vấn đề của tổ chức cơ sở dữ liệu Chúng hỗ trợ nhà phân tích thiết kế và người khai thác cơ sở dữ liệu Hiện nay, thị trường phần mềm cung cấp nhiều hệ quản trị cơ sở dữ liệu với nhiều tiện ích, bao gồm MS Access, Visual Foxpro, SQL Server và Oracle.

1.1.2 Hệ Quản trị cơ sở dữ liệu, ưu điểm và nhược điểm

Kích thước và độ phức tạp của cơ sở dữ liệu (CSDL) rất đa dạng, từ danh bạ điện thoại của quốc gia hay thành phố với hàng triệu số và thông tin khách hàng, đến việc quản lý hàng ngàn sinh viên trong một trường đại học Các thông tin cần thiết mà nhà trường phải quản lý bao gồm tên, ngày sinh, quê quán, địa chỉ và kết quả học tập của sinh viên.

Mục tiêu về kiến thức của khóa học là trang bị cho sinh viên những khái niệm cơ bản về cơ sở dữ liệu và hệ cơ sở dữ liệu, bao gồm khái niệm về dữ liệu và thông tin Sinh viên sẽ được tìm hiểu về mô hình trừu tượng 3 lớp, các ngôn ngữ cơ sở dữ liệu, cũng như cách thiết kế cơ sở dữ liệu và phân loại các hệ cơ sở dữ liệu.

Mục tiêu kỹ năng là hiểu rõ các khái niệm cơ bản về ngôn ngữ cơ sở dữ liệu và phân loại các hệ cơ sở dữ liệu khác nhau.

Để giải quyết vấn đề bộ nhớ, việc tổ chức dữ liệu trong cơ sở dữ liệu (CSDL) là rất quan trọng nhằm đảm bảo truy cập, tìm kiếm và cập nhật nhanh chóng và an toàn Để đáp ứng các yêu cầu này, cần có hệ thống phần mềm chuyên dụng gọi là hệ quản trị CSDL (DBMS), những công cụ này hỗ trợ hiệu quả cho các nhà phân tích, thiết kế và khai thác CSDL.

Hệ quản trị cơ sở dữ liệu (CSDL) là tập hợp các chương trình hỗ trợ người sử dụng trong việc quản lý cấu trúc và dữ liệu của CSDL, điều khiển truy xuất dữ liệu, cũng như duy trì và khai thác thông tin trong CSDL.

Cơ sở dữ liệu (CSDL) được định nghĩa là việc tạo ra một cấu trúc dữ liệu phù hợp với mô hình dữ liệu đã chọn, trong đó bao gồm việc xác định các kiểu dữ liệu, các cấu trúc và các ràng buộc cho dữ liệu sẽ được lưu trữ.

 Xây dựng một CSDL: Là quá trình lưu trữ các dữ liệu trên các phương tiện lưu trữ được hệ quản trị CSDL kiểm soát

Thao tác với cơ sở dữ liệu (CSDL) bao gồm các chức năng quan trọng như truy vấn để lấy dữ liệu cụ thể, cập nhật để phản ánh những thay đổi trong thế giới thực và tạo báo cáo từ các dữ liệu đã thu thập.

Hiện nay, thị trường có nhiều hệ quản trị cơ sở dữ liệu mạnh mẽ như Visual FoxPro, Microsoft Access, SQL Server, DB2, Sybase, Paradox, Informix và Oracle, mỗi hệ thống đều có những chất lượng và tính năng riêng biệt Các chức năng của một hệ quản trị cơ sở dữ liệu bao gồm quản lý, lưu trữ và truy xuất dữ liệu hiệu quả, đảm bảo tính toàn vẹn và bảo mật cho thông tin.

Hệ quản trị cơ sở dữ liệu (CSDL) cung cấp một môi trường thuận lợi cho người dùng trong việc khai báo kiểu dữ liệu, cấu trúc dữ liệu và các ràng buộc liên quan Hiện nay, người dùng có thể dễ dàng tạo lập CSDL thông qua các giao diện đồ họa Để hỗ trợ chức năng này, mỗi hệ quản trị CSDL cung cấp một ngôn ngữ định nghĩa dữ liệu, là hệ thống ký hiệu dùng để mô tả CSDL một cách rõ ràng và hiệu quả.

Ngôn ngữ thao tác dữ liệu cung cấp cho người dùng khả năng cập nhật và khai thác thông tin một cách hiệu quả Thao tác dữ liệu bao gồm các chức năng như cập nhật (nhập thêm, sửa, xoá dữ liệu) và khai thác (tìm kiếm, kết xuất dữ liệu), giúp người dùng dễ dàng quản lý và truy xuất thông tin cần thiết.

Ngôn ngữ định nghĩa dữ liệu và ngôn ngữ thao tác dữ liệu là hai thành phần thiết yếu của một ngôn ngữ cơ sở dữ liệu (CSDL) duy nhất SQL (Structured Query Language) là ngôn ngữ CSDL phổ biến hiện nay, cung cấp công cụ kiểm soát và điều khiển truy cập vào cơ sở dữ liệu Để đảm bảo các yêu cầu của hệ CSDL, hệ quản trị CSDL cần có các bộ chương trình thực hiện những nhiệm vụ quan trọng.

 Phát hiện và ngăn chặn sự truy cập không được phép Chức năng này góp phần đáp ứng yêu cầu an toàn và bảo mật thông tin

 Duy trì tính nhất quán của dữ liệu

 Tổ chức và điều khiển các truy cập đồng thời để bảo vệ các ràng buộc toàn vẹn và tính nhất quán

 Khôi phục CSDL khi có sự cố ở phần cứng hay phần mềm

 Quản lí các mô tả dữ liệu

Mọi hệ quản trị cơ sở dữ liệu (CSDL) đều cung cấp các chương trình cơ bản, nhưng chất lượng và khả năng đáp ứng nhu cầu thực tế của chúng khác nhau Hệ quản trị CSDL trên máy tính cá nhân thường chỉ có các chức năng bảo vệ dữ liệu và khôi phục dữ liệu hạn chế, trong khi các hệ thống lớn phục vụ nhiều người dùng có thêm nhiều chức năng như xử lý truy cập đồng thời và duy trì tính nhất quán dữ liệu.

Các hệ quản trị cơ sở dữ liệu (CSDL) đang không ngừng phát triển để đáp ứng nhu cầu ngày càng cao của người dùng, dẫn đến việc mở rộng các chức năng của chúng Các thành phần chính của một hệ quản trị CSDL bao gồm các công cụ quản lý, bảo mật dữ liệu và khả năng mở rộng, giúp tối ưu hóa hiệu suất và trải nghiệm người dùng.

MÔ HÌNH TRỪU TƯỢNG BA LỚP

1.2.1 Khái niệm mô hình cơ sở dữ liệu

Cấu trúc cơ sở dữ liệu (CSDL) và mối liên hệ giữa chúng là yếu tố quan trọng trong việc xác định hiệu quả của hệ quản trị CSDL Do đó, thiết kế CSDL đóng vai trò then chốt trong môi trường quản lý dữ liệu.

Thiết kế cơ sở dữ liệu (CSDL) trở nên đơn giản hơn khi sử dụng các mô hình, là những trừu tượng đơn giản phản ánh các sự kiện trong thế giới thực Những trừu tượng này cho phép khảo sát các đặc điểm của thực thể và mối liên hệ giữa chúng Việc xây dựng các mô hình hiệu quả sẽ dẫn đến CSDL chất lượng, từ đó phát triển các ứng dụng tốt hơn.

Mô hình cơ sở dữ liệu (CSDL) là một tập hợp các khái niệm và quy tắc dùng để biểu diễn cấu trúc của CSDL một cách trừu tượng Cấu trúc này bao gồm các kiểu dữ liệu, mối liên kết và ràng buộc cần tuân thủ Nhiều mô hình còn cung cấp các phép toán cơ bản để thực hiện các thao tác trên CSDL.

Thông qua mô hình dữ liệu, người thiết kế sẽ mô tả toàn cảnh CSDL được thiết kế bao gồm:

 Các đối tượng, thực thể được quản lý

 Các mối quan hệ giữa các đối tượng

 Các ràng buộc dữ liệu thể hiện các quy tắc quản lý ảnh hưởng đến các đối tượng quản lý

1.2.2 Các mô hình cơ sở dữ liệu

Có nhiều mô hình dữ liệu được đề xuất, và trong bài viết này, chúng ta sẽ xem xét các mô hình đặc trưng nhất Mô hình dữ liệu là hình thức hóa toán học của dữ liệu, bao gồm hai thành phần chính: ký hiệu mô tả dữ liệu và tập hợp các phép toán Mỗi mô hình cơ sở dữ liệu (CSDL) đều có ba mức độ trừu tượng khác nhau.

Mức vật lý trong cơ sở dữ liệu (CSDL) là mức thấp nhất của sự trừu tượng, mô tả cách thức lưu trữ dữ liệu thực tế Tại đây, CSDL được coi là một tập hợp các tập tin, chỉ mục hoặc cấu trúc lưu trữ khác, được gọi chung là CSDL vật lý CSDL vật lý tồn tại bền vững trên các thiết bị lưu trữ phụ và có thể được quản lý bởi một hệ quản trị cơ sở dữ liệu (HQTCSDL).

Mức khái niệm trong cơ sở dữ liệu (CSDL) là cấp độ trừu tượng cao hơn, mô tả các loại dữ liệu được lưu trữ và mối quan hệ giữa chúng Nó phản ánh thế giới thực và giúp người sử dụng CSDL hiểu rõ hơn về cấu trúc dữ liệu Hệ quản trị cơ sở dữ liệu (HQTCSDL) cung cấp ngôn ngữ định nghĩa mức khái niệm (DDL - Data Definition Language), thường được gọi là mô hình cơ sở dữ liệu.

Khung nhìn (View) là mức cao nhất của sự trừu tượng, chỉ mô tả một phần của toàn bộ cơ sở dữ liệu (CSDL) Dù sử dụng cấu trúc đơn giản hơn mức logic, vẫn tồn tại một số phức tạp do kích thước lớn của CSDL Hệ thống có khả năng cung cấp nhiều khung nhìn cho cùng một CSDL.

Có thể hình dung các mức trừu tượng của CSDL như trong hình vẽ sau đây:

Hình 1 1 Mức trừu tượng của CSDL

Mảng dữ liệu hai chiều có n x m phần tử có thể được hình dung như một bảng với n dòng và m cột Trong ngôn ngữ lập trình C, mảng này được khai báo bằng cú pháp: int A[n][m] Ở mức độ này, chúng ta chưa biết cách dữ liệu được lưu trữ trong bộ nhớ, nhưng có thể xác định rằng phần tử tại dòng i và cột j được truy cập qua A[i][j].

Mức vật lý của mảng là nơi lưu trữ dữ liệu trong thiết bị nhớ Mức khung nhìn cho phép mô tả các khung nhìn của mảng, chẳng hạn như việc tính tổng tất cả các giá trị trên dòng i.

Có nhiều mô hình được đề nghị, ở đây chúng ta sẽ khảo sát các mô hình đặc trưng nhất: a Mô hình phân cấp

Mô hình phân cấp, hay còn gọi là mô hình CSDL dạng cây, được tổ chức theo cấu trúc từ trên xuống dưới giống như cây lộn ngược Trong mô hình này, mỗi nút đại diện cho một kiểu dữ liệu, có thể chứa một hoặc nhiều trường để mô tả thực thể, và các nhánh cây tạo ra mối liên kết giữa các kiểu dữ liệu khác nhau Mỗi nút trong mô hình đều có một nút cha và có thể có nhiều nút con, ngoại trừ nút gốc không có nút cha Ví dụ điển hình là mô hình phân cấp quản lý nhân sự trong một công ty.

Hình 1 2 Mô hình phân cấp

Mô hình hiện tại chỉ thể hiện quan hệ 1-n, tức là một nút cha có thể có nhiều nút con, ví dụ như một phòng có nhiều nhân viên hoặc nhiều dự án Tuy nhiên, nếu một dự án thuộc về nhiều phòng, thì dự án đó phải được lưu trữ ở nhiều nơi khác nhau, dẫn đến tình trạng dư thừa dữ liệu và lãng phí không gian lưu trữ Điểm nổi bật trong các thủ tục truy xuất đối tượng trong mô hình phân cấp là đường dẫn từ gốc đến phần tử cần xem xét trong cây phân cấp.

Mô hình mạng được thể hiện dưới dạng đồ thị có hướng, trong đó dữ liệu là tập hợp các bản ghi và các mối quan hệ được biểu diễn qua các mối nối (links) giống như những con trỏ Từ một đối tượng (được đại diện bởi một bản ghi), người dùng có thể kết nối với bất kỳ nút nào khác để thể hiện một liên kết 1-n thông qua con trỏ liên kết, cho phép tạo ra nhiều mối quan hệ với các đối tượng khác.

Sự khác biệt chủ yếu giữa hệ thống mạng và hệ thống phân cấp là mô hình mạng không bị giới hạn về số lượng và hướng của các liên kết giữa các nút Một ví dụ điển hình là mô hình quản lý nhân sự trong một công ty.

Hình 1 3 Mô hình mạng c Mô hình quan hệ

Cơ sở dữ liệu quan hệ, được giới thiệu bởi E.F Codd vào năm 1970, dựa trên lý thuyết về bảng dữ liệu hai chiều, gọi là bảng quan hệ Kể từ năm 1980, mô hình quan hệ đã trở thành tiêu chuẩn phổ biến cho việc phát triển hệ quản trị cơ sở dữ liệu Mô hình này có nhiều đặc điểm nổi bật, bao gồm tính tổ chức và khả năng truy xuất dữ liệu hiệu quả.

Dữ liệu được tổ chức trong các bảng, được gọi là các "quan hệ" Mỗi bảng bao gồm các dòng và cột, với mỗi cột mang một tên duy nhất Các dòng được gọi là "bộ", trong khi các cột được gọi là "thuộc tính".

CÁC NGÔN NGỮ CƠ SỞ DỮ LIỆU

Các hệ CSDL đều có các thành phần sau:

- Ngôn ngữ giao tiếp giữa người sử dụng và CSDL, bao gồm:

Ngôn ngữ mô tả dữ liệu (Data Definition Language - DDL) cho phép người dùng khai báo cấu trúc cơ sở dữ liệu, thiết lập các mối quan hệ giữa dữ liệu và quy định các quy tắc quản lý áp dụng cho dữ liệu.

 Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML), cho phép người sử dụng có thể thêm (Insert), xóa (Delete), sửa (Update) dữ liệu trong CSDL

Ngôn ngữ truy vấn dữ liệu (Data Query Language - DQL) cho phép người dùng, dù là chuyên nghiệp hay không, tìm kiếm thông tin cần thiết trong cơ sở dữ liệu (CSDL).

Ngôn ngữ quản lý dữ liệu (Data Control Language - DCL) cho phép các quản trị viên hệ thống thiết lập bảo mật thông tin và cấp quyền truy cập cơ sở dữ liệu cho người dùng.

Từ điển dữ liệu (Data Dictionary) là công cụ quan trọng để ghi nhận các thành phần cấu trúc của cơ sở dữ liệu (CSDL) Nó mô tả các ánh xạ liên kết, mật mã, quyền hạn sử dụng và các chương trình ứng dụng liên quan.

- Có biện pháp phân quyền và bảo mật tốt khi có yêu cầu bảo mật

Cơ chế giải quyết tranh chấp dữ liệu trong hệ quản trị cơ sở dữ liệu (CSDL) có thể được tùy chỉnh theo từng hệ thống Các biện pháp hiệu quả để xử lý vấn đề này bao gồm việc thiết lập quy trình rõ ràng, sử dụng công nghệ mã hóa để bảo vệ dữ liệu, và áp dụng các chính sách quản lý dữ liệu chặt chẽ.

 Cấp quyền ưu tiên cho từng người sử dụng (người quản trị CSDL thực hiện)

 Đánh dấu yêu cầu truy xuất dữ liệu, phân chia thời gian, người nào có yêu cầu trước thì có quyền truy xuất dữ liệu trước

Hệ quản trị cơ sở dữ liệu (CSDL) cần có cơ chế sao lưu và phục hồi dữ liệu để đảm bảo an toàn khi xảy ra sự cố Đồng thời, hệ thống cũng phải cung cấp giao diện thân thiện, dễ sử dụng và dễ hiểu cho người dùng không chuyên.

Hệ quản trị cơ sở dữ liệu (CSDL) cần đảm bảo tính độc lập giữa dữ liệu và chương trình, cho phép thay đổi dữ liệu như sửa đổi cấu trúc lưu trữ bảng mà không cần viết lại các chương trình ứng dụng đang chạy Điều này giúp duy trì sự ổn định cho người sử dụng khác mà không bị ảnh hưởng bởi những thay đổi này.

THIẾT KẾ CƠ SỞ DỮ LIỆU

1.4.1 Sự cần thiết của việc thiết kế cơ sở dữ liệu

Cấu trúc cơ sở dữ liệu (CSDL) và mối liên hệ giữa chúng đóng vai trò quan trọng trong hiệu quả của hệ quản trị CSDL Do đó, thiết kế CSDL trở thành hoạt động chính trong môi trường CSDL Việc sử dụng các mô hình giúp đơn giản hóa quá trình thiết kế CSDL, vì chúng là những trừu tượng của các sự kiện trong thế giới thực Những trừu tượng này cho phép khảo sát các đặc điểm và mối liên hệ giữa các thực thể Thiết kế mô hình tốt sẽ dẫn đến CSDL chất lượng, từ đó tạo ra các ứng dụng hiệu quả.

Mô hình cơ sở dữ liệu (CSDL) là tập hợp các khái niệm, quy tắc và luật nhằm biểu diễn và mô tả cấu trúc của CSDL một cách trừu tượng Cấu trúc này bao gồm các kiểu dữ liệu, mối liên kết và các ràng buộc áp dụng cho dữ liệu Nhiều mô hình cũng cung cấp các phép toán cơ bản để thực hiện các thao tác trên CSDL Qua mô hình dữ liệu, nhà thiết kế có thể phác thảo toàn cảnh CSDL, bao gồm các đối tượng và thực thể được quản lý cũng như các mối quan hệ giữa chúng.

Các ràng buộc dữ liệu thể hiện các quy tắc quản lý ảnh hưởng đến các đối tượng quản lý

1.4.2 Các vai trò trong môi trường cơ sở dữ liệu

Hệ quản trị cơ sở dữ liệu đóng vai trò quan trọng trong việc cung cấp một môi trường cho phép người dùng định nghĩa và mô tả dữ liệu, bao gồm việc khai báo kiểu và cấu trúc của dữ liệu.

Hệ quản trị cơ sở dữ liệu cho phép người dùng cập nhật và khai thác dữ liệu thông qua ngôn ngữ thao tác dữ liệu Người dùng có thể thực hiện các thao tác như nhập, sửa và xóa dữ liệu, đồng thời khai thác dữ liệu bằng cách tìm kiếm và hiển thị thông tin cần thiết.

Một trong những vai trò quan trọng của hệ quản trị cơ sở dữ liệu (DBMS) là cung cấp công cụ kiểm soát và giám sát truy cập cơ sở dữ liệu Mục tiêu chính là đảm bảo đáp ứng các yêu cầu cơ bản của DBMS Vậy, các yêu cầu của hệ quản trị cơ sở dữ liệu là gì?

 Đảm bảo an ninh bằng cách phát hiện và ngăn chặn các truy cập trái phép càng sớm càng tốt

 Giữ cho dữ liệu nhất quán

 Điều khiển và tổ chức các truy cập dữ liệu

 Khi xảy ra sự cố phần cứng hoặc phần mềm, cơ sở dữ liệu có thể được khôi phục

 Kiểm soát các mô tả dữ liệu

1.4.3 Các bước của quá trình thiết kế

Quá trình thiết kế một cơ sở dữ liệu cho một hệ cơ sở dữ liệu có thể được thực hiện bởi sơ đồ sau:

Hình 1 4 Các bước của quá trình thiết kế

PHÂN LOẠI CÁC HỆ CƠ SỞ DỮ LIỆU

1.5.1 Các hệ cơ sở dữ liệu tập trung Đặc trưng cơ bản để phân biệt kiến trúc một hệ CSDL là cách tổ chức lưu trữ CSDL Với hệ CSDL tập trung, toàn bộ dữ liệu được lưu tại một máy hoặc một dàn máy Những người dùng từ xa có thể truy cập vào CSDL thông qua các phương tiện truyền thông dữ liệu

Việc phân loại phụ thuộc vào cách tổ chức khai thác, cụ thể là:

 Những ai sẽ truy cập vào CSDL?

 Việc truy cập được thực hiện từ đâu

 Các môđun của hệ QTCSDL được lưu trữ ở đâu?

Dựa vào các tiêu chí trên người ta chia các hệ CSDL tập trung thành 3 loại:

Mô hình mức khái niệm

Mô hình mức vật lý

Mô hình hướng đối tượng Chọn hệ quản trị CSDL để thực hiện việc thiết kế

Hệ CSDL cá nhân là một hệ thống cơ sở dữ liệu được thiết kế cho một người dùng duy nhất, người này chịu trách nhiệm thiết kế, tạo lập, bảo trì và khai thác thông tin từ CSDL Người dùng không chỉ quản lý dữ liệu mà còn tự tạo và hiển thị các báo cáo liên quan.

 Dữ liệu được tập trung ở một máy;

 Chỉ một người hoặc một nhóm người truy cập theo nguyên tắc lần lượt (không có tương tranh, xung đột);

 Toàn bộ hệ QTCSDL được lưu ngay tại hệ thống chứa CSDL;

Truy cập vào cơ sở dữ liệu (CSDL) được thực hiện trực tiếp trên hệ thống chứa CSDL Mặc dù việc phát triển và sử dụng các hệ CSDL cá nhân rất đơn giản và dễ dàng, nhưng tính an toàn của chúng thường không cao.

Hệ CSDL trung tâm là hệ thống cơ sở dữ liệu được cài đặt trên máy tính trung tâm, nơi dữ liệu được lưu trữ và nhiều người dùng từ xa có thể truy cập Tùy thuộc vào tổ chức, máy tính trung tâm có thể là một máy đơn lẻ hoặc một dàn máy với số lượng người dùng lớn Việc truy cập vào hệ thống này được thực hiện thông qua thiết bị đầu cuối và các phương tiện truyền thông.

Trong kiến trúc khách - chủ, hệ quản trị cơ sở dữ liệu (QTCSDL) bao gồm hai thành phần chính: bộ phận cung cấp tài nguyên ở máy chủ và bộ phận yêu cầu cấp phát tài nguyên ở máy khách Hai thành phần này có thể được cài đặt trên các máy tính khác nhau.

 Tiếp nhận kết quả và tổ chức đưa ra khuôn dạng phù hợp

 Chuyển tới yêu cầu của máy chủ và chờ đợi trả lời;

 Tổ chức giao diện, tiếp nhận yêu cầu truy cập thông tin;

 Tiếp nhận yêu cầu truy vấn thông tin;

 Gửi kết quả tới máy khách

Việc xử lý yêu cầu truy cập thông tin được thực hiện theo nguyên lý truy cập từ xa (RPC – Remote Procedure Call)

Kiến trúc loại này có một số ưu điểm sau:

 Khả năng truy cập rộng rãi đến các CSDL;

Nâng cao hiệu suất của CPU là điều quan trọng, khi các CPU trong máy chủ và máy khách có thể hoạt động song song, mỗi CPU đảm nhận một nhiệm vụ riêng biệt, giúp tối ưu hóa quy trình xử lý và tăng cường hiệu quả công việc.

 Chi phí cho phần cứng giảm do chỉ cần máy chủ có cấu hình mạnh để lưu trữ và quản trị dữ liệu;

Chi phí truyền thông được giảm nhờ vào việc xử lý một phần thao tác trên máy khách Cụ thể, chỉ cần gửi yêu cầu truy cập cơ sở dữ liệu đến máy chủ và nhận dữ liệu kết quả về máy khách.

 Nâng cao khả năng đảm bảo tính nhất quán của dữ liệu vì các ràng buộc được định nghĩa và kiểm tra trên máy chủ

 Kiến trúc này phù hợp với việc xây dựng các hệ thống mở

1.5.2 Các hệ CSDL phân tán

1.5.2.1 Khái niệm CSDL phân tán

CSDL phân tán là một tập hợp dữ liệu liên quan được sử dụng chung và phân tán về mặt vật lý trên mạng máy tính Hệ QTCSDL phân tán là phần mềm quản trị CSDL phân tán, giúp người dùng không nhận thấy sự phân tán trong lưu trữ dữ liệu Người dùng truy cập vào CSDL này thông qua các chương trình ứng dụng, được chia thành hai loại.

 Chương trình không yêu cầu dữ liệu từ nơi khác;

 Chương trình có yêu cầu dữ liệu từ nơi khác

Có thể chia các hệ CSDL phân tán thành 2 loại chính là thuần nhất và hỗn hợp

 Hệ CSDL phân tán thuần nhất: các nút trên mạng đều dùng cùng một hệ Quản trị CSDL

 Hệ CSDL phân tán hỗn hợp: các nút trên mạng có thể dùng các hệ Quản trị CSDL khác nhau

1.5.2.2 Một số ưu điểm và hạn chế của các hệ CSDL phân tán

Sự phân tán dữ liệu mang lại nhiều lợi ích vượt trội so với các hệ quản trị cơ sở dữ liệu (CSDL) tập trung, đặc biệt là khả năng đáp ứng tốt hơn nhu cầu của nhiều người dùng Cấu trúc phân tán phù hợp với tính chất đa dạng và phân tán của người dùng, giúp tối ưu hóa hiệu suất và khả năng truy cập dữ liệu.

 Dữ liệu được chia sẻ trên mạng nhưng vẫn cho phép quản trị dữ liệu địa phương (dữ liệu đặt tại mỗi trạm)

 Dữ liệu có tính sẵn sàng cao

Dữ liệu được đảm bảo tính tin cậy cao, vì khi một nút gặp sự cố, việc khôi phục dữ liệu trở nên khả thi nhờ vào bản sao được lưu trữ tại các nút khác.

 Hiệu năng của hệ thống được nâng cao hơn

Cho phép mở rộng tổ chức một cách linh hoạt, mạng máy tính có thể dễ dàng thêm nút mới mà không gây ảnh hưởng đến hoạt động của các nút hiện có.

So với các hệ CSDL tập trung, hệ CSDL phân tán có một số hạn chế như sau:

 Hệ thống phức tạp hơn vì phải làm ẩn đi sự phân tán dữ liệu đối với người dùng

 Đảm bảo an ninh khó khăn hơn

 Đảm bảo tính nhất quán dữ liệu khó hơn

 Việc thiết kế CSDL phân tán phức tạp hơn

CÂU HỎI VÀ BÀI TẬP CHƯƠNG 1

1 Trình bày các khái niệm cơ bản về Cơ sở dữ liệu và Hệ quản trị CSDL? Nêu ưu điểm và nhược điểm của hệ quản trị cơ sở dữ liệu?

2 Hãy nêu các chức năng và các thành phần của hệ quản trị cơ sở dữ liệu nào?

3 Hãy trình bày cấu trúc của Hệ QTCSDL

4 Trình bày khái niệm về mô hình cơ sở dữ liệu

5 Trình bày các mô hình cơ sở dữ liệu? Cho ví dụ

6 Hãy trình bày các Ngôn ngữ cơ sở dữ liệu

7 Hãy cho biết mô hình 3 lớp trong cơ sở dữ liệu

8 Sự cần thiết của quá trình thiết kế cơ sở dữ liệu? Nêu các bước của quá trình thiết kế cơ sở dữ liệu?

9 Hãy phân loại các hệ cơ sở dữ liệu tập trung

10 Trình bày hệ cơ sở dữ liệu phân tán Ưu và nhược điểm của hệ cơ sở dữ liệu phân tán.

MÔ HÌNH DỮ LIỆU

MÔ HÌNH THỰC THỂ LIÊN KẾT

2.1.1 Các khái niệm cơ bản a Thực thể

Thực thể là khái niệm không thể định nghĩa một cách hình thức, tương tự như điểm và đường thẳng trong hình học Nó được hiểu là một đối tượng tồn tại và có khả năng phân biệt với các thực thể khác Ví dụ, mỗi người và mỗi chiếc xe máy đều được coi là một thực thể riêng biệt.

Một tập thực thể là nhóm các thực thể có hình dạng tương tự nhau, tương đồng với khái niệm lớp (class) trong lập trình Trong khi đó, khái niệm thực thể có thể được hiểu như là đối tượng (object) trong lý thuyết lập trình hướng đối tượng.

 Một nhân viên là một thực thể

 Tập hợp các nhân viên là tập thực thể

 Một đề án là một thực thể

 Tập hợp các đề án là tập thực thể

 Một phòng ban là một thực thể

 Tập hợp các phòng ban là tập thực thể

Việc chọn các thực thể như thế nào để nhóm thành một tập thực thể tuỳ thuộc vào từng mục đích khác nhau Một trong những bước chính

Mục tiêu kiến thức của chúng tôi là cung cấp cho sinh viên những hiểu biết cơ bản về các mô hình dữ liệu, bao gồm mô hình thực thể liên kết, mô hình thực thể liên kết mở rộng và mô hình dữ liệu quan hệ.

Mục tiêu về kỹ năng của sinh viên là xây dựng mô hình thực thể hoặc mô hình dữ liệu, đồng thời nắm vững kiến thức cơ bản về mô hình dữ liệu Việc chọn lược đồ cho thế giới thực bao gồm việc xác định các tập thực thể, trong đó cần xác định một tập hữu hạn các đặc tính khác nhau của các thực thể, được gọi là thuộc tính.

Các tập thực thể có các đặc tính được gọi là các thuộc tính (attribute)

Mỗi thực thể trong tập thực thể được xác định bởi một bộ dữ liệu các thuộc tính, phản ánh thông tin về thực thể đó Mỗi thuộc tính có một tập giá trị tương ứng, được gọi là miền giá trị của thuộc tính.

Tập thực thể nhân viên có thể được mô tả với các thuộc tính như tên (là chuỗi ký tự), tuổi (là số nguyên dương) và lớp (là chuỗi ký tự).

Có thể phân loại các thuộc tính như sau:

Thuộc tính có thể được phân loại thành hai loại chính: thuộc tính đơn (nguyên tử) và thuộc tính gộp Ví dụ, thuộc tính giới tính được xem là thuộc tính đơn, trong khi thuộc tính họ tên (bao gồm Họ, Đệm và Tên) lại được coi là thuộc tính gộp.

Thuộc tính đơn trị và thuộc tính đa trị là hai khái niệm quan trọng trong quản lý dữ liệu Ví dụ, thuộc tính Mã số nhân viên được xem là thuộc tính đơn trị, trong khi thuộc tính Sở thích lại thuộc loại đa trị.

 Thuộc tính cơ sở và thuộc tính dẫn xuất Chẳng hạn Ngày sinh và Tuổi

Một khoá (key) là một thuộc tính hoặc tập hợp các thuộc tính mà giá trị của nó xác định duy nhất mỗi thực thể trong một tập các thực thể Mỗi tập thực thể cần có ít nhất một khoá để đảm bảo rằng mỗi thực thể có thể được phân biệt với những thực thể khác Việc lựa chọn khoá cho một tập thực thể có thể thay đổi tùy thuộc vào hoàn cảnh cụ thể Cần lưu ý rằng khoá có thể bao gồm nhiều thuộc tính và một kiểu thực thể có thể sở hữu nhiều hơn một khoá.

Khi xét tập thực thể người tại Việt Nam, số chứng minh nhân dân có thể được sử dụng làm khóa Tuy nhiên, khi mở rộng ra nhiều quốc gia, không có đảm bảo rằng sẽ không có ít nhất hai người có cùng số chứng minh Do đó, khóa cho mỗi người nên bao gồm hai thuộc tính: số chứng minh và quốc tịch của họ.

2.1.2 Một số vấn đề cần quan tâm khi thiết kế mô hình thực thể liên kết Để mô tả thông tin về các tập thực thể và mối quan hệ giữa các tập thực thể, nguời ta sử dụng sơ đồ mối quan hệ thực thể Trong sơ đồ này, ta sử dụng các qui ứớc sau:

 Các hình chữ nhật dùng để biểu diễn các tập thực thể

Các hình oval trong mô hình biểu diễn các thuộc tính và được liên kết với các tập thực thể thông qua các cung không định hướng Các thuộc tính này là thành phần của một khoá thực thể, được gạch dưới để nhấn mạnh Đặc biệt, trong một số trường hợp, chúng ta có thể xác định một tập chỉ có một thuộc tính và gọi tập đó theo tên thuộc tính, dẫn đến việc tập thực thể được ký hiệu bằng hình oval thay vì hình chữ nhật.

Các hình thoi thể hiện các mối quan hệ và được kết nối với các tập thực thể thông qua các cung có hướng hoặc không có hướng, tuân theo những quy tắc nhất định.

 Nếu R là mối quan hệ một-một giữa A và B thì vẽ các cung định hướng từ hình thoi nhãn R đến các hình chữ nhật nhãn A và B

Nếu R là một mối quan hệ nhiều-một từ tập E i, E i+1, , E k-i đến E k, hãy vẽ các cung không định hướng từ hình thoi nhãn R vào các hình chữ nhật nhãn E i, E i+1, , E k-i Đồng thời, vẽ một cung định hướng từ hình thoi đến hình chữ nhật nhãn E k.

 Nếu R là mối quan hệ nhiều - nhiều giữa A và B thì vẽ các cung không định huớng từ hình thoi nhãn R vào các hình chữ nhật có nhãn A và B

 Hoặc có thể ghi chú mối liên hệ lên cạnh và chỉ cần vẽ cung vô huớng giữa hai tập thực thể

 Mô tả quan hệ liên kết thực thể yếu (định danh) và kiểu thực thể yếu bằng hình thoi và hình chữ nhật nét đôi

Mối quan hệ giữa các tập thực thể NHANVIEN, PHONGBAN và DEAN được thể hiện qua sơ đồ dưới đây, trong đó NHANVIEN và PHONGBAN được kết nối với nhau thông qua một mối quan hệ chặt chẽ.

MÔ HÌNH DỮ LIỆU QUAN HỆ

2.2.1 Các khái niệm cơ bản

Mô hình dữ liệu quan hệ (Relational Data Model), được EF Codd giới thiệu vào năm 1970, dựa trên lý thuyết tập hợp và các quan hệ giữa các bộ giá trị Mô hình này đã trở thành nền tảng cho nhiều hệ quản trị cơ sở dữ liệu hiện đại, nhấn mạnh tính tổ chức và khả năng truy vấn dữ liệu hiệu quả.

Mô hình dữ liệu quan hệ là một trong những mô hình được nghiên cứu nhiều nhất và có nền tảng lý thuyết vững chắc Hiện nay, mô hình này cùng với mô hình thức thể kết hợp đang được ứng dụng phổ biến trong phân tích và thiết kế cơ sở dữ liệu (CSDL).

Sau đây là các khái niệm của mô hình dữ liệu quan hệ a Thuộc Tính(attribute):

Thuộc tính là những đặc điểm đặc trưng của một đối tượng trong mô hình thực thể kết hợp, với mỗi thuộc tính có tên gọi riêng và được phân loại theo một kiểu dữ liệu cụ thể.

Các thuộc tính được phân loại theo tên gọi và phải thuộc một kiểu dữ liệu nhất định, bao gồm số, chuỗi, ngày tháng, logic, hình ảnh, v.v Kiểu dữ liệu này có thể là kiểu vô hướng hoặc kiểu có cấu trúc Nếu thuộc tính có kiểu dữ liệu vô hướng, nó được gọi là thuộc tính đơn hay thuộc tính nguyên tố; ngược lại, nếu thuộc tính có kiểu dữ liệu có cấu trúc, nó không được xem là thuộc tính nguyên tố.

Sinh viên Nguyễn Văn Thành có các thuộc tính như họ và tên, mã số sinh viên thuộc kiểu chuỗi; ngày sinh thuộc kiểu ngày tháng; hộ khẩu thường trú cũng thuộc kiểu chuỗi; và thuộc tính hình ảnh thuộc kiểu hình ảnh Những thuộc tính này tạo thành miền giá trị đa dạng cho thông tin cá nhân của sinh viên.

Mỗi thuộc tính thường chỉ nhận giá trị từ một tập con của kiểu dữ liệu, được gọi là miền giá trị Ví dụ, thuộc tính NỮ có miền giá trị là {nam, nữ}, thuộc tính màu da có miền giá trị là {da trắng, da vàng, da đen, da đỏ}, và thuộc tính điểm thi bao gồm các số trong tập {0; 1; 2;…, 10}.

Khi làm việc với các thuộc tính, cần lưu ý rằng tên của chúng thường được ký hiệu bằng các chữ cái in hoa đầu tiên trong bảng chữ cái Latin như A, B, C, D, v.v Các chữ cái in hoa như X, Y, Z, W thường đại diện cho một nhóm nhiều thuộc tính Ngoài ra, các ký hiệu chữ cái có thể đi kèm với chỉ số như A1, A2, …, An để chỉ rõ các thuộc tính trong trường hợp tổng quát hoặc khi đề cập đến số lượng thuộc tính.

Khi đặt tên thuộc tính, cần đảm bảo tính gợi nhớ và ngắn gọn để thuận tiện cho việc viết câu lệnh truy vấn Tên thuộc tính không nên quá dài để tránh gây khó khăn, nhưng cũng không được quá ngắn để không làm mất đi ngữ nghĩa Đặc biệt, cần tránh việc đặt trùng tên cho hai thuộc tính có ngữ nghĩa khác nhau thuộc hai đối tượng khác nhau.

Trong nhiều hệ quản trị cơ sở dữ liệu, giá trị rỗng (NULL) được thêm vào miền giá trị của các thuộc tính Giá trị này có thể biểu thị cho một giá trị không thể xác định hoặc một giá trị chưa được xác định tại thời điểm nhập liệu, nhưng có khả năng được xác định vào một thời điểm sau.

Lược đồ quan hệ là tập hợp tất cả các thuộc tính cần quản lý của một đối tượng, cùng với các mối liên hệ giữa chúng.

Q với tập thuộc tính {A 1 , A 2 , , A n } được viết là Q(A 1 , A 2 , , A n ), ký hiệu Q+ = {A 1 , A 2 , , A n }

Chẳng hạn lược đồ quan hệ Sinhviên với các thuộc tính như đã được liệt kê trong ví dụ 1.1 được viết như sau:

Khi thiết lập lược đồ quan hệ cho bảng Sinhvien, mỗi sinh viên được xác định bởi một mã số sinh viên duy nhất (MASV) Mã số này không chỉ là định danh mà còn xác định các thuộc tính khác của sinh viên, bao gồm họ tên (HOTENSV), giới tính (NU), ngày sinh (NGAYSINH), nơi sinh (NOISINH), tỉnh (TINH) và mã lớp (MALOP).

Khi phát biểu tân từ cho một lược đồ quan hệ, người thiết kế cần mô tả rõ ràng ý nghĩa để tránh hiểu nhầm Từ tân từ này, người ta có thể xác định tập khoá và siêu khoá của lược đồ quan hệ, điều này sẽ được trình bày trong các mục tiếp theo.

Nhiều lược đồ quan hệ cùng nằm trong một hệ thống thông tin được gọi là một lược đồ cơ sở dữ liệu

Khái niệm lược đồ quan hệ ứng với khái niệm loại thực thể ở mô hình thực thể kết hợp

2.2.3 Ánh xạ mô hình thực thể liên kết sang mô hình quan hệ

Một số quy tắc được sử dụng trong việc chuyển đổi mô hình thực thể kết hợp sang mô hình dữ liệu quan hệ

Quy tắc 1 yêu cầu chuyển đổi mỗi loại thực thể thành lược đồ quan hệ, trong đó các thuộc tính của thực thể trở thành thuộc tính của lược đồ Thuộc tính khoá của thực thể sẽ được xác định là thuộc tính khoá của lược đồ Ví dụ, loại thực thể Sinhvien sẽ được chuyển đổi thành lược đồ quan hệ Sinhvien, phản ánh đầy đủ các thuộc tính và khoá tương ứng.

Sinhvien(MASV, HOTENSV, NU, NGAYSINH, TINH,….)

Quy tắc 2 quy định rằng nếu một mối kết hợp có cả hai nhánh với bản số max là n, thì mối kết hợp đó sẽ được chuyển thành lược đồ quan hệ K’ với các thuộc tính của mối kết hợp K, cùng với các thuộc tính khoá của hai lược đồ quan hệ A và B tương ứng với hai thực thể tham gia Khoá của lược đồ quan hệ K’ bao gồm cả hai khoá của lược đồ A và B Ví dụ, mối kết hợp Phancong giữa ba loại thực thể Giangvien, Monhoc và Lop sẽ được chuyển thành lược đồ quan hệ Phancong với tập khoá {MAGV, MAMH, MALOP}.

Quy tắc 3 quy định rằng khi một nhánh trong mô hình thực thể kết hợp có bản số là n (nhánh B) và nhánh còn lại có bản số tối đa là 1 (nhánh A), thì cần loại bỏ mối kết hợp này Thay vào đó, các thuộc tính khóa của lược đồ tương ứng với loại thực thể ở nhánh B sẽ được thêm vào lược đồ tương ứng với loại thực thể ở nhánh A.

NGÔN NGỮ TRUY VẤN QUAN HỆ

NGÔN NGỮ ĐẠI SỐ QUAN HỆ

3.1.1 Các phép toán cơ bản a Phép Hợp 2 quan hệ (Union)

Ta nói hai quan hệ r 1 và r2 là tương thích nếu chúng được định nghĩa trên cùng một lược đồ quan hệ

Hợp của hai quan hệ r1 và r2, được ký hiệu là r1 + r2, là một quan hệ trên lược đồ quan hệ Q Quan hệ này bao gồm tất cả các phần tử thuộc r1 hoặc thuộc r2, tức là r1 + r2 = {t / t ∈ r1 hoặc t ∈ r2}.

Khi đó nội dung của quan hệ r 1 + r 2 là:

Mục tiêu của khóa học là cung cấp cho sinh viên kiến thức cơ bản về ngôn ngữ truy vấn quan hệ, bao gồm ngôn ngữ đại số quan hệ với các phép toán cơ bản và bổ sung Sinh viên sẽ thực hành các truy vấn thông qua các phép toán đại số quan hệ Đồng thời, khóa học cũng giới thiệu ngôn ngữ truy vấn SQL và các thao tác liên quan đến dữ liệu.

Mục tiêu kỹ năng của sinh viên là hiểu rõ ngôn ngữ đại số quan hệ, thực hiện các phép toán cơ bản và rèn luyện kỹ năng sử dụng ngôn ngữ truy vấn SQL hiệu quả.

Do thứ tự trước/sau của các bộ trong các quan hệ là không quan trọng nên ta có: ∀ r 1 , r 2 thì r 1 + r 2 = r 2 + r 1 ∀ r thì r + r = r

Một cách tổng quát có thể lấy hợp của n quan hệ tương thích: cho n quan hệ tương thích r 1 , r2 , … , rn

Hợp của n quan hệ r 1 , r 2 , … , r n là một quan hệ r1 + r2 + … + r n gồm các phần tử thuộc r 1 hoặc thuộc r2 … hoặc thuộc rn b Phép Giao 2 quan hệ (Intersection)

Trong lược đồ quan hệ Q(A1,A2, ,An), hai quan hệ r1 và r2 được coi là tương thích Giao của hai quan hệ này, ký hiệu là r1 * r2, tạo thành một quan hệ mới trên Q, bao gồm các phần tử mà đồng thời thuộc cả r1 và r2.

Chẳng hạn với ví dụ 2.2 ở trên thì r1 * r2 là:

A B C D a2 b2 c2 d2 c Phép Trừ 2 quan hệ (Minus)

Cho hai quan hệ tương thích r1 và r2 có tập thuộc tính Q(A1,A2, ,An ) Hiệu của r1 cho r2 ký hiệu là r1 – r2 là một quan hệ trên

Q gồm các phần tử chỉ thuộc r1 mà không thuộc r2, nghĩa là r1 - r2 = {t ∈ r1 và t ∉ r2} Chẳng hạn với ví dụ 2.2 thì r1 - r2 là:

A B C D a1 b1 c1 d1 a3 b3 c3 d3 a4 b4 c4 d4 d Tích Decac của 2 quan hệ (Cartesian Product)

Trong lược đồ quan hệ Q1(A1, A2, … , An) và Q2(B1, B2, …, Bm), nếu r1 và r2 là hai quan hệ tương ứng trên Q1 và Q2, thì tích Descartes (decac) của r1 và r2, ký hiệu là r1 x r2, sẽ tạo ra một quan hệ mới trên lược đồ quan hệ với tập thuộc tính Q = Q1 ∪ Q2.

Vậy quan hệ r1 x r2 là quan hệ trên lược đồ: Q = Q1 ∪ Q2 {A1,A2, ,An,B1,B2, ,Bm } với r1 x r2 = {(t1,t2) : t1 ∈ r1, t2 ∈ r2 } e Phép chia 2 quan hệ

Cho 2 lược đồ quan hệ Q1(A1,A2, ,An) và Q2(B1,B2, ,Bm) r là quan hệ xác định trên Q1; s là quan hệ xác định trên Q2 (n>m và s khác rỗng), có m thuộc tính chung (giống nhau về mặt ngữ nghĩa, hoặc các thuộc tính có thể so sánh được) giữa r và s phép chia 2 quan hệ r và s ký hiệu r ÷ s , là một quan hệ q có n - m thuộc tính được định nghĩa như sau: q= r ÷ s={t/ ∀ u

Trong lược đồ quan hệ Q(A1,A2, ,An), quan hệ r là một phần của Q và X ⊆ Q+ Phép chiếu của r lên tập thuộc tính X, ký hiệu là r[X] (hoặc r.X), tạo ra lược đồ quan hệ mới r’ với tập thuộc tính là X Quan hệ r’ được trích xuất từ r bằng cách chỉ lấy các thuộc tính có trong X, do đó phép chiếu này thực chất là phép rút trích dữ liệu theo cột Ví dụ, với quan hệ r1 trong ví dụ 2.2, quan hệ con của r1 khi chiếu lên X={A,C} sẽ là r1[X].

Trong lược đồ quan hệ Q(A1, A2, , An), r là một quan hệ, X là tập con của Q+, và E là mệnh đề logic trên X Phần tử t ∈ r thoả mãn điều kiện E được ký hiệu là t(E) Khi thực hiện phép chọn từ quan hệ r theo điều kiện E, ký hiệu là r : E, sẽ tạo thành một quan hệ mới ký hiệu là r(E), trong đó r(E) = {t: t ∈ r và t(E)} Phép chọn này chính là phương pháp rút trích dữ liệu theo dòng.

3.1.2 Các truy vấn thực hành áp dụng các phép toán đại số quan hệ

Lược đồ cơ sở dữ liệu (CSDL) được sử dụng để quản lý điểm sinh viên đã được mô tả trong ví dụ trên Hãy thực hiện các yêu cầu sau đây bằng ngôn ngữ đại số quan hệ.

 Lập danh sách các sinh viên lớp có mã lớp là CDTH2A, danh sách cần MASV, HOTENSV

 Lập danh sách sinh viên nữ và có mã khoa là “CNTT”, danh sách cần MASV, HOTENSV

 Lập bảng điểm thi lần 1 của tất cả các môn cho sinh viên lớp CDTH2A, danh sách cần MASV, HOTENSV, TENMH, DIEMTHI

 Lập phiếu điểm thi lần 1 các môn cho sinh viên có MASV=”00CDTH189” danh sách cần MAMH, TENMH, DONVIHT, DIEMTHI

3.2 NGÔN NGỮ TRUY VẤN DỮ LIỆU THEO CẤU TRÚC

3.2.1 Giới thiệu chung về ngôn ngữ truy vấn cấu trúc

Ngôn ngữ truy vấn SQL (Structured Query Language) cung cấp nhiều lệnh để thao tác với cơ sở dữ liệu, bao gồm lệnh create để tạo bảng, update để cập nhật dữ liệu, delete để xoá dữ liệu và insert để thêm dữ liệu Trong bài viết này, chúng tôi sẽ tập trung vào câu lệnh quan trọng nhất của SQL là SELECT, dùng để hỏi và tìm kiếm dữ liệu Kết quả của lệnh SELECT là một quan hệ, có thể được xuất ra màn hình, máy in hoặc các thiết bị lưu trữ khác Để đơn giản, chúng ta coi quan hệ trong truy vấn là quan hệ nguồn và quan hệ kết quả là quan hệ đích.

Mỗi câu lệnh SQL có thể được viết trên nhiều dòng và phải kết thúc bằng dấu chấm phẩy (;) Tuy nhiên, các từ khóa, tên hàm, tên thuộc tính, tên bảng và tên đối tượng không được phép tách xuống hàng Trong thực tế, việc viết các từ khóa, tên thuộc tính, tên bảng và tên đối tượng bằng chữ in hoa hay chữ thường đều được chấp nhận.

The general syntax of the SELECT statement is as follows: SELECT DISTINCT /*/list of attributes/ , FROM WHERE GROUP BY HAVING.

order by

Biểu thức là sự kết hợp hợp lệ giữa các thuộc tính, toán tử và hàm Dưới đây là các toán tử và hàm phổ biến nhất, cần lưu ý rằng cách sử dụng chúng phụ thuộc vào câu lệnh SELECT trong ngôn ngữ được sử dụng.

 Các toán tử số học: ^ (luỹ thừa),*(nhân),/ (chia), mod (phần dư), +(cộng), - (trừ)

 Các toán tử luận lý: not(phủ định), and(phép hội), or (phép tuyển)

 Các toán tử tập hợp: In (danh sách các giá trị), LIKE, NOT LIKE, union(phép hợp), intersect (phép giao), minus(phép trừ)

 Các toán tử so sánh : =, , >, =,

Ngày đăng: 05/12/2024, 10:43

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Phương Lan. Giáo trình nhập môn cơ sở dữ liệu : Tiếp cận cơ sở dữ liệu NXB : Lao động xã hội, 2006 Khác
[2]. Nguyễn Kim Anh. Nguyên lý của các hệ cơ sở dữ liệu : Sách dùng cho sinh viên các trường Đại học, Cao đẳng . NX Đại học Quốc gia, 2004 Khác
[3]. Bài tập cơ sở dữ liệu, Nguyễn Xuân Huy – Lê Hoài Bắc, NXB thống kê, 2003 [4]. Giáo trình Cơ sở dữ liệu, Nguyễn Đăng Tỵ - Đỗ Phúc, Đại Học Quốc gia Tp.Hồ Chí Minh, 2001 Khác
[5]. Nhập môn Cơ sở dữ liệu quan hệ, Lê Tiến Vương, NXB Khoa học và Kỹ thuật, 1994 Khác
[6]. David Maier, The theory of Relational Databases, Computer Science Press, Rockville, 1983 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w