Download IT asignment requirement and more Exams Credit and Risk Management in PDF only on Docsity!
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ DỮ LIỆU
(Dùng cho sinh viên hệ đào tạo đại học từ xa)
Lưu hành nội bộ
HÀ NỘI - 2006
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ DỮ LIỆU
Biên soạn : Ts. PHẠM THẾ QUẾ
KHÁI NIỆM CƠ BẢN VỀ
CÁC HỆ CƠ SỞ DỮ LIỆU
Trong chương này trình bày những khái niệm cơ bản về các hệ cơ sở dữ liệu do E.F Codd đề xuất. Những khái niệm này bao gồm mục tiêu của một hệ cơ sở dữ liệu. Sự cần thiết phải tổ chức dữ liệu dưới dạng cơ sở dữ liệu. Tính độc lập của dữ liệu thể hiện mô hình hình kiến trúc 3 mức. Vì vậy có thể nói cơ sở dữ liệu phản ảnh tính trung thực, khách quan của thế giới dữ liệu. Không dư thừa thông tin và cũng không thiếu thông tin. Nội dung của chương bao gồm các phần:
- Cơ sở dữ liệu là gì
- Sự cần thiết của các hệ cơ sở dữ liệu
- Mô hình kiến trúc 3 mức cơ sở dữ liệu
- Mục tiêu của các hệ cơ sở dữ liệu
- Hệ quản trị CSDL & người quản trị CSDL
- Tổ chức lưu trữ dữ liệu
- Các mô hình truy xuất
1.1 Cơ sở dữ liệu là gì
Cơ sở dữ liệu là một bộ sưu tập rất lớn về các loại dữ liệu tác nghiệp, bao gồm các loại dữ liệu âm thanh, tiếng nói, chữ viết, văn bản, đồ hoạ, hình ảnh tĩnh hay hình ảnh động....được mã hoá dưới dạng các chuỗi bit và được lưu trữ dưới dạng File dữ liệu trong các bộ nhớ của máy tính. Cấu trúc lưu trữ dữ liệu tuân theo các quy tắc dựa trên lý thuyết toán học. Cơ sở dữ liệu phản ảnh trung thực thế giới dữ liệu hiện thực khách quan. Cơ sở dữ liệu là tài nguyên thông tin dùng chung cho nhiều người : Cơ sở dữ liệu (CSDL) là tài nguyên thông tin chung cho nhiều người cùng sử dụng. Bất kỳ người sử dụng nào trên mạng máy tính, tại các thiết bị đầu cuối, về nguyên tắc có quyền truy nhập khai thác toàn bộ hay một phần dữ liệu theo chế độ trực tuyến hay tương tác mà không phụ thuộc vào vị trí địa lý của người sử dụng với các tài nguyên đó. Cơ sở dữ liệu được các hệ ứng dụng khai thác bằng ngôn ngữ con dữ liệu hoặc bằng các chương trình ứng dụng để xử lý, tìm kiếm, tra cưú, sửa đổi, bổ sung hay loại bỏ dữ liệu. Tìm kiếm và tra cứu thông tin là một trong những chức năng qua trọng và phổ biến nhất của các dịch vụ cơ sở dữ liệu. Hệ quản trị CSDL – HQTCSDL (DataBase Management System
- DBMS) là phần mềm điều khiển các chiến lược truy nhập CSDL. Khi người sử dụng đưa ra yêu cầu truy nhập bằng một ngôn ngữ con dữ liệu nào đó, HQTCSDL tiếp nhận và thực hiện các thao tác trên CSDL lưu trữ. Đối tượng nghiên cứu của CSDL là các thực thể và mối quan hệ giữa các thực thể. Thực thể và mối quan hệ giữa các thực thể là hai đối tượng khác nhau về căn bản. Mối quan hệ giữa các thực thể cũng là một loại thực thể đặc biệt. Trong cách tiếp cận CSDL quan hệ, người ta
dựa trên cơ sở lý thuyết đại số quan hệ để xây dựng các quan hệ chuẩn, khi kết nối không tổn thất thông tin và khi biểu diễn dữ liệu là duy nhất. Dữ liệu được lưu trữ trong bộ nhớ của máy tính không những phải tính đến yếu tố về tối ưu không gian lưu trữ, mà phải đảm bảo tính khách quan, trung thực của dữ liệu hiện thực. Nghĩa là phải đẩm bảo tính nhất quán của dữ liệu và giữ được sự toàn vẹn của dữ liệu.
1.2 Sự cần thiết của các hệ cơ sở dữ liệu
Tổ chức lưu trữ dữ liệu theo lý thuyết cơ sở dữ liệu có những ưu điểm: Giảm bớt dư thừa dữ liệu trong lưu trữ : Trong các ứng dụng lập trình truyền thống, phương pháp tổ chức lưu trữ dữ liệu vừa tốn kém, lãng phí bộ nhớ và các thiết bị lưu trữ, vừa dư thừa thông tin lưu trữ. Nhiều chương trình ứng dụng khác nhau cùng xử lý trên các dữ liệu như nhau, dẫn đến sự dư thừa đáng kể về dữ liệu. Ví dụ trong các bài toán nghiệp vụ quản lý "Cước thuê bao điện thoại" và "Doanh thu & sản lượng ", tương ứng với mỗi một chương trình là một hay nhiều tệp dữ liệu được lưu trữ riêng biệt, độc lập với nhau. Trong cả 2 chương trình cùng xử lý một số thuộc tính của một cuộc đàm thoại như “số máy gọi đi”, “số máy gọi đến”, “hướng cuộc gọi”, “thời gian bắt đầu” và “thời gian kết thúc” ....Nhiều thuộc tính được mô tả và lưu trữ nhiều lần độc lập với nhau. Nếu tổ chức lưu trữ theo lý thuyết CSDL thì có thể hợp nhất các tệp lưu trữ của các bài toán trên, các chương trình ứng dụng có thể cùng chia sẻ tài nguyên trên cùng một hệ CSDL. Tổ chức lưu trữ dữ liệu theo lý thuyết CSDL sẽ tránh được sự không nhất quán trong lưu trữ dữ liệu và bảo đảm được tính toàn vẹn của dữ liệu: Nếu một thuộc tính được mô tả trong nhiều tệp dữ liệu khác nhau và lặp lại nhiều lần trong các bản ghi, khi thực hiện việc cập nhật, sửa đổi, bổ sung sẽ không sửa hết nội dung các mục đó. Nếu dữ liệu càng nhiều thì sự sai sót khi cập nhật, bổ sung càng lớn. Khả năng xuất hiện mâu thuẫn, không nhất quán thông tin càng nhiều, dẫn đến không nhất quán dữ liệu trong lưu trữ. Tất yếu kéo theo sự dị thường thông tin, thừa, thiếu và mâu thuẫn thông tin. Thông thường, trong một thực thể, giữa các thuộc tính có mối quan hệ ràng buộc lẫn nhau, tác động ảnh hưởng lẫn nhau. Cước của một cuộc đàm thoại phụ thuộc vào khoảng cách và thời gian cuộc gọi, tức là phụ thuộc hàm vào các thuộc tính máy gọi đi, máy gọi đến, thời gian bắt đầu và thời gian kết thúc cuộc gọi. Các trình ứng dụng khác nhau cùng xử lý cước đàm thoại trên các thực thể lưu trữ tương ứng khác nhau chưa hẳn cho cùng một kết quả về sản lượng phút và doanh thu. Điều này lý giải tại sao trong một doanh nghiệp, cùng xử lý trên các chỉ tiêu quản lý mà số liệu báo cáo của các phòng ban, các công ty con lại cho các kết quả khác nhau, thậm chí còn trái ngược nhau. Như vậy, có thể khảng định, nếu dữ liệu không tổ chức theo lý thuyết cơ sở dữ liệu, tất yếu không thể phản ảnh thế giới hiện thực dữ liệu, không phản ảnh đúng bản chất vận động của dữ liệu. Sự không nhất quán dữ liệu trong lưu trữ làm cho dữ liệu mất đi tính toàn vẹn cuả nó. Tính toàn vẹn dữ liệu đảm bảo cho sự lưu trữ dữ liệu luôn luôn đúng. Không thể có mã vùng ngoài quy định của cơ quan quản lý, hoặc ngày sinh của một nhân viên không thể xẩy ra sau ngày tốt nghiệp ra trường của nhân viên đó...
- Mô hình ngoài được xác định bởi một sơ đồ ngoài bao gồm các mô tả về kiểu bản ghi ngoài như tên các trường, kiểu dữ liệu các trường, độ rộng của trường....
- Ngôn ngữ con dữ liệu của người sử dụng thao tác trên các bản ghi ngoài.
- Người sử dụng khác nhau có khung nhìn dữ liệu khác nhau.
- Người sử dụng đầu cuối có thể là các ứng dụng hay thao tác trực tiếp bằng ngôn ngữ thao tác, truy vấn dữ liệu. Mô hình dữ liệu (mô hình quan niệm) : Mô hình quan niệm là cách nhìn dữ liệu một cách tổng quát của người sử dụng. Nghĩa là có rất nhiều cách nhìn dữ liệu ở mô hình ngoài, nhưng chỉ có duy nhất một cách nhìn dữ liệu ở mức quan niệm. Biểu diễn toàn bộ thông tin trong CSDL là duy nhất.
- Mô hình dữ liệu gồm nhiều xuất hiện của nhiều kiểu bản ghi dữ liệu. Ví dụ kiểu xuất hiện bản ghi về nhân sự, kiểu xuất hiện bản ghi về doanh thu, sản lượng, kiểu xuất hiện bản ghi về cước đàm thoại...
- Mô hình dữ liệu được xác định bởi một sơ đồ dữ liệu mô tả của nhiều kiểu thực thể, chẳng hạn như mô tả thực thể tuyến cáp, các loại cáp, thầy giáo, học sinh... Sơ đồ dữ liệu bao gồm các định nghĩa về các kiểu bản ghi, đó là các ràng buộc cho quyền và tính toàn vẹn thích hợp. Những ràng buộc này chính là các tính chất của dữ liệu, tính liên kết các thuộc tính cùng một kiểu dữ liệu. Các định nghĩa này không bao hàm về cấu trúc lưu trữ, cũng như về chiến lược truy nhập, chúng chỉ là các định nghĩa về nội dung thông tin, về tính độc lập của dữ liệu trong mô hình quan niệm.
- Sơ đồ quan niệm luôn luôn ổn định, nghĩa là nếu mô tả thêm một kiểu thực thể đặc biệt sát nhập vào sơ đồ dữ liệu, không được làm thay đổi sơ đồ dữ liệu cũ. Nếu sơ đồ dữ liệu không ổn định thì các ứng dụng và mô hình ngoài cũng không ổn định. Sơ đồ dữ liệu chỉ được thay đổi khi có sự điều chỉnh trong thế giới thực, đòi hỏi điều chỉnh lại định nghĩa sao cho nó phản ảnh thế giới hiện thực khách quan hơn, chân lý hơn.
- Thiết kế mô hình dữ liệu là giai đoạn quan trọng và quyết định trong việc thiết kế và cài đặt các hệ cơ sở dữ liệu. Quá trình thiết kế không phụ thuộc quá nhiều vào cấu trúc lưu trữ vật lý và chiến lược truy nhập của dữ liệu. Như vậy việc thiết kế sơ đồ dữ liệu phải được tiến hành độc lập với việc thiết kế sơ đồ trong và các sơ đồ ngoài liên kết, vì nếu không việc thiết kế sẽ không ổn định và thường xuyên phải xem xét lại tác động thường xuyên đến nhiều thành phần khác của hệ thống.
- Với cách thiết kế truyền thống hiện nay, người thiết kế chỉ cung cấp một số sơ đồ trong và một tập các sơ đồ ngoài và họ coi đó là sơ đồ dữ liệu, là mô hình dữ liệu. Vì vậy tính không ổn định hệ thống, tính không phù hợp với các ứng dụng nảy sinh sau một thời gian hoạt động. Mâu thuẫn và dị thường thông tin sẽ xẩy ra. Vi phạm tính toàn vẹn của dữ liệu.
- Ngoài các định nghĩa về xuất hiện nhiều kiểu bản ghi quan niệm, sơ đồ dữ liệu còn chứa các định nghĩa về quyền truy nhập của người sử dụng, các thủ tục kiểm tra tính đúng đắn của dữ liệu nhằm bảo đảm tính toàn vẹn của CSDL. Các luồng lưu chuyển thông tin, quy định cách thức sử dụng thông tin..
Như vậy mô hình dữ liệu là cách nhìn toàn bộ nội dung thông tin của CSDL, sơ đồ quan niệm là định nghĩa của cách nhìn ấy. Là bước đi đầu tiên , quan trọng trong việc thiết kế và cài đặt các hệ cơ sở dữ liệu.
Hình 1.1 Kiến trúc hệ cơ sở dữ liệu
Ánh xạ ngoài / quan niệm
Mô hình dữ liệu Sơ đồ quan niệm
Hệ Quản trị CSDL
Mô hình ngoài Sơ đồ ngoài
Mô hình ngoài Sơ đồ ngoài
Mô hình trong - mô hình vật lý
Ánh xạ trong
End User 1
Application Programmer
End User n (^) Application Programmer
Mô hình trong : Mô hình trong là mô hình lưu trữ vật lý dữ liệu. Chỉ có duy nhất một và chỉ một cách biểu diễn CSDL dưới dạng lưu trữ vật lý. Mô hình trong là cách biểu diễn cơ sở dữ liệu trìu tượng ở mức thấp nhất.
- Mô hình trong gồm nhiều xuất hiện của nhiều kiểu bản ghi lưu trữ được xác định bởi một sơ đồ trong. Thông tin biểu diễn trong mô hình trong là duy nhất.
- Sơ đồ trong bao gồm các định nghĩa mô hình trong. Không chỉ xác định các kiểu khác nhau của bản ghi lưu trữ mà còn xác định rõ sự tồn tại của các chỉ dẫn, cách sắp xếp các
Các hệ ứng dụng khác nhau có nhiều khung nhìn khác nhau với dữ liệu như nhau. Các hệ ứng dụng độc lập với cấu trúc lưu trữ và chiến lược truy nhập. Giữa chúng không có sự ràng buộc lẫn với nhau. Điều này có nghĩa là các hệ ứng dụng hoàn toàn độc lập với bất cứ một cấu trúc lưu trữ và chiến lược truy nhập dữ liệu cụ thể nào. Ngược lại cấu trúc lưu trữ và chiến lược truy nhập dữ liệu không phụ thuộc vào bất kỳ hệ ứng dụng cụ thể nào. Người quản trị CSDL phải có khả năng đáp ứng với mọi sự thay đổi về cấu trúc lưu trữ và các chiến lược truy nhâp mà không cần biết tới có những hệ ứng dụng nào trên CSDL.
Người sử dụng
Lập trình ứng dụng
Nhà phân tích
Quản trị CSDL
Giao diện ứng dụng
Chương trình ứng dụng
Bộ công cụ Câu hỏi
Bộ công cụ quản trị
Code Chương trình ứng dụng
Biên dịch và Liên kết
DML Truy vấn
DDL Diễn xuất
Đánh giá Câu hỏi
DML biên dich Và tổ chức
Xử lý câu hỏi
Quản lý bộ đệm Quản lý File (^) cấp quyQuản lýền và toàn vẹn
Quản lý Giao tác
Quản lý bộ nhớ
Quản lý bộ nhớ Dữ liêu Chỉ số
Từ điển dữ liệu
Dữ liệu thống kê
Hình 1.2 Sơ đồ kiến trúc hệ thống cơ sở dữ liệu
1.5 Hệ quản trị CSDL & người quản trị CSDL
Hệ quản trị CSDL DBMS (DataBase Management System) là hệ thống phần mềm điều khiển toàn bộ các chiến lược truy nhập và cấu trúc lưu trữ cơ sở dữ liệu. Các chức năng chủ yếu của một hệ quản trị cơ sở dữ liẹu: QTCSDL
- Mô tả dữ liệu tạo lập và duy trì sự tồn tại của CSDL
- Cho phép truy xuất vào CSDL theo thẩm quyền đã được cấp
- Cập nhật, chèn thêm, loại bỏ hay sửa đổi dữ liệu mức tệp.
- Đảm bảo an toàn, bảo mật dữ liệu và tính toàn vẹn dữ liệu.
- Tạo cấu trúc dữ liệu tương ứng với mô hình dữ liệu.
- Đảm bảo tính độc lập dữ liệu. Tức là cấu trúc lưu trữ dữ liệu độc lập với các trình ứng dụng dữ liệu.
- Tạo mối liên kết giữa các thực thể.
- Cung cấp các phương tiện sao lưu, phục hồi (backup, recovery).
- Điều khiển tương tranh Các bước thực hiện của hệ quản trị CSDL có thể tóm tắt như sau:
- Người sử dụng đưa ra yêu cầu truy nhập bằng ngôn ngữ con dữ liệu.
- DBMS sẽ tiếp nhận và phân tích yêu cầu.
- DBMS xem xét sơ đồ ngoài, ánh xạ ngoài, sơ đồ quan niệm, ánh xạ trong,...
- Thực hiện các thao tác trên CSDL lưu trữ. Các thành phần của một hệ QTCSDL: Môtj hệ QTCSDL thông thường có các thành phần chính như sau:
- Ngôn ngữ định nghĩa dữ liệu (Data Definition Language).
- Ngôn ngữ thao tác dữ liệu (Data Manipulation Language).
- Ngôn ngữ truy vấn dữ liệu (Query Language).
- Bộ báo cáo (Report Write).
- Bộ đồ hoạ (Graphics Generator).
- Bộ giao tiếp ngôn ngữ chủ (Host Language Interface).
- Ngôn ngữ thủ tục (Procedure Language)
- Từ điển dữ liệu.
- Bộ phát sinh ứng dụng. Người quản trị CSDL là một người hay một nhóm người có khả năng chuyên môn cao về công nghệ tin học, có trách nhiệm quản lý và điều khiển toàn bộ hoạt động của các hệ CSDL Vì vậy người quản trị CSDL cần phải đặt ra các hình thức, quy định cho người sử dụng nhằm ngăn chặn việc truy nhập trái phép vào các hệ CSDL Người quản trị CSDL có thể cho phép người sử dụng những quyền truy nhập như chỉ được phép đọc, đọc một phần, có thể sửa, bổ sung một phần... Người quản trị CSDL có một số nhiệm vụ chính:
- Xác định thực thể và nội dung thông tin cần lưu trữ. Xác định sơ đồ quan niệm đáp ứng yêu cầu truy nhập của người sử dụng.
có thể xác định các thông tin về thuê bao có số điện thoại đó. Những ràng buộc logic có thể là ánh xạ một – một hoặc một – nhiều.
1.7 Các mô hình truy xuất dữ liệu
Truy nhập và khai thác các hệ cơ sở dữ liệu trở thành phương thức phổ biến trong các ứng dụng của hệ thống tin học, đặc biệt trên các mạng Internet/Intranet. Chuyển tải thông tin từ các hệ cơ sở dữ liệu lên mạng dưới dạng ngôn ngữ đánh dấu siêu văn bản HTML (HyperText Markup Language) hoặc bằng các ngôn ngữ khác nhằm cung cấp cho dịch vụ World Wide Web đa dạng và phong phú thêm. Truy nhập và khai thác các hệ cơ sở dữ liệu đòi hỏi phải nghiên cứu, giải quyết một số vấn đề về kỹ thuật lập trình mạng, lập trình cơ sở dữ liệu động trên các môi trường Internet và Intranet.
1.7.1 Mô hình cơ sở dữ liệu Client Server Một trong những mục tiêu khi kết nối các máy tính thành mạng là chia sẻ các tài nguyên thông tin. Một máy chủ cung cấp các loại dịch vụ cho nhiều máy khách thông qua môi trường mạng. Máy chủ và máy khách đều tham gia quá trình xử lý, vì vậy mô hình Client- Server 2 lớp trở nên phổ biến. Các máy khách (Clients) chia sẻ gánh nặng xử lý của máy chủ trung tâm. Khi máy khách thực hiện các ứng dụng, nó gửi yêu cầu về máy chủ được kết nối với cơ sở dữ liệu, máy chủ xử lý và gửi trả lại kết quả về máy khách.
- Trên các máy chủ, thường được cài đặt các hệ cơ sở dữ liệu bao gồm các bảng biểu, các thủ tục lưu trữ... và điều khiển các tiến trình sau: √ Quản lý dữ liệu. √ Bảo mật dữ liệu. √ Thực hiện truy vấn, ràng buộc và các thủ tục lưu trữ. √ Điều khiển lỗi.
- Các tiến trình được thực hiện trên máy khách. √ Tạo giao diện người sử dụng (User Inteface).
- Tương tác cơ sở dữ liệu ( Database Interaction) √ Cập nhật dữ liệu: thêm, sửa và xoá dữ liệu. √ Điều khiển lỗi.
- T n √
uản lý & xử lý của máy chủ (Server ) sẽ bị
nhiều khối mã nguồn khác nhau được cài đặt trên máy khách. Vì vậy khi có sự
uy hiên mô hình Client/Server vẫn còn nhiều bất cập: Mô hình Client/Server 2 lớp có hiệu quả cao với cac ứng dụng nhỏ và số lượng người sử dụng hạn chế. Khi nhiều máy khách (Clients) kết nối truy nhập vào cơ sở dữ liệu thì năng lực q giảm xuống, tốc độ xử lý chậm. √ Nhiều kết nối dữ liệu phải được duy trì. Mã nguồn không có khả năng dùng sử dụng lại. Một ứng dụng tồn tại trong
thay đổi mã nguồn người ta cần phải cài đặt lại trên tất cả máy khách, điều này rất khó có thể thực hiện được. √ Không có lớp trung gian điều khiển sự bảo mật và các giao dịch giữa máy khách và máy chủ.
Tow er System
Hình 1.3 Mô hình Client-Server 2 lớp^ Clients
- Trình duyệt Browser gửi yêu cầu cho Web Server.
- Web Server trả kết quả về cho trình duyệt
Network
Main Frame Computer
Data base
1.7.2 Mô hình Client/Server nhiều lớp Trong mô hình Client/Server 3 lớp (hay nhiều lớp), quá trình xử lý được phân tán trên 3 lớp khác nhau với các chức năng riêng biệt. Vì vậy mô hình này rất thích hợp cho việc tổ chức hệ thống thông tin trên mạng Internet và mạng Intranet hay trong các mạng cục bộ. Phát triển mô hình 3 lớp sẽ khắc phục được một số hạn chế của mô hình 2 lớp. Các hệ cơ sở dữ liệu được cài đặt trên các máy chủ Web Server và có thể được truy nhập không hạn chế các ứng dụng và số lượng người dùng.
- Lớp khách (Clients) :Chức năng của lớp này là cung cấp dịch vụ trình bày (Presentation Services). Thực hiện việc giao tiếp giũa người sử dụng với lớp giao dịch thông qua trình duyệt Browser hay trình ứng dụng để thao tác và xử lý dữ liệu. Thông thường giao diện người sử dụng được chứa trong các File OCX. Lớp này có thể cài đặt ở dạng ứng dụng Web gồm những trang ASP sử dụng các File OCX. Trong mô hình Internet (Internet model), lớp khách là trình duyệt Internet Explorer hay Netscape.
- Lớp giao dịch (Business Tier) cung cấp các dịch vụ quản trị, tổ chức và khai thác CSDL. Các componenet trước đây được cài đặt trên lớp khách, nay được cài đặt trên lớp giao dịch. Ví dụ, một người sử dụng trên máy khách đặt mua hàng, lớp giao dịch kiểm tra mã hàng còn nữa hay không mới quyết định tiếp tục bán hay không bán. Thành phần của lớp giao dịch trong mô hình Internet là Web Server và COM+/MTS. Công nghệ của Microsoft với Web Server là IIS (Internet Information Services) sử dụng ASP để kết nối Client với COM. Web Server giao tiếp với COM+/MTS component qua COM. COM+/MTS component điều khiển tất cả giao tiếp với lớp dữ liệu nguồn thông qua ODBC hoặc OLE - DB.
- Lớp nguồn dữ liệu (Data Source) Lớp nguồn dữ liệu cung cấp các dịch vụ tổ chức và lưu trữ các hệ cơ sở dữ liệu quan hệ. Sẵn sàng cung cấp dữ liệu cho lớp giao dịch. Đặc trưng của lớp này là SQL Server quản lý
Kỹ thuật kết nối CSDL- Web hỗ trợ cho người sử dụng có tạo ra những trang Web động tuỳ biến, kết nối tính toán và truy vấn cơ sở dữ liệu từ các máy khách từ xa nhờ các kỹ thuật HTML (HypeTex Markup Language), XML (eXtensible Markup Language) hoặc XSL (eXtensible Style Language). Kỹ thuật kết nối CSDL– Web phổ biến như:
Tow er System
Database
Tow er System Middleware Server
Tow er System Application
Tow er System
Network (^) Network
Hình 1.5 Mô hình Client-Server nhiều lớp
Database Server
Application Server
- CGI (Common Gateway Interface) hỗ trợ để tạo ra những trang Web tuỳ biến theo yêu cầu từ máy khách gửi đến.
- ISAPI (Internet Server Application Progamming Interface) cho phép lập trình ứng dụng trên máy người sử dụng Web dưới dạng một thư viện liên kết động đơn (Dynamic Link Library) được nạp cùng lúc vào bộ nhớ. Các ứng dụng của ISAPI thực hiện nhanh hơn các ứng dụng của CGI.
- IDC (Internet Database Connector) là một ứng dụng ISAPI, hỗ trợ của IIS (Internet Information Server) truy nhập CSDL qua ODBC kết nối CSDL trên Internet. Với công nghệ ASP (Active Server Pages) cho phép lập trình theo dạng kịch bản tạo những ứng dụng có tính tương tác và hiệu suất cao khi truy xuất cơ sở dữ liệu trên máy chủ.
- JDBC (Java DataBase Connectivity) hỗ trợ lập trình mạng truy xuất CSDL bằng ngôn ngữ Java. Cho phép người sử dụng đầu cuối truy nhập vào các hệ CSDL bằng MS SQL Server, MS Access, Oracle, hay bằng ngôn ngữ truy vấn SQL...
1.7.4 Kiến trúc hệ thống Server ( Server System Architecture ) Hệ thống kiến trúc Server bao gồm Server giao tác (Transaction Server ) và Data Server. Giao tác Server : Cũng được gọi là Query Server, cung cấp giao diện cho các trạm khách (Clients) có thể gửi câu hỏi và yêu cầu thực hiện và gửi trả lại kết quả. Yêu cầu có thể biểu diễn bằng ngôn ngữ SQL hoặc bằng giao tiếp trong trình ứng dụng.
- Tiến trình Server (Serverprocess): Tiến trình nhận các yêu cầu từ các máy trạm clients, thực hiện yêu cầu và trả lại kết quả cho các máy trạm. Các yêu cầu của máy trạm được
nhận từ giao tiếp người sử dụng hay từ tiến trình người sử dụng được nhúng trong SQL, JDBC hay trong các giao thức tương tự.
Tow er System
Database
User click (^1) Hyperlink Browser gửi yêu cầu^ đến Web Server
Web Server yêu cầu xử lý
CGI
3
Truy xuất & xử lý
4 Kết quả Truy xuất
5
Trả về trang Web
6
(^7) Web Server trả kết quả về Client Hiển thị kết quả
8
2
Hình 1.6 Cơ chế làm việc của một ứng dụng CGI
- Lock manager process: Đây là tiến trình khoá cấp quyền truy nhập cơ sở dữ liệu của tiến trình quản trị CSDL cho người sử dụng.
- Database writer process: Tiến trình cho phép đọc dữ liệu vào bộ nhớ phụ và được phép sửa đổi, sau đó được phép cập nhật trở lại CSDL.
- Log writer process: Tiến trình nhật ký theo dõi quá trinh đọc, sửa đổi và cập nhật trở lại dữ liệu của tiến trình Database writer process.
- Checkpoint process: Tiến trình kiểm soát định kỳ khuôn dạng trình bày.
- Process monitor process: Đây là tiến trình giám sát các tiến trình khác. nếu phát hiện một tiến trình nào đấy bị lỗi, nó yêu cầu ngắt và thực hiện lại. Server dữ liệu (Data Server) : Cho phép Clients tương tác với Servers bằng các thao tác đọc hay cập nhật dữ liệu. Ví dụ như File Server cung cấp giao diện hệ thống file cho các máy trạm clients có thể thực hiện tạo file, cập nhật dữ liệu, đọc dữ liệu hay xoá dữ liệu
Câu hỏi trắc nghiệm
- Cơ sở dữ liệu là: A. Một bộ sưu tập rất lớn về các loại dữ liệu tác nghiệp B. Một tập File dữ liệu C. Một tập các chương trình ứng dụng và dữ liệu. D. Hệ quản trị cơ sở dữ liệu.
- Cơ sở dữ liệu là tài nguyên thông tin... .. A. Truy xuất theo chế độ trực tuyến hay tương tác. B. Chia sẻ chung cho nhiều người sử dụng. C. Cài đặt trên mạng máy tính. D. Trên các thiết bị đầu cuối.
- Đối tượng nghiên cứu của CSDL là ..... A. Các thực thể. B. Các mối quan hệ. C. Các thực thể và mối quan hệ giữa các thực thể. D. Các mối liên kết giữa các thực thể.
- Cơ sở dữ liệu có những ưu điểm: A. Giảm bớt dư thừa dữ liệu trong lưu trữ: B. Tránh không nhất quán trong lưu trữ dữ liệu C. Bảo đảm được tính toàn vẹn của dữ liệu D. Không thể phản ảnh thế giới hiện thực dữ liệu,
- Mô hình kiến trúc 3 mức của hệ CSDL gồm: A. Mô hình trong, mô hình vật lý B. Mô hình dữ liệu C. Mô hình ngoài, khung nhìn của người sử dụng. D. Các mô hình con dữ liệu
- Mô hình dữ liệu là cách nhìn.... A. Toàn bộ nội dung thông tin của CSDL B. Khung nhìn của người sử dụng C. Là cách tổ chức lưu trữ D. Là cách biểu diễn cơ sở dữ liệu trìu tượng ở mức thấp nhất.
- Mục tiêu của các hệ cơ sở dữ liệu A. Cấu trúc lưu trữ dữ liệu và chiến lược truy nhập tới các hệ cơ sở dữ liệu. B. Dữ liệu chỉ được biểu diễn, mô tả một cách duy nhất. C. Cấu trúc dữ liệu và các hệ chương trình ứng dụng không phụ thuộc lẫn nhau. D. Cấu trúc lưu trữ dữ liệu và các hệ chương trình ứng dụng phụ thuộc lẫn nhau.
- Có rất nhiều cách nhìn dữ liệu ở ...... người sử dụng khác nhau có cách nhìn dữ liệu khác nhau và các hệ ứng dụng khác nhau có những cách nhìn dữ liệu cũng khác nhau. A. Mô hình ngoài.
B. Mô hình quan niệm. C. Mô hình trong. D. Mô hình dữ liệu
- Có duy nhất một cách nhìn dữ liệu ở ..........., biểu diễn toàn bộ nội thông tin trong CSDL đó là cách nhìn dữ liệu tổng quát của người sử dụng. A. Mô hình ngoài. B. Mô hình quan niệm. C. Mô hình trong. D. Mô hình dữ liệu
- Có duy nhất một và chỉ một cách biểu diễn CSDL dưới dạng lưu trữ ....... A. Logic. B. Vật lý. C. Tổng quát. D. Nội dung thông tin
Câu hỏi & bài tập
- Cơ sở dữ liệu là gì , hiểu thế nào là một hệ cơ sở dữ liệu tác nghiệp.
- Sự cần thiết tổ chức lưu trữ dữ liệu theo lý thuyết cơ sở dữ liệu.
- Cho ví dụ minh hoạ về giảm bớt dư thừa dữ liệu trong lưu trữ và không nhất quán dữ liệu trong lưu trữ làm cho dữ liệu mất đi tính toàn vẹn
- Trình bày tổng quát kiến trúc mô hình hệ cơ sở dữ liệu 3 lớp.
- Trình bày và phân tích tính ổn định trong mô hình quan niệm.
- Vai trò & chức năng của ánh xạ quan niệm trong & ánh xạ quan niệm ngoài.
- Mục tiêu của các hệ cơ sở dữ liệu? Ví dụ minh hoạ.
- Chứng minh rằng kiến trúc mô hình cơ sở dữ liệu 3 lớp đảm bảo được tính độc lập dữ liệu và tính ổn định cao.
- Tại sao nói, mô hình dữ liệu là cách nhìn toàn bộ nội dung thông tin của CSDL, sơ đồ quan niệm là định nghĩa của cách nhìn ấy. Ví dụ minh hoạ.
- Hiểu thế nào về khái niệm “tính toàn vẹn dữ liệu” và “tham chiếu toàn vẹn”.
- Hiểu như thế nào về tính độc lập của dữ liệu.
- Khái niệm File có gì khác với khái niệm cơ sở dữ liệu, ví dụ minh họa ?.
- Tổ chức lưu trữ dữ liệu kỹ thuật hàm băm. Cho ví dụ minh hoạ.
- Chức năng & vai trò của hệ quản trị CSDL & người quản trị CSDL.
- Trình bày kỹ thuật tổ chức lưu trữ dữ liệu theo B-cây cân bằng Files.
- Hiểu thế nào về hệ quản trị CSDL (DataBase Management System DBMS)
- Người quản trị CSDL
- Nêu mọt số nhiệm vụ chính của người quản trị CSDL.
- Nêu một số thí dụ về ràng buộc kiểu, ràng buộc giải tích và ràng buộc logic.
- Mô hình cơ sở dữ liệu Client- Server.