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

Phần mềm trợ giúp thiết kế csdl quan hệ dạng chuẩn ba

50 1 0

Đ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 đề Phần mềm trợ giúp thiết kế Cơ sở Dữ liệu Quan hệ Dạng Chuẩn Ba
Tác giả Nguyễn Văn Giang
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Khoa học Máy Tính - Công Nghệ Thông Tin
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 50
Dung lượng 54,49 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong số các mô hình cho việc tổ chức và khai thác cơ sở dữ liệuCSDL, trên thực tế mô hình quan hệ [6] là đợc quan tâm hơn cả.. Cho đến nay tất cả các hãng máy tính trên thế giới khixây

Trang 1

Lời giới thiệu

Ngày nay, mọi ngành, mọi lĩnh vực trong đời sống, trong khoa họckinh doanh cũng nh trong mọi mặt vận động của xã hội dới mọi quy mô từ xínghiệp nhà máy, công ty đến quốc gia, quốc tế đều đã áp dụng công nghệthông tin vào quản lý và nhiều lĩnh vực khác nh: điều khiển các quá trình sảnxuất, điều khiển tự động, trợ giúp quyết định, thơng mại điện tử

Môn cơ sở dữ liệu là một trong những môn quan trọng liên quan đếncác vấn đề thu thập, xử lý và cho những thông tin cần thiết từ dữ liệu Mụctiêu chính của môn này là đa ra các phơng pháp để tổ chức thông tin làm saocho tối u nhất các khâu trên của dữ liệu[3] Để tiến hành các mục tiêu trên,ngời ta đi xây dựng các mô hình dữ liệu, và trên cơ sở mô hình dữ liệu nàyngời ta đi xây dựng các hệ cơ sở dữ liệu Từ các mô hình này, nhân loại đã

đạt đợc nhiều thành công rực rỡ trên lĩnh vực này mà sản phẩm của nó đợcthơng mại hoá trên khắp thế giới nh: Foxbase, Foxpro, DBase, Access, SQLfor Windows,

Lý thuyết cơ sở dữ liệu nguyên cứu các cơ chế, nguyên lý và phơngpháp tổ chức dữ liệu trên các vật mang tin để khai thác có hiệu quả dữ liệutrong các hệ thống tin học ứng dụng cũng nh trong các hệ lu trữ và tra cứuthông tin Trong số các mô hình cho việc tổ chức và khai thác cơ sở dữ liệu(CSDL), trên thực tế mô hình quan hệ [6] là đợc quan tâm hơn cả Bởi vì môhình này đợc xây dựng trên cơ sở lý thuyết và các quan hệ có cơ sở toán họcchặt chẽ, xử dụng rộng rãi các công cụ đại số và logíc Trong cơ sở dữ liệuquan hệ, các quan hệ có hình ảnh trực quan nh là các bảng biểu thông thờng

mà ta hay gặp Điều đó tạo nên những thuận lợi trong việc thực hiện các thaotác trên các quan hệ, các ngôn ngữ thao tác trên cơ sở dữ liệu quan hệ có khảnăng tổ hợp cao và hiệu quả Việc cập nhật dữ liệu trong mô hình

quan hệ khá dễ dàng Điều đáng quan tâm là cơ sở dữ liệu quan hệ còn chophép đảm bảo đợc tính an toàn dữ liệu, tính nhất quán dữ liệu và tính độc lậpdữ liệu [5]

Trong quá trình nguyên cứu và xử lý bảng biểu, các bảng này do cácchuyên gia trong lĩnh vực tin học đề xuất ra, trong những năm 1970, ngờisáng lập ra mô hình dữ liệu quan hệ đã đề xuất ra 4 dạng chuẩn để chuẩn hoá

Trang 2

các tệp dữ liệu (các bảng biểu) Nhờ các dạng chuẩn này, khi xử lý các tệpdữ liệu ngời ta tách đợc dữ liệu gốc ( do các chuyên gia trong mọi lĩnh vực

đề xuất ra ) Vì thế các tệp dữ liệu con đã ở trong dạng chuẩn rồi và khi xử lýngời ta lu trữ các tệp dữ liệu con trong máy chứ không phải là các tệp dữ liệulớn, nhng một điều rất quan trọng là, để khỏi mất mát thông tin ( có tínhpháp lý ) thì phải phục hồi tệp gốc ở bất cứ thời điểm nào cần, muốn hồiphục đợc ngời ta phải dùng phép nối tự nhiên nối tất cả các tệp dữ liệu conthì ta sẽ đợc tệp dữ liệu gốc lớn Việc lu trữ các tệp dữ liệu con thờng chiếm

ít bộ nhớ hơn các tệp dữ liệu gốc to, tốc độ chuẩn hoá các tệp dữ liệu đã đ ợcchuẩn hoá nhanh hơn rất nhiều các tệp dữ liệu cha đợc chuẩn hoá ( tệp dữliệu gốc to) Nhờ có những đóng góp nh vậy mà ngời sáng lập ra đã đợc nhậngiải thởng Turing[3] Cho đến nay tất cả các hãng máy tính trên thế giới khixây dựng Mô hình dữ liệu quan hệ ( xử lý các tệp dữ liệu ) đều đã áp dụngcác phụ thuộc hàm và các dạng chuẩn trong ngôn ngữ sử lý của họ, trong đó

đặc biệt là phép kết nối tự nhiên

Mục tiêu của luận văn là tập chung nghiên cứu các tính chất của phụthuộc hàm và các dạng chuẩn của mô hình dữ liệu quan hệ

Nội dung chính của đề tài đợc trình bày trong 4 chơng Chơng 1: Tổng quan về cơ sở dữ liệu

Chơng 2: Giới thiệu về phụ thuộc hàm và một số tính chất của chúng

Chơng 3: Các dạng chuẩn hoá dữ liệu trong mô hình quan hệ và một

số thuật toán của chúng

Chơng 4: Cài đặt một số chơng trình thực hiện cho thuật toán đã nêutrên

Trong thời gian hoàn thành bản luận văn tốt nghiệp, em xin chânthành cảm ơn khoa CNTT và các thầy cô giáo đã giúp đỡ và truyền đạt cho

em những kiến thức cơ bản trong những năm học vừa qua

Đặc biệt em xin chân thành cảm ơn thầy Đoàn Văn Ban - Viện CNTT

đã tận tình giúp đỡ và chỉ dẫn cho em những kiến thức và phơng pháp làmviệc để em hoàn thành bản luận văn tốt nghiệp

Trang 3

Chơng I : tổng quan về CƠ sở dữ liệuI.1 Khái niệm về CƠ sở dữ liệu

Để lý giải cho các khái niệm, trớc hết chúng ta hãy xem xét hệ thống bán

xe máy của công ty honda Việt Nam bằng máy tính Dữ liệu lu trữ trong máytính bao gồm thông tin về hành khách, loại xe, phân khối và giá cả Mọi thôngtin về mối quan hệ này đợc biểu diễn trong máy thông qua việc đặt mua xe củakhách hàng.Vậy làm sao để biểu diễn dữ liệu đó và bảo đảm cho khách hàng mua

đúng chiếc xe mà mình đăng kí Những dữ liệu nêu trên đợc lu trữ trong máy theomột quy định nào đó đợc gọi là cơ sở dữ liệu (CSDL) Phần chơng trình để xử lý,thay đổi số liệu này là các hệ quản trị cơ sở dữ liệu [6]

Tổng quát chúng ta có các định nghĩa sau :

1 Cơ sở dữ liệu: Là khối dữ liệu phản ánh thông tin đợc lu trữ trên hệ thống

theo một cấu trúc nào đó gọi tắt là cơ sở dữ liệu ( CSDL )

2 Hệ quản trị cơ sở dữ liệu: Là một hệ thống phần mềm quản lý cơ sở dữ liệu

và tập các thao tác xử lý dữ liệu

Hệ quản trị cơ sở dữ liệu là rất quan trọng, nh là một bộ diễn dịch với ngônngữ bậc cao nhằm giúp ngời sử dụng có thể dùng đợc hệ thống mà ít nhiều khôngcần quan tâm đến thuật toán chi tiết hoặc biểu diễn ở trong máy

3 Chức năng của hệ quản trị cơ sở dữ liệu

Trang 4

a Thiết lấp cơ sở dữ liệu : Gồm các giai đoạn

- Khai báo

- Định nghĩa

- Nạp dữ liệu vào cơ sở dữ liệu

b Cập nhật dữ liệu:

- Bổ sung dữ liệu vào cơ sở dữ liệu,

- Loại bỏ dữ liệu khỏi cơ sở dữ liệu,

- Sửa dữ liệu trong cơ sở dữ liệu

c Khai thác dữ liệu trong cơ sở dữ liệu

- Tìm kiếm thông tin theo yêu cầu,

- Kết xuất thông tin theo yêu cầu

I.2 Khái quát chung về mô hình dữ liệu

Thông thờng việc thiết kế và xây dựng các hệ thống thông tin quản lý, chúng

ta cần xử lý các tệp (tệp ) dữ liệu, các tệp này bao gồm nhiều bản ghi ( record ) và

có cùng cấu trúc xác định Đồng thời, mỗi bản ghi đợc phân chia thành các trờngdữ liệu Mỗi cơ sở dữ liệu là một hệ thống các tệp dữ liệu , mỗi tệp này có cấu trúcbản ghi khác nhau

Mỗi hệ quản trị cơ sở dữ liệu là một hệ thống quản lý và điều hành các tệpdữ liệu

Trong quá trình thiết kế và xây dựng các hệ quản trị cơ sở dữ liệu, ngời tatiến hành xây dựng các mô hình dữ liệu Mô hình dữ liệu phải thể hiện đợc bảnchất mối quan hệ cơ bản của các dữ liệu mà dữ liệu này phản ánh các mối quan hệ

và các thực thể trong thế giới thực Có thể thấy mô hình dữ liệu phản ánh khía cạnhcấu trúc logíc mà không đi vào khía cạnh vật lý của cơ sở dữ liệu

Yếu tố quan trọng nhất của cấu trúc cơ sở dữ liệu là dạng cấu trúc dữ liệu l utrữ đợc mô tả Có thể thấy rằng loại dữ liệu nền tảng của việc mô tả các mối quan

hệ là loại bản ghi Bởi vì các ràng buộc giữa các loại bản ghi tạo ra bản chất cấutrúc cơ sở dữ liệu Vì thế dựa trên việc xác định các ràng buộc giữa các loại dữ liệu

đợc cho nh thế nào mà chúng ta phân loại các mô hình dữ liệu Có nghĩa là từ cáchnhìn của ngời sử dụng việc mô tả các dữ liệu và các ràng buộc giữa các dữ liệu đợcthực hiện nh thế nào Hiện nay đã có nhiều loại mô hìmh dữ liệu Bốn

Trang 5

B C D

A

AB

Ví dụ hình sau: Gốc Alà thực thể lớn, ta chia thực thể A làm 3 thực thể nhỏhơn là B,C,D Trong đó thực thể B ta lại chia ra làm 3 thực thể nhỏ hơn là G,H,I, t -

ơng tự C có hai thực thể nhỏ là K và L, và D có 3 thực thể nhỏ là M,N và P

I.2.2 Mô hình mạng [6]

Mô hình biểu diễn là một đồ thị có hớng ( Cấu trúc đồ thị )

Ví dụ: Mô tả cho mô hình dữ liệu mạng: Cho 5 đỉnh A,B,C,D,E Các đỉnh

này nối với nhau bởi các đờng, trong đó đỉnh A gọi là tệp dữ liệu lớn đợc phân chiathành các tệp dữ liệu nhỏ hơn Tơng tự ta có các đỉnh tiếp theo đợc thể hiện giống

nh đỉnh A và chúng đợc biểu diễn nh hình trên

I.2.3 Mô hình quan hệ [6]

Trang 6

Mô hình này dựa trên cơ sở khái niệm lý thuyết tập hợp của các quan hệ, tức

là tập các k _ bộ với k là cố định, các ràng buộc trên đợc thể hiện qua các quan hệ(bảng )

I.2.4 Mô hình hớng đối tợng

Hệ thống đợc xem nh là tập các thực thể ( Đối tợng ), tác động qua lại vớinhau thông qua các thông báo để thực hiện các nhiệm vụ đặt ra Đây là mô hìnhmới đang đợc tập trung nghiên cứu và phát triển ứng dụng

Trong 4 loại mô hình trên thì mô hình quan hệ có nhiều u điểm và đợc nhiềungời quan tâm hơn cả, bởi lẽ mô hình dữ liệu quan hệ có tính độc lập dữ liệu rấtcao, lại rễ sử dụng Điều quan trọng hơn cả là mô hình quan hệ đợc hình thức hoátoán học tốt, do đó đợc nghiên cứu, phát triển và cho đợc nhiều kết quả lý thuyếtcũng nh ứng dụng trong thực tiễn

Mô hình dữ liệu quan hệ là một mô hình rất tiện lợi để mô tả cấu trúc Logíccủa các cơ sở dữ liệu Nh vậy, ở mức logíc mô hình bao gồm các tệp đợc biểu diễndới dạng các bảng Do đó đơn vị cơ sở dữ liệu quan hệ là một bảng, trong đó cácdòng của bảng là các bản ghi dữ liệu cụ thể ( đó là các thể hiện cụ thể của các bảnghi ) còn tên các cột trong bảng là các thuộc tính

Trên cơ sở mô hình dữ liệu quan hệ, đến nay đã phát triển thêm một số loạimô hình khác nhau nhằm mô tả và thể hiện thế giới thực một cách chính xác và phùhợp nh mô hình quan hệ thực thể ( Entily Relationship Model), mô hình dữ liệu h-ớng đối tợng ( Object Oriented Model ),

Theo cách nhìn của ngời sử dụng thì một cơ sở dữ liệu quan hệ là một tậpcác bảng biến đổi theo thời gian

Với u điểm về tính cấu trúc đơn giản và khả năng hình thức hoá phong phúcơ sở dữ liệu quan hệ dễ dàng mô phỏng các hệ thống thông tin tiết kiệm có tính

độc lập cao, dễ sửa đổi, bổ xung cũng nh khai thác dữ liệu Mặt khác, việc khaithác và áp dụng kĩ thuật tổ chức và sử dụng bộ nhớ cho phép cài đặt các cơ sở dữliệu quan hệ đem lại hiệu quả cao và làm cho cơ sở dữ liệu khẳng định đợc u thếcủa mình trên thị trờng

Trang 8

- Khái niệm thực thể: Là đối tợng có trong thực tế mà chúng ta cần khảo sát và

giải quyết nhiều vấn đề liên qua đến đối tợng này

Ví dụ: Thực thể sinh viên, thực thể con ngời, thực thể hệ thống kế toán tài vụ,

Thông thờng ngời ta chia các thực thể lớn thành các thực thể đơn giản hơn và

một tệp dữ liệu thì thể hiện là một dòng ( bản ghi ) của tệp dữ liệu đó

Từ ví dụ thực thể Sinh viên trên chúng ta mô tả một cách tổng quát các thuộctính của thực thể

Trang 9

tính sinh quán

vănGiang

12-5-1974

Vĩnhphúc

quốcKhanh

II.1 Phụ thuộc hàm

II.1.1 Khái niệm về phụ thuộc hàm

Trên cơ sở nghiên cứu tệp dữ liệu ngời ta định nghĩa chính xác tệp dữ liệu

nh sau ( đôi khi ngời ta còn gọi là quan hệ )

Cho trớc R = { a1, a2, , an } là tập hữu hạn và không rỗng, nó đợc gọi là tậpcác thuộc tính Mỗi thuộc tính ai ( i = 1,2, ,n ) là một miền giá trị D(ai ) và D(ai) cóthể trùng nhau đợc Khi đó r = { h1,h2, ,hm } đợc gọi là các tệp dữ liệu quan hệnếu h:

R D, ai R(aI)Với điều kiện hj( ai )  D(aI)

Ví dụ: Sinh viên = {Mã_sv, Họ_tên, }

Với định nghĩa này chúng ta lập đợc một bảng tơng đơng sau:

Trang 10

II.1.2 Định nghĩa phụ thuộc hàm

Cho trớc R = { a1, a2, , an }là tập các thuộc tính và r = { h1, h2, , hm }.Giả sử A,B  R Khi đó ta nói rằng B phụ thuộc hàm vào A hoặc A xác địnhhàm vào B :

Nếu mọi hi, hj  r ta có ( a A mà hi(a) = hj(a)) => ( bB ( hi(b) = hj(b))) AB

Có thể thấy rằng, B mà phụ thuộc hàm vào A nếu hai dòng bất kỳ mà các giátrị của tập thuộc tính A bằng nhau từng cặp một thì kéo theo các giá trị trên tậpthuộc tính B cũng phải bằng nhau từng cặp một

Ví dụ: Trong quan hệ Xe_máy có các thông tin về số xe, mác của xe, màucủa xe, giá xe, năm sản xuất

Trang 11

Theo định nghĩa, trong quan hệ trên, nếu số xe xác định màu xe thì khi biết

số xe ngời ta biết ngay đợc màu của xe, giá trị về màu này là duy nhất

nó đơn giản và nó phổ thông theo nghĩa nếu tập cột A xác định hàm với tập cột B

có nghĩa rằng A là xác định duy nhất B

Giả sử: f(x1) = y1, f(x2) = y2 Nếu x1 = x2  f(x1) = f(x2)  y1 = y2

Với ý nghĩa đơn giản và phổ thông nh vậy Chỉ có phụ thuộc hàm mới đa ra

đợc thơng trờng

II.1.3 Định nghĩa hệ tiên đề Amstrong cho phụ thuộc hàm

Gọi F là tập tất cả các phụ thuộc hàm đối với lợc đồ quan hệ R, và XY làmột phụ thuộc hàm, X,Y là tập con của R Nói rằng X Y đợc suy diễn logíc từ Fnếu mối quan hệ r trên R đều thoả mãn các phụ thuộc hàm của F thì cũng thoả mãn

X Y[3]

Chẳng hạn F = {A B, B C } thì A C suy ra từ F

Gọi F+ là bao đóng của F, tức là tập tất cả các phụ thuộc hàm đợc suy diễnlogíc từ F Nếu F = F+ thì F là họ đầy đủ của các phụ thuộc hàm

Gọi R = {A1,A2, ,An}là tập các thuộc tính X,Y,Z,W  R

Hệ tiên đề Amstrong bao gồm :

Trang 12

Chứng minh: Lần lợt kiểm tra tính đúng đắn của ba đề A1,A2,A3

A1: Tiên đề A1 rõ ràng là đúng vì không thể có hai bộ bằng nhau trên X màlại không bằng nhau trên tập con của nó

A2: Giả sử rằng quan hệ r thoả XY

Tồn tại hai bộ t,u sao cho t[XZ] = u[XZ] mà t[YZ] = u[YZ] Vì rằng t[Z] =u[Z] nên để có t[YZ] # u[YZ] thì t[Y] # u[Y] Nhng vì t[X] = u[X]nên t[Y] # u[Y]

là trái với giả thiết XY Với t[YZ] = u[YZ]

A3: Cho XY và YZ đúng trên quan hệ r Giả sử tồn tại hai bộ t và u  rsao cho t[X] = u[X] và t[Z] # u[Z]

Từ XY suy ra t[X] = u[X] nên t[Y] = u[Y]

Nhng lại có t[Y] = u[Y] và t[Z] # u[Z] là trái với giả thiết X Y

Do vậy t[Z] = u[Z] Suy ra X Z đúng trên quan hệ r

Bổ đề 2:

a Luật hợp: nếu X Y và X Z thì X YZ

b Luật tựa bắc cầu: nếu X Y và WY Z thì XW Z

c Luật tách: nếu X Y và Z  Y thì X Z

Chứng minh:

a Từ X Y dùng luật tăng trởng, thêm X ta có X XY

Trang 13

khi X Z, dùng luật tăng trởng thêm Y ta có XY YZ

Và cuối cùng dùng luật bắc cầu suy ra cho X XY và XY ZX có XYZ

b Từ X Y dùng luật tăng trởng thêm W có WX WY Dùng luật bắc cầucho WX WY và WY Z suy ra WX Z

c Vì Z  Y nên X Z ( theo luật phản xạ )

Dùng luật bắc cầu cho X Y và Y Z có X Z

Một hệ quả quan trọng của luật tách và luật hợp là nếu X Y suy ra XAi

đợc suy diễn logíc từ F nhờ hệ tiên đề Amstrong

Bổ đề 3:

X Y suy diễn từ hệ tiên đề Amstrong khi và chỉ khi Y  X+

Chứng minh:

Giả sử Y = A1,A2,, ,An với A1,A2,, ,An là các thuộc tính và Y  X+

Từ định nghĩa X+ có XAi , áp dụng hệ tiên đề Amstrong cho mỗi i cóXAi, Ai Y, nhờ luật tách Từ đó suy ra Y  X+

Gọi F là tập các phụ thuộc hàm trên tập thuộc tính R Giả sử rằng XY làkhông thể suy dẫn đợc từ hệ tiên đề Xét quan hệ r gồm hai tập sau:

Trang 14

11 1 00 0Các thuộc tính thuộc X+ Các thuộc tính còn lạiTrớc hết cần chỉ ra rằng tất cả các phụ thuộc hàm thuộc F đều thoả r Thậtvậy, giả sử (VW) F nhng không thoả trên r Do đó V  X+

, hoặc hai bộ của r sẽkhông bằng nhau ít nhất trên một thuộc tính của V Nh vậy W không thể là tập concủa X+ hoặc V  W thoả trên r

Gọi A  W nhng A không thuộc X+ Vì XV  X+, XV suy ra từ bổ đề 3 ( XV  F ) do vậy, nhờ luật bắc cầu suy ra XA, nhng do A không thuộc X+ nhgiả thiết, do vậy là mâu thuẫn Từ đó kết luận rằng mỗi (VW)  F đề thoả trên r

Bây giờ cần chứng minh rằng XY không thoả trên r Giả sử rằng XY làthoả trên r Nh trên có X  X+ và suy ra Y  X+, nếu không hai bộ là bằng nhautrên X nhng không bằng nhau trên Y Theo bổ đề 3 thì XY có thể suy ra đợc từ

hệ tiên đề, điều đó là hoàn toàn mâu thuẫn Do vậy XY không thể đúng trên r

Đến đây có thể kết luận rằng: Nếu XY không suy dẫn đợc từ hệ tiên đềAmstrong thì XY không suy dẫn logíc đợc từ F Hệ tiên đề đầy đủ

II.1.4 Phủ của các tập phụ thuộc hàm

Cho tập phụ thuộc hàm F, hãy thay thế F bằng phụ thuộc G sao cho G vẫn

đảm bảo đúng chức năng của F Khi đó ta gọi G là phủ của tập phụ thuộc hàm F

Bổ đề 4:

Mỗi ttập phụ thuộc hàm F đều đợc phủ bằng tập các phụ thuộc hàm G saocho G mà vế phải các phụ thuộc hàm đó bao gồm không quá một thuộc tính

Chứng minh:

Gọi G là tập các phụ thuộc hàm XA sao cho với XY thuộc F thì A  Y

Từ XY suy ra XA (theo luật tách)

Do vậy G  F+

Ngợc lại, có F  G+ vì nếu Y = A1, ,An thì XY đợc suy ra

XA1, , XAn nhờ luật hợp

Để có thể phục vụ quá trình thiết kế lợc đồ cơ sở dữ liệu, sau đây sẽ đa ramột số khái niệm

Trang 15

Gọi các tập phụ thuộc hàm F là tối thiểu nếu :

a/ Mỗi vế phải của một phụ thuộc hàm F chỉ có một thuộc tính

b/ Không tồn tại một phụ thuộc hàm XA thuộc F mà

II.1.5 Định nghĩa sơ đồ quan hệ

Cho trớc R = { a1, a2, , an }

A,B  R, đặt A B là một phụ thuộc hàm

Khi đó S là một sơ đồ quan hệ nếu:

S = < R,F > trong đó F = <A1B1, ,AtBt>

F gồm t phụ thuộc hàm thì tập ấy gọi là sơ đồ quan hệ t phụ thuộc hàm này

do ngời thiết kế đặt ra, dựa trên cơ sở nội dung của các cột a1,a2, ,an

Sơ đồ quan hệ đó là đầu biểu ( cấu trúc tệp ) cộng với các ràng buộc logíc(các phụ thuộc hàm ) do ngời thiết kế đề xuất ra ,các phụ thuộc hàm này làm nhiệm

vụ không chỉ phân tích mối quan hệ lôgíc mà còn kiểm tra tính đúng đắn của dữliệu nữa

II.1.6 Định nghĩa khoá

Cho trớc r = {h1,h2, ,hm} là tệp dữ liệu trên tập thuộc tính R = { a1, a2, , an}

Khi đó A  R đợc gọi là khoá của tệp dữ liệu r nếu AR.sao cho bất kỳ hai

bộ khác nhau t1,t2  r luôn thoả mãn

t1(A)  t2(A)

- A là khoá tối tiểu nếu :

ARKhông tồn tại A’ sao cho A’  A(A’ tập con thực sự của A)

mà A’  R

Trang 16

Khoá cho sơ đồ quan hệ: Cho trớc s = <R,F> là sơ đồ quan hệ Trong đó F =

- Không tồn tại A’ sao cho A’  A sao cho A’RF+

Khoá đây chính là hình ảnh của cột mã số hay cột số thứ tự trong Tệp dữ liệunào đó

Ví dụ: Quan hệ Hàng_hoá đợc cho nh sau:

101011010210111

Xi măngThépTấm lợp

200015001000

Trong ví dụ này biểu diễn quan hệ Hàng_hoá, trong đó MSMH là khoá Mỗigiá trị MSMH đều xác định duy nhất một loạI mặt hàng trong quan hệ Hàng_hoá

II.1.7 Định nghĩa bao đóng

Cho trớc S = <R,F> là sơ đồ quan hệ với R = {a1,a2, ,an} là tập hữu hạncác thuộc tính Trong đó F = <A1B1, ,AtBt> Và A  R Khi đó bao đóng của

r đợc gọi là bao đóng của A trong r

Nếu A là một tập bất kỳ ( tập cột bất kỳ ) thì A+ là tập hợp tất cả những cột

mà phụ thuộc hàm vào A trong sơ đồ quan hệ S, chúng ta có A+

r là tập hợp tất cả

Trang 17

các cột mà phụ thuộc hàm vào {a} trong tệp dữ liệu r Dễ thấy rằng theo hệ tiên đềcủa Amstrong thì.

Cho r = {h1,h2, hm }là tệp dữ liệu trên R = {a1,a2, ,an}

ta có AB (B phụ thuộc hàm r vào A) <=> B  A+

r

Kết quả này nói lên rằng một tập B nào đó mà phụ thuộc và tập A khi và chỉkhi B là tập con của bao đóng của A Nhờ có kết quả này, ngời ta không cần phải lutrữ tất cả các phụ thuộc hàm của một tệp dữ liệu hoặc của một sơ đồ quan hệ (số l -ợng này nh chúng ta đã biết có thể là một hàm số mũ ) mà vẫn kiểm tra đợc hai tậpthuộc tính bất kỳ (hai tập cột bất kỳ ) có phụ thuộc hàm với nhau hay không, bằngcách kiểm tra một tập này có phải là tập con của tập kia hay không Vì vậy chúng

ta chúng ta phải tính đợc bao đóng của một tập cột bất kỳ Nói cách khác chúng taphải tính đợc A+

Ngời ta đã tìm ra đợc hai thuật toán để tính A+ và A+

r với thời gian tính là đathức sẽ đợc trình bầy ở chơng sau

II.2 Các phép toán trên Cơ sở dữ liệu quan hệ

Trang 18

Nếu xem nh các trờng là cố định, khi đó có thể biểu diễn phép chèn dới dạngkhông tờng minh nh sau :

Insert (r ;d1,d2, ,dn)

Mục đích của phép chèn là thêm một bộ phận vào một quan hệ nhất

định.Kết quả của phép tính này có thể gây ra một số sai sót với những lý do sau đây:

1 Bộ mới thêm vào là không phù hợp với lợc đồ quan hệ cho trớc;

2 Một số giá trị của một số thuộc tính nằm ngoài miền giá trị của bộ đó;

3 Giá trị khoá của bộ mới có thể là giá trị đã có trong quan hệ đang lu trữ

Do vậy, tuỳ từng hệ cụ thể sẽ có từng cách khắc phục riêng

II.2.2 Phép loại bỏ (Del)

Phép loại bỏ là phép xoá một bộ ra khỏi quan hệ cho trớc Giống nh phépchèn, phép loại bỏ có dạng: r = r – t

DEL( r; B1 = e1,B2 = e2, , Bi = ei )

II.2.3 Phép thay đổi (CH)

Trong thực tế không phải lúc nào cũng chỉ dùng phép chèn hoặc loại bỏ đimột bộ mà nhiều khi chỉ cần sửa đổi một số giá trị nào đó tại một số thuộc tính, lúc

đó cần thiết phải sử dụng phép thay đổi

Gọi tập {C1,C2, ,Cp}là tập các thuộc tính mà tại đó các giá trị của bộ cầnthay đổi, khi đó phép thay đổi có dạng : r = r \ t  t’

CH( r; A1 = d1, A2 = d2, ,An = dn; C1 =e1, C2 = e2, Cp = ep)

Nếu K = {B1,B2, ,Bm}là khoá của quan hệ, khi đó chỉ cần viết :

CH( r; B1 = d1, B2 = d2, ,Bm = dm; C1 = e1, C2 = e2, ,Cp = ep )

Trang 19

Ví dụ:

Phép thay đổi là phép tính rất thuận lợi hay dùng Cũng có thể không dùngphép thay đổi mà dùng tổ hợp của phép loại bỏ và phép chèn bộ mới Do đó nhữngsai sót của phép thay đổi cũng sẽ xảy ra tơng tự nh phép chèn và phép loại bỏ

II.3 Các phép tính xử lý bảng

Yêu cầu bài toán:

Trong phần này chúng ta sẽ khảo sát một số phép toán sử lý bảng ( Tệp dữliệu ) Chúng tạo nên ngôn ngữ xử lý dữ liệu Ngôn ngữ xử lý dữ liệu là một ngônngữ quan trọng trong hệ quản trị cơ sở dữ liệu ngững hệ quản trị Cơ sở dữ liệu này

là những công cụ sắc bén cho chúng ta trong quá trình xử lý, đặc biệt là xử lý thôngtin trong các hệ thông tin quản lý nh: SQL for Windows, Orcale, IBM DB2,Foxpro, Access,

Ngôn ngữ xử lý dữ liệu đều dựa trên mô hình dữ liệu quan hệ Trong đó hạtnhân chủ yếu là tệp dữ liệu (bảng) Chúng ta sẽ khảo sát những phép toán xử lý tệpdữ liệu cơ bản nhất của cái nằm trong ngôn ngữ xử lý dữ liệu này Các phép toánnày đợc đề xuất bởi ngời sáng lập ra mô hình dữ liệu quan hệ

Các phép toán xử lý tệp dữ liệu sau đây đợc chắt lọc từ ngôn ngữ xử lý dữliệu (Ngôn ngữ đại số quan hệ)

Đại số quan hệ nh là cơ sở của ngôn ngữ bậc cao để thao tác trên quan hệ.Ngời khai thác cơ sở dữ liệu phải nêu ra những câu hỏi diễn tả yêu cầu tìm kiếmthông tin, kết xuất thông tin Đại số quan hệ cung cấp các phép toán để đáp ứngnhu cầu trên

Gọi r là một quan hệ trên tập thuộc tính R = {A1, ,An}

ở đây luôn giả thiết rằng quan hệ r là tập hữu hạn các bộ Đối với các phéphợp, giao và trừ, hai quan hệ tham gia phải là khả hợp

Cho trớc hai quan hệ

Từ hai quan hệ trên ta có các phép tính sau:

Trang 20

II.3.1 Phép hợp

Giả sử r và t là hai tệp dữ liệu cùng có n cột , trong ví dụ trên thì r và t có 3cột Khi đó quan hệ r  t là một quan hệ (tệp dữ liệu ) cũng n cột bao gồm các bảnghi (dòng) của cả r lẫn t Chú ý rằng những bản ghi giống nhau chỉ giữ lại một lần,nếu r và t là tệp dữ liệu có tên các cột khác nhau thì tệp dữ liệu hợp không ghi têncột nữa Nói cách khác là chỉ có khung mà thôi

Phép toán này dùng để hoà lẫn hai tệp dữ liệu có cùng số cột Hai tệp này

đều có cấu trúc cột nh nhau, nh vậy ta dùng phép hợp này thông thờng đối với haitệp có cùng số cột cùng cấu trúc cột

Kí kiệu của phép hợp hai quan hệ : r  t

Biểu diễn hình thức phép hợp có dạng: r  t :={s : s  r hoặc s  t}

Từ hai quan hệ cho trớc ta có phép hợp của hai quan hệ r và t:

rt: =

II.3.2 Phép trừ

Đợc thực hiện nh phép hợp, kết quả của phép trừ là lấy những dòng thuộc rnhng không thuộc t Trong trờng hợp tên cột khác nhau thì kết quả không có têncột

Ký hiệu phép trừ của hai quan hệ r và t: r \ t

Giả sử hai quan hệ r và t là hai tệp dữ liệu n cột khi đó quan hệ giao là quan

hệ n cột bao gồm các dòng có mặt trong cả r lẫn t Trong trờng r và t có tên cộtkhác nhau thì các cột của tệp dữ liệu giao không có tên

Ký hiệu phép giao của hai quan hệ r và t: r  t

Trang 21

Từ hai quan hệ cho trớc ở trên, ta có phép giao của r và t

đặt tên của tệp dữ liệu rồi đến dấu chấm rồi mới đến tên các cột đó

Ký hiệu phép tích Đề các của hai quan hệ r và t: r x t

Từ hai quan hệ cho trớc ở trên, ta có phép tích Đề các của r và t:

Trang 22

II.3.5 Phép chiếu

r là tệp dữ liệu n cột Kí hiệu i1,i2, ip(r) là phép chiếu lên tệp dữ liệu r ở đâyi1,i2, ,ip là p số chỉ thứ tự cột mà chúng ta muốn lấy ra khỏi r và hình thành mộttệp dữ liệu gồm p cột đó

Ví dụ: cho tệp dữ liệu r:

r =

Từ ví dụ trên ta có

1, 2(r ) =

1, 3(r) =

Nếu có nhiều dòng giống nhau thì ta chỉ lấy một dòng

Phép chiếu là phép phổ biến nhất dùng để nhặt ra một số các cột trong mộttệp dữ liệu cho trớc

II.3.6 Phép chọn

Cho tệp dữ liệu n cột , gọi F(r) là phép chọn

F: Là biểu thức điều kiện

Các phép so sánh trong biểu thức F la: <, >, >=, <=, =, , ;Các phép logíc

là  (và),  (hoặc) và  (không)

Hình thức phép chọn đợc định nghĩa nh sau:

F(r) = {t  r : F(t) = đúng }F(t) đợc hiểu là các giá trị của các thuộc tính xuất hiện trong biểu thức F tại

bộ t thoả mãn các điều kiện của F Kết quả của phép chọn là hình thành ra một tệp

Trang 23

dữ liệu mới có cấu trúc và số cột nh tệp dữ liêụ cũ, nhng dòng phải thoả mãn điềykiện F.

Ví dụ: Từ quan hệ r cho trên, chọn quan hệ r trên các thuộc tính (a1 = “1” a3 = “2”), ta đợc quan hệ mới có kết quả là số bộ giảm đi

F(r) =

II.3.7 Phép chia

Gọi r là tệp dữ liệu n cột và t là tệp dữ liệu m cột ( n > m , t   ) Phép chia

r  t là tập tất cả ( n – m ) bộ s sao cho:u  t thì bộ s  u  r

Ví dụ: Cho tệp dữ liệu

II.3.8 Phép kết nối có điều kiện

Gọi r là tệp dữ liệu n cột và t là tệp dữ liệu m cột Ký pháp  = {<, >, <=, >=,

} là các phép toán quan hệ số học

Khi đó phép kết nối có điều kiện với i và j là tên hoặc số cột tơng ứng của r

và t thoả mãn điều kiện  Ký hiệu là r >< t

Ví dụ: cho hai quan hệ:

Trang 24

II.3.9 Phép kết nối tự nhiên

Cho trớc r là tệp dữ liệu n cột, và t là tệp dữ liệu m cột Khi đó phép kết nối

tự nhiên là: r >< t Đợc thực hiện nh sau

a r x t

b Giả sử r và t có p cột tên giống nhau Đó là các cột A1,A2, ,Ap

Ký hiệu: B = r .A1 = t.A1   r.Ap = t.Ap

Ngày đăng: 07/08/2023, 15:52

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[4]. Luận văn tốt nghiệp “Phần mềm trợ giúp thiết kế CSDL quan hệ dạng chuẩn ba” của Phạm Thị Minh Châu, 1995 Sách, tạp chí
Tiêu đề: Phần mềm trợ giúp thiết kế CSDL quan hệ dạng chuẩn ba
[5]. Luận văn thạc sỹkhoa học toán lý “Một vài khía cạnh mở rộng cho lớp các phụ thuộc hàm trong mo hình cơ sở dữ liệu quan hệ ”, 1996 Sách, tạp chí
Tiêu đề: Một vài khía cạnh mở rộng cho lớp các phụ thuộc hàm trong mo hình cơ sở dữ liệu quan hệ
[6]. Nhập môn cơ sở dữ liệu quan hệ “Relational Database”, PGS, PTS Lê Tiến Vợng, NXB Thống kê, 1997 Sách, tạp chí
Tiêu đề: Relational Database
Nhà XB: NXB Thống kê
[1]. Cơ sở dữ liệu (Database), PGS, PTS Đỗ Trung Tuấn, NXB Giáo dục1998 Khác
[2]. Cấu trúc dữ liệu và giải thuật, PGS Đỗ Xuân Lôi, NXB Khoa học và kỹ thuật 1998 Khác
[3]. Cơ sở dữ liệu – Kiến thức và thực hành, PGS Vũ Đức Thi, NXB Thống kê 1997 Khác

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w