Giáo trình: Phân tích, thiết kế xây dựng và quản trị các hệ thống cơ sở dữ liệu
lượt xem 133
download
Tài liệu này được biên soạn trong khuôn khổ đào tạo thuộc. Đề án 112 với thời gian tập huấn chính thức là 45 tiết. Mụctiêu chính của tài liệu này là: nhằm trang bị cho học viên các kiến thức và kỹ năng cơ bản trong việc phân tích, thiết kế và xây dựng các hệ thống cơ sở dữ liệu.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giáo trình: Phân tích, thiết kế xây dựng và quản trị các hệ thống cơ sở dữ liệu
- CHƯƠNG TRÌNH TỔNG THỂ CẢI CÁCH HÀNH CHÍNH CỦA CHÍNH PHỦ GIAI ĐOẠN (2001-2010) BAN ĐIỀU HÀNH ĐỀ ÁN 112 GIÁO TRÌNH PHÂN TÍCH, THIẾT KẾ, XÂY DỰNG VÀ QUẢN TRN CÁC HỆ THỐNG CƠ SỞ DỮ LIỆU (Giáo trình nộp lần 2)
- Tháng 8 - 2004 Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 2
- MỤC LỤC Lời giới thiệu ................................................................... 10 Chủ đề I: Khái niệm cơ sở dữ liệu ................................. 16 1. Giới thiệu chung ........................................................ 16 2. Các khái niệm cơ bản ................................................. 17 2.1. Cơ sở dữ liệu ........................................................ 17 a. Các hệ thống xử lý tệp truyền thống .................... 18 b. Cách tiếp cận cơ sở dữ liệu .................................. 22 2.2. Dữ liệu và thông tin .............................................. 26 a. Dữ liệu ................................................................. 26 b. Dữ liệu và thông tin ............................................. 28 c. Siêu dữ liệu.......................................................... 30 2.3. Kiều thực thể và bảng dữ liệu ............................... 32 a. Thực thể............................................................... 32 b. Kiểu thực thể ....................................................... 32 c. Bảng dữ liệu hay quan hệ .................................... 35 2.4. Thuộc tính và trường dữ liệu ................................ 39 a. Thuộc tính ........................................................... 39 b. Trường dữ liệu ..................................................... 41 2.5. Liên kết giữa các thực thể ..................................... 42 2.6. Khái niệm toàn vẹn dữ liệu................................... 44 3. Ví dụ về một cơ sở dữ liệu ......................................... 45 4. Các mô hình dữ liệu ................................................... 48 4.1. Khái quát chung.................................................... 48 4.2. Mô hình dữ liệu quan hệ ....................................... 50 4.3. Một số mô hình dữ liệu khác ................................ 51 a. Mô hình dữ liệu mạng và mô hình dữ liệu phân cấp 51 b. Mô hình dữ liệu hướng đối tượng ........................ 52 5. Kho dữ liệu ................................................................ 53 Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 3
- 6. Kết luận ...................................................................... 54 7. Bài tập ........................................................................ 55 Chủ đề II: Phương pháp phân tích, thiết kế và xây dựng các hệ thống CSDL ......................................................... 56 1. Khái quát chung ......................................................... 56 2. Phân tích yêu cầu ....................................................... 57 2.1. Xác định dữ liệu cần lưu trữ ................................. 60 2.2. Xác định ứng dụng sẽ được cài đặt trên cơ sở dữ liệu............................................................................... 61 2.3. Xác định các thao tác thường xuyên được thực hiện ..................................................................................... 62 2.4. Một số kỹ thuật phân tích yêu cầu ........................ 63 a. Kỹ thuật phỏng vẫn ............................................. 63 b. Kỹ thuật sử dụng phiếu khảo sát.......................... 65 c. Kỹ thuật phân tích tài liệu.................................... 65 3. Thiết kế cơ sở dữ liệu mức khái niệm ........................ 66 3.1. Lựa chọn giữa kiểu thực thể mạnh và kiểu thực thể yếu ............................................................................... 67 a. Kiểu thực thể mạnh ............................................. 67 b. Kiểu thực thể yếu ................................................ 68 3.2. Lựa chọn giữa các loại thuộc tính ......................... 70 a. Thuộc tính đơn và gộp ......................................... 70 b. Thuộc tính đơn trị và thuộc tính đa trị ................. 71 c. Thuộc tính lưu trữ và thuộc tính dẫn xuất............ 72 d. Thuộc tính khoá hay thuộc tính định danh........... 73 3.3. Lựa chọn giữa các loại liên kết ............................. 77 a. Ba khái niệm cơ bản về liên kết........................... 77 b. Các liên kết một-một (1:1)................................... 81 c. Các liên kết một-nhiều (1:N) ............................... 82 d. Các liên kết nhiều-nhiều (M:N) ........................... 83 e. Thuộc tính cho liên kết ........................................ 85 Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 4
- 3.4. Lựa chọn giữa kiểu thực thể và thuộc tính............ 87 3.5. Lựa chọn giữa kiểu thực thể và liên kết ................ 89 3.6. Các phân cấp “là-một”.......................................... 92 3.7. Một sơ đồ thực thể liên kết ................................... 95 3.8. Mô tả các ràng buộc trên dữ liệu ........................ 105 4. Thiết kế cơ sở dữ liệu mức logic .............................. 109 4.1. Giới thiệu chung về ngôn ngữ SQL .................... 109 4.2. Ràng buộc toàn vẹn ............................................ 110 a. Ràng buộc miền ................................................. 111 b. Ràng buộc khoá ................................................. 113 c. Các kích hoạt ..................................................... 114 4.3. Lựa chọn hệ quản trị CSDL ................................ 116 4.4. Bước một: Chuyển đổi các kiểu thực thể thông thường ....................................................................... 117 4.5. Bước hai: Chuyển đổi các kiểu thực thể yếu ...... 121 4.6. Bước ba: Chuyển đổi các liên kết giữa hai kiểu thực thể .............................................................................. 124 a. Chuyển đổi các liên kết một-nhiều .................... 124 b. Chuyển đổi các liên kết nhiều-nhiều.................. 126 c. Chuyển đổi các liên kết một-một ....................... 129 4.7. Bước bốn: Chuyển đổi các kiểu thực thể kết nối 132 a. Trường hợp thuộc tính định danh không xác định 133 b. Trường hợp thuộc tính định danh đã xác định ... 135 4.8. Bước năm: Chuyển đổi các liên kết đơn ............. 138 a. Chuyển đổi các liên kết đơn một-nhiều ............. 139 b. Chuyển đổi các liên kết đơn nhiều-nhiều .......... 141 4.9. Bước sáu: Chuyển đổi các liên kết giữa nhiều kiểu thực thể ...................................................................... 143 4.10. Bước bảy: Chuyển đổi các phân cấp “là một” .. 146 4.11. Một sơ đồ cơ sở dữ liệu mức logic ................... 150 Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 5
- 4.12. Kết luận ............................................................ 155 5. Tinh chỉnh sơ đồ dữ liệu và các dạng chuNn ............ 157 5.1. Tinh chỉnh các lược đồ quan hệ .......................... 157 5.2. Phụ thuộc hàm .................................................... 159 5.3. Các dạng chuNn .................................................. 161 a. Dạng chuNn 1NF ................................................ 161 b. Dạng chuNn 2NF ................................................ 163 c. Dạng chuNn 3NF ................................................ 166 6. Thiết kế cơ sở dữ liệu vật lý ..................................... 171 6.1. Phân tích kích thước và nhu cầu sử dụng dữ liệu 172 6.2. Thiết kế các trường ............................................. 173 a. Lựa chọn kiểu dữ liệu ........................................ 173 b. Kiểm soát các toàn vẹn dữ liệu .......................... 174 6.3. Tổ chức các bản ghi vật lý và phi chuNn ............. 177 a. Tổ chức các bản ghi vật lý ................................. 177 b. Phi chuNn ........................................................... 179 6.4. Tổ chức các tệp vật lý ......................................... 188 a. Tổ chức tệp tuần tự ............................................ 189 b. Tổ chức tệp chỉ mục .......................................... 190 c. Tổ chức các tệp băm .......................................... 196 d. Tổ chức các tệp được phân cụm (clustering) ..... 196 6.5. Lựa chọn và sử dụng các loại chỉ mục ................ 198 6.6. RAID .................................................................. 207 6.7. Tối ưu hoá hiệu năng truy vấn ............................ 217 7. Thiết kế an toàn bảo mật .......................................... 219 7.1. Xác định các nhóm sử dụng và các quyền hạn ... 221 7.2. Xác định quyền hạn thao tác trên dữ liệu ........... 222 7.3. Mã hoá dữ liệu .................................................... 240 7.4. Vai trò của người quản trị ................................... 245 8. Kết luận .................................................................... 247 9. Bài tập ...................................................................... 247 Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 6
- Chủ đề III: Quản trị hệ thống cơ sở dữ liệu ............... 250 1. Khái quát chung ....................................................... 250 2. Các mô hình tổ chức cơ sở dữ liệu ........................... 251 2.1. Các hệ cơ sở dữ liệu tập trung ............................ 252 a. Hệ cơ sở dữ liệu cá nhân ................................... 252 b. Hệ cơ sở dữ liệu trung tâm ................................ 253 c. Hệ cơ sở dữ liệu khách/chủ ............................... 254 2.2. Các hệ cơ sở dữ liệu phân tán ............................. 254 a. Hệ cơ sở dữ liệu phân tán thuần nhất................. 255 b. Hệ cơ sở dữ liệu phân tán không thuần nhất ...... 256 3. Quản trị hệ thống cơ sở dữ liệu ................................ 257 3.1. Quản trị nội dung cơ sở dữ liệu .......................... 263 a. Theo dõi cơ sở dữ liệu ....................................... 263 b. Hiệu chỉnh cơ sở dữ liệu .................................... 265 c. Sao lưu và phục hồi dữ liệu ............................... 266 3.2. Quản trị kỹ thuật ................................................. 267 a. Cài đặt, cấu hình hệ thống ................................. 268 b. Đảm bảo về đường truyền, mạng....................... 269 c. Quản trị tài nguyên cơ sở dữ liệu....................... 269 3.3. Đảm bảo an ninh, phân quyền truy nhập ............ 270 3.4. Một số lỗi thường gặp và cách khắc phục ......... 271 a. Không thể truy cập được cơ sở dữ liệu .............. 271 b. Hệ thống báo lỗi timeout (chậm quá thời gian cho phép) ....................................................................... 272 c. Hệ thống báo lỗi Out of Memory (tràn bộ nhớ) . 273 d. Không thể cung cấp được dữ liệu ...................... 274 e. Virus .................................................................. 274 4. Kết luận .................................................................... 275 5. Bài tập ...................................................................... 276 Chủ đề IV: Một số hệ quản trị cơ sở dữ liệu phổ biến ........................................................................................ 277 Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 7
- 1. Giới thiệu chung ...................................................... 277 2. Hệ quản trị cơ sở dữ liệu .......................................... 280 2.1. Kiến trúc của một hệ quản trị cơ sở dữ liệu ........ 280 2.2. Lưu trữ dữ liệu trong một hệ quản trị cơ sở dữ liệu ................................................................................... 282 2.3. Truy vấn trong một hệ quản trị cơ sở dữ liệu...... 283 3. Một số hệ thống quản trị cơ sở dữ liệu thông dụng . 284 3.1. Các hệ quản trị cơ sở dữ liệu cỡ vừa và nhỏ ....... 284 a. Hệ quản trị cơ sở dữ liệu Access ....................... 284 b. Hệ quản trị cơ sở dữ liệu Visual Foxpro ............ 295 3.2. Các hệ quản trị cơ sở dữ liệu cỡ lớn ................... 311 a. Hệ quản trị cơ sở dữ liệu SQL Server ................ 311 b. Hệ quản trị cơ sở dữ liệu Oracle ........................ 340 3.3. Hệ quản trị cơ sở dữ liệu mã nguồn mở .............. 368 3.4. Nhận xét chung ................................................... 370 4. Minh hoạ đối với một hệ quản trị cơ sở dữ liệu cụ thể ..................................................................................... 373 5. Kết luận .................................................................... 373 6. Bài tập ...................................................................... 374 Phụ lục A: Các hệ thống CSDL sẽ được xây dựng trong khuôn khổ dự án 112 .................................................... 375 1. Mô hình tổ chức hệ thống CSDL các cấp................. 375 2. Các cơ sở dữ liệu phục vụ điều hành, quản lý .......... 377 a. Cơ sở dữ liệu phục vụ hệ thống thông tin quản lý đơn thư khiếu nại tố cáo.......................................... 377 b. Cơ sở dữ liệu phục vụ HTTT luật và văn bản qui phạm pháp luật........................................................ 378 c. Các cơ sở dữ liệu ứng dụng chuyên ngành ........ 379 3. Các cơ sở dữ liệu phục vụ dịch vụ công................... 380 4. Các cơ sở dữ liệu quốc gia ....................................... 382 Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 8
- Phụ lục B: Phân tích, thiết kế cơ sở dữ liệu cho một cửa hàng sách ....................................................................... 383 1. Phân tích yêu cầu ..................................................... 383 2. Thiết kế cơ sở dữ liệu mức khái niệm ...................... 384 3. Thiết kế cơ sở dữ liệu mức logic .............................. 386 4. Tinh chỉnh lược đồ ................................................... 390 5. Thiết kế cơ sở dữ liệu vật lý ..................................... 392 6. Vấn đề an toàn bảo mật ............................................ 395 Tài liệu tham khảo ........................................................ 399 Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 9
- L i gi i thi u Tài liệu này được biên soạn trong khuôn khổ đào tạo thuộc Đề án 112 với thời gian tập huấn chính thức là 45 tiết. Mục tiêu chính của tài liệu này là: • Nhằm trang bị cho học viên các kiến thức và kỹ năng cơ bản trong việc phân tích, thiết kế và xây dựng các hệ thống cơ sở dữ liệu. • Giúp học viên có đủ kiến thức cơ sở và những kỹ năng cần thiết để có thể quản trị các hệ thống cơ sở dữ l i ệ u • Cung cấp cho học viên một số kinh nghiệm cần thiết để có thể vận hành, quản trị hệ thống và khắc phục một số sự cố và sửa lỗi thông thường đối với các hệ quản trị CSDL. Trong khi trình bày, chúng tôi đã cố gắng Việt hoá hầu hết các thuật ngữ tiếng Anh. Với các ví dụ chúng tôi cố gắng sử dụng tiếng Việt để diễn giải và đặt tên các đối tượng bằng tiếng Anh (ví dụ: kiểu thực thể nhân viên EMPLOYEE, thuộc tính mã hiệu nhân viên Emp_no,...). Đối với phần thực hành của giáo trình, tuỳ theo từng đối tượng học viên khác nhau, giảng viên có thể lựa chọn một trong số các hệ quản trị cơ sở dữ liệu quen thuộc như: Access, Visual Foxpro, Sql Server, Oracle,.... Khi chuNn bị môi trường thực hành, giảng viên nên lưu ý những điểm sau: Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 10
- • Đối với hai hệ quản trị cơ sở dữ liệu Access và Visual Foxpro, nên cài đặt trên mỗi máy của học viên. • Đối với hệ quản trị cơ sở dữ liệu Microsoft SQL Server nên cài đặt một máy làm Server chứa cơ sở dữ liệu, các máy thực hành của học viên chỉ cài ở chế độ Client và kết nối đến máy Server trên. Tạo cho mỗi học viên một tài khoản và một cơ sở dữ liệu khác nhau. • Đối với hệ quản trị cơ sở dữ liệu Oracle, nên sử dụng một máy có cấu hình tương đối mạnh để cài đặt làm máy Server. Trong trường hợp có thể cho học viên thực hành làm quen với công cụ thiết kế Oracle Designer, cần thiết lập thêm kho thiết kế repository. Sau đó tạo cho mỗi học viên một tài khoản người dùng khác nhau và cấp quyền thiết kế tương ứng. Tại mỗi máy thực hành, cài đặt thêm công cụ thiết kế Oracle Designer và cấu hình kết nối đến Server trên. Cố gắng hướng dẫn học viên từ cách tạo các kiểu thực thể, thuộc tính, liên kết,... bằng tiện ích Entity Relationship Diagrammer, sau đó chuyển đổi sang sơ đồ dữ liệu Data Diagram, rồi cuối cùng sinh ra mã để tạo cơ sở dữ liệu. • Nếu lựa chọn một trong hai hệ quản trị cơ sở dữ liệu là Microsoft SQL Server hoặc Oracle làm bài giảng thực hành, giảng viên nên bố trí thời gian cài đặt và cấu hình trước để có thêm thời gian trên lớp. Đối với bài toán lựa chọn để thực hành, giảng viên có thể tự lựa chọn một bài toán phù hợp với mình và học viên, hoặc có thể lựa chọn bài toán đã trình bày trong giáo trình Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 11
- nêu ở mục 3 chủ đề 1, hoặc cũng có thể lựa chọn bài toán được trình bày trong phụ lục B của giáo trình. Trong mỗi chủ đề, như trình bày dưới đây, chúng tôi có đề xuất thời gian dự kiến cho từng chủ đề đó cũng như các nội dung tối thiểu mà giảng viên cần phải đảm bảo. Tuy nhiên, tuỳ theo từng đối tượng học viên, giảng viên có thể thay đổi cho phù hợp. Cuối mỗi chủ đề, chúng tôi đều có phần tóm tắt các nội dung đã trình bày nhằm giúp học viên hệ thống hoá lại kiến thức đã được học. Ngoài ra phần bài tập giúp học viên hiểu sâu hơn nội dung đã trình bày, cũng như gợi mở các vấn đề thực tế. Cụ thể, giáo trình gồm các nội dung chính sau: Chủ đề 1: Khái niệm cơ sở dữ liệu Trong chủ đề này, giáo trình tập trung trình bày các khái niệm cơ bản nhất về cơ sở dữ liệu và các khái niệm được sử dụng trong quá trình phân tích, thiết kế cơ sở dữ liệu. Thời lượng dành cho việc trình bày cho chủ đề này có thể không nhiều, khoảng từ 4 đến 6 tiết, với mục đích chủ yếu giúp học viên nắm bắt và hình dung được các khái niệm. Các nội dung như về mô hình dữ liệu, kho dữ liệu, giảng viên không cần đi sâu và có thể trình bày lướt qua. Chủ đề 2: Phương pháp phân tích, thiết kế và xây dựng các hệ thống cơ sở dữ liệu Đây được xem là chủ đề quan trọng nhất của giáo trình. Do vậy thời gian dành cho chủ đề này sẽ khoảng từ 14 đến 16 tiết, tuỳ từng đối tượng học viên. Nội dung của chủ đề tập trung vào 6 bước chính của quá trình phân tích, thiết kế và xây dựng hệ thống cơ sở dữ liệu: phân tích yêu cầu, thiết kế cơ sở dữ liệu mức khái niệm, thiết kế cơ sở dữ liệu mức Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 12
- logic, tinh chỉnh lược đồ dữ liệu và các dạng chuNn, thiết kế cơ sở dữ liệu mức vật lý, và bước cuối cùng là thiết kế an toàn bảo mật. Đây cũng là các nội dung mà giảng viên cần phải đảm bảo. Tuy nhiên với mục 6 của chủ đề, giảng viên có thể lựa chọn một số mục chủ yếu để giảng và lướt qua các mục còn lại, bởi một số nội dung trong mục này mang tính chất công nghệ và phụ thuộc vào phần cứng, hệ điều hành cũng như hệ quản trị cơ sở dữ liệu. Ngoài ra, các ví dụ trong chủ đề này được chúng tôi tập trung trình bày để giải quyết một bài toán đã được giới thiệu trong mục 3 chủ đề 1. Giảng viên có thể lựa chọn thêm những ví dụ khác để minh hoạ thêm cho nội dung bài giảng. Chủ đề 3: Quản trị hệ thống cơ sở dữ liệu Quản trị hệ thống cơ sở dữ liệu là một phần tất yếu sau khi cơ sở dữ liệu được xây dựng đưa vào sử dụng. Việc quản trị một hệ thống cơ sở dữ liệu bao gồm rất nhiều vấn đề và thông thường, với một hệ thống cơ sở dữ liệu lớn thì cần phải có một đội ngũ chuyên gia tin học có kỹ năng. Toàn bộ nôi dung của chủ đề tập trung chủ yếu vào các vấn đề như: quản trị về mặt nội dung, về mặt kỹ thuật, về đảm bảo an ninh, phân quyền dữ liệu. Trong phần cuối của chủ đề chúng tôi dành riêng một mục để đề cập đến một số lỗi thường gặp trong quá trình quản trị một hệ thống cơ sở dữ liệu và hướng dẫn một số cách khắc phục. Thời lượng dành cho chủ đề này là từ 6 đến 8 tiết. Trong chủ đề, đối với phần các mô hình tổ chức cơ sở dữ liệu (mục 2), giảng viên không cần tập trung nhiều thời gian và có thể cho học viên đọc trước và trên lớp chỉ cần nêu một số đặc điểm chính mang tính chất khái quát. Nội Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 13
- dung tối thiểu cần phải đảm bảo trong chủ đề đó là toàn bộ mục 3, Quản trị hệ thống cơ sở dữ liệu. Chủ đề 4: Một số hệ quản trị cơ sở dữ liệu phổ biến Trong chủ đề này, chúng tôi tập trung trình bày về kiến trúc chung của một hệ quản trị cơ sở dữ liệu, giúp học viên có được cái nhìn tổng quát về một hệ quản trị cơ sở dữ liệu. Các phần còn lại của chủ đề được dành cho việc trình bày bốn hệ quản trị cơ sở dữ liệu thông dụng hiện nay: Access, Visual Foxpro, SQL Server, Oracle. Đối với mỗi một hệ quản trị cơ sở dữ liệu, chúng tôi trình bày lần lượt các bước để xây dựng một cơ sở dữ liệu, do vậy học viên có thể dễ dàng lựa chọn hệ quản trị cơ sở dữ liệu mà mình ưa thích để thực hành. Thời lượng dành cho chủ đề này có thể là từ 14 đến 16 tiết bao gồm cả thời gian dành cho phần thực hành. Đối với các nội dung trong chủ đề, giảng viên cần đảm bảo giúp học viên nắm được thế nào là một hệ quản trị cơ sở dữ liệu, các thành phần thường có trong một hệ quản trị cơ sở dữ liệu. Ngoài ra, thời gian chủ yếu trong chủ đề sẽ là phần thực hành cụ thể trên một hệ quản trị cơ sở dữ liệu. Như trên đã trình bày, tuỳ từng đối tượng học viên cũng như khả năng sắp xếp thời gian, giảng viên có thể lựa chọn một trong bốn hệ quản trị cơ sở dữ liệu đã trình bày để giúp học viên thực hành. Tuy nhiên chúng tôi đề xuất là giảng viên nên lựa chọn hệ quản trị cơ sở dữ liệu Microsoft SQL Server, và nếu có điều kiện thì lựa chọn hệ quản trị cơ sở dữ liệu Oracle, bởi với hệ quản trị cơ sở dữ liệu này, giảng viên minh hoạ được cả quá trình thiết kế từ sơ đồ thực thể - liên kết, sơ đồ dữ liệu,... thông qua công cụ Oracle Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 14
- Designer, phần mà ở các hệ quản trị cơ sở dữ liệu khác chưa có. Phụ lục A: Các hệ thống CSDL sẽ được xây dựng trong khuôn khổ dự án 112 Nội dung của phụ lục này nhằm giới thiệu với các học viên một số nét chính về hệ thống các cơ sở dữ liệu mang tính chất định hướng sẽ được xây dựng trong khuôn khổ dự án 112. Tuy nhiên, giảng viên cũng nên dành thời gian cho phụ lục này khoảng từ 2 cho đến 4 tiết. Phụ lụcB: Phân tích, thiết kế cơ sở dữ liệu cho một cửa hàng sách Phụ lục này được xem như một bài thực hành (case study) thêm cho học viên. Bài toán được trình bày trong phụ lục theo thể loại hỏi đáp, gần gũi với học viên: từ nhu cầu của khách hàng, các luồng suy nghĩ đề giải quyết đối với người phân tích, thiết kế cơ sở dữ liệu, đến quá trình xây dựng và cài đặt cơ sở dữ liệu. Điều quan trọng hơn là bài toán đã đưa ra những vấn đề nảy sinh trong thực tế sau khi hệ cơ sở dữ liệu được đưa vào sử dụng và các hướng giải quyết, đây chính là một quá trình thường gặp với các bài toán thực tế. Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 15
- Ch đ I: Khái ni m cơ s d li u Mục tiêu Trong chủ đề này các bạn cần phải nắm được các khái niệm cơ bản nhất về cơ sở dữ liệu, cũng như các khái niệm được sử dụng trong quá trình phân tích, thiết kế, xây dựng cơ sở dữ liệu quan hệ như thực thể, kiểu thực thể, quan hệ, bảng dữ liệu, thuộc tính, trường dữ liệu, cùng các liên kết. 1. Gi i thi u chung Hơn hai thập kỷ gần đây chúng ta đã được chứng kiến sự phát triển vượt bậc cả về số lượng và chất lượng của các ứng dụng dựa trên cơ sở dữ liệu, chúng ngày càng đóng vai trò quan trọng trong các hoạt động của các tổ chức, doanh nghiệp, hay cá nhân. Cơ sở dữ liệu có thể được sử dụng với những ứng dụng cài đặt riêng lẻ trong máy tính cá nhân hay dưới dạng một cơ sở dữ liệu tập trung trên mạng LAN, hoặc một cơ sở dữ liệu phân tán trên mạng diện rộng được sử dụng bởi rất nhiều các đối tượng khác nhau. Trong chủ đề này, chúng ta sẽ tìm hiểu những khái niệm cơ bản nhất về cơ sở dữ liệu, cũng như những khái niệm sẽ được sử dụng trong quá trình phân tích, thiết kế cơ sở dữ liệu. Bên cạnh đó, chúng ta cũng sẽ xem xét các mô hình dữ liệu khác nhau đối với cơ sở dữ liệu.Tuy nhiên xin lưu ý rằng các quá trình phân tích, thiết kế, xây dựng và quản trị cơ sở dữ liệu được tập trung trình bày trong giáo trình này sẽ là cơ sở dữ liệu quan hệ, một loại cơ sở dữ liệu được xây dựng dựa trên mô hình dữ liệu quan hệ có lý thuyết toán Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 16
- học vững chắc nhất. Ngoài ra, đây cũng là loại cơ sở dữ liệu phổ biến nhất, được sử dụng hầu hết trong các hệ quản trị cơ sở dữ liệu thông dụng trên thế giới. 2. Các khái ni m cơ b n 2.1. Cơ s d li u Ngày nay, hơn bao giờ hết, sự thành công của một doanh nghiệp phụ thuộc vào khả năng có được những dữ liệu chính xác và kịp thời về các hoạt động của doanh nghiệp, để quản lý và phân tích dữ liệu một cách có hiệu quả nhằm đưa ra được chiến lược cho những hoạt động tiếp theo. Các thuật ngữ như “xa lộ thông tin” đã trở nên phổ biến và vấn đề quản lý và sử dụng thông tin dần trở thành một ngành công nghiệp có doanh số nhiều tỷ đô la. Người ta đã coi giá trị của dữ liệu như là một thứ tài sản quý giá của doanh nghiệp với hàm lượng thông tin bao hàm trong đó. Tuy nhiên, nếu không có được sự quản lý một cách hữu hiệu đối với lượng dữ liệu ngày càng lớn này, cũng như khả năng đáp ứng yêu cầu của các câu hỏi tìm kiếm, lượng dữ liệu này sẽ trở nên vô nghĩa và khi đó doanh nghiệp sẽ mất đi một nguồn tài sản quý giá. Chính điều này đã thúc đNy sự cần thiết có được một cơ sở dữ liệu cũng như một hệ quản trị cơ sở dữ liệu hiệu quả và linh hoạt, hỗ trợ doanh nghiệp trong công tác quản lý cũng như tìm kiếm thông tin. Chúng ta có thể định nghĩa cơ sở dữ liệu như là một bộ sưu tập có tổ chức của các dữ liệu liên quan logic với nhau và được các hệ ứng dụng của một tổ chức cụ thể nào đó sử dụng. Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 17
- Ví dụ: một người bán hàng có thể lưu danh sách khách hàng trong một cơ sở dữ liệu được cài đặt trong máy sách tay của anh ta với kích thước chỉ khoảng vài megabytes và cơ sở dữ liệu này sẽ phục vụ cho một chương trình quảng cáo sản phNm chẳng hạn. Nhưng một doanh nghiệp có thể có một cơ sở dữ liệu vô cùng lớn, cỡ khoảng vài terabytes dữ liệu được lưu trong một máy tính lớn mainframe, và nó được sử dụng bởi một ứng dụng hỗ trợ ra quyết định cho doanh nghiệp đó. Tuy nhiên, từ khi có máy tính, người ta đã tìm cách lưu trữ dữ liệu và xử lý chúng, một trong những hệ thống xử lý dữ liệu đầu tiên đó là các hệ thống xử lý tệp. Mặc dù ngày nay những hệ thống xử lý tệp này không còn được sử dụng rộng rãi nhưng nó vẫn tồn tại trong một số lĩnh vực hẹp. Để có thể thấy được những ưu nhược điểm của hệ thống xử lý tệp cũng như có thể hiểu sâu hơn tại sao người ta lại mong muốn xây dựng lên những cơ sở dữ liệu cùng các ưu điểm của cách tiếp cận cơ sở dữ liệu so với cách tiếp cận dựa trên hệ thống xử lý tệp, chúng ta sẽ xem xét một cách khái quát các khái niệm sau đây:. Các hệ thống xử lý tệp truyền thống a. Như chúng ta đã biết, khi chưa có cơ sở dữ liệu, các máy tính của chúng ta phải xử lý dữ liệu thông qua các hệ thống xử lý tệp truyền thống. Ngày nay, khi khả năng của các máy tính đã tăng lên một cách đáng kể, có thể giải quyết các bài toán lớn, đòi hỏi xử lý những khối dữ liệu đồ sộ, phức tạp, các hệ thống xử lý tệp truyền thống tỏ ra không còn thích hợp và dần dần nó được thay thế bởi các hệ thống xử lý dựa trên cơ sở dữ liệu. Tuy nhiên sự hiểu biết về các hệ thống xử lý tệp vẫn là cần thiết bởi hai lý do cơ bản sau: Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 18
- • Ngày nay các hệ thống xử lý tệp vẫn còn được sử dụng trong một số hệ thống, đặc biệt là các hệ thống phục vụ sao lưu cơ sở dữ liệu. • Hiểu được các vấn đề cũng như các giới hạn của các hệ thống xử lý tệp sẽ giúp chúng ta thiết kế các cơ sở dữ liệu tốt hơn. Ví dụ của một ứng dụng dựa trên hệ thống xử lý tệp: Một công ty chuyên sản xuất các đồ dùng bằng gỗ đã tiến hành tin học hoá các nghiệp vụ của mình trên máy tính. Thọat đầu, mỗi một ứng dụng trong công ty đều được xây dựng theo cách tiếp cận xử lý tệp truyền thống. Với cách tiếp cận này, các hệ thống thông tin đều tập trung vào việc xử lý dữ liệu của mỗi một phòng ban đơn lẻ, trong đó các hệ thống cố gắng đáp ứng các yêu cầu của từng nhóm người cụ thể. Do vậy, nhìn toàn bộ vào hệ thống thông tin của toàn công ty thì không có một mô hình cũng như kế hoạch hay sơ đồ tổng thể nào để có thể hoạch định được cho việc phát triển tiếp theo của các ứng dụng. Hệ thống ứng dụng dựa trên trên cách tiếp cận xử lý tệp này được minh hoạ như trong hình 1.2.1.1, đó là các hệ thống tạo lập đơn hàng Order Filling System, hệ thống xử lý hoá đơn Invoice System và hệ thống quản lý lương bổng cho nhân viên Payroll System. Nhìn vào hình vẽ chúng ta thấy rằng, các tệp dữ liệu được kết nối trực tiếp với mỗi chương trình ứng dụng, mỗi một tệp là một tập các bản ghi liên quan. Ví dụ, với hệ thống Order Filling System có 3 tệp: Customer, Inventory Master và Order. Chúng ta nhận thấy rằng có thể có những tệp được lưu lặp lại và sử dụng bởi các ứng dụng khác nhau (như Customer), đây chính là một trong những nhược điểm của các hệ thống dựa trên việc xử lý tệp. Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 19
- Account D epar tm ent Pay roll Depart ment Order D epar tm ent Progr am Progr am Progr am Progr am Progr am Progr am Progr am A B c B A A B Invoic e System Order Fil li ng Syste m Payro ll Syste m Invento ry Invento ry Order Custo mer Empl oye e Custo mer Prici ng Master File File File File File File Hình 1.2.1.1 M t h th n g x l ý t p truy n th n g Các nhược điểm của các hệ thống xử lý tệp: • Tính phụ thuộc giữa chương trình và dữ liệu: Các mô tả về tệp dữ liệu được lưu trong mỗi một chương trình ứng dụng sử dụng tệp đó. Như ví dụ trên, chương trình Program A truy nhập cả hai tệp Inventory và Customer, do vậy chương trình này sẽ chứa các mô tả chi tiết của cả 2 tệp này. Điều này dẫn đến, khi có bất cứ một thay đổi nào đến cấu trúc tệp sẽ đòi hỏi cũng phải có các thay đổi tương ứng đến các mô tả trong các chương trình ứng dụng sử dụng tệp đó. Ngoài ra, như trong hình 1.2.1.1, nếu tệp Customer bị sửa đổi thì cả hai hệ thống Order System và Invoice System đều bị ảnh hưởng. • Lưu trữ trùng lặp dữ liệu: Trong hình 1.2.1.1 chúng ta nhận thấy rằng, hệ thống Order Filling có chứa một tệp Inventory Master, trong khi đó hệ thống Invoice cũng chứa một tệp là Inventory Pricing. Rõ ràng giữa Phân tích, thiết kế, xây dựng và quản trị các hệ thống cơ sở dữ liệu 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình phân tích thiết kế hệ thống part 1
15 p | 763 | 264
-
Giáo trình phân tích thiết kế hệ thống part 2
15 p | 546 | 188
-
Giáo trình phân tích thiết kế hệ thống part 3
15 p | 420 | 155
-
Giáo trình phân tích thiết kế hệ thống part 4
15 p | 372 | 128
-
Giáo trình phân tích thiết kế hệ thống part 5
15 p | 321 | 128
-
Giáo trình phân tích thiết kế hệ thống part 6
15 p | 337 | 121
-
Giáo trình phân tích thiết kế hệ thống part 7
15 p | 283 | 110
-
Giáo trình phân tích thiết kế hệ thống part 8
15 p | 268 | 107
-
Giáo trình phân tích thiết kế hệ thống part 9
15 p | 288 | 105
-
Giáo trình phân tích thiết kế hệ thống part 10
7 p | 264 | 102
-
Giáo trình Phân tích thiết kế hệ thống hướng đối tượng với UML: Phần 1 - Dương Kiều Hoa, Tôn Thất Hòa An
106 p | 49 | 10
-
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 p | 41 | 10
-
Giáo trình Phân tích thiết kế hệ thống thông tin quản lý: Phần 2
36 p | 18 | 8
-
Giáo trình Phân tích thiết kế hệ thống thông tin (Nghề: Công nghệ thông tin - Trung cấp) - Trường Cao đẳng nghề Hà Nam (năm 2017)
62 p | 26 | 7
-
Giáo trình Phân tích thiết kế hệ thống (Nghề Lập trình máy tính) - Tổng cục dạy nghề
130 p | 36 | 6
-
Giáo trình Phân tích thiết kế hệ thống (Nghề: Tin học ứng dụng - Cao đẳng) - Trường Cao đẳng Bách khoa Nam Sài Gòn (2022)
134 p | 13 | 5
-
Giáo trình Phân tích thiết kế hướng đối tượng với UML (Nghề Lập trình máy tính): Phần 2 - Tổng cục dạy nghề
69 p | 40 | 4
-
Giáo trình Phân tích thiết kế hệ thống (Ngành: Công nghệ thông tin - Cao đẳng) - Trường Cao đẳng Xây dựng số 1
67 p | 13 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn