Tổng quan Cơ sở dữ liệu

59 298 0
Tổng quan Cơ sở dữ liệu

Đ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í dụ trong một thƣ viện có quá nhiều sách, để biết chúng hiện đang nằm ở đâu, trên giá nào và có 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ỉ có một số lƣợng nhỏ những cuốn sách thì ngƣời ta có 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 có 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 cơ 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 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 có 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.

sở dữ liệu Trang: 1 PHẦN A: KIẾN THỨC BẢN CHƢƠNG I: CÁC KHÁI NIỆM BẢN VỀ SỞ DỮ LIỆU I. MỘT SỐ KHÁI NIỆM BẢN Thí 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) 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ệu Mô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ệu Khi 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ệu Nhữ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. sở dữ liệu Trang: 2 c. 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ệu Tí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ỆU 1. Những ƣu điểm khi tiếp cận CSDL a. 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 dƣ 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 dƣ 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 CSDL Nhƣ 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. sở dữ liệu Trang: 3 c. 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 CSDL 1. Hệ thống xử lý tệp cổ điển Trong 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 CSDL Hệ 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. sở dữ liệu Trang: 4 3. Các thành phần của hệ thống CSDL Nhì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Ị CSDL Hệ 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 CSDL 1. Lịch sử của các hệ thống CSDL Cá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. sở dữ liệu Trang: 5 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 ta 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ụ: PHÒNG NHÂN VIÊN DỰ ÁN CHUYÊN MÔN CẤP DƢỚI THIẾT BỊ sở dữ liệu Trang: 6 - 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 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 đế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áng Khách hàng 2 Mận 18 Bƣởi Khách hàng 3 Đào 21 Vọng ĐƠN HÀNG Khách hàng Đơn hàng Khách hàng 1 Đơn hàng 1 Khách hàng 1 Đơn hàng 2 Khách hàng 2 Đơn hàng 3 Khách hàng 2 Đơn hàng 4 Khách hàng 3 Đơn hàng 5 Công chức Ngân hàng Tài khoản Khách hàng Đăng ký tài khoản-khách hàng tài khoản-ngân hàng chủ tài khoản ngƣời quản lý nơi làm quản sở dữ liệu Trang: 7 - 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. sở dữ liệu Trang: 8 CHƢƠ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ị CSDL Hệ 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. Ngƣời dùng hệ thống tệp Ngƣời dùng CSDL Chƣơng trình ứng dụng Hệ thống điều hành máy tính Hệ quản trị CSDL Tệp dữ liệu CSDL sở dữ liệu Trang: 9 II. 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ánh 17 Đào Thanh Xuân 63 Mơ Bình Minh 44 Mận Thanh Xuân 32 Quít Thanh Xuân 71 Cam Bình Minh 12 Bƣởi Sao Sáng 81 Xoài Bình Minh Giả 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í Sao Sáng 6  Thanh Xuân 1,3,4  Bình Minh 2,5,7  Trang 6 Trang 1 Trang 2 Trang 3 Trang 4 Trang 5 Trang 7 sở dữ liệu Trang: 10 cầ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. 18 8 9 6 21 23 8 10 21 33 37 10 17 18 19 chỉ số Trang nhớ . Tệp dữ liệu CSDL Cơ sở dữ liệu Trang: 9 II. 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. 1. Định nghĩa cơ sở dữ liệu (CSDL) Cơ sở dữ liệu là tập hợp có 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 đó có liên quan với nhau

Ngày đăng: 30/07/2013, 16:59

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan