CHƯƠNG 1: TỔNG QUAN CƠ SỞ DỮ LIỆU Mã chương: MH08-01 ❖ Giới thiệu: Chương này chúng ta cùng tìm hiểu các khái niệm về cơ sở dữ liệu (CSDL), đối tượng sử dụng, các điểm đặc, tính độc lập dữ liệu, các sơ đồ quan hệ, các vấn đề mà CSDL cần giải quyết, các mô hình CSDL quan hệ, giới thiệu một số phần mềm hệ quản trị CSDL thông dụng. ❖ Mục tiêu: - Nắm được các khái niệm về cơ sở dữ liệu. - Hiểu được kiến trúc của một hệ cơ sở dữ liệu. - Phân tích được các đặc điểm chung của dữ liệu, thông tin và tính độc lập dữ liệu.
- Phân loại được người dùng CSDL - Phân loại được các mô hình dữ liệu, các sơ đồ quan hệ. - Nắm được tầm quan trọng của các mô hình dữ liệu quan hệ. - Vận dụng để giải quyết các bài toán về mô hình dữ liệu quan hệ. ❖ Nội dung chính: MỘT SỐ KHÁI NIỆM CẢN BẢN 1.
Cơ sở dữ liệu Cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị như băng từ, đĩa từ,… để có thể thoả mãn yêu cầu khai thác đồng thời của nhiều người sử dụng. CSDL gắn liền với đại số, logic toán và một số lĩnh vực khác. Ví dụ: Thông tin khách hàng, danh bạ điện thoại, điểm sinh viên… là các CSDL ở thực tế, với trên máy tính các CSDL này được lưu trữ trên trên các thiết bị lưu trữ thông qua các phần mềm CSDL. Là một tập hợp dữ liệu được tổ chức theo một cấu trúc chặt chẻ nhằm phục vụ (chia sẽ) cho nhiều mục tiêu khác nhau một cách có chọn lọc Ví dụ : Cơ sở dữ liệu nhân viên, Khoa Công nghệ thông tin – TCN Quang Trung Trang 9 Giáo trình Cơ sở dữ liệu Cơ sở dữ liệu hàng hóa … Đặc trưng theo hướng CSDL: 2.
Ưu điểm của cơ sở dữ liệu Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu. - Đảm bảo tính bảo mật ở mức độ có thể. - Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau. - Khả năng chia sẻ thông tin cho nhiều người sử dụng.
- Đảm bảo tính toàn vẹn, lưu trữ lâu dài. Những vấn đề mà CSDL cần phải giải quyết Tính chủ quyền của dữ liệu Tính chủ quyền của dữ liệu được thể hiện ở phương diện an toàn dữ liệu, khả năng biểu diễn các mối liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ liệu. Điều này có nghĩa là người khai thác CSDL phải có nhiệm vụ cặp nhật các thông tin mới nhất của CSDL. tính bảo mật và quyền khai thác thông tin của người sử dụng Do có nhiều người được phép khai thác dữ liệu một cách đồng thời, nên cần thiết phải có một cơ chế bảo mật và phân quyền hạn khai thác CSDL.
Các hệ điều hành nhiều người sử dụng hay hệ điều hành mạng cục bộ đều có cung cấp cơ chế này. Tranh chấp dữ liệu Nhiều người được phép truy nhập cùng một lúc vào tài nguyên dữ liệu của CSDL với những mục đích khác nhau, do đó cần thiết phải có một cơ chế ưu tiên khi truy nhập dữ liệu. Cơ chế ưu tiên có thể được thực hiện bằng việc cấp quyền ưu tiên cho từng người khai thác. Đảm bảo an toàn dữ liệu khi có sự cố Khoa Công nghệ thông tin – TCN Quang Trung Trang 10 Giáo trình Cơ sở dữ liệu Việc quản lý dữ liệu tập trung có thể làm tăng khả năng mất mát hoặc sai lệch thông tin khi có sự cố như mất điện đột xuất, hay một phần đĩa lưu trữ CSDL bị hư,… một số hệ điều hành mạng có cung cấp dịch vụ sao lưu ảnh đĩa cứng, tự động kiểm tra và khắc phục lỗi khi có sự cố.
Tuy nhiên, bên cạnh dịch vụ của hệ điều hành, để đảm bảo CSDL luôn ổn định, một CSDL nhất thiết phải có một cơ chế khôi phục dữ liệu khi có các sự cố bất ngờ xảy ra. Các đối tượng sử dụng CSDL Không chuyên về CSDL Những người sử dụng CSDL không chuyên về lĩnh vực tin học và CSDL. Chuyên về CSDL Chuyên viên khai thác CSDL Các chuyên viên CSDL biết khai thác CSDL Những người này có thể xây dựng các ứng dụng khác nhau, phục vụ cho các mục đích khác nhau trên CSDL. Quản trị CSDL Những người quản trị CSDL, đó là những người hiểu biết về tin học, về các hệ quản trị CSDL và hệ thống máy tính.
Họ là người tổ chức CSDL. Do đó, họ phải nắm rõ các vấn đề kỹ thuật về CSDL để có thể phục hồi CSDL khi có sự cố. Họ là những người cấp quyền hạn khai thác CSDL, do vậy họ có thể giải quyết được các vấn đề tranh chấp dữ liệu nếu có. Quản trị viên: DBA – Database Administrator Có trách nhiệm quản lý hệ CSDL ✓ Cấp quyền truy cập ✓ Điều phối việc sử dụng ✓ Giám sát việc sử dụng ✓ Tìm kiếm & đảm bảo phần cứng, phần mềm liên quan Chịu trách nhiệm cho các vấn đề liên quan đến ✓ Tính an toàn của hệ CSDL Khoa Công nghệ thông tin – TCN Quang Trung Trang 11 Giáo trình Cơ sở dữ liệu ✓ Khả năng đáp ứng của hệ CSDL Thiết kế viên:DBD – Database Designer Chịu trách nhiệm về vấn đề : ✓ Quyết định những dữ liệu nào cần được lưu trữ ✓ Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu Trao đổi với người dùng để nắm bắt được những yêu cầu và đưa ra một thiết kế CSDL thỏa yêu cầu này.
Có thể là thành viên của ✓ Nhóm DBA quản lý các CSDL ✓ Các nhóm khác sau khi việc thiết kế hoàn tất (nhóm lập trình,…) Người dùng cuối ( End Users) Người ít sử dụng (Casual users ✓ Ít khi truy cập CSDL, nhưng cần những thông tin khác nhau trong mỗi lần truy cập và dùng những câu truy vấn phức tạp ✓ Người quản lý Người sử dụng thường xuyên (Naïve users) ✓ Thường xuyên truy vấn và cập nhật CSDL nhờ vào một số các chức năng đã được xây dựng sẳn và kiểm thử ✓ Nhân viên Người sử dụng đặc biệt (Sophisticated users) ✓ Thông thạo về HQT CSDL, tự xây dựng những truy vấn phức tạp cho công việc ✓ Kỹ sư, nhà khoa học, người phân tích,… Người sử dụng cá nhân (stand-alone users) ✓ Sử dụng các ứng dụng truy cập HQT CSDL để phục vụ công việc cá nhân ✓ Người sử dụng chương trình quản lý thuế cá nhân, … 5. Hệ quản trị CSDL (DATA BASE MANAGEMENT SYSTEM) Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra như đã nói ở trên, cần thiết phải có những phần mềm chuyên dùng để khai thác chúng. Những phần mềm này được gọi là các hệ quản trị CSDL. Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho các nhà phân tích thiết kế CSDL cũng như những người khai thác CSDL.
Hiện nay trên thị trường phần mềm đã có những hệ quản trị Khoa Công nghệ thông tin – TCN Quang Trung Trang 12 Giáo trình Cơ sở dữ liệu CSDL hỗ trợ được nhiều tiện ích như: MS Access, Visual Foxpro, SQL Server Oracle, … Mỗi hệ quản trị CSDL đều được cài đặt dựa trên một mô hình dữ liệu cụ thể. Dù là dựa trên mô hình dữ liệu nào, một hệ quản trị CSDL cũng phải hội đủ các yếu tố sau: Ngôn ngữ giao tiếp giữa người sử dụng và CSDL: Ngôn ngữ mô tả dữ liệu Để cho phép khai báo cấu trúc của CSDL, khai báo các mối liên hệ của dữ liệu và các quy tắc quản lý áp đặt lên các dữ liệu đó. Ngôn ngữ thao tác dữ liệu Cho phép người sử dụng có thể cập nhật dữ liệu (thêm/sửa/xoá) Ngôn ngữ truy vấn dữ liệu Cho phép người khai thác sử dụng để truy vấn các thông tin cần thiết trong CSDL Ngôn ngữ quản lý dữ liệu: Cho phép những người quản trị hệ thống thay đổi cấu trúc của các bảng dữ liệu, khai báo bảo mật thông tin và cấp quyền hạn khai thác CSDL cho người sử dụng.,… Từ điển dữ liệu Dùng để mô tả các ánh xạ liên kết, ghi nhận các thành phần cấu trúc của CSDL, các chương trình ứng dụng, mật mã, quyền hạn sử dụng,… Cơ chế giải quyết vấn đề tranh chấp dữ liệu Mỗi hệ quản trị CSDL cũng có thể cài đặt một cơ chế riêng để giải quyết các vấn đề này. Một số biện pháp sau đây thường được sử dụng: Thứ nhất: cấp quyền ưu tiên cho từng người sử dụng; Thứ hai: Đánh dấu yêu cầu truy xuất dữ liệu, phân chia thời gian, người nào có yêu cầu trước thì có quyền truy xuất dữ liệu trước,… Cơ chế sao lưu (backup) và phục hồi (restore) Điều này có thể thực hiện sau một thời gian nhất định hệ quản trị CSDL sẽ tự động tạo ra một bản sao CSDL, cách này hơi tốn kém, nhất là đối với CSDL lớn.
Cung cấp giao diện thân thiện và dễ sử dụng Hệ quản trị CSDL phải cung cấp một giao diện thân thiện, dễ sử dụng cho nhiều đối tượng sử dụng. Một số phần mềm CSDL thông dụng - Microsoft Access - MySQL Khoa Công nghệ thông tin – TCN Quang Trung Trang 13 Giáo trình Cơ sở dữ liệu - Oracle - SQL Server - Ngoài ra, còn một số phần mềm khác như DB2, Foxpro… Chú ý: Giáo trình này chúng tôi thể hiện các ví dụ thông qua phần mềm Microsoft Access hoặc SQL Server 2005 (2008). Các ứng dụng của CSDL Hiện nay, hầu như CSDL gắn liền với mọi ứng dụng của tin học gắn kết với thực tiễn của xã hội ở nhiều lĩnh vực khác nhau như: quân sự quốc phòng, kinh tế, giáo dục đào tạo, y học, khoa học xã hội… - Hệ thống đặt trước vé tàu xe - Hệ thống quản lý thư viện - Ngân hàng - Hệ thống giáo dục cao cấp - Mạng xã hội - Viễn thông - Tài chính - Quân đội - Mua sắm trực tuyến - Quản trị nhân sự - Chế tạo CÁC MÔ HÌNH CƠ SỞ DỮ LIỆU Mô hình dữ liệu là sự trừu tượng hoá môi trường thực. Mỗi loại mô hình dữ liệu đặc trưng cho một cách tiếp cận dữ liệu khác nhau của những nhà phân tích thiết kế CSDL.
Mỗi loại mô hình dữ liệu đều có những ưu điểm và những mặt hạn chế của nó, nhưng vẫn có những mô hình dữ liệu nổi trội va được nhiều người quan tâm nghiên cứu. Sau đây chúng ta sẽ điểm qua lịch sử phát triển của các mô hình dữ liệu.