Cơ sở dữ liệu quan hệ

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Tích hợp các hệ thống cơ sở dữ liệu quan hệ và XML Luận văn ThS Công nghệ thông tin 1.01.10 (Trang 32 - 37)

Chương 1 : TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ

1.2 Cơ sở dữ liệu quan hệ

1.2.1. Cấu trúc cơ sở dữ liệu quan hệ

Một cơ sở dữ liệu quan hệ là một tập của một hoặc nhiều quan hệ, trong đó mỗi quan hệ là một bảng hai chiều bao gồm các cột và các hàng (gọi là bảng dữ liệu hay quan hệ). Bảng dữ liệu chính là hình thức thể hiện cụ thể của kiểu thực thể khi chúng ta xây dựng cơ sở dữ liệu, bảng dữ liệu được sử dụng để lưu dữ liệu về các thực thể trong lớp thực thể đó.

Như vậy, bảng dữ liệu là một tập các bộ dữ liệu, hay bản ghi dữ liệu, mỗi bộ có cùng một số lượng thuộc tính như nhau nhưng có thể khác nhau về giá trị. Bảng dữ liệu trong cách tiếp cận CSDL quan hệ được hiểu chính xác hơn bằng cụm từ “quan hệ”. Một quan hệ bao gồm một lược đồ quan hệ và một thể hiện quan hệ. Trong đó, thể hiện quan hệ chính là một bảng, còn lược đồ quan hệ miêu tả tiêu đề các cột của bảng đó. Trong một quan hệ không thể tồn tại hai bộ dữ liệu giống nhau ở tất cả các thuộc tính.

Một bảng dữ liệu được đặc trưng bởi một tên cụ thể, gọi là tên quan hệ. Mỗi cột trong bảng tương ứng với một thuộc tính trong quan hệ, được đặt tên duy nhất (gọi là tên trường). Mỗi dòng trong bảng tương ứng với một bộ của quan hệ, một bộ là một danh sách các giá trị có thứ tự (tương ứng thứ tự các cột trong bảng).

KHÁCHHÀNG Mã số KH Họ tên KH Số ĐT Địa chỉ

KH001 Trần Mai Hương 0240556778 Bắc Giang KH002 Nguyễn Thu Hà 0241775432 Bắc Ninh KH003 Trần Anh Tuấn 0983800123 Hà Nội KH004 Vũ Đình Công 0983330169 Bắc Giang

Bảng 1.1: Bảng dữ liệu KHACHHANG

Trong bảng dữ liệu, mỗi thuộc tính nhận giá trị nằm trong một miền nào đó, gọi là miền giá trị. Cũng như kiểu dữ liệu, miền giá trị không chỉ xác định tập giá trị cho thuộc tính mà còn xác định các thao tác được phép sử dụng trên các dữ liệu.

Định nghĩa miền giá trị:

Miền giá trị của bảng quan hệ là miền xác định các giá trị của thuộc tính trong bảng quan hệ.

Note: Miền giá trị phải đơn giản, chỉ nhận giá trị đơn (đơn trị). Nếu miền

giá trị nhận giá trị là đa trị (không phải là nguyên tố) thì ta phải tách giá trị đa thành đơn trị (bằng cách thêm vào các quan hệ phụ).

Quan hệ có thể được hiểu là tập con của tích đề các của một hoặc nhiều miền. Như vậy, mỗi quan hệ có thể là vô hạn. Với giả thiết rằng, quan hệ là một tập hữu hạn.

Người ta dùng thuật ngữ “quan hệ cơ sở” để chỉ mức độ thấp nhất của thể hiện dữ liệu đối với người dùng. Tất cả các dữ liệu trong CSDL quan hệ sẽ được lưu trữ theo tập các “quan hệ cơ sở”. Dữ liệu có thể được truy cập và xử lý theo cách nhìn nhận riêng, đặc biệt được gọi là “khung nhìn”. Khung nhìn là quan hệ logic, tương ứng trực tiếp hay gián tiếp với quan hệ cơ sở.

Định nghĩa khung nhìn (View):

Một khung nhìn có thể là một tập con đơn giản của một quan hệ cơ sở. Ví dụ: cho bảng quan hệ BANHANG

BANHÀNG Mã số KH Họ tên KH Địa chỉ Loại hàng Số lượng

KH001 Trần Mai Hà Bắc Giang Xe đạp 10 KH002 Nguyễn Thu Hà Bắc Ninh Xe máy 2 KH003 Trần Anh Tuấn Hà Nội Ô tô 12 KH004 Vũ Đình Công Bắc Giang Xe máy 10

Bảng 1.2: Bảng dữ liệu BANHANG

Và bảng quan hệ KHACHHANG

KHACHHÀNG Mã số KH Họ tên KH Địa chỉ

KH001 Trần Mai Hương Bắc Giang KH003 Trần Anh Tuấn Hà Nội KH004 Vũ Đình Công Bắc Giang

Bảng 1.3: Bảng dữ liệu KHACHHANG

Ta nhận thấy khung nhìn KHACHHANG là tập con của bảng quan hệ BANHANG.

Các khung nhìn cho phép người dùng khác nhau nhìn cùng một CSDL theo các góc độ khác nhau, với các yêu cầu khác nhau về dữ liệu. Hệ thống đảm bảo người dùng nào cũng cảm thấy chỉ một mình họ truy cập CSDL. Ở đây, khung nhìn được xem xét như các bảng cơ sở trong CSDL quan hệ và dùng chúng trong các phép xử lý.

1.2.2. Ràng buộc toàn vẹn trên một cơ sở dữ liệu quan hệ

Ràng buộc toàn vẹn và kiểm tra sự vi phạm ràng buộc toàn vẹn là một trong những vấn đề quan trọng trong quá trình phân tích, thiết kế và khai thác các hệ thống cơ sở dữ liệu.

1.2.2.1. Định nghĩa [3]:

Ràng buộc toàn vẹn là một điều kiện bất biến không được vi phạm trong một cơ sở dữ liệu.

Trong thực tế, một CSDL luôn luôn tồn tại các mối liên hệ qua lại lẫn nhau giữa các thuộc tính, giữa các bộ giá trị trong cùng một quan hệ hoặc trong các quan hệ với nhau. Các mối quan hệ phụ thuộc lẫn nhau này chính là những điều kiện bất biến mà tất cả các bộ của các quan hệ có liên quan trong CSDL đều phải thoả mãn tại bất kỳ thời điểm nào. Ràng buộc toàn vẹn còn có thể được hiểu là các quy tắc (rules) được áp đặt trên các đối tượng của thế giới thực.

1.2.2.2. Các yếu tố của ràng buộc toàn vẹn

Khi xác định một ràng buộc toàn vẹn cần chỉ rõ:

Điều kiện của ràng buộc toàn vẹn và trên cơ sở của điều kiện này cho ta cách biểu diễn dữ liệu.

 Bối cảnh xảy ra ràng buộc toàn vẹn: Trên một hay nhiều quan hệ và cụ thể là trên quan hệ nào.

Tầm ảnh hưởng của ràng buộc toàn vẹn, khả năng tính toàn vẹn bị ảnh hưởng và hành động cần phải có khi tính ràng buộc toàn vẹn bị vi phạm.

Như vậy tính ràng buộc toàn vẹn dữ liệu được biểu diễn thông qua các phụ thuộc hàm và cụ thể là dựa trên ràng buộc khoá, có các khái niệm: khoá chính (primary key), khoá ngoại lai (foreign key) và khoá duy nhất (unique key).

Khoá duy nhất (unique key): Ràng buộc không cho phép có hai giá trị giống y hệt nhau trên cột hoặc tập các cột được định nghĩa bởi mệnh đề dạng này.

Khoá chính (primary key): Ràng buộc không cho phép có hai giá trị giống y hệt nhau cũng như giá trị null được đưa vào cột hoặc tập các cột được định nghĩa thoả mãn mệnh đề ràng buộc này.

Khoá ngoại (foreign key): Ràng buộc đòi hỏi mỗi giá trị trong cột hoặc tập các cột được định nghĩa bởi ràng buộc này phải bằng một giá trị lấy từ quan hệ liên kết tương ứng, và cột trong quan hệ liên kết tương ứng cũng phải thoả

đôi khi được gọi là ràng buộc tham chiếu. Cột được khai báo loại ràng buộc này có thể nhận giá trị null.

1.2.3. Chuẩn hoá một cơ sở dữ liệu quan hệ [3]

Chuẩn hoá các cơ sở dữ liệu quan hệ là rất cần thiết trong thực tế vì nhờ bước chuẩn hoá này mà chúng ta có thể loại bỏ tối đa sự dư thừa dữ liệu - một trong những nguyên nhân dẫn đến sự không toàn vẹn dữ liệu.

Chuẩn hoá một cơ sở dữ liệu nghĩa là chúng ta sẽ đưa các lược đồ quan hệ về một trong các dạng chuẩn: 1NF, 2NF, 3NF.

 Chuẩn 1NF: Một quan hệ ở dạng chuẩn 1NF nếu tất cả các giá trị các thuộc tính của nó là sơ cấp (tức chỉ chứa các giá trị nguyên tố - không phân chia nhỏ hơn được nữa).

Nếu một quan hệ chưa ở dạng 1NF thì ta tách các thuộc tính chưa ở dạng nguyên tố thành các thuộc tính nguyên tố.

 Chuẩn 2NF: Một quan hệ là chuẩn 2NF nếu nó là chuẩn 1NF và mọi thuộc tính không khoá đều phụ thuộc hàm đầy đủ vào khoá chính (tức là không có thuộc tính không khoá nào phụ thuộc hàm một phần vào khoá chính).

Nếu một quan hệ chưa ở dạng 2NF thì tách quan hệ ban đầu thành các quan hệ mới gồm: quan hệ chứa các thuộc tính không khoá không phụ thuộc bộ phận vào khoá chính và các quan hệ trong đó mỗi quan hệ chứa các thuộc tính là thuộc tính bộ phận của khoá chính và các thuộc tính phụ thuộc bộ phận vào thuộc tính bộ phận của khoá chính đó.

 Chuẩn 3NF: Một quan hệ ở dạng chuẩn 3NF nếu nó là 2NF và tất cả các phụ thuộc hàm giữa khoá chính và các thuộc tính khác của nó đều là trực tiếp.

Nếu một quan hệ chưa ở dạng 3NF thì thực hiện theo các bước sau:

 Tìm các phụ thuộc hàm bắc cầu vào khoá chính có dạng: K->X, X- >Y, trong đó K là tập các thuộc tính khoá, X và Y là tập các thuộc tính không khoá.

 Nếu tìm thấy phụ thuộc hàm bắc cầu như trên thì thì tiến hành tách quan hệ hiện thời thành hai quan hệ, quan hệ thứ nhất bao gồm các thuộc tính X, Y và quan hệ thứ hai bao gồm các thuộc tính trong quan hệ ban đầu trừ thuộc tính Y.

 Kiểm tra các quan hệ con xem đã ở dạng chuẩn 3NF hay chưa, nếu chưa thì lặp lại hai bước trên.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Tích hợp các hệ thống cơ sở dữ liệu quan hệ và XML Luận văn ThS Công nghệ thông tin 1.01.10 (Trang 32 - 37)

Tải bản đầy đủ (PDF)

(73 trang)