Cơ sở dữ liệu 3

59 1.2K 2
Cơ sở dữ liệu 3

Đ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

Cơ sở dữ liệu

sở dữ liệuPHẦN A: KIẾN THỨC BẢNCHƯƠNG I:CÁC KHÁI NIỆM BẢN VỀ SỞ DỮ LIỆUI. MỘT SỐ KHÁI NIỆM BẢNThí dụ trong một thư viện quá nhiều sách, để biết chúng hiện đang nằm ở đâu, trên giá nào và thể tìm kiếm dễ dàng thì các tên sách cần được sắp xếp lại theo thứ tự. Đối với mỗi cuốn sách người ta không chỉ ghi tên của chúng, mà còn ghi nhớ cả tên tác giả, năm xuất bản, nhà xuất bản, số trang,… Nếu như chỉ một số lượng nhỏ những cuốn sách thì người ta thể tìm kiếm ngay và lưu thông tin của chúng bằng thủ công. Nhưng nếu quá nhiều sách thì việc làm thủ công không còn thích hợp, phải sử dụng một sở dữ liệu để lưu trữ thông tin của chúng. Đối với danh bạ điện thoại cũng vậy, thông tin về từng con người được lưu trữ để tra cứu thuận tiện.Các sở dữ liệu (CSDL) dùng để lưu trữ các thuộc tính và các đối tượng của thế giới thực, xử lý và tìm kiếm dữ liệu trong hầu hết các tổ chức, từ kinh doanh, bảo hiểm, giáo dục, đến thư viện,… Công nghệ CSDL thể sử dụng trên máy tính đơn hoặc nhiều máy tính nối nhau (mạng), trong quy mô rộng lớn.1. Định nghĩa sở dữ liệu (CSDL)Cơ sở dữ liệu là tập hợp tổ chức của các dữ liệu về thế giới thực trong một lĩnh vực nào đó liên quan với nhau về mặt logic. Chúng được lưu trữ ở bộ nhớ ngoài.2. Định nghĩa môn sở dữ liệuMôn CSDL là lĩnh vực của tin học chuyên nghiên cứu các chế, nguyên lý, phương pháp tổ chức các nhóm dữ liệu trên các bộ nhớ ngoài nhằm phục vụ cho việc khai thác dữ liệu được tốt hơn. 3. Định nghĩa dữ liệuKhi nói đến dữ liệu là nói để những sự kiện đã biết; Chẳng hạn trong CSDL về các cuốn sách, dữ liệu bao gồm các sự kiện như tên sách, năm xuất bản, nhà xuất bản,… hay trong CSDL về số điện thoại, gồm tên người quen, số điện thoại, địa chỉ của họ. Các dữ liệu tuân theo loại dữ liệu được mô tả trước và được thể hiện dưới dạng văn bản, hình ảnh, âm thanh thậm chí cả những đoạn video. Chẳng hạn CSDL về thư viện thể lưu ảnh của bạn đọc.Dữ liệu là các sự kiện, văn bản, đồ họa, hình ảnh và đoạn phim video ý nghĩa trong môi trường của người dùng.II. KHUNG NHÌN DỮ LIỆU (VIEW OF DATA)1. Sự trừu tượng hoá dữ liệuNhững người sử dụng không phải luôn thành thạo về máy tính, vì vậy các nhà tin học phải che dấu sự phức tạp về biểu diễn bên trong của dữ liệu máy tính thông qua nhiều mức trừu tượng hoá dữ liệu để làm đơn giản hoá sự tương tác giữa người sử dụng và hệ thống.a. Mức vật lý (physical level):Mức thấp nhất của sự trừu tượng hoá, mô tả cách thức dữ liệu được lưu trữ thực sự.Ví dụ: Các mẫu tin được lưu thành những khối liên tiếp nhau (bye, từ nhớ,…). Trình biên dịch che dấu các chi tiết này không cho người lập trình thông thường biết, trừ những người quản trị CSDL.b. Mức luận lý (logical level):Mức trung gian, mô tả những dữ liệu nào được lưu trữ trong CSDL và mối liên kết giữa chúng. Người quản trị CSDL (database administrator) và các nhà lập trình thường xuyên làm việc ở mức này.Trang: 1 Cơ sở dữ liệuc. Mức quan niệm (conceptual level) hay con gọi là mức khung nhìn (view level):Đây là mức cao nhất của sự trừu tượng hoá. Mặc mức luận lý đã đơn giản hoá đi nhiều nhưng do CSDL kích thước quá lớn, nó vẫn còn phức tạp. Nhiều người sử dụng chỉ cần truy xuất một phần CSDL trong toàn bộ CSDL. Vì vậy khung nhìn được đặt ra để mô tả chỉ một phần của toàn bộ CSDL cho một nhóm người sử dụng nào đó. Ngoài ra, khung nhìn còn cung cấp chế an toàn để ngăn ngừa người sử dụng truy xuất trái phép các phần thẩm quyền.2. Tính độc lập dữ liệuTính độc lập dữ liệu là tính bất biến của các chương trình ứng dụng đối với các thay đổi trong cấu trúc lưu trữ và chiến lược truy xuất dữ liệu. Hay nói cách khác, độc lập dữ liệu là việc tách các mô tả dữ liệu ra khỏi các chương trình ứng dụng sử dụng dữ liệu đó. III. ƯU VÀ KHUYẾT ĐIỂM KHI TIẾP CẬN SỞ DỮ LIỆU1. Những ưu điểm khi tiếp cận CSDLa. Giảm bớt thừa dữ liệu: Khi hai hệ ứng dụng khác nhau cùng đòi hỏi những tập dữ liệu như nhau thì chỉ lưu trữ một lần và dùng chung cho cả hai hệ nói trên. Tuy nhiên việc thừa dữ liệu không thể hết được; chẳng hạn như các dữ liệu liên kết các tập tin dữ liệu khác nhau vẫn được lưu trữ trên nhiều tập tin.b. thể tránh được sự không nhất quán trong dữ liệu lưu trữ:Nếu dữ liệu lưu trữ ở nhiều nơi khác nhau thì thể không nhất quán do những thao tác cập nhật. Ở đây CSDL đã giảm được thừa thì khả năng rủi ro do thay đổi giá trị cũng giảm đi.c. Tăng tính dùng chung dữ liệu:Một CSDL được thiết kế để phục vụ chung cho tất cả các ứng dụng. Mỗi nhóm người dùng nhìn nhận CSDL như chỉ một mình họ sử dụng dữ liệu.d. Tính chuẩn hoá cao:Khi dữ liệu được sử dụng trong nhiều lĩnh vực thì chúng càng ngày càng được chuẩn hoá cho phù hợp với nhiều nhu cầu; việc theo chuẩn chung cho phép tăng hiệu quả sử dụng dữ liệu.e. Tăng tính an toàn dữ liệu:Người quản trị CSDL thể cho phép một nhóm người sử dụng nào đó sử dụng chỉ một nhóm dữ liệu thuộc thẩm quyền, bằng một mật mã đã được định trước. Đồng thời cũng thể kiểm tra các ý đồ truy xuất đến dữ liệu mật.f. thể giữ được sự toàn vẹn dữ liệu:CSDL chỉ được chứa các dữ liệu đúng. Nhờ sự quản lý tập trung, nó cho phép người quản trị định ra các thủ tục kiểm tra cần thiết khi thực hiện các thao tác cập nhật.Ví dụ: Số lượng hàng bán không thể vượt quá số lượng hàng đang tồn.g. thể đảm bảo tính độc lập dữ liệu cao.f. Giảm bớt việc bảo trì các chương trình.2. Giá phải trả cho ứng dụng CSDLNhư với bất kỳ quyết định kinh doanh nào, ứng dụng theo hướng CSDL cần trả giá và chịu một vài rủi ro như cần đến nhân sự mới và chuyên sâu, chi phí quản lý và thực hiện, giải quyết va chạm tâm lý…a. Nhu cầu về nhân sự mới, chuyên môn: Cần phải thuê hay tự đào tạo các chuyên gia công nghệ thông tin để phân tích, thiết kế, thực hiện CSDL trong tổ chức. Mặc khác công nghệ ngày càng phát triển nhanh đã khiến các hệ thống CSDL thường xuyên cập nhật tri thức cho các cán bộ.b. Chi phí về quản lý, thực hiện: Hệ thống quản trị CSDL nhiều người dùng thường lớn và phức tạp, đòi hỏi nhiều người tham gia và bảo trì. Người ta cần tính đến chi phí thiết bị máy tính, chi phí phần mềm, chi phí truyền thông.Trang: 2 Cơ sở dữ liệuc. Chi phí chuyển đổi hệ thống: Trước khi áp dụng CSDL, tổ chức đã xử lý dữ liệu theo phương pháp thủ công, hay sử dụng hệ thống xử lý tệp. Để chuyển công nghệ xử lý dữ liệu sang cách tiếp cận mới, tổ chức cần kinh phí chuyển các mô hình cũ sang mô hình mới, chuyển đổi dữ liệu cho phù hợp với môi trường mới.d. Nhu cầu sao chép và khôi phục dữ liệu: Tuy không mong muốn, nhưng đôi khi vẫn xẩy ra rủi ro với CSDL như mất dữ liệu, hỏng phần mềm, hư phần cứng,…Hệ thống CSDL các công cụ cho phép sao chép dữ liệu phòng khi hỏng hóc và khôi phục lại dữ liệu khi xảy ra sự cố.e. Va chạm về quan điểm sử dụng CSDL: Trước khi CSDL được áp dụng trong tổ chức, người ta cần thống nhất về mô tả dữ liệu, các khuôn dạng thể hiện dữ liệu,… Sau khi hình thành CSDL, việc sử dụng dữ liệu của CSDL cần đạt hiệu quả. Cần khuyến khích các bộ phận phát huy tốt hệ thống CSDL vì rất thể một số bộ phận nào đó muốn độc quyền thông tin hay e ngại dùng hệ thống tự động hoá, cho nên xu hướng giảm hiệu quả của CSDL.IV. HỆ THỐNG CSDL1. Hệ thống xử lý tệp cổ điểnTrong hệ thống xử lý tệp trước đây thì các bộ phận của công ty được tổ chức lưu trữ dữ liệu theo từng tập tin độc lập, không liên quan với nhau. Các ứng dụng của mỗi bộ phận được phát triển riêng lẽ và chỉ truy cập đến dữ liệu của riêng bộ phận đó, không một mô hình tổng thể cho toàn công ty. Hệ thống này nhanh hơn thao tác thủ công nhưng còn nhiều hạn chế:- Dễ xẩy ra tình trạng dữ liệu bị trùng lắp, phán tán, thiếu nhất quán.Ví dụ:Trong một trường đại học, kết quả học tập của sinh viên được lưu ở phòng Đào tạo, đồng thời cũng được lưu ở Phòng tài vụ để căn cứ vào đó mà phát học bổng cho sinh viên (gây thừa dữ liệu). Nhưng nếu kết quả học tập của một sinh viên đã bị sút giảm, em này đáng lý không còn được nhận học bổng như trước nữa. Nhưng do phòng tài vụ không cập nhật kịp thời thông tin này nên vẫn tiếp tục duy trì học bổng cho em (gây dữ liệu không nhất quán).- Số lượng dữ liệu tăng nhanh.- Sự chia sẽ dữ liệu bị hạn chế.- Chương trình ứng dụng làm chủ những cách tổ chức số liệu nên nó bị phụ thuộc dữ liệu. Hơn nữa, phí tổn viết và bảo trì chương trình cao.- Các mối liên hệ giữa các thông tin không được chú trọng.2. Hệ thống CSDLHệ thống CSDL là hệ thống thông tin, cho phép người sử dụng dùng chung các dữ liệu trong hệ thống. Khái niệm dùng chung, chia sẽ dữ liệu được dùng rộng rãi trong nhiều ứng dụng với nghĩa nhiều người dùng cùng truy cập một dữ liệu tại cùng một thời điểm. Vì vậy, hệ quản trị CSDL cần điều khiển sự tương tranh giữa các thao tác của nhiều ứng dụng. thể thao tác này cần cập nhật dữ liệu trong khi thao tác khác chỉ đọc dữ liệu này. Chẳng hạn trong hệ thống quản lý sách, nơi này cho độc giả mượn một cuốn sách, đang thể hiện trạng thái đánh dấu “đã cho mượn” vào thông tin của cuốn sách trong CSDL thì nơi khác cũng đang cho độc giả khác mượn cuốn sách đó.Hệ thống CSDL còn đảm bảo tính an toàn và toàn vẹn của dữ liệu. Dữ liệu an toàn nghĩa giữ được bí mật. Máy tính ngăn cản các truy cập không hợp lệ và khôi phục các sai sót trên dữ liệu nếu chẳng may sự an toàn không đảm bảo được. Người ta hay đề cập tính toàn vẹn của dữ liệu khi nói về tính an toàn. Tính toàn vẹn liên quan đến các điều kiện mà dữ liệu cần thỏa mãn. Các điều kiện, hay các ràng buộc trên dữ liệu cũng quan trọng đối với dữ liệu. Chẳng hạn số sách đã đăng ký trong hệ thống quản lý sách phải luôn bằng tổng số sách trong kho và số sách độc giả mượn. Quản lý các sai sót dữ liệu và điều khiển tính toàn vẹn dữ liệu đòi hỏi qui trình phức tạp trong hệ quản trị CSDL.3. Các thành phần của hệ thống CSDLTrang: 3 Cơ sở dữ liệuNhìn tổng quát, hệ thống CSDL gồm những thành phần sau:- Người dùng: Người dùng là người tiếp xúc với dữ liệu thông qua các ứng dụng, tức là thực hiện các phép như thêm, xoá, thay đổi dữ liệu hay yêu cầu nhận các dữ liệu từ CSDL. - Ứng dụng: Các chương trình, phần mềm cho phép người dùng truy cập dữ liệu đều được coi như ứng dụng của hệ thống CSDL.- Hệ quản trị CSDL: Hệ quản trị CSDL là phần mềm ứng dụng dùng để tạo mới, bảo trì và đảm bảo truy cập điều khiển đến các CSDL của người dùng.- Dữ liệu: Là thông tin liên quan đến ứng dụng, được lưu trữ trong các tập tin CSDL.- Hệ thống chủ: Hệ thống chủ là hệ thống máy tính quản lý các tập tin. Nó thực hiện việc truy cập tập tin dữ liệu. Vai trò của hệ quản trị CSDL là yêu cầu các phương tiện lưu trữ tập tin phục vụ các ứng dụng. Do vậy, hệ quản trị CSDL là phần mềm nằm trong phần mềm của hệ thống chủ.- sở dữ liệu: CSDL là tập các dữ liệu liên quan logic với nhau, được thiết kế để phục vụ các nhu cầu về thông tin của nhiều người dùng trong tổ chức. - Giao diện người dùng: Giao diện người dùng hay giao diện người sử dụng là các phương tiện cho phép người dùng thao tác với các thành phần của hệ thống CSDL.- Người quản trị CSDL: Người quản trị CSDL là người quyền điều khiển tập trung trên toàn bộ hệ thống, về cả dữ liệu lẫn các chương trình truy xuất các dữ liệu đó. Họ chuyên về công nghệ thông tin, nhiệm vụ tạo mới CSDL và cài đặt các điều khiển kỹ thuật.- Người phát triển hệ thống: Những người như phân tích viên hệ thống, lập trình viên được gọi là người phát triển hệ thống.V. HỆ QUẢN TRỊ CSDLHệ quản trị CSDL là một hệ thống phần mềm nhằm cung cấp cho người sử dụng một môi trường vừa thích hợp, vừa hiệu quả để khai thác CSDL theo 3 chức năng mô tả, lưu trữ, tìm kiếm, và cập nhật dữ liệu.Như vậy, HQTCSDL phải được thiết kế sao cho quản trị được một khối lượng lớn dữ liệu. Công việc quản trị này bao gồm: - Định nghĩa các cấu trúc để lưu trữ thông tin.- Cung cấp chế để sử dụng thông tin.- Tạo sự an toàn cho dữ liệu cho bất trắc của hệ thống.VI. TIẾN HÓA CỦA CÁC HỆ THỐNG CSDL1. Lịch sử của các hệ thống CSDLCác hệ thống CSDL được giới thiệu vào những năm 60 của thế kỉ XX và đã phát triển liên tục trong hàng chục năm qua. Một số công nghệ về CSDL đã phát triển lâu dài như mô hình quan hệ từ năm 1970 nhưng các hệ thống CSDL theo mô hình quan hệ ý nghĩa thương mại chỉ vào những năm 80. Các hệ thống CSDL đã khắc phục được nhiều hạn chế của hệ thống xử lý tệp truyền thống. Để đánh giá những gì đã đạt được trong thời gian qua của các hệ thống CSDL, người ta luôn nhìn nhận việc phát triển, tiến hoá theo các mục đích:- Cần thiết đảm bảo độc lập giữa chương trình và dữ liệu, giảm chi phí bảo trì.- Mong muốn quản lý nhiều loại dữ lịêu và cấu trúc dữ liệu phức tạp.- Yêu cầu truy cập dễ dàng đến dữ liệu, cho người dùng là chuyên viên công nghệ thông tin hay không.a. Từ năm 1960-1970: Các hệ thống xử lý tệp vẫn còn thông dụng trong giai đoạn này. Tuy nhiên, các hệ thống CSDL đầu tiên đã được giới thiệu, còn cồng kềnh. Thực ra, mô hình phân cấp và mô hình mạng đã tạo nên thế hệ thứ nhất cho hệ thống CSDL.b.Từ năm 1970-1980: Các hệ thống theo thế hệ thứ nhất vẫn được phát huy và nhiều sản phẩm thương mại. Tuy nhiên, hai mô hình phân cấp và mạng vẫn được dùng rộng rãi mặc chúng vẫn các nhược điểm như: Các thủ tục tìm kiếm bản ghi, người Trang: 4 Cơ sở dữ liệuta khó truy cập dữ liệu; tính độc lập giữa chương trình và dữ liệu chưa thật tốt; chưa sở lý thuyết hoàn thiện.c. Từ năm 1980-1990: Mô hình quan hệ của E.F.Codd đã khắc phục nhược điểm của hai mô hình CSDL trên. Mô hình CSDL quan hệ tạo nên các hệ thống CSDL thế hệ thứ hai. Các hệ thống quan hệ được bán nhiều trên thị trường và chiếm ưu thế so với các hệ thống CSDL khác. Người ta dùng ngôn ngữ SQL và các ngôn ngữ khác để truy cập dữ liệu.d. Từ năm 1990-2000: Những năm này, người ta vẫn sử dụng các CSDL trong những năm 80 của thế kỷ XX để quản trị dữ liệu với cấu trúc phức tạp như dữ liệu kế toán tài chính, dữ liệu đa phương tiện (âm thanh, đồ hoạ, hình ảnh). Trong những năm 90, vấn đề hướng đối tượng không những được đề cập trong ngành CSDL mà còn trong nhiều ngành tin học khác. Tuy nhiên cho đến nay chẳng mấy hệ thống CSDL hướng đối tượng xuất hiện trên thị trường.e. Từ năm 2000 trở đi: Trong chục năm tới, công nghệ về CSDL thể những đột phá đáng ngạc nhiên. Tuy nhiên người ta vẫn vạch ra các hướng vững chắc:- Các kiểu dữ liệu phức tạp được quản lý tốt hơn. Chúng gồm dữ liệu đa chiều, phù hợp với các ứng dụng của kho dữ liệu.- Phát triển tiếp tục các máy chủ cực lớn. Người ta dựa vào hệ quản trị CSDL quan hệ hướng đối tượng để thiết lập các CSDL khả năng quản lý nhiều loại dữ liệu đa dạng, thuận tiện cho các ứng dụng CSDL trên mạng Internet.- Các CSDL phân tán sẽ trở thành hiện thực. Do vậy các tổ chức thể phân bố các dữ liệu tại nhiều địa điểm xa nhau về không gian.- Việc lưu trữ dữ liệu theo địa chỉ và nội dung sẽ thông dụng hơn. Điều này cho phép người dùng truy cập dữ liệu theo nội dung của dữ liệu, mà không cần biết cách thức truy cập các dữ liệu này.- Các công nghệ về CSDL, trí tuệ nhân tạo và các dịch vụ thông tin sẽ tạo nên môi trường truy cập dữ liệu dễ dàng hơn, chẳng hạn giao tiếp bằng ngôn ngữ tự nhiên.Mô hình phân cấp và mô hình mạng được coi là đại diện cho các hệ thống CSDL thế hệ thứ nhất. Mô hình quan hệ đại diện cho hệ thống CSDL thế hệ thứ hai. Các mô hình CSDL thế hệ sau được kể ra gồm mô hình hướng đối tượng, mô hình phân tán, mô hình suy diễn.2. Mô hình phân cấp (Hierarchical model)- Mô hình phân cấp hay 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. Mỗi nút tương ứng với một kiểu dữ liệu, thể một hoặc nhiều trường, mô tả thực thể và một nhánh cây tạo nên một liên kết giữa kiểu dữ liệu này với kiểu dữ liệu khác. Mỗi nút đều một nút cha và nhiều nút con, trừ nút gốc là không cha. - Ví dụ:Trang: 5PHÒNGNHÂN VIÊN DỰ ÁNCHUYÊN MÔN CẤP DƯỚI THIẾT BỊ Cơ sở dữ liệu- Tuy nhiên, mô hình chỉ thể hiện được quan hệ 1-n, tức là mô tả được trường hợp nút cha nhiều nút con như một phòng thì thể nhiều nhân viên hay một phòng thể nhiều dự án, còn trường hợp ngược lại thì không. Chẳng hạn nếu một dự án mà thuộc về nhiều phòng thì dự án phải được lưu ở nhiều nơi khác nhau. Điều này gây 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 đến một đối tượng trong mô hình phân cấp là đường dẫn đi từ gốc đến phần tử cần xét trong cây phân cấp.3. Mô hình mạng- Mô hình mạng được biểu diễn như một đồ thị hướng. Mỗi nút thể nối với một nút bất kỳ để biểu diễn một liên kết 1-n thông qua con trỏ liên kết. Sự khác nhau chính giữa hệ thống mạng và hệ thống phân cấp là mô hình mạng không ràng buộc về số và hướng của các liên kết thiết lặp giữa các nút. - Ví dụ:4. Mô hình quan hệ- sở dữ liệu quan hệ được xây dựng theo lý thuyết do E.F.Codd giới thiệu năm 1970. Thuật ngữ “quan hệ” là do bảng dữ liệu hai chiều được Codd gọi là bảng quan hệ. Mô hình quan hệ khác hẳn với các mô hình trước nó và từ năm 1980 đã trở thành mô hình được dùng rộng rãi để phát triển hệ quản trị CSDL.- Theo mô hình quan hệ, dữ liệu được thể hiện trong bảng hai chiều, gồm các dòng và cột. Các bảng gọi là các “quan hệ”, các dòng gọi là các “bộ” và cột là “thuộc tính”. Theo cách nhìn của các mô hình trước thì mỗi dòng là một bản ghi, các thuộc tính cho biết ý nghĩa của các giá trị trong bản ghi.- Ví dụ:KHÁCH HÀNG Mã Tên Tuổi Địa chỉKhách hàng 1 Mơ 16 LángKhách hàng 2 Mận 18 BưởiKhách hàng 3 Đào 21 VọngĐƠN HÀNG Khách hàng Đơn hàngKhách hàng 1 Đơn hàng 1Khách hàng 1 Đơn hàng 2Khách hàng 2 Đơn hàng 3Khách hàng 2 Đơn hàng 4Khách hàng 3 Đơn hàng 5Trang: 6Công chứcNgân hàngTài khoảnKhách hàngĐăng kýtài khoản-khách hàngtài khoản-ngân hàngchủ tài khoảnngười quản lýnơi làmquản lý Cơ sở dữ liệu- Cơ sở dữ liệu quan hệ dùng các thuộc tính để liên kết dữ liệu giữa các bảng khác nhau thay vì dùng con trỏ để liên kết tập bản ghi như trong mô hình mạng. Chẳng hạn thuộc tính mã của bảng KHÁCH HÀNG và thuộc tính khách hàng của bảng ĐƠN HÀNG là hai thuộc tính dùng để liên kết hai bảng quan hệ này. Đi sâu vào chi tiết của mô hình quan hệ sẽ được giới thiệu trong Chương III.5. Mô hình hướng đối tượng- Mô hình phân cấp và mô hình mạng được xếp vào thế hệ đầu của CSDL. Thế hệ thứ hai của các hệ quản trị CSDL mô hình quan hệ. Các mô hình này được xem là mô hình cổ điển. Mô hình mới nhất được xếp vào thế hệ thứ ba của CSDL là mô hình hướng đối tượng. Công nghệ CSDL hướng đối tượng dùng lược đồ gồm tập các “lớp”. Mỗi lớp được mô tả gồm tập các “thuộc tính” và “phương thức”. Mỗi đối tượng thuộc lớp đều mang đầy đủ các thuộc tính và phương thức của lớp đó. - Thế hệ thứ ba của hệ quản trị nhằm đáp ứng các yêu cầu về:+ Các ứng dụng mới của công nghệ thông tin.+ Khai thác trong môi trường phức tạp như phân tán, không đồng nhất,…+ Xử lý các dữ liệu hướng đối tượng và thực hiện suy diễn trên các dữ liệu.- Theo cách tổ chức CSDL truyền thống, người ta thể viết đoạn chương trình riêng để mô tả các phương thức và dùng một giao diện để liên kết với hệ quản trị. Tuy nhiên điều quan trọng cần lưu ý là: trong CSDL truyền thống phần chương trình này là độc lập, còn trong CSDL hướng đối tượng thì chương trình này được mô tả như một đối tượng của CSDL. Vậy bằng công cụ đối tượng và phương thức, người ta thể lưu trữ và chia sẻ không những cấu trúc của đối tượng CSDL, mà còn cả các hành vi của các đối tượng.- Tuy tiếp cận hướng đối tượng được phổ biến vào đầu những năm 90 của thế kỷ XX nhưng đến nay vẫn chưa nhiều CSDL thuộc loại này do nó còn nhiều khuyết điểm:+ Chưa thống nhất rõ ràng các lĩnh vực của lý thuyết.+ Chưa phương pháp luận thiết kế CSDL hướng đối tượng theo cách hình thức như việc chuẩn hoá trong CSDL quan hệ. Rất ít hướng dẫn thiết kế CSDL hướng đối tượng cho phép tối ưu hoá. Điều này khiến hệ thống không hiệu quả.+ Các hệ thống chưa khả năng cho phép người dùng hỏi các câu hỏi tùy ý.+ Hệ thống thiếu các luật về tính toàn vẹn tổng quát.Trang: 7 Cơ sở dữ liệuCHƯƠNG II:TỔ CHỨC DỮ LIỆU Ở MỨC VẬT LÝI. QUẢN TRỊ TỆP VÀ QUẢN TRỊ CSDLĐịnh nghĩa tệp (file-tập tin):Tệp là đơn vị nhỏ nhất do phần mềm hệ thống quản lý, dùng để chứa các dữ liệu về ứng dụng, được đặt tên.Các tệp trên máy tính được lưu trên các phương tiện nhớ ngoài như băng, đĩa từ,… Đĩa từ được coi như đại diện cho phương tiện nhớ, cho phép truy cập trực tiếp. Điều này nghĩa hệ thống tới ngay bản ghi trên tệp mà không cần xét lần lượt một số bản ghi khác. Băng từ thường được lấy làm ví dụ về phương tiện nhớ tuần tự, nghĩa người ta cần xét lần lượt các bản ghi trên tệp trước khi thấy bản ghi cần thiết. Trước khi xây dựng CSDL với qui mô khoa học, người ta đã từng sử dụng hệ quản trị tệp, gồm các tệp trên băng từ, đĩa từ, và truy cập nhờ các ngôn ngữ lập trình trong hệ thống điều hành. Còn CSDL về bản chất cần bộ nhớ truy cập trực tiếp và hệ thống quản trị độc lập với hệ thống điều hành máy tính.Hình 1: Hệ thống quản trị tệp và hệ quản trị CSDLHệ thống điều hành máy tính đảm bảo việc vào/ra của dữ liệu. Nó là tập các chương trình nửa cố định, đảm bảo giao diện giữa chương trình ứng dụng và phần cứng máy tính. Hệ thống điều hành cho phép chương trình ứng dụng dùng các dịch vụ như quản lý bộ nhớ, thao tác vào/ra. Còn hệ quản trị CSDL thì tự đảm bảo các dịch vụ này. Dịch vụ chính trong hệ quản trị CSDL là quản lý các tệp vật lý.Định nghĩa tệp vật lý:Tệp vật lý là một phần trên bộ nhớ ngoài dùng để lưu trữ các bản ghi dữ liệu.Phần lộ ra của hệ thống điều hành là việc quản lý tệp và quản lý bộ nhớ. Khi máy tính đọc/ghi dữ liệu, không phải một xâu các byte được xử lý mà là một đoạn dữ liệu kích thước cố định. Đoạn này thường được gọi là trang nhớ, hay khối,… Như vậy một trang là đơn vị vào ra. Khi ghi dữ liệu, dữ liệu được ghi lên trang, khi trang đầy sẽ được chuyển đến bộ nhớ ngoài. Tương tự, nếu cần đọc vào, máy đọc lên trang rồi sau đó đưa vào bộ nhớ trong để xử lý.Mỗi trang trên đĩa số trang, cho biết vị trí tương đối trên đĩa. Qui ước này cho phép thông tin cập nhật của một trang được ghi đúng chỗ. Người quản lý đĩa trách nhiệm quản lý các số trang và dùng mã chuyên dụng đối với thiết bị để đọc/ghi trang đặc biệt của đĩa.Trang: 8Người dùng hệ thống tệp Người dùng CSDLChương trình ứng dụngHệ thống điều hành máy tínhHệ quản trị CSDLTệp dữ liệu CSDL Cơ sở dữ liệuII. TỔ CHỨC DỮ LIỆU Ở MỨC VẬT LÝ1. Chỉ sốĐịnh nghĩa chỉ số (index):Chỉ số là bảng dữ liệu hay cấu trúc dữ liệu dùng để xác định vị trí của các bản ghi trong tệp theo điều kiện nào đó.Định nghĩa tổ chức tệp theo chỉ số (indexed file organization):Tổ chức tệp theo chỉ số là kỹ thuật lưu trữ các bản ghi của tệp theo chế tuần tự hay không tuần tự, sử dụng bảng chỉ số cho phép phần mềm truy cập nhanh đến bản ghi cần thiết.Ví dụ:Người ta tập các dòng trong bảng sau:NHÂN VIÊN Mã nhân viên Tên Tên chi nhánh17 Đào Thanh Xuân63 Mơ Bình Minh44 Mận Thanh Xuân32 Quít Thanh Xuân71 Cam Bình Minh12 Bưởi Sao Sáng81 Xoài Bình MinhGiả sử cần tìm nhân viên ở chi nhánh “Sao Sáng” và mỗi bản ghi cần đến một phép đọc, để tìm thấy dòng tin đầu tiên thỏa điều kiện chúng ta phải mất 6 phép đọc. Nhưng nếu cần liệt kê tất cả các nhân viên làm ở chi nhánh “Sao Sáng” thì chúng ta phải rà soát tất cả các dòng tin; dòng nào cũng kiểm tra xem tên chi nhánh là “Sao Sáng” không. Việc tìm kiếm này sẽ nhanh hơn nếu chúng ta dùng chỉ số theo tên chi nhánh. Chỉ số là tập giá trị được sắp xếp. Chúng ta thể hình dung bảng chỉ số như mục lục của cuốn sách, được xếp theo thứ tự từ vựng, Căn cứ vào thông tin cần tra cứu, chúng ta đến được trang sách cần thiết.Nếu mỗi dòng trong CSDL sử dụng một trang nhớ thì chỉ số đối với chi nhánh dạng sau:Hình 2: Bảng chỉ số trỏ đến bộ nhớ.Trong thí dụ trên, thay vì duyệt nhiều dòng để trả lời câu hỏi, với bảng chỉ số chúng ta chỉ cần đọc dòng chỉ số, rồi theo con trỏ nhảy đến vị trí cần tìm. Nhưng thí dụ này còn quá xa thực tế. Với số lượng bản tin như vậy thì thường chỉ chiếm tối đa một trang nhớ và việc lập bảng chỉ số hay không thì thời gian dò tìm cũng chẳng khác biệt nhau là bao. Tuy nhiên những quan hệ lớn sẽ chiếm nhiều trang đĩa, việc quét toàn bộ quan hệ để tìm một số dòng sẽ dẫn đến việc tìm trên tất cả các trang, trừ khi chúng ta dùng bảng chỉ số. Bảng chỉ số kích thước nhỏ hơn bảng dữ liệu thực, vậy nên đọc và tải bảng chỉ số sẽ nhanh hơn rất nhiều. Sau khi đọc bảng chỉ số, hệ thống chỉ tìm trong các trang liên quan đến chỉ số, tức các trang thể các bản tin cần tìm. Bảng quan hệ càng lớn, số các bản tin yêu cầu càng ít thì việc dùng chỉ số càng hiệu quả.Mọi việc sẽ đơn giản nếu bảng chỉ số của chúng ta chỉ chiếm một trang nhớ. Tuy nhiên, với các bài toán lớn, bản thân bảng chỉ số đã chiếm nhiều trang. Khi đó thậm chí Trang: 9Sao Sáng6Thanh Xuân1,3,4Bình Minh2,5,7Trang 6Trang 1Trang 2Trang 3 Trang 4Trang 5 Trang 7 Cơ sở dữ liệucần phải chỉ số cho các bảng chỉ số. Một kỹ thuật hay được dùng là cây cân bằng, B-cây, hay cây B (balanced tree).Hình 3: Bảng chỉ số theo cây cân bằng.Tổ chức dữ liệu dạng cây đã được giới thiệu như một cấu trúc dữ liệu. Cây chỉ số sẽ dùng các trang nhớ. Mỗi trang sẽ ghi một số nhất định các chỉ số, chẳng hạn trong thí dụ mỗi trang ghi được hai chỉ số. Tùy theo thiết kế để tìm kiếm sau này, cây cân bằng thể lấy giá trị chỉ số tại gốc là chỉ số đầu tiên; các chỉ số lớn hơn sẽ được lưu trong các nút phải của cây; chỉ số nhỏ hơn chỉ số tại gốc sẽ được lưu trong nút trái của cây. Riêng nút gốc cây một giá trị chỉ số. Tại mỗi nút số con trỏ tùy thuộc vào số chỉ số trong từng nút. Nút một chỉ số sẽ hai con trỏ, con trỏ trái trỏ đến những nút giá trị nhỏ hơn; con trỏ phải trỏ đến những nút giá trị lớn hơn. Nếu nút 2 chỉ số thì sẽ 3 con trỏ cho nút đó. Con trỏ trái trỏ đến những nút giá trị nhỏ hơn chỉ số trái; con trỏ phải trỏ đến những nút giá trị nhỏ hơn chỉ số phải; con trỏ giữa trỏ đến những nút giá trị nằm trong khoảng hai giá trị chỉ số.Việc tìm kiếm trên cây tùy thuộc theo thủ tục duyệt cây, căn cứ vào thiết kế cây lúc đầu. Chẳng hạn để tìm dòng chỉ số 17, từ gốc người ta sang trái do 17<18, rồi thấy 17>10, người ta sang phải. Khi thấy trang với chỉ số 17, người ta theo con trỏ đến được nơi dữ liệu cần tìm.Sở dĩ cây tên cân bằng là vì độ sâu của nhánh trái và phải là như nhau. Tốc độ tìm kiếm một phần tử tùy thuộc vào độ sâu của nó. Trong trường hợp chúng ta thêm vào hoặc xoá bớt những bản tin thì cây thể không duy trì được sự cân bằng, dẫn đến tốc độ tìm kiếm không còn tối ưu như trước. Để khắc phục tình trạng này chúng ta cần sử dụng thuật toán để sắp xếp lại các chỉ số sau cho cây cân bằng.* Ưu và khuyết điểm của việc dùng bảng chỉ số:a. Ưu điểm:- Tìm kiếm nhanh.- thể kiểm tra sự mặt của dữ liệu dựa vào bảng chỉ số.b. Khuyết điểm:- Chi phí công sức và bộ nhớ cho việc tạo và bảo quản chỉ số.- Khi cập nhật dữ liệu nhất thiết phải cập nhật cả bảng chỉ số.- Khi bổ sung giá trị mới, cây chỉ số mất tính cân đối, gây tình tạng phải nhiều lần tổ chức lại cây.2. Hàm bămĐịnh nghĩa tổ chức tệp băm:Tổ chức tệp băm là cách tổ chức cho phép xác định địa chỉ của mỗi bản ghi dữ liệu theo thuật toán băm.Trang: 10188 9621 238 1021 33 3710 17 18 19chỉ sốTrang nhớ [...]... P(X): chỉ giữ lại một dòng trong số các dòng giống nhau Trang: 20 Cơ sở dữ liệu c Ví dụ: Với ví dụ trên, cho biết mã và tên của các môn học: KQ = MONHOC[maM, tenM] kết quả: KQ maM 01 02 03 04 tenM Cơ sở dữ liệu Cấu trúc dữ liệư Phân tích hệ thống Cấu trúc máy tính 3 Phép cộng (hợp) a Mục đích: Phép hợp của hai quan hệ thực chất là phép nối dữ liệu của hai quan hệ; điều kiện là hai quan hệ này phải cùng... toàn bộ của quan là: NHANVIEN = BIENCHE + HOPĐONG kết quả: NHANVIEN maNV 001 002 0 03 004 005 006 011 012 0 13 hotenNV Lê Văn Sỹ Nguyễn Chí Thanh Châu Văn Liêm Nguyễn An Ninh Phan Đình Phùng Ngô Gia Tự Lê Văn Tám Phạm Văn Đồng Nguyễn Văn Linh chucvu GĐ PGĐ TP PP donvi BGĐ BGĐ HCTH HCTH HCTH TV BV BV ĐTTH mucLG 550 500 480 475 33 3 290 290 255 31 0 Trang: 21 Cơ sở dữ liệu 014 Kim Đồng ĐTTH 31 0 4 Phép... được cung cấp: số hiệu hãng cung ứng, số hiệu mặt hàng và số lượng hàng gửi đi S S# SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Blacke 30 Paris SP S# S1 S1 S1 S2 S2 S3 P# P1 P2 P3 P1 P2 P2 QTY 30 0 200 400 30 0 400 200 Trang: 30 Cơ sở dữ liệu P P# P1 P2 P3 P4 PNAME Nut Bolt Screw Screw COLOR Red Green Blue Red WEIGHT 12 17 17 14 CITY London Paris Rom London Ta biểu thức ALPHA: {] WHERE . trị CSDLTệp dữ liệu CSDL Cơ sở dữ liệuII. TỔ CHỨC DỮ LIỆU Ở MỨC VẬT LÝ1. Chỉ sốĐịnh nghĩa chỉ số (index):Chỉ số là bảng dữ liệu hay cấu trúc dữ liệu dùng. Cơ sở dữ liệuPHẦN A: KIẾN THỨC CƠ BẢNCHƯƠNG I:CÁC KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆUI. MỘT SỐ KHÁI NIỆM CƠ BẢNThí dụ trong một thư

Ngày đăng: 13/11/2012, 12:02

Hình ảnh liên quan

c. Từ năm 1980-1990: Mô hình quan hệ của E.F.Codd đã khắc phục nhược điểm của hai mô hình CSDL trên - Cơ sở dữ liệu 3

c..

Từ năm 1980-1990: Mô hình quan hệ của E.F.Codd đã khắc phục nhược điểm của hai mô hình CSDL trên Xem tại trang 5 của tài liệu.
- Điểm nổi bật trong các thủ tục truy xuất đến một đối tượng trong mô hình phân cấp là đường dẫn đi từ gốc đến phần tử cần xét trong cây phân cấp. - Cơ sở dữ liệu 3

i.

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

uy.

nhiên, mô hình chỉ thể hiện được quan hệ 1-n, tức là mô tả được trường hợp nút cha có nhiều nút con như một phòng thì có thể có nhiều nhân viên hay một phòng có thể có nhiều dự án, còn trường hợp ngược lại thì không Xem tại trang 6 của tài liệu.
Hình 1: Hệ thống quản trị tệp và hệ quản trị CSDL - Cơ sở dữ liệu 3

Hình 1.

Hệ thống quản trị tệp và hệ quản trị CSDL Xem tại trang 8 của tài liệu.
Người ta có tập các dòng trong bảng sau: - Cơ sở dữ liệu 3

g.

ười ta có tập các dòng trong bảng sau: Xem tại trang 9 của tài liệu.
Chỉ số là bảng dữ liệu hay cấu trúc dữ liệu dùng để xác định vị trí của các bản ghi trong tệp theo điều kiện nào đó. - Cơ sở dữ liệu 3

h.

ỉ số là bảng dữ liệu hay cấu trúc dữ liệu dùng để xác định vị trí của các bản ghi trong tệp theo điều kiện nào đó Xem tại trang 9 của tài liệu.
cần phải có chỉ số cho các bảng chỉ số. Một kỹ thuật hay được dùng là cây cân bằng, B- B-cây, hay cây B (balanced tree). - Cơ sở dữ liệu 3

c.

ần phải có chỉ số cho các bảng chỉ số. Một kỹ thuật hay được dùng là cây cân bằng, B- B-cây, hay cây B (balanced tree) Xem tại trang 10 của tài liệu.
Hình 4: Phân bố địa chỉ các bản ghi vào trong không gian nhớ dựa vào hàm băm đã cho. - Cơ sở dữ liệu 3

Hình 4.

Phân bố địa chỉ các bản ghi vào trong không gian nhớ dựa vào hàm băm đã cho Xem tại trang 11 của tài liệu.
Lúc đó các bản ghi được lưu trữ như hình sau: - Cơ sở dữ liệu 3

c.

đó các bản ghi được lưu trữ như hình sau: Xem tại trang 12 của tài liệu.
Hình 5: Sử dụng vùng nhớ tràn để xử lý các bản ghi tràn trong tổ chức ngẫu nhiên dùng hàm băm - Cơ sở dữ liệu 3

Hình 5.

Sử dụng vùng nhớ tràn để xử lý các bản ghi tràn trong tổ chức ngẫu nhiên dùng hàm băm Xem tại trang 12 của tài liệu.
1. Bảng quan hệ - Cơ sở dữ liệu 3

1..

Bảng quan hệ Xem tại trang 16 của tài liệu.
Trong hình vẽ trên, chúng ta nhận thấy đồ thị có chứa một chu trình. Như vậy, CSDL sẽ phải có một ràng buộc toàn vẹn thuộc 1 trong 3 trường hợp sau: - Cơ sở dữ liệu 3

rong.

hình vẽ trên, chúng ta nhận thấy đồ thị có chứa một chu trình. Như vậy, CSDL sẽ phải có một ràng buộc toàn vẹn thuộc 1 trong 3 trường hợp sau: Xem tại trang 19 của tài liệu.
6. Phép kết nối tự nhiên - Cơ sở dữ liệu 3

6..

Phép kết nối tự nhiên Xem tại trang 23 của tài liệu.
Có bảng lịch thi và bảng môn học, hãy tổng hợp để in ra bảng lịch thi gồm mã môn, tên môn thi, ngày, phòng. - Cơ sở dữ liệu 3

b.

ảng lịch thi và bảng môn học, hãy tổng hợp để in ra bảng lịch thi gồm mã môn, tên môn thi, ngày, phòng Xem tại trang 23 của tài liệu.
Ngôn ngữ con dữ liệu ALPHA do E.F.Codd đề xướng và được sử dụng khá điển hình trong các HQTCSDL như INGRES, DAMAS - Cơ sở dữ liệu 3

g.

ôn ngữ con dữ liệu ALPHA do E.F.Codd đề xướng và được sử dụng khá điển hình trong các HQTCSDL như INGRES, DAMAS Xem tại trang 30 của tài liệu.
thoả các PTH tầm thường và Z C, nhưng bảng S vi phạm PTH CS  Z. - Cơ sở dữ liệu 3

tho.

ả các PTH tầm thường và Z C, nhưng bảng S vi phạm PTH CS  Z Xem tại trang 52 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan