Tài liệu Phân tích thiết kế hệ thống

pdf 101 trang phuongnguyen 80
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu Phân tích thiết kế hệ thống", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdftai_lieu_phan_tich_thiet_ke_he_thong.pdf

Nội dung text: Tài liệu Phân tích thiết kế hệ thống

  1. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 8 Chöông 1 . QUI TRÌNH PHAÂN TÍCH THIEÁT KEÁ HEÄ THOÁNG I PHAÂN TÍCH VAØ THIEÁT KEÁ HEÄ THOÁNG THOÂNG TIN LAØ GÌ? Phân tích và thiết kế hệ thống thông tin là một phương pháp được sử dụng bởi dãy các công ty từ IBM đến Pepsi, Hasbro, Inc., để tạo và duy trì hệ thống thông tin nhằm thực hiện các chức năng cơ bản như lưu trữ chính xác các tên và địa chỉ của khách hàng, xử lý các đơn hàng và thanh toán cho người làm công. Mục tiêu chính của phân tích và thiết kế hệ thống là cải tiến hệ thống cấu trúc, điển hình là qua ứng dụng phần mềm, có thể giúp đỡ các nhân viên hoàn tất các công việc chính của doanh nghiệp được dễ dàng và hiệu quả hơn. Là một người phân tích hệ thống, bạn sẽ là trung tâm của sự phát triển phần mềm đó. Phân tích và thiết kế hệ thống thông tin được dựa trên: ƒ Sự hiểu biết của bạn về các mục tiêu, các cấu trúc và các qui trình của tổ chức. ƒ Kiến thức của bạn về làm thế nào để triển khai công nghệ thông tin nhằm mang lại lợi ích cho doanh nghiệp. Để thành công trong cố gắng này, bạn nên có một tiếp cận cấu trúc. SDLC được trình bày trong hình 1-1 là một tiếp cận bốn-giai đoạn để nhận diện, phân tích, thiết kế, và thực hiện một hệ thống thông tin. Qua giáo trình này, chúng tôi dùng SDLC để cấu trúc sự bàn luận về qui trình phát triển hệ thống. Trước khi chúng tôi nói về SDLC, Chúng tôi mô tả trước nhất phân tích và thiết kế hệ thống có nghĩa là gì. Phân tích và thiết kế hệ thống: các khái niệm chính Mục tiêu chính của phân tích và thiết kế hệ thống là để cải tiến hệ thống cấu trúc. Thông thường điều này liên quan đến phát triển hay tạo được phần mềm ứng dụng và huấn luyện nhân viên để sử dụng nó. Phần mềm ứng dụng, cũng còn được gọi là một hệ thống, được thiết kế để hỗ trợ một nhiệm vụ hay một qui trình được tổ chức cụ thể như quản lý tồn kho, chi trả lương, hay phân tích thị trường. Mục tiêu của phần mềm ứng dụng là chuyển dữ liệu thành thông tin. Ví dụ chẳng hạn phần mềm được phát triển cho bộ phận kho của một cửa hàng bán sách có thể theo dõi số lượng sách trong kho của các cuốn sách bán chạy nhất của đợt bán sau cùng. Phần mềm cho bộ phận chi trả lương có thể theo dõi sự thay đổi lương của nhân viên. Sự đa dạng của phần mềm ứng dụng rời khỏi kệ bán có thể được mua bao gồm WordPerfect, Lotus, and PowerPoint. Dẫu sao, phần mềm rời khỏi kệ bán có thể không phù hợp với yêu cầu của một tổ chức nào đó, và vì vậy tổ chức phải triển khai sản phẩm riêng cho mình. Ngoài phần mềm ứng dụng, hệ thống thông tin còn bao gồm: ƒ Phần cứng (hardware) và phần mềm hệ thống (system software) là nền tảng để phần mềm ứng dụng hoạt động. Hãy nhớ rằng, phần mềm hệ thống trợ giúp các chức năng của máy tính, trong khi phần mềm ứng dụng trợ giúp người sử dụng hoàn thành các công việc như viết lách, chuẩn bị bảng tính, và nối với Internet. ƒ Các tài liệu sưu liệu và huấn luyện (documentation and training manuals) là các tài liệu được tạo bởi người phân tích hệ thống để trợ giúp nhân viên sử dụng phần mềm mà từ đó nó tạo ra sự trợ giúp. ƒ Các vai trò công việc cụ thể (specific job roles) gắn liền với toàn bộ hệ thống, ví dụ như người chạy máy tính và việc canh giữ cho phần mềm hoạt động. ƒ Kiểm soát (controls) là các phần việc của phần mềm nhằm ngăn ngừa gian lận và bị trộm cắp. ƒ Người sử dụng phần mềm nhằm thực hiện công việc của mình.
  2. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 9 Các thành phần của các úng dụng hệ thống thông tin dựa trên máy tính được tóm tắt trong hình 1-2. Chúng tôi chỉ ra mọi chiều của toàn bộ hệ thống, với sự chú trọng đặc biệt đến sự phát triển phần mềm ứng dụng – trách nhiệm hàng đầu của bạn khi là một người phân tích hệ thống. Mục tiêu của chúng tôi là giúp bạn hiểu và làm theo qui trình công nghệ phần mềm mà nó sẽ dẫn dắt bạn đến sự tạo dựng một hệ thống thông tin. Như được chỉ ra trong hình 1-3, các phương pháp (methodologies), kỹ thuật (techniques), và công cụ (tools) đã được minh chứng là phần cốt lõi để xử lý công nghệ phần mềm. Methodologies Software Engineering Process Techniques Tools Figure 1-3: The software engineering process uses methodologies, techniques, and tools Phương pháp (methodologies) là một dãy cách tiếp cận theo từng bước giúp phát triển sản phẩm cuối cùng: hệ thống thông tin. Phần lớn các phương pháp tích hợp một vài kỹ thuật phát triển, như quan sát trực tiếp và phỏng vấn người sử dụng hệ thống hiện hành. Kỹ thuật (techniques) là các xử lý mà bạn, là một người phân tích, sẽ làm theo để bảo đảm rằng công việc của bạn là hiểu được, trọn vẹn và dễ hiểu. Kỹ thuật cung cấp sự hỗ trợ trên một phạm vi rộng lớn các công việc bao gồm cả việc dẫn dắt trọn vẹn việc phỏng vấn người dùng hiện hành và tương lai của hệ thống thông tin để xác định hệ thống của
  3. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 10 bạn nên làm gì, hoạch định và quản trị các hoạt động của dự án phát triển hệ thống, sơ đồ hóa hệ thống thực hiện chức năng như thế nào và thiết kế các báo cáo, ví dụ như hệ thống của bạn sẽ phát sinh các hóa đơn cho người dùng để họ hoàn thành công việc. Công cụ (tools) là các chương trình máy tính, như công cụ máy tính trợ giúp công nghệ phần mềm (CASE: computer aided software engineering) giúp dễ dàng để sử dụng một kỹ thuật nào đó. Ba phần tử này-phương pháp, kỹ thuật, và công cụ - cùng làm việc với nhau để tạo ra một tiếp cận có tính cấu trúc để phân tích và thiết kế hệ thống. II HEÄ THOÁNG (SYSTEM) Thuật ngữ chính được sử dụng thường xuyên trong quyển sách này là hệ thống. Hiểu biết về hệ thống và về chúng hoạt động ra sao có tính quyết định để hiểu phân tích và thiế kế hệ thống. Sự xác định hệ thống và các thành phần của nó Một hệ thống là một tập tương quan các thủ tục kinh doanh (hay các thành phần) được sử dụng trong một đơn vị doanh nghiệp, cùng hoạt động vì một mục tiêu nào đó. Ví dụ, mộ hê thống trong bộ phận lương sẽ theo dõi chính xác khoản chi trả, trong khi hệ thống kho theo dõi chính xác các hoạt động cung ứng. Hai hệ thống này hoàn toàn tách biệt. Một hệ thống có chín tính chất, bảy trong các tính chất đó được trình bày trong hình 1-4. Sự giải thích chi tiết mỗi tính chất sẽ đi theo sau, nhưng từ hình bạn có thể thấy một hệ thống tồn tại trong một thế giới rộng mở, một môi trường. Một đường biên tách hệ thống với môi trường của nó. Hệ thống nhận nguồn vào từ bên ngoài, xử lý chúng và gởi kết quả ngược lại môi trường của nó. Mũi tên trong hình trình bày sự tương tác này giữa hệ thống và thế giới bên ngoài của nó. 1. Thành phần (component) 2. Tương quan (Interrelated components, interrelationship) 3. Biên giới (Boundary) 4. Mục tiêu (Purpose) 5. Môi trường (Environment) 6. Giao diện (interface) 7. Nguồn vào (Input) 8. Kết xuất (Output) 9. Hạn chế (Constraint) Một hệ thống được cấu tạo từ các thành phần. Một thành phần hoặc là một phần đơn (không thể chia nhỏ được) hoặc là một tập các thành phần còn được gọi là hệ thống con (subsystem). Khái niệm đơn của một thành phần thì rất quan trọng. Ví dụ với một ô-tô hay một hệ thống stereo với thiết kế đúng đắn, chúng ta có thể sửa chữa hay nâng cấp hệ thống bằng cách thay đổi từng thành phần mà không cần phải thay đổi toàn bộ hệ thống.
  4. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 11 Interface Boundary Component Interrelation ship Input Output Environment FIGURE 1-4: Seven characteristics of a system Các thành phần thì tương quan; nghĩa là, chức năng của một thành phần bằng cách nào đó thắt chặt với chức năng của các thành phần khác. Ví dụ, công việc của một thành phần, như tạo ra các báo cáo hàng ngày về đơn hàng được tiếp nhận, không thể tiến triển thành công, trước khi công việc của thành phần khác được hoàn tất như sắp xếp các đơn hàng theo ngày tiếp nhận. Một hệ thống có một biên giới (boundary), mà tất cả các thành phần được chứa trong đó, nó còn thiết lập giới hạn của hệ thống, tách nó khỏi các hệ thống khác. Các thành phần trong biên giới có thể được thay đổi trong khi các hệ thống bên ngoài biên giới không thể bị thay đổi. Tất cả các thành phần làm việc với nhau để đạt được một vài mục tiêu toàn diện cho hệ thống lớn hơn: lý do tồn tại của hệ thống. Một hệ thống tồn tại trong một môi trường - mọi thứ bên ngoài biên giới hệ thống có ảnh hưởng đến hệ thống. Ví dụ, môi trường của Đại học Bang bao gồm những sinh viên tương lai, tiền dự trữ, các quĩ tài trợ và thông tin tin tức. Thông thường hệ thống tương tác với môi trường của nó. Trường đại học tương tác với sinh viên tương lai bằng cách ưu ái và tuyển chọn từ trường trung học địa phương. Một hệ thống thông tin tương tác với môi trường của nó bằng việc tiếp nhận dữ liệu (sự kiện thô) và thông tin (dữ liệu qua xử lý ở một dạng có ích). Hình 1-5 trình bày một trường đại học có thể được hiểu như một hệ thống sẽ ra sao. Điểm mà ở đó nguồn vào bắt gặp đường biên giới của nó được gọi là giao diện (interface), và cũng có các giao diện giữa các hệ thống con.
  5. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 12 ENVIRONMENT Funding Sources Prospective Students News Media Interface University Boundary UNIVERSITY FIGURE 1-5: A University As a System Một hệ thống phải đứng trước sự hạn chế (constraint) trong nhiệm vụ của nó vì có các giới hạn (theo nghĩa số lượng, tốc độ, hay khả năng) về nó có thể làm cái gì và làm thế nào nó có thể đạt được mục tiêu trong môi trường. Một vài hạn chế này được đặt bên trong hệ thống (ví dụ: một số lượng giới hạn các nhân viên có thể có). Một hệ thống nhận nguồn nhập từ môi trường để thực hiện nhiệm vụ. Ví dụ con người nhận thực phẩm, dưỡng khí, và nước từ môi trường như nguồn nhập. Bạn bị hạn chế khỏi hít thở không khí trong lành nếu bạn ở bên trong một thang máy với ai đó đang hút thuốc. Cuối cùng, một hệ thống kết xuất ra môi trường của nó như là một kết quả của việc thực hiện nhiệm vụ và như vậy nó đạt được mục tiêu. Hệ thống bị hạn chế khi mất điện. III QUI TRÌNH PHAÂN TÍCH THIEÁT KEÁ HEÄ THOÁNG
  6. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 13 Giai đoạn 1: Hoạch định và chọn lựa hệ thống (systems planing and selection) Giai đoạn đầu tiên trong chu kỳ sống (SDLC: system development life cycle), hoạch định và chọn lựa hệ thống, có hai hoạt động chính: - Hoạt động thứ nhất, ai đó nhận diện sự cần thiết phải có một hệ thống mới hay một hệ thống nâng cấp. Nhu cầu thông tin của tổ chức được xem xét và các dự án phù hợp với các nhu cầu này được nhận diện. Nhu cầu hệ thống thông tin của tổ chức có thể là kết quả của: ƒ Các yêu cầu phải đối phó với các vấn đề trong các thủ tục kinh doanh hiện hành. ƒ Sự mong muốn thi hành các nhiệm vụ mới. ƒ Sự hiện thực điều mà công nghệ thông tin có thể được sử dụng nhằm tận dụng một cơ hội hiện có. Nhóm phân tích hệ thống, được thành lập trong giai đoạn này, ưu tiên chuyển đổi các yêu cầu thành các kế hoạch cho bộ phận IS (information system), bao gồm một thời biểu phát triển mới các hệ thống chính. Các yêu cầu về hệ thống mới xuất phát từ người sử dụng có nhu cầu một hệ thống mới hay một hệ thống cải tiến. Trong giai đoạn hoạch định và chọn lựa hệ thống, một tổ chức xác định có hay không việc nên dành (có sự cân nhắc) các nguồn lực cho phát triển và cải tiến hệ thống thông tin. Nghiên cứu khả thi được lèo lái trước giai đoạn thứ hai của chu kỳ sống SDLC để xác định sự tác động mang tính kinh tế và tổ chức của hệ thống. - Hoạt động thứ hai trong giai đoạn hoạch định và chọn lựa hệ thống là điều nghiên hệ thống và xác định phạm vi yêu cầu của hệ thống. Đội ngũ phân tích hệ thống tạo ra một kế hoạch cụ thể cho dự-án-được-đề-nghị để đội ngũ làm theo. Kế hoạch dự án này cụ thể hóa của chu kỳ sống chuẩn SDLC và mô tả thời gian và nguồn lực cần thiết để thực hiện. Xác định hình thức của một dự án dựa trên một thực tế là bộ phận IS của tổ chức có khả năng phát triển một hệ thống giải quyết được vấn đề hay tận dụng được thời cơ và xác định được có hay không cái giá của việc phát triển hệ thống lớn hơn lợi ích có thể có. Điều trình bày cuối cùng cho người quản trị của tổ chức về kế hoạch xử lý với các giai đoạn dự án con thường được thực hiện bởi người đứng đầu dự án và các thành viên đội ngũ khác. Giai đoạn 2: Phân tích hệ thống (systems analysis) Giai đoạn thứ hai của chu kỳ sống là phân tích hệ thống. Trong giai đoạn này, người phân tích thông qua nghiên cứu thủ tục kinh doanh hiện hành của tổ chức và hệ thống thông tin được sử dụng để tạo ra các nhiệm vụ công việc như thực hiện sổ cái, vận chuyển, nhận đơn hàng, lên lịch thiết bị và chi trả lương. Phân tích có vài giai đoạn con. Giai đoạn con thứ nhất bao hàm đến việc xác định yêu cầu hệ thống. Trong giai đoạn con này, bạn hay một phân tích viên khác làm việc với những người sử dụng để xác định người dùng mong
  7. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 14 muốn điều gì từ một hệ thống được đề nghị. Giai đoạn con này bao gồm sự nghiên cứu tỉ mỉ các hệ thống hiện hành, bằng thủ công hay bằng máy tính, sẽ được thay thế hay cải tiến xem như một phần của dự án. Bước kế, bạn nghiên cứu các yêu cầu và cấu trúc chúng phù hợp với các mối tương quan của chúng, loại bỏ sự dư thừa. Thứ ba, bạn phát sinh ra các thiết kế được chọn lựa phù hợp với các yêu cầu. Rồi bạn so sánh các chọn lựa này với nhau để xác định cái nào phù hợp tốt nhất với các yêu cầu bao hàm cả giá cả, nhân công và cấp độ kỹ thuật mà tổ chức sẵn lòng chuyển giao cho tiến trình phát triển. Kết xuất của giai đoạn phân tích là bản đặc tả giải pháp thay thế được đề nghị bởi đội ngũ phân tích. Một khi việc đề nghị được chấp nhận bởi tổ chức, bạn có thể tạo ra các kế hoạch để có được phần cứng và phần mềm hệ thống cần thiết để xây dựng hay vận hành hệ thống như được đề nghị. Giai đoạn 3: Thiết kế hệ thống (systems design) Giai đoạn thứ ba của chu kỳ sống được gọi là thiết kế hệ thống. Trong quá trình thiết kế hệ thống người phân tích chuyển bản mô tả của giải pháp chọn lựa được đề nghị thành đặc tả logic rồi vật lý. Bạn phải thiết kế mọi diện mạo của hệ thống từ nhập vào và xuất ra của màn hình đến máy in, cơ sở dữ liệu, và các xử lý tính toán. Thiết kế lôgic không bị ràng buộc bởi bất kỳ phần cứng và phần mềm hệ thống cụ thể nào. Về phương diện lý thuyết, hệ thống mà bạn thiết kế có thể được thực hiện trên bất kỳ phần cứng và phần mềm hệ thống nào. Thiết kế logic tập trung vào khía cạnh doanh nghiệp của hệ thống; nghĩa là hệ thống sẽ tác động ra sao với các đơn vị nhiệm vụ trong tỗ chức doanh nghiệp. Hình 1-16 trình bày cả thiết kế logic của một sản phẩm với thiết kế vật lý của nó, cạnh nhau nhằm tiện so sánh. Từ sự so sánh bạn có thể thấy rằng nhiều quyết định cụ thể phải thực hiện để chuyển từ mô hình logic sang sản phẩm vật lý. Trạng thái này rất tương đồng trong thiết kế hệ thống thông tin. Trong thiết kế vật lý, bạn chuyển thiết kế logic thành vật lý, kỹ thuật hay đặc tả. Ví dụ bạn có thể chuyển sơ đồ ánh xạ dữ liệu gốc, dòng dữ liệu và xử lý dữ liệu của hệ thống thành một cấu trúc thiết kế hệ thống rồi có thể phân rã thành các đơn vị nhỏ hơn để chuyển thành các chỉ thị viết được bằng một ngôn ngữ lập trình. Bạn thiết kế các phần khác nhau của hệ thống để tạo ra các hoạt động vật lý cần thiết để dễ dàng thu được, xử lý, kết xuất thông tin dữ liệu. Trong quá trình thiết kế vật lý, đội ngũ phân tích quyết định ngôn ngữ lập trình mà các chỉ thị máy tính sẽ được viết, hệ cơ sở dữ liệu và cấu trúc tập tin nào sẽ được sử dụng cho dữ liệu, và nền tảng phần cứng, hệ điều hành, môi trường mạng nào mà hệ thống sẽ chạy. Các quyết định này hoàn thành các kế hoạch phần cứng và phần mềm mà nó được nhận diện ở phần cuối của giai đoạn phân tích. Giờ đây bạn có thể có được bất kỳ công nghệ mới nào không có sẵn trong tổ chức. Sản phẩm cuối cùng của giai đoạn thiết kế là đặc tả hệ thống vật lý, được trình bày dưới dạng như một sơ đồ hay bản báo cáo được thảo sẵn sàng cho việc chuyển giao cho các lập trình viên và những người xây dựng hệ thống khác để xây dựng chưong trình. Giao đoạn 4: Thực hiện và vận hành hệ thống (systems implemention and operation) Giai đoạn cuối cùng của chu kỳ sống là một qui trình hai bước: thực hiện và vận hành hệ thống. Trong quá trình thực hiện và vận hành hệ thống, bạn chuyển các đặc tả hệ thống thành hệ thống làm việc được vận hành thử rồi đưa vào sử dụng. Thực hiện bao gồm mã hóa, chạy thử và cài đặt. Trong quá trình mã hóa, lập trình viên lập các chương trình tạo nên hệ thống. Trong quá trình chạy thử, lập trình viên và phân tích viên kiểm tra từng chương trình rồi toàn bộ hệ thống để tìm và sửa chữa lỗi. Trong quá trình cài đặt, hệ thống mới trở thành một phần của hoạt động hàng ngày của tổ chức doanh nghiệp. Phần mềm ứng dụng được cài đặt, hay tải vào phần cứng hiện hữu hay mới; sau đó những người sử dụng được giới thiệu về hệ thống mới và được huấn luyện. Khởi đầu hoạch định cả chạy thử và cài đặt đồng thời với việc hoạch định dự án và giai đoạn chọn lựa, bởi vì chúng cùng đòi hỏi sự phân tích mở rộng để phát triển chính xác các tiếp cập đúng. Hoạt động thực hiện hệ thống cũng bao gồm khởi tạo sự hỗ trợ người dùng như hoàn thành các tư liệu sưu liệu, các chương trình huấn luyện và giúp đỡ người dùng. Hãy chú ý tư liệu sưu liệu và chương trình huấn luyện được hoàn thành trong quá trình thực
  8. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 15 hiện. Tư liệu sưu liệu được tạo ra trong suốt chu kỳ sống và huấn luyện xảy ra vào lúc khởi đầu một dự án. Thực hiện hệ thống có thể tiếp tục cùng với sự tồn tại của hệ thống bởi vì sự hỗ trợ người dùng cũng là một phần của thực hiện. Bất chấp các cố gắng tốt nhất của người phân tích, người quản lý, người lập trình dẫu như thế nào thì việc cài đặt không phải luôn luôn là một xử lý đơn giản. Nhiều hệ thống được thiết kế tốt vẫn gặp thất bại do qúa trình cài đặt gặp lỗi. Hãy nhớ là ngay cả một hệ thống được thiết kế tốt cũng gặp sự cố khi mà việc thực hiện không được quản lý tốt. Do việc quản lý việc thực hiện hệ thống thường được thực hiện bởi đội ngũ dự án, chúng tôi nhấn mạnh khía cạnh thực hiện xuyên suốt quyển sách này. Phần thứ hai của giai đoạn thứ tư của chu kỳ sống là vận hành. Ngay khi một hệ thống đang hoạt động trong tổ chức, người sử dụng cũng nhận ra các vấn đề về nó làm việc như thế nào và thường suy nghĩ các cách cải tiến. Trong quá trình vận hành, người lập trình tạo sự thay đổi mà người sử dụng yêu cầu và sửa đổi hệ thống để phản ánh các điều kiện doanh nghiệp. Các thay đổi này thì cần thiết để duy trì hệ thống hoạt động và có ích. Lượng thời gian và mức độ cố gắng dành cho sự cải tiến hệ thống trong quá trình hệ thống hoạt động phụ thuộc vào sự thoả thuận trên việc thực hiện của các giai đoạn trước trong chu kỳ sống. Dẫu sao, vấn đề của hệ thống chắc chắn xảy đến, khi một hệ thống thông tin không thực thi như mong muốn, khi giá cả để duy trì hệ thống hoạt động trở nên cao hay khi một yêu cầu của tổ chức đòi hỏi được thay đổi một cách cơ bản. Những vấn đề như vậy chỉ ra rằng đến lúc bắt đầu thiết kế sự thay thế hệ thống. Do vậy, xảy ra hoàn tất chu kỳ lặp và bắt đầu chu kỳ sống lần nữa và mãi mãi. oOo
  9. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 16 Phaàn 1: THÖÏC HAØNH MOÂ HÌNH HOÙA DÖÕ LIEÄU ÑEÅ THIEÁT KEÁ CÔ SÔÛ DÖÕ LIEÄU (PRACTICAL DATA MODELLING FOR DATABASE DESIGN) Chöông 2 . CÔ SÔÛ DÖÕ LIEÄU VAØ MOÂ HÌNH HOÙA DÖÕ LIEÄU (DATABASES AND DATA MODELLING) Toùm taét: Chöông naøy trình baøy lyù do cuûa vieäc thieát keá CSDL cho Heä thoáng thoâng tin quaûn lyù cuûa moät toå chöùc, so saùnh söï tieáp caän döïa treân taäp tin truyeàn thoáng ñeå giaûi quyeát caùc vaán ñeà cuûa heä thoáng thoâng tin vôùi söï tieáp caän döïa treân Cô sôû döõ lieäu hieän ñaïi, vaø ñeà ra caùc böôùc coâng vieäc cuûa vieäc phaân tích, moâ hình hoùa vaø thieát keá coù tính heä thoáng ñeå thöïc hieän caùc giaûi phaùp csdl cho caùc vaán ñeà cuûa doanh nghieäp Ñeán cuoái chöông naøy, baïn coù theå: - so saùnh giöõa söï tieáp caän döïa treân taäp tin truyeàn thoáng vôùi söï tieáp caän hieän ñaïi döïa treân csdl ñeå giaûi quyeát caùc vaán ñeà tích hôïp. - nhaän dieän ñöôïc nhöõng toàn taïi cô baûn cuûa tieáp caän döïa treân taäp tin truyeàn thoáng. - naém ñöôïc nhöõng khaùi nieäm caên baûn cuûa csdl quan heä - thaáy ñöôïc nhöõng lôïi ích trong vieäc duøng csdl quan heä - naém ñöôïc caùc böôùc coâng vieäc cuûa vieäc phaân tích, moâ hình hoùa, thieát keá vaø thöïc hieän caùc giaûi phaùp csdl quan heä cho caùc vaán ñeà doanh nghieäp I HEÄ THOÂNG TIN THEO LOÁI CUÕ (INFORMATION SYSTEM) Trong nhieàu naêm, coâng ngheä tính toaùn vaø thoâng tin phaùt trieån töø nhöõng heä thoáng lôùn, ñaét tieàn, ñoäc quyeàn ñeán caùc heä thoáng môû maïnh vaø vöøa phaûi khoâng ñaét tieàn. Söï phaùt trieån naøy mang laïi lôïi ích to lôùn cho ngöôøi duøng cuoái bôûi söï phaùt trieån cuûa caùc goùi öùng duïng soá nhö xöû lyù vaên baûn, baûng tính ñieän töû, vaên phoøng xuaát baûn, heä quaûn lyù csdl, maùy tính trôï giuùp coâng ngheä phaàn meàm laø nhöõng ví duï. Tröôùc khi maùy tính hoùa csdl ñöôc giôùi thieäu, döõ lieäu ñöôïc löu tröõ theo kieåu ñieän töû thaønh nhieàu taäp tin rieâng bieät, söû duïng heä taäp tin theo loái cuõ. Nhöõng taäp tin naøy ñöôïc xöû lyù baèng caùc ngoân ngöõ theá heä thöù ba nhö COBOL, FORTRAN, PASCAL vaø ngay caû BASIC ñeå taïo ra caùc giaûi phaùp cho caùc vaán ñeà cuûa doanh nghieäp. Moãi öùng duïng, chaúng haïn nhö heä tính löông, heä kho hay heä thoáng keá toaùn seõ coù moät taäp caùc taäp tin rieâng chöùa döõ lieäu rieâng. Nhöõng öùng duïng khaùc nhau: - ñöôïc vieát baèng caùc ngoân ngöõ khaùc nhau. - hoaït ñoäng vôùi loaïi vaø caáu truùc taäp tin rieâng - thöôøng ñöôïc thöïc hieän treân caùc heä maùy tính khaùc nhau. Khi nhöõng heä thoáng naøy phaùt trieån, nhöõng khieám khuyeát cô baûn baét ñaàu töï boäc loä. - cuøng moät döõ lieäu bò truøng laép ôû nhieàu heä thoáng, haäu quaû laø phaûi chi phí theâm cho phaàn löu tröõ - söï khoâng nhaát quaùn gia taêng khi döõ lieäu truøng laép ñöôïc söûa nôi naøy nhöng nôi kia thì khoâng - Neáu öùng duïng ñöôïc vieát baèng caùc ngoân ngöõ khaùc nhau, söû duïng caáu truùc taäp tin khaùc nhau, phöông phaùp xöû lyù khaùc nhau, löu tröõ trong caùc heä thoáng khaùc nhau thì vieäc chuyeån ñoåi döõ lieäu giöõa caùc öùng duïng thuaän lôïi nhaát cuõng raát coàng keành, naëng neà, xaáu nhaát thì raát khoù khaên. - Vieäc xöû lyù döõ lieäu khoâng deã vaø raát khoù taïo ra caùc truy vaán, baùo caùo khoâng chuaån möïc. Do vaäy, ngöôøi söû duïng ít coù cô may tröïc tieáp xöû lyù döõ lieäu hay öùng duïng. Nhöõng heä thoáng naøy ñöôïc ñieàu haønh bôûi ñoäi nguõ caùc chuyeân vieân maùy tính trong aùo choaøng traéng, cö nguï treân caùc vaên phoøng cöûa khoùa vaø theû an ninh.
  10. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 17 Ngöôøi söû duïng coù nhu caàu thöïc hieän moät öùng duïng phaûi gôûi moät baûng yeâu caàu cho phoøng xöû lyù döõ lieäu. Thöôøng, nhöõng yeâu caàu naøy seõ naèm ôû khay phoøng xöû lyù döõ lieäu haøng thaùng, neáu khoâng phaûi laø naêm. Cuoái cuøng, neáu yeâu caàu naøy ñöôïc thöïc hieän, moät laäp trình vieân öùng duïng phaûi thieát keá, laäp trình ñeå ruùt trích, caäp nhaät döõ lieäu lieân quan. Thoâng thöôøng heä thoáng bò quaù haïn khi giao cho ngöôøi söû duïng Nhöõng heä thoáng thoâng tin naøy, thöôøng ñöôïc xem nhö moät gia saûn, raát naëng neà trong söû duïng vaø khoâng ñaùp öùng yeâu caàu ngöôøi söû duïng. 1 Heä taäp tin theo loái cuõ Trong quaù trình taïo ra caùc heä thoáng thoâng tin, ngöôøi laäp trình phaûi choïn loaïi taäp tin thích hôïp (tuaàn töï, töông ñoái, tuaàn töï theo chæ muïc ), söï löïa choïn loaïi taäp tin phuï thuoäc vaøo caùc yeáu toá sau: - Ngoân ngöõ laäp trình ñöôïc söû duïng. - Yeâu caàu cuûa öùng duïng. - phaàn cöùng maùy tính/ heä ñieàu haønh söû duïng. Baát keå tieáp caän naøo xaûy ra, vaán ñeá cô baûn vaãn toàn taïi trong taát caû loaïi taäp tin vaø taát caû ngoân ngöõ theá heä thöù ba. Toàn taïi söï gaén boù giöõa: - caáu truùc luaän lyù, vaät lyù cuûa taäp tin vôùi - chöông trình öùng duïng xöû lyù taäp tin naøy Söï phuï thuoäc cuûa chöông trình öùng duïng vaøo caáu truùc taäp tin maø noù xöû lyù, taïo ra heä thoáng thoâng tin roái raém, vaø toán thôøi gian taïo döïng do vaäy toán keùm trong baûo trì. Neáu caáu truùc maãu tin cuûa taäp tin bò thay ñoåi (ví duï, moät coät hay moät qui taéc ñöôïc theâm hay ñöôïc thay ñoåi) taát caû chöông trình xöû lyù taäp tin naøy phaûi ñöôïc söû ñoåi. - Moãi chöông trình phaûi ñöôïc chænh söûa (tröø khi phaàn thay ñoåi ñöôïc taïo trong phaàn thö vieän chung) ñeå phaûn aùnh caáu truùc taäp tin môùi. - Moãi chöông trình phaûi ñöôïc bieân dòch vaø lieân keát laïi. - moãi chöông trình phaûi ñöôïc thöû laïi. - Döõ lieäu toàn taïi trong heä thoáng cuõ phaûi ñöôïc chuyeån ñoåi thaønh heä thoáng môùi, thoâng thöôøng baèng caùch vieát theâm chöông trình ñeå thöïc hieän söï chuyeån ñoåi naøy. - Heä thoáng saûn xuaát phaûi ngöng hoaït ñoäng ñeå caøi ñaët phaàn meàm môùi. Nhöõng vaán ñeà treân keát hôïp vôùi nhau do moät thöïc teá laø trong moät toå chöùc lôùn moät öùng duïng ñöôïc taïo vaø ñöôïc baûo trì ñoäc laäp vôùi nhau, söû duïng phaàn cöùng vaø phaàn meàm khaùc nhau. Do moãi öùng duïng coù rieâng caùc taäp tin, neân moät döõ lieäu caàn cho nhieàu öùng duïng phaûi ñöôïc truøng laép nghóa laø nhieàu taäp tin chöùa cuøng döõ lieäu seõ ñöôïc taïo 2 Moät ví duï veà truøng laép döõ lieäu (data redundancy) Döõ lieäu truøng laép hay dö thöøa (nôi maø moät söï kieän ñöôïc löu hôn moät laàn) thì thöôøng thaáy trong heä thoáng cuõ. Moät ví duï maãu möïc veà ñieàu naøy laø heä quaûn lyù nguoàn nhaân löïc. Heä quaûn lyù nguoàn nhaân löïc bao goàm ba heä chính: 1. Heä löông, heä naøy duy trì ngaøy coâng vaø löông cho taát caû nhaân vieân. 2. Heä nhaân söï. Heä naøy duy trì lyù lòch caù nhaân, döõ lieäu veà toå chöùc, coâng vieäc ñaøo taïo vaø vò trí thaêng tieán. 3. Heä höu. Heä naøy quaûn trò caùc qui taéc lieân quan ñeán nghæ höu, loaïi nghæ höu. Chi tieát veà höu cuûa töøng nhaân vieân Vaán ñeà phöùc taïp laø Heä löông thoâng thöôøng ñöôïc quaûn lyù bôûi phoøng taøi chaùnh, trong khi Heä lyù lòch vaø Heä Quaûn lyù höu ñöôïc quaûn lyù bôûi phoøng toå chöùc.
  11. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 18 Roõ raøng, coù nhieàu döõ lieäu veà nhaân vieân laø chung cho caû ba heä. Thöôøng nhöõng heä naøy ñöôïc thöïc hieän vaø baûo trì rieâng bieät, keå caû nguoàn taøi nguyeân rieâng vaø chuùng taïo söï truøng döõ lieäu nhaân vieân maø chuùng duøng II TIEÁP CAÄN CÔ SÔÛ DÖÕ LIEÄU Khôûi ñaàu, söï giôùi thieäu csdl vaø heä quaûn trò csdl nhaèm vaøo moät soá vaán ñeà gaén lieàn vôùi heä döïa treân caùc taäp tin theo loái cuõ. Ñieàu naøy taïo ra vieäc xöû lyù, phaùt trieån treân hai möôi laêm naêm qua vôùi moät heä quan heä thöông maïi xuaát hieän cuoái nhöõng naêm thaäp nieân 70 vaø caùc naêm ñaàu cuûa thaäp nieân 80 Tröôùc khi xem xeùt CSDL vaø heä quaûn trò csdl quan heä giaûi quyeát moät vaøi vaán ñeà naøy nhö theá naøo chuùng ta caàn laøm roõ vaøi khaùi nieäm. 1 Cô sôû döõ lieäu laø gì? Moät csdl coù theå ñònh nghóa taïm nhö sau: moät choã chöùa coù toå chöùc taäp hôïp caùc taäp tin, caùc maãu tin vaø caùc coät döõ lieäu coù lieân quan. Ngaøy nay csdl toàn taïi trong moãi öùng duïng thoâng duïng, ví duï: - Heä kho vaø kieåm keâ. - Heä ñaët choã maùy bay. - Heä nguoàn nhaân löïc. - heä dòch vuï coâng coäng nhö caáp nöôùc, ñieän, khí ñoát. - Ñieàu khieån quaù trình cheá taïo vaø saûn xuaát. Danh saùch thì voâ taän. 2 Heä quaûn trò CSDL (DBMS: database management system) Moät heä quaûn trò csdl (HQTCSDL) laø: - moät taäp caùc phaàn meàm quaûn lyù csdl vaø cung caáp caùc dòch vuï xöû lyù csdl cho caùc nhöõng ngöôøi phaùt trieån öùng duïng vaø ngöôøi duøng cuoái. - HQTCSDL cung caáp moät giao dieän giöõa ngöôøi söû duïng vaø döõ lieäu. - HQTCSDL bieán ñoåi csdl vaät lyù thaønh csdl logic. 3 Caùc loaïi HQTCSDL Caùc HQTCSDL coù theå ñöôïc phaân lôùp theo moät soá caùch. Moät phöông phaùp phoå bieán trong vieäc phaân lôùp laø döïa vaøo caáu truùc beân trong cuûa HQTCSDL. Hieän coù naêm loaïi heä QTCSDL ñang duøng: - loaïi phaân caáp nhö heä IMS cuûa IBM - loaïi maïng IDMS cuûa Cullinet Software - Loaïi taäp tin ñaûo nhö ADABAS cuûa Software AG - Loaïi quan heä nhö nhö ORACLE cuûa Oracle, DB2 cuûa IBM, ACCESS cuûa Microsoft Access - Loaïi ñoái töôïng. Loaïi naøy laø moät tieáp caän khaù môùi trong thieát keá HQTCSDL vaø vieäc söû duïng heä loaïi naøy sôùm trôû neân phoå bieán.
  12. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 19 Hieän taïi, loaïi HQTCSDL chính ñöôïc söû duïng trong coâng ngheä laø loaïi HQTCSDL quan heä (RDBMS). Loaïi naøy ñaõ chieám lónh trong coâng ngheä treân 10-15 naêm cuoái cuøng khi ñaùnh baät loaïi HQTCSDL phaân caáp vaø gaàn ñaây laø HQTCSDL maïng. III CSDL, HQTCSDL VAØ NGÖÔØI DUØNG (USER) Ngöôøi duøng khai thaùc csdl (thoâng qua HQTCSDL) coù theå phaân lôùp thaønh ba loaïi: - Ngöôøi quaûn trò CSDL (administrator) - Ngöôøi phaùt trieån öùng duïng vaø laäp trình (programer) - Ngöôøi duøng cuoái (end user) ¾ Ngöôøi quaûn trò CSDL Haøng ngaøy, ngöôøi QTCSDL chòu traùch nhieäm quaûn lyù vaø baûo trì csdl nhö: - söï chính xaùc vaø toaøn veïn cuûa döõ lieäu vaø öùng duïng trong csdlsöï an ninh cuûa csdl. - löu phoøng hôø vaø phuïc hoài csdl. - giöõ lieân laïc vôùi ngöôøi phaùt trieån öùng duïng, ngöôøi laäp trình vaø ngöôøi duøng cuoái. - hoaït ñoäng troâi chaûy vaø hieäu quaû cuûa csdl vaø HQTCSDL ¾ Ngöôøi phaùt trieån vaø laäp trình öùng duïng laø nhöõng ngöôøi chuyeân nghieäp veà maùy tính coù traùch nhieäm thieát keá, taïo ra vaø baûo trì heä thoâng tin cho ngöôøi duøng cuoái. ¾ Ngöôøi duøng cuoái khoâng phaûi laø nhöõng ngöôøi chuyeân nghieäp veå maùy tính nhöng hoï laø caùc chuyeân gia trong caùc laõnh vöïc khaùc coù traùch nhieäm cuï theå trong toå chöùc. Hoï khai thaùc csdl quan heä thoâng qua heä ñöôïc phaùt trieån bôûi ngöôøi phaùt trieån öùng duïng hay caùc coâng cuï truy vaán, baùo caùo ñeå ruùt trích thoâng tin caàn thieát. Nhôù raèng chæ csdl quan heä cung caáp khaû naêng thöïc cho ngöôøi duøng cuoái khai thaùc tröïc tieáp csdl. Heä QTCSDL döïa treân loaïi phaân caáp vaø maïng thoâng thöôøng ñoøi hoûi khai thaùc döõ lieäu bôûi caùc öùng duïng ñaëc bieät, ñöôïc phaùt trieån bôûi nhöõng chuyeân gia maùy tính chuyeân nghieäp, coøn ña phaàn chæ taïo ñöôïc nhöõng xöû lyù döõ lieäu ñôn giaûn. 1 CSDL quan heä vaø heä taäp tin theo loái cuõ Vì sao csdl quan heä taùc ñoäng maïnh ñeán coâng ngheä heä thoâng tin treân 20 naêm qua? Noù cung caáp nhöõng gì maø heä truyeàn thoáng laïi khoâng cung caáp ñöôïc? csdl quan heä khaéc phuïc ñöôïc moät soá vaán ñeà cô baûn maø ñaõ gaén lieàn vôùi heä döïa treân taäp tin theo loái cuõ. Nhöõng vaán ñeà chính yeáu naøy laø: - Coù söï lieân keát chaët cheõ giöõa caáu truùc luaän lyù, vaät lyù cuûa caùc taäp tin döõ lieäu vaø chöông trình öùng duïng khai thaùc chuùng. Ñieàu naøy taïo cho noù trôû neân phöùc taïp, toán nhieàu thôøi gian trong taïo döïng vaø do vaäy maø toán keùm trong baûo trì heä thoáng. - Coù söï dö thöøa döõ lieäu raát lôùn qua vieäc truøng laép caùc taäp tin trong caùc öùng duïng khaùc nhau, coù leõ ñöôïc quaûn lyù bôûi caùc phoøng khaùc nhau trong moät toå chöùc. Ñieàu naøy taïo ra nhöõng vaán ñeà lieân quan ñeán söï thieáu nhaát quaùn cuûa döõ lieäu, khoâng gian ñóa bò laõng phí, thôøi gian baûo trì vaø löu phoøng hôø caùc taäp tin gia taêng, vaán ñeà quaûn trò nhö an ninh vaø chuaån möïc khaùc nhau. - Coù ít khaû naêng cho vieäc khai thaùc tröïc tieáp, khoâng theo theå thöùc caùc döõ lieäu. Tieáp caän csdl giaûi quyeát vaán ñeà naøy nhö theá naøo? i Vaán ñeà 1: caáu truùc logic vaø caáu truùc vaät lyù
  13. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 20 NSD NSD chöông trình chöông trình öùng duïng öùng duïng CSDL Logic Heä quaûn trò cô sôû döõ lieäu Tieáp caän theo loái cuõ Tieáp caän theo csdl Hình 1.3 - Tieáp caän theo csdl taïo ra moät lôùp phaàn meàm giöõa döõ lieäu vaät lyù vaø chöông trình öùng duïng Kieán truùc beân trong HQTCSDL quan heä taùch bieät roõ raøng giöõa: - caáu truùc luaän lyù cuûa taát caû taäp tin vaø chöông trình öùng duïng khai thaùc taäp tin naøy vaø - caáu truùc vaät lyù cuûa csdl vaø phaàn löu tröõ caùc taäp tin. Tieáp caän naøy taïo cho NQTCSDL coù theå thay ñoåi caáu truùc vaät lyù hay nôi löu tröõ cuûa taäp tin maø khoâng aûnh höôûng ñeán chöông trình öùng duïng. Caáu truùc vaät lyù cuûa döõ lieäu coù theå thay ñoåi vì nhieàu lyù do: - Moät öùng duïng môùi caàn theâm coät ñeå löu tröõ. - Phaàn cöùng löu tröõ taäp tin döõ lieäu coù theå ñöôïc naâng caáp. - Ngöôøi QTCSDL muoán ñieàu chænh CSDL vì lyù do hieäu suaát. Tieáp caän csdl daãn ñeán moät soá lôïi ích quan troïng ñeå phaùt trieån vaø söû duïng öùng duïng.Noù taïo khaû naêng thay ñoåi caáu truùc luaän lyù, chaúng haïn nhö: theâm vaøi muïc tin maø khoâng aûnh höôûng ñeán chöông trình öùng duïng khoâng söû duïng muïc tin naøy .Ñieàu naøy coù keát quaû laø tieát kieäm ñaùng keå chi phí baûo trì. ii Vaán ñeà 2: dö thöøa döõ lieäu (data redundancy) Khi HQTCSDLQH ñöôïc giôùi thieäu, nhieàu toå chöùc mong tích hôïp caùc taäp tin ñaõ phaân taùn khaép trong toå chöùc. Trong xöû lyù, caùc coá gaéng nhaèm hôïp nhaát caùc thaønh phaàn döõ lieäu dö thöøa. Döõ lieäu coù theå chia seû cho nhieàu öùng duïng khaùc nhau vaø ngöôøi söû duïng coù theå khai thaùc ñoàng thôøi caùc taäp con döõ lieäu lieân quan ñeán hoï. iii Vaán ñeà 3: Söï khai thaùc döõ lieäu cuûa ngöôøi söû duïng Trong heä QTCSDLQH ngöôøi duøng coù theå tröïc tieáp khai thaùc döõ lieäu thoâng qua vieäc söû duïng caùc caâu truy vaán hay caùc coâng cuï baùo caùo ñöôïc cung caáp bôûi heä QTCSDL. Ngöôïc laïi ngöôøi söû duïng khoâng theå tröïc tieáp khai thaùc döõ lieäu trong caùc heä taäp tin theo loái cuõ. IV DÖÕ LIEÄU TAÄP TRUNG HAY PHAÂN TAÙN Khuynh höôùng löu tröõ döõ lieäu trong csdl taäp trung ngaøy nay ñaõ bò ñaûo ngöôïc. Söï tieán boä cuûa maïng maùy tính vaø coâng ngheä veà csdl ñaõ cho pheùp döõ lieäu ñöôïc löu tröõ treân nhieàu csdl ñeå phaân taùn ôû caùc nôi vaø cho pheùp khaû naêng khai thaùc csdl qua nhieàu vò trí vaät lyù khaùc nhau. V MOÂ HÌNH DÖÕ LIEÄU 1 Phaân tích döõ lieäu vaø phaân tích heä thoáng thoâng tin - Phaân tích döõ lieäu laø xem xeùt yeâu caàu döõ lieäu cuûa moät vaán ñeà ñôn leû coøn - Phaân tích heä thoáng thoâng tin laø xem xeùt toaøn boä döõ lieäu cuûa moät toå chöùc. 2 Vaán ñeà toàn kho vaø nhaø cung caáp
  14. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 21 Csdl quan heä khoâng töï ñoäng loaïi boû söï dö thöøa döõ lieäu. Ñaây laø traùch nhieäm cuûa ngöôøi thieát keá csdl. Ví duï nhö döõ lieäu löu tröõ sau veà haøng vaø nhaø cung caáp sau: Maõ haøng Moâ taû Maõ nhaø cung caáp Teân nhaø cung caáp Chi nhaùnh 10 Maùy bôm 458 ABC Hardware Bayswater 20 Maùy loïc 325 Clough Mt Lawley 30 Maùy neùn khí 405 Air supplies Cloverdale 40 Maùy nghieàn 458 ABC Hardware Bayswater 50 Buùa 277 HWStores Cloverdale 60 Caây vaën 4 goùc 458 ABC Hardware Bayswater 70 Caùi cöa 325 Clough Mt Lawley Baûng 1.1 – Ví duï veà haøng vaø nhaø cung caáp Ta coù theå löu tröõ döõ lieäu cuûa baûng 1.1 vaø baát kyø csdl quan heä naøo maø khoâng gaëp söï phaûn ñoái naøo cuûa heä QTCSDL. Söï dö thöøa döõ lieäu cuûa baûng treân gaây ra caùc vaán ñeà sau: - Söï kieän ABC Hardware ñöôïc löu tröõ 3 laàn - Ta khoâng theå löu tröõ nhaø cung caáp môùi khi hoï chöa cung caáp maët haøng. - Khi caàn xoùa moät maët haøng seõ keùo theo khaû naêng xoùa luoân nhaø cung caáp. - Khi coù nhu caàu söûa ñoåi teân moät nhaø cung caáp seõ phaûi söûa taát caû caùc doøng coù teân nhaø cung caáp naøy. 3 Vieäc söû duïng vaø vai troø cuûa moâ hình döõ lieäu Khi giaûi quyeát vaán ñeà roõ raøng caàn thieát phaûi tieáp caän coù phöông phaùp ñeå: - nhaän dieän phaàn töû döõ lieäu (söï vaät, söï vieäc) cuûa vaán ñeà. - Thieát laäp moái keát hôïp giöõa caùc phaàn töû döõ lieäu. Vieäc phaân tích vaø caáu truùc hoùa döõ lieäu naøy ñöôïc xem nhö moâ hình hoùa döõ lieäu. Tröôùc ñaây, moät öùng duïng maùy tính ñöôïc thieát keá vaø caøi ñaët sau khi nghieân cöùu kyõ caùc xöû lyù vaø yeâu caàu chöùc naêng cuûa heä thoáng. Nhöng kinh nghieäm cho thaáy caùc xöû lyù vaø chöùc naêng cuûa moät toå chöùc thöôøng coù khuynh höôùng hay thay ñoåi coøn caáu truùc döõ lieäu laïi ít thay ñoåi. Vì lyù do naøy maø nhieàu heä thoáng thoâng tin hieän nay cô baûn döïa treân döõ lieäu hôn laø döïa vaøo xöû lyù. VI THIEÁT KEÁ MOÂ HÌNH DÖÕ LIEÄU VAØ CSDL Phaân tích yeâu caàu veà döõ lieäu cuûa öùng Döõ lieäu yeâu caàu duïng ñeå thieát laäp döõ lieäu yeâu caàu Phaân tích- Ñoäc laäp vôùi HQTCSDL Caáu truùc hoùa döõ lieäu ñeå taïo moâ hình döõ lieäu. Moâ hình döõ lieäu Hình aûnh hoùa vieäc trình baøy baèng moâ hình thöïc theå keát hôïp coù boå sung baûng töø ñieån döõ lieäu. Tuyeån choïn caùc quan heä döï tuyeån. Quan heä tuyeån choïn Bieán ñoåi moâ hình thöïc theå keát hôïp Thieát keá csdl logic - thaønh moâ hình quan heä Ñoäc laäp vôùi HQTCSDL Chuaån hoùa quan heä tuyeån choïn ñaït Quan heä chuaån toái thieåu daïng chuaån 3 Thieát keá - CSDL quan heä Baûng trong csdl Quyeát ñònh caáu truùc thöïc cuûa baûng Thieát keá csdl vaät lyù - quan heä ñeå löu tröõ trong csdl quan heä trong moät HQTCSDL cuï theå Baûng coù caøi ñaët caùc Thöïc hieän caøi ñaët ñaày ñuû csdl vaät lyù, Söû duïng caùc hoã trôï cuûa QTCSDL tieán boä cuûa caùc ñaëc tính cuûa HQTCSDL vaø tinh chænh csdl veà thi haønh Hình 1.4 - Caùc böôùc trong thieát keá moâ hình döõ lieäu vaø csdl quan heä 1 Caùc böôùc phaân tích thieát keá CSDL
  15. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 22 - Caùc böôùc ñöôïc laøm ñi laøm laïi nhieàu laàn - Nhöõng ñieàu thieáu soùt ôû böôùc tröôùc seõ trôû thaønh caùc toå hôïp thieáu soùt ôû böôùc sau. - Thôøi gian ôû caùc böôùc khoâng coù tính coá ñònh: coù caùc vaán ñeà raát khoù ôû böôùc phaân tích, nhöng laïi deã ôû böôùc thöïc hieän. Coù nhöõng vaán ñeà laïi ngöôïc laïi. - Caùc giai ñoaïn xaây döïng moät heä cô sôû döõ lieäu bao goàm: 1. Giai ñoaïn phaân tích (analysis phase, requirements phase) - Hoaøn thaønh moâ hình döõ lieäu - Hoaøn thaønh chi tieát söu lieäu trong töï ñieån döõ lieäu 2. Giai ñoaïn thieát keá csdl logic (logical design phase) - Bieán ñoåi moâ hình thöïc theå thaønh moâ hình quan heä - Kieåm tra yeâu caàu chöùc naêng - Chuaån hoùa caùc quan heä 3. Giai ñoaïn thieát keá csdl vaät lyù (physical design phase) - Trong HQTCSDL ñöôïc choïn, xaây döïng caùc baûng (Table) vaø caùc chi tieát caøi ñaët 2 Toùm taét caùc giai ñoaïn khaùc nhau trong PTTK CSDL 1. Phaân tích yeâu caàu döõ lieäu: giai ñoaïn naøy ñöôïc tieán haønh ñoàng thôøi vôùi giai ñoaïn moâ hình hoùa döõ lieäu. Trong giai ñoaïn naøy ngöôøi phaân tích phaûi coù hieåu bieát veà doanh nghieäp vaø caùc qui taéc quaûn lyù cuûa hoï. Chuùng ta seõ ñeà caäp ñieàu naøy chi tieát hôn trong chöông 2 vaø chöông 4 2. Moâ hình hoùa döõ lieäu laø xaây döïng caùc caáu truùc döõ lieäu vaø moái lieân quan giöõa chuùng. Caùc khaùi nieäm cô baûn seõ ñeà caäp trong chöông 2 vaø giaûi thích chi tieát töø chöông 5 ñeán chöông 9 3. Tuyeån choïn caùc quan heä. Caùc quan heä ñöôïc tuyeån choïn töø moâ hình thöïc theå. Chöông 3 seõ ñeà caäp ñeán caùc qui taéc tuyeån choïn naøy 4. Chuaån hoùa caùc quan heä laø moät xöû lyù taïo ra caùc caáu truùc döõ lieäu cô baûn, coù söï dö thöøa döõ lieäu toái thieåu vaø lieân quan vôùi nhau. 5. Thieát keá csdl vaät lyù laø giai ñoaïn thöïc hieän heä thoáng trong moät HQTCSDL cuï theå VII TOÙM TAÉT CHÖÔNG - Trong chöông naøy chuùng ta ñaõ thaáy nguyeân nhaân ra ñôøi cuûa lyù thuyeát phaân tích thieát keá heä thoáng thoâng tin cuûa moät toå chöùc. Söï nguy hieåm khi döû duïng heä taäp tin theo loái cuõ ñeå giaûi baøi toaùn heä thoáng thoâng tin vaø caùc lôïi ñieåm cuûa söï tieáp caän theo kieåu csdl. - Moái nguy hieåm khi xaây döïng öùng duïng khoâng theo lyù thuyeát veà csdl. - Phaân bieät giöõa csdl vaø hqtcsdl - Caùc giai ñoaïn tieán haønh ñeå xaây döïng giaûi phaùp csdl quan heä ñeå giaûi quyeát caùc vaán ñeà cuûa doanh nghieäp VIII BAØI TAÄP Which of the following are components of information systems architecture? A)  Data B)  Networks C)  Processes oOo
  16. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 23 Chöông 3 . GIÔÙI THIEÄU VEÀ MOÂ HÌNH HOÙA DÖÕ LIEÄU (INTRODUCTION TO DATA MODELLING) Chöông naøy trình baøy caùc kyõ thuaät cô baûn ñeå xaây döïng moâ hình döõ lieäu söû duïng moâ hình thöïc theå keát hôïp – Thöïc theå - thuoäc tính – phieáu thöïc theå thuoäc tính - töï ñieån döõ lieäu - Nhaän dieän ñöôïc thöïc theå, thuoäc tính vaø moái quan töø ñaëc taû vaán ñeà. - Lieät keâ ñöôïc caùc qui taéc quaûn lyù cuûa doanh nghieäp. - Xaây döïng moâ hình ER baèng caùc thöïc theå, thuoäc tính nhaän dieän, thuoäc tính moâ taû vaø moái keát hôïp. - Xaùc ñònh ñöôïc baûn soá cuûa moái keát hôïp. - Giaûi quyeát ñöôïc moái keát hôïp nhieàu nhieàu baèng caùch ñöa vaøo taäp keát hôïp thích hôïp. - Duøng moâ hình theå hieän ñeå giaûi quyeát vaán ñeà taäp keát hôïp. - Nhaän bieát caùc kyù hieäu khaùc nhau veà kyù hieäu moâ hình ER. - Nhaän bieát caùc thaønh phaàn döõ lieäu phaûi löu tröõ trong töï ñieån döõ lieäu vaø xaây döïng phieáu thöïc theå thuoäc tính. I GIÔÙI THIEÄU MOÂ HÌNH HOÙA DÖÕ LIEÄU Giai ñoaïn phaân tích heä thoáng (system analysis) goàm ba hoaït ñoäng chính: xaùc ñònh yeâu caàu heä thoáng (determining system requirements), caáu truùc yeâu caàu heä thoáng (structuring system requirements) vaø choïn löïa giaûi phaùp thay theá toát nhaát. Böôùc ñaàu tieân cuûa moâ hình hoùa döõ lieäu (phaàn 2.b cuûa hình treân) laø phaân tích döõ lieäu. Phaân tích döõ lieäu coù muïc ñích: nhaän dieän caùc qui taéc quaûn lyù cuûa doanh nghieäp vaø thu thaäp döõ lieäu yeâu caàu cho moâ hình döõ lieäu Chöông naøy baét ñaàu baèng caùc ví duï hay vaán ñeà cuï theå. Coâng cuï moâ hình hoùa laø Moâ hình thöïc theå keát hôïp (moâ hình ER) laø söï bieåu dieãn baèng hình aûnh cuûa moâ hình döõ lieäu. II XAÂY DÖÏNG MOÂ HÌNH ER
  17. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 24 1 Ví duï - Moái keát hôïp moät-nhieàu Nhöõng ngöôøi phuï traùch ñaøo taïo cuûa Tröôøng cao ñaúng coäng ñoàng nuùi Ayers mong muoán taïo laäp moät csdl veà caùc moân ñaøo taïo cuûa tröôøng (chöùng chæ leo nuùi, coâng ngheä bay) vaø hoïc vieân ghi danh vaøo nhöõng moân hoïc naøy. Tröôøng cuõng coù qui ñònh laø cuøng moät luùc, hoïc vieân chæ coù theå ghi danh vaøo moät moân hoïc. Hoï chæ quan taâm veà döõ lieäu cuûa ñôït ghi danh hieän taïi. Moät khi hoïc vieân keát thuùc moân hoïc thì nhaø tröôøng seõ khoâng coøn quan taâm ñeán hoï vaø nhöõng hoïc vieân naøy phaûi ñöôïc xoùa khoûi csdl. Thoâng tin caàn löu tröõ veà moät hoïc vieân bao goàm: maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá ñieän thoaïi, ngaøy nhaäp hoïc cuûa hoïc vieân. Thoâng tin veà moân hoïc goàm maõ moân hoïc, teân moân hoïc, thôøi löôïng. i Ñaëc taû vaán ñeà Phaàn ñaëc taû vaán ñeà chöùa ñöïng caùc qui taéc quaûn lyù vaø döõ lieäu yeâu caàu cuûa vaán ñeà. Chuùng ta phaûi nhaän dieän ñöôïc chuùng vaø moâ hình chuùng trong moâ hình ER. ii Thaønh phaàn döõ lieäu Döõ lieäu yeâu caàu cuûa vaán ñeà laø: - Chi tieát veà hoïc vieân coù maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá ñieän thoaïi vaø ngaøy nhaäp hoïc. - Chi tieát veà moân hoïc coù maõ moân hoïc, teân moân hoïc vaø thôøi löôïng. iii Qui taéc quaûn lyù Qui taéc quaûn lyù cuûa vaán ñeà laø: 1. Moãi hoïc vieân chæ coù theå ghi danh vaøo moät moân hoïc. 2. Nhieàu hoïc vieân coù theå ghi danh vaøo moät moân hoïc. 3. Nhaø tröôøng chæ quan taâm ñeán nhöõng hoïc vieân cuûa moân hoïc hieän taïi. iv Nhöõng khía caïnh khaùc - Ngöôøi phuï traùch ñaøo taïo laø ngöôøi duøng cuoái maø chuùng ta xaây döïng moâ hình döõ lieäu vaø laø csdl cho hoï, laø ngöôøi maø ta coù theå thu thaäp thoâng tin caàn thieát cho vaán ñeà. - Hoïc vieân hoïc xong moân hoïc vaø khoâng ghi danh hoïc tieáp moân hoïc khaùc phaûi ñöôïc xoùa khoûi csdl. Ñaây laø yeâu caàu chöùc naêng cuûa heä thoáng maø ta phaûi thöïc hieän. Yeâu caàu chöùc naêng khoâng aûnh höôûng ñeán moâ hình döõ lieäu. - Nhaø tröôøng chæ quan taâm ñeán moân hoïc hieän taïi. Ñieàu naøy cho thaáy khía caïnh taïm thôøi cuûa döõ lieäu vaø chuùng ñöôïc ñöa vaøo nhaèm muïc ñích laøm ñôn giaûn baøi toaùn. v Moâ hình ER (Entity Relationship Model; Entity Relationship Diagram) Moâ hình ER ñoâi khi coøn ñöôïc goïi laø moâ hình yù nieäm döõ lieäu (Conceptual Data Model) hay ñôn giaûn laø moâ hình döõ lieäu (data model) Caùc tính chaát trong moâ hình ER
  18. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 25 Taäp thöïc theå (entity type, regular entity type,entity class, generic entity): Hình chöõ nhaät ñöôïc goïi laø taäp thöïc theå. Teân cuûa taäp thöïc theå ñöôïc ghi beân trong hình chöõ nhaät vaø duøng danh töø ñeå ñaët teân cho taäp thöïc theå. Thöïc theå (instance, entity instance):Moät taäp thöïc theå coù nhieàu phaàn töû coù cuøng loaïi. Moãi moät phaàn töû nhö vaäy ñöôïc goïi laø moät thöïc theå. Moái keát hôïp (relationship): Ñöôøng noái giöõa hai taäp thöïc theå ñöôïc goïi laø moái keát hôïp. Moái keát hôïp trong vaán ñeà treân laø moái keát hôïp moät-nhieàu (1:M). Noäi dung cuûa moái keát hôïp ñöôïc dieãn taû theo hai chieàu: “ghi danh vaøo”, “ñöôïc ghi danh bôûi” Thuoäc tính (attribute): Caùc döõ lieäu ghi beân caïnh taäp thöïc theå ñöôïc goïi laø thuoäc tính. Chuùng cung caáp thoâng tin chi tieát veà taäp thöïc theå. Coù hai loaïi thuoäc tính: Thuoäc tính nhaän dieän (identifier) laø thuoäc tính ñeå phaân bieät thöïc theå (instance) naøy vôùi thöïc theå kia trong taäp thöïc theå. Thuoäc tính moâ taû (descriptive attribute) laø thuoäc tính cung caáp thoâng tin chi tieát hôn veà thöïc theå trong taäp thöïc theå. vi Bieåu dieãn qui taéc doanh nghieäp treân moâ hình Moâ hình ER treân ñaõ dieãn taû ñöôïc hai qui taéc quaûn lyù cuûa doanh nghieäp laø: Moãi HOÏC VIEÂN ghi danh vaøo moät MOÂN HOÏC Moãi MOÂN HOÏC ñöôïc ghi danh bôûi moät hay nhieàu HOÏC VIEÂN vii Baûn soá keát noái cuûa moái keát hôïp (cardinality) Moái keát hôïp cuûa vaán ñeà treân laø moái keát hôïp hai ngoâi (binary relationship) coù bản số (cardinality, degree of relationship) kết noái moät nhieàu. Bản số keát noái moät-nhieàu raát phoå bieán trong moâ hình ER. Hai loaïi bản số keát noái coøn laïi ít phoå bieán hôn nhöng khoâng keùm phaàn quan troïng laø moái keát hôïp moät-moät vaø moái keát hôïp nhieàu-nhieàu. 2 Ví duï – moái keát hôïp moät-moät Phoøng caûnh saùt mong muoán quaûn lyù lyù lòch caù nhaân nhöõng ngöôøi laùi xe vaø baèng laùi cuûa hoï. Moät ngöôøi chæ laáy ñöôïc moät baèng laùi vaø moät baèng laùi chæ thuoäc veà moät ngöôøi. Thoâng tin veà laùi xe maø phoøng caûnh saùt quan taâm laø: + maõ ngöôøi laùi xe + teân + ñòa chæ + ngaøy sinh Thoâng tin veà baèng laùi caàn löu tröõ laø: + maõ baèng laùi + loaïi baèng laùi + ngaøy heát haïn
  19. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 26 - moãi NGÖÔØI LAÙI XE chæ laáy ñöôïc moät BAÈNG LAÙI - moãi BAÈNG LAÙI chæ thuoäc veà moät NGÖÔØI LAÙI XE 3 Ví duï – moái keát hôïp nhieàu-nhieàu Ngöôøi phuï traùch ñaøo taïo Tröôøng cao ñaúng coäng ñoàng nuùi xanh mong muoán thieát laäp moät csdl veà caùc moân hoïc maø hoï cung caáp (nhö chöùng chæ leo nuùi, cöû nhaân coâng ngheä bay) vaø caùc hoïc vieân ghi danh vaøo caùc moân hoïc naøy. Nhaø tröôøng qui ñònh laø moät hoïc vieân ñöôïc ghi danh hoïc toái ña ba moân hoïc trong cuøng moät luùc. Hoï chæ quan taâm ñeán döõ lieäu cuûa moân hoïc hieän taïi. Moät khi hoïc vieân keát thuùc moân hoïc, hoï seõ khoâng coøn thuoäc dieän quaûn lyù cuûa nhaø tröôøng vaø phaûi ñöôïc xoùa khoûi csdl tröø khi hoïc vieân naøy ghi danh hoïc tieáp moân môùi. Thoâng tin veà moät hoïc vieân goàm: maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá ñieän thoaïi, ngaøy nhaäp hoïc cuûa hoïc vieân. Thoâng tin veà moân hoïc goàm: maõ moân hoïc, teân moân hoïc, thôøi löôïng i Moâ hình thöïc theå theå hieän Ñeå laøm roõ hôn caùc qui taéc quaûn lyù cuûa doanh nghieäp, ngöôøi ta duøng moät moâ hình ñeå bieåu dieãn moät vaøi döõ lieäu ví duï goïi laø moâ hình thöïc theå theå hieän: Jenny laø moät thöïc theå (entity instance) cuûa taäp thöïc theå hoïc vieân. ii Moâ hình ER
  20. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 27 maõ hoïc vieân teân hoïc vieân ghi danh vaøo maõ moân hoïc HOÏC VIEÂN MOÂN HOÏC teân moân hoïc ñòa chæ ñöôïc ghi danh bôûi ngaøy sinh thôøi löôïng soá ñieän thoaïi Hình 2.5 - Moâ hình ER cuûa vaán ñeà Tröôøng cao ñaúng coäng ñoàng nuùi xanh + Moãi HOÏC VIEÂN ghi danh vaøo moät hay nhieàu MOÂN HOÏC + Moãi MOÂN HOÏC ñöôïc ghi danh bôûi moät hay nhieàu HOÏC VIEÂN Moâ hình ER treân coù moái keát hôïp nhieàu nhieàu. iii Loaïi boû baûn soá keát noái nhieàu nhieàu (neáu coù theå) Moâ hình treân gaëp phaûi khuyeát ñieåm sau: - Ngaøy nhaäp hoïc laø thuoäc tính gaén lieàn vôùi taäp thöïc theå HOÏC VIEÂN seõ khoâng hôïp lyù vì khoâng dieãn taû ñöôïc tröôøng hôïp hoïc vieân hoïc cuøng luùc nhieàu moân hoïc. - Coøn neáu ngaøy nhaäp hoïc laø thuoäc tính cuûa MOÂN HOÏC thì khoâng dieãn taû ñöôïc tình traïng cuøng moân hoïc nhöng hoïc vieân coù caùc ngaøy nhaäp hoïc khaùc nhau. Ñeå giaûi quyeát vaán ñeà naøy ta phaûi ñöa vaøo: - moät taäp thöïc theå laøm trung gian giöõa HOÏC VIEÂN vaø MOÂN HOÏC goïi laø taäp keát hôïp PHIEÁU GHI DANH (associative Entity, intersection entity). PHIEÁU GHI DANH laø taäp thöïc theå yeáu (weak Entity) - Thuoäc tính nhaän dieän cuûa taäp keát hôïp laø söï keát hôïp giöõa thuoäc tính nhaän dieän cuûa taäp thöïc theå HOÏC VIEÂN vaø MOÂN HOÏC - thuoäc tính moâ taû cuûa taäp keát hôïp laø ngaøy nhaäp hoïc - bản số keát noái cuûa taäp keát hôïp vôùi taäp thöïc theå laø moät-nhieàu Noäi dung cuûa moái keát hôïp giöõa caùc taäp thöïc theå laø: - moãi HOÏC VIEÂN coù moät hay nhieàu PHIEÁU GHI DANH - moãi PHIEÁU GHI DANH thuoäc veà moät HOÏC VIEÂN - moãi PHIEÁU GHI DANH ghi nhaän ñaøo taïo veà moät MOÂN HOÏC - moãi MOÂN HOÏC ñöôïc ghi nhaän ñaøo taïo bôûi moät hay nhieàu PHIEÁU GHI DANH Caùc qui taéc phaûi tuaân thuû khi theâm taäp keát hôïp laøm trung gian ñeå loaïi boû baûn soá keát noái nhieàu nhieàu: + Phaûi nhaän dieän ñöôïc thuoäc tính moâ taû cuûa taäp keát hôïp. + Neáu coù thuoäc tính moâ taû thì taïo taäp keát hôïp laøm trung gian giöõa hai taäp thöïc theå. + Neáu khoâng coù thuoäc tính moâ taû thì vaãn giöõ nguyeân moâ hình nhö hình 2.5 III MOÂ HÌNH ER THEO KYÙ HIEÄU CUÛA CHEN
  21. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 28 maõ ngöôøi laùi xe NGÖÔØI LAÙI XE 1 sôû höõu 1 BAÈNG LAÙI maõ baèng laùi teân loaïi baèng laùi ñòa chæ ngaøy heát haïn ngaøy sinh Hình 2.9 - Moâ hình ER cuûa vaán ñeà ngöôøi laùi xe vaø baèng laùi theo kyù hieäu cuûa Chen's IV PHIEÁU THÖÏC THEÅ THUOÄC TÍNH + Caùch dieãn taû thuoäc tính beân caïnh moâ hình ER khoâng phuø hôïp cho moâ hình coù qui moâ lôùn. Trong tröôøng hôïp naøy keøm theo moâ hình ER coù phieáu thöïc theå thuoäc tính. + Ví duï: gôûi bao haøm HOÏC VIEÂN PHIEÁU GHI DANH MOÂN HOÏC ñöôïc gôûi bôûi ñöôïc bao haøm bôûi Phieáu thöïc theå – thuoäc tính Döï aùn: Heä ghi danh hoïc vieân Ngaøy: 22.02.96 Taäp thöïc theå Teân khaùc Thuoäc tính Teân khaùc
  22. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 29 HOÏC VIEÂN Maõ hoïc vieân Teân hoïc vieân Ñòa chæ Ngaøy sinh Soá ñieän thoaïi MOÂN HOÏC Maõ moân hoïc Teân moân hoïc Thôøi löôïng PHIEÁU GHI DANH Maõ hoïc vieân Maõ moân hoïc Ngaøy nhaäp hoïc Baûng 2.1: Phieáu thöïc theå thuoäc tính cuûa Tröôøng cao ñaúng coäng ñoàng nuùi xanh V CAÙCH TIEÁP CAÄN MOÂ HÌNH HOÙA DÖÕ LIEÄU Giaû söû ta ñaõ hoaøn thaønh giai ñoaïn phaân tích döõ lieäu, trong tröôøng hôïp chuùng ta laø hoaøn thaønh phaàn ñaëc taû vaán ñeà vaäy phaàn vieäc coøn laïi laø taäp trung caáu truùc hoùa döõ lieäu. 1 Caùc böôùc caáu truùc hoùa döõ lieäu i Böôùc 1: Nhaän dieän caùc taäp thöïc theå ¾ Taäp thöïc theå laø gì? taäp thöïc theå phaûi laø moät ñoái töôïng (söï vaät, söï vieäc) thöïc hay tröøu töôïng coù lieân quan ñeán vaán ñeà, lieân quan ñeán döõ lieäu caàn löu tröõ. Teân taäp thöïc theå ñöôïc dieãn taû baèng moät danh töø nhö: + XE COÄ trong Heä quaûn lyù baèng laùi. + KHEÁ ÖÔÙC trong Heä Baûo hieåm nhaân thoï.
  23. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 30 + SINH VIEÂN trong Heä thoáng thoâng tin sinh vieân. + GIAI ÑOAÏN CAÁT CAÙNH trong Heä thoâng tin caùc chuyeán bay. + CHUYEÁN BAY trong Heä thoâng tin caùc chuyeán bay. ¾ Taäp thöïc theå phaûi coù treân moät thöïc theå ngöôïc laïi, ta khoâng moâ hình noù thaønh taäp thöïc theå. ¾ Moãi taäp thöïc theå phaûi coù ít nhaát moät thuoäc tính moâ taû. ¾ taäp thöïc theå phaûi keát hôïp vôùi ít nhaát moät taäp thöïc theå khaùc. Taäp thöïc theå khoâng theå ñöùng rieâng leû. ¾ taäp thöïc theå phaûi coù thuoäc tính nhaän dieän ñeå phaân bieät thöïc theå naøy vôùi thöïc theå kia trong taäp thöïc theå. ii Böôùc 2: Nhaän dieän moái keát hôïp giöõa caùc taäp thöïc theå ¾ Teân taäp thöïc theå keát hôïp vôùi teân moái keát hôïp taïo thaønh caâu dieãn taû qui taéc quaûn lyù cuûa doanh nghieäp. ¾ Teân moái keát hôïp phaûi ñöôïc dieãn taû theo hai chieàu. ¾ Baûn soá (cardinality) cuûa moái keát hôïp phaûi laø moät trong caùc giaù trò sau moät-moät (1:1), moät-nhieàu (1:M), nhieàu–nhieàu (M:M). Neáu moái keát hôïp giöõa hai taäp thöïc theå laø nhieàu nhieàu vaø toàn taïi moät thuoäc tính khoâng thuoäc veà moät trong hai taäp thöïc theå naøy thì ta phaûi boå sung theâm taäp thöïc theå keát hôïp nhö Hình 2.6. iii Böôùc 3: Gaén thuoäc tính moâ taû vaøo taäp thöïc theå ¾ Khaùi nieäm: thuoäc tính laø tính chaát cô baûn gaén lieàn vôùi thöïc theå. Ví duï nhö: + XE COÄ coù caùc thuoäc tính caáu taïo kieåu daùng naêm saûn xuaát maøu soá maùy + BAÛO HIEÅM coù caùc thuoäc tính loaïi baûo hieåm ngaøy baûo hieåm ngaøy heát haïn phí baûo hieåm haøng naêm 1 Toùm taét
  24. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 31 DÖÕ LIEÄU YEÂU CAÀU 1. Nhaän dieän caùc taäp thöïc theå vaø thuoäc tính nhaän dieän . Nhaän dieän caùc taäp thöïc theå . Ghi nhaän teân khaùc trong töø ñieån döõ lieäu hay phieáu thöïc theå thuoäc tính Moãi taäp thöïc theå caàn kieåm tra caùc tính chaát sau: - coù nhieàu thöïc theå khoâng - coù thuoäc tính nhaän dieän khoâng - coù thuoäc tính moâ taû khoâng - coù moái quan heä vôùi taäp theå khaùc khoâng 2. Nhaän dieän moái quan heä giöõa caùc taäp thöïc theå . Thieát laäp moái quan heä giöõa caùc taäp thöïc theå (veõ ñöôøng noái vaø dieãn taû noäi dung moái quan heä theo hai chieàu) . Xaùc ñònh baûn soá moái quan heä . Xaùc ñònh taäp keát hôïp trong moái quan heä nhieàu-nhieàu neáu ñöôïc 3. Gaén thuoäc tính moâ taû vaøo taäp thöïc theå . Gaén moät laàn duy nhaát moãi thuoäc tính vaøo taäp thöïc theå thích hôïp MOÂ HÌNH DÖÕ LIEÄU Hình 2.16 - Caùc böôùc vaø coâng vieäc thöïc hieän trong moâ hình hoùa döõ lieäu 2 Thöïc haønh caùc böôùc moâ hình hoùa döõ lieäu i Ví duï Nhaø buoân sæ kim khí phía baéc Moät nhaø buoân sæ kim khí phía baéc NHW hoaït ñoäng trong laõnh vöïc kho haøng coù chöùc naêng phaân phoái haøng. Coâng ty mua haøng töø caùc nhaø cung caáp khaùc nhau. Löu tröõ veà haøng coù caùc thoâng tin nhö maõ haøng, moâ taû. Coâng ty coù nhu caàu löu tröõ maõ nhaø cung caáp, teân, ñòa chæ, soá ñieän thoaïi, vaø soá fax. Doanh nghieäp phaûi caïnh tranh, neân moät maët haøng ñöôïc laáy töø nhieàu nhaø cung caáp khaùc nhau vaø moãi laàn giao, nhaø cung caáp coù theå giao vôùi soá löôïng toái ña theo qui ñònh cuûa töøng maët haøng cuûa töøng nhaø cung caáp. Haøng ñöôïc ñoùng bao bì. Moãi bao bì coù maõ bao bì vaø kích thöôùc. Ñoâi khi bao bì laïi quaù nhoû ñeå chöùa taát caû haøng vì theá haøng ñöôïc chöùa treân nhieàu bao bì. Tuy nhieân, khoâng theå coù hai maët haøng cuøng chöùa trong moät bao bì. Haõy xaây döïng moâ hình ER cho baøi toaùn treân. Söû duïng caùc böôùc vaø caùc hoaït ñoäng nhö hình 2.16 ii Caùc böôùc thöïc hieän ¾ Böôùc 1: Nhaän dieän thöïc theå chính. Tìm danh töø dieãn taû ñoái töôïng hay khaùi nieäm cuûa baøi toaùn nhö:
  25. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 32 + Nhaø buoân sæ kim khí phía baéc, coâng ty, doanh nghieäp + Kho haøng + Haøng, maët haøng + nhaø cung caáp + bao bì ¾ Böôùc 2: Nhaän dieän moái keát hôïp giöõa caùc thöïc theå + Haøng ñöôïc mua töø nhieàu nhaø cung caáp + Haøng ñöôïc chöùa treân nhieàu bao bì Baûn soá cuûa thöïc theå + Moãi maët haøng ñöôïc mua töø moät hay nhieàu nhaø cung caáp + moãi nhaø cung caáp cung caáp moät hay nhieàu maët haøng + moãi maët haøng ñöôïc chöùa trong moät hay nhieàu bao bì + moãi bao bì chöùa moät maët haøng Moái keát hôïp giöõa hai taäp thöïc theå MAËT HAØNG vaø NHAØ CUNG CAÁP laø moái keát hôïp nhieàu-nhieàu ¾ Böôùc 3: Gaén caùc thuoäc tính vaøo taäp thöïc theå. MAËT HAØNG + maõ haøng + moâ taû NHAØ CUNG ÖÙNG + maõ nhaø cung caáp + teân + ñòa chæ + soá ñieän thoaïi + soâ fax BAO BÌ + maõ bao bì + kích côõ ????? + soá löôïng toái ña
  26. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 33 Trong böôùc ba, baûn soá keát noái nhieàu-nhieàu phaûi ñöôïc giaûi thaønh hai baûn soá keát noái moät-nhieàu vì toàn taïi thuoäc tính soá löôïng toái ña khoâng laø thuoäc tính cuûa caû MAËT HAØNG laãn NHAØ CUNG CAÁP. ñöôïc cung cấp maõ NHAØ CUNG maõ nhaø cung MAËT HAØNG bởi haøng CAÁP caáp moâ taû chöù Cung cấp teân a ? soá löôïng toái ñòa chæ ña soá ñieän thoaïi soá fax ñöôïc chöùa trong maõ bao bì BAO BÌ kích côõ maõ ñöôïc qui ñònh QUI ÑÒNH caáp trong haøng MAËT HAØNG qui ñònh LÖÔÏNG TOÁI maõ haøng moâ taû chöù cho ÑA soá löôïng toái a ñöôïc qui ñònh ña trong ñöôïc chöùa qui ñònh trong cho maõ bao maõ nhaø cung NHAØ CUNG bì BAO BÌ caáp kích côõ CAÁP teân ñòa chæ Hình 2.20 - Thuoäc tính moâ taû ñaõ ñöôïc ñöa vaøo öùng soá ñieän thoaïi duïng NHW soá fax VI TÖÏ ÑIEÅN DÖÕ LIEÄU (DATA DICTIONARY) Nhaèm laøm roõ hôn caùc khaùi nieäm cuûa vaán ñeà, ngöôøi ta phaûi xaây döïng töø ñieån döõ lieäu ñeå giaûi thích theâm yù nghóa cuûa caùc taäp thöïc theå vaø thuoäc tính. Ví duï taäp thöïc theå haøng Seõ coù töø ñieån döõ lieäu nhö sau: Thöïc theå MAËT HAØNG Teân khaùc haøng, saûn phaåm, haøng hoùa Moâ taû Haøng laø nhöõng thöù ñöôïc mua vôùi soá löôïng khaùc nhau töø caùc nhaø cung öùng, ñöôïc löu tröõ trong kho vaø baùn cho khaùch haøng
  27. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 34 Thuoäc tính Maõ haøng: Laø moät soá duøng ñeå phaân bieät maët haøng naøy vôùi maët haøng kia. Giaù trò coù daïng 0001->9999 Moâ taû: Moâ taû maët haøng goàm qui caùch vaø hình daùng. Loaïi döõ lieäu chuoãi goàm 100 kyù töï. Coù theå coù giaù trò roãng Ñôn giaù: Ñôn giaù hieän taïi cuûa maët haøng. Coù loaïi döõ lieäu soá vôùi 2 soá thaäp phaân, coù giaù trò töø 10 ñeán 50. Giaù trò maëc nhieân laø 0 thueá suaát: Tæ suaát thueá baùn cuûa maët haøng ñöôïc ghi döôùi daïng phaàn traêm. Coù loaïi döõ lieäu soá, coù giaù trò töø 0 ñeán 99. Giaù trò maëc nhieân 0 Thuoäc tính caàn ñeà caäp caùc noäi dung sau: - Giaûi thích ngöõ nghóa. - Xaùc ñònh kieåu döõ lieäu. - Xaùc ñònh mieàn giaù trò - Xaùc ñònh giaù trò maëc nhieân - Cho pheùp ñeå roãng khoâng - Xaùc ñònh caùc raøng buoäc khaùc VII BAØI TAÄP 1 Baøi 2.1 Tröôøng Cao ñaúng coäng ñoàng nuùi xanh xem xeùt laïi vaán ñeà hoïc vieân/moân hoïc vaø quyeát ñònh ñöa chi tieát veà chuû ñeà vaøo cô sôû döõ lieäu cuûa hoï. Thoâng tin veà chuû ñeà coù maõ chuû ñeà, teân chuû ñeà, thời lượng (môn học không còn thuộc tính thời lượng). Haõy söûa ñoåi moâ hình ER sao cho noù theå hieän ñöôïc caùc qui taéc quaûn lyù sau: (a) Moät hoïc vieân coù theå ghi danh hoïc nhieàu chuû ñeà vaø moät chuû ñeà ñöôïc hoïc bôûi nhieàu hoïc vieân. (b) Moät moân hoïc bao goàm moät soá chuû ñeà vaø moät chuû ñeà chæ thuoäc veà moät moân hoïc. (c) Moät soá chuû ñeà coù tính baét buoäc coøn moät soá coù tính nhieäm yù. (d) Ñieåm cuûa hoïc vieân cuûa moãi chuû ñeà cuõng ñöôïc ghi nhaän. 2 Baøi 2.2 HT mua haøng (nhaän dieän bôûi maõ haøng) töø caùc nhaø cung caáp (nhaän dieän bôûi maõ nhaø cung caáp) khaùc nhau. Vieäc giao haøng ñöôïc thöïc hieän theo thoâng leä thoâng thöôøng vaø soá löôïng cuûa töøng maët haøng trong moãi laàn giao cuûa töøng nhaø cung caáp ñöôïc ghi nhaän. Moät nhaø cung caáp coù theå cung caáp cuøng maët haøng nhöng khoâng cuøng ngaøy. Ñôn giaù cung caáp cuûa moät maët haøng coù theå khaùc nhau trong töøng chuyeán haøng. HT mong muoán ghi nhaän moâ taû maët haøng vaø ñôn giaù cuõng nhö soá löôïng ñaõ ñöôïc cung caáp. Teân, ñòa chæ, soá ñieän thoaïi vaø soá fax cuûa nhaø cung caáp cuõng ñöôïc löu vaøo cô sôû döõ lieäu. Haõy xaây döïng moâ hình ER vaø phieáu thöïc theå thuoäc tính cuûa vaán ñeà. 3 Baøi 2.3 Haõy söûa ñoåi baøi taäp 2.1 cho pheùp söï thay ñoåi veà qui taéc quaûn lyù cuûa tröôøng cao ñaúng coäng ñoàng nuùi xanh sao cho: (a) Moät chuû ñeà coù theå naèm trong nhieàu moân hoïc. (b) Moät hoïc vieân coù theå ghi danh vaøo moät chuû ñeà nhieàu laàn (chaúng haïn Maria ruùt khoûi cô khí maùy daàu ôû hoïc kyø 1 naêm 1995 vaø coù keá hoaïch ghi danh laïi trong hoïc kyø 2. John ñaõ rôùt trong kyø thi thöïc haønh ngheà naáu aên thöôïng haïng nhöng ñöôïc pheùp ghi danh laïi vaøo hoïc kyø tieáp vì anh ñaõ ñaït keát quaû toát trong caùc chuû ñeà khaùc.
  28. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 35 4 Baøi 2.4 NOS laø moät nhaø cung caáp ñoà duøng vaên phoøng vaø trang thieát bò vaên phoøng cho caùc toå chöùc doanh nghieäp trong caû nöôùc. Hoï söû duïng ñöôøng böu ñieän ñeå nhaän vaø gôûi ñôn haøng, ca-ta-loâ theo thoâng leä thoâng thöôøng. Coù nhieàu loaïi ca-ta-loâ, chaúng haïn loaïi ca-ta-loâ tuaàn, loaïi ca-ta-loâ thaùng, loaïi ca-ta-loâ quùi. Hoï cuõng coù caùc loaïi ca-ta-loâ chuyeân muïc veà moät soá maët haøng, chaúng haïn: – Loaïi ca-ta-loâ OE chuyeân veà trang thieát bò vaên phoøng. – Loaïi ca-ta-loâ PS chuyeân veà saûn phaåm giaáy vaø ñoà duøng vaên phoøng. – Loaïi ca-ta-loâ CE chuyeân veà trang thieát bò maùy tính vaø caùc phuï kieän. NOS mong muoán löu tröõ chi tieát veà saûn phaåm maø hoï cung caáp cuï theå maõ haøng, moâ taû, maøu saéc vaø ñôn vò tính. Chuûng loaïi caùc maët haøng trong moãi loaïi ca-ta-loâ thì khaùc nhau töø vaøi traêm cho loaïi ca-ta-loâ tuaàn ñeán vaøi ngaøn cho loaïi ca-ta-loâ quí. Moät saûn phaåm coù theå xuaát hieän treân nhieàu loaïi ca-ta-loâ. NOS phaùt haønh caùc loaïi ca-ta-loâ theo töøng ñôït xuaát baûn. Moät saûn phaåm chæ xuaát hieän moät laàn treân moät ca-ta-loâ nhöng coù theå coù caùc giaù khaùc nhau treân caùc ñôït xuaát baûn khaùc nhau. Moãi ca-ta-loâ coù moät ngaøy baét ñaàu khuyeán maõi vaø ngaøy keát thuùc khuyeán maõi. Thôøi gian khuyeán maõi cuûa caùc ca-ta-loâ khaùc nhau coù theå truøng leân nhau chaúng haïn: – truøng moät phaàn: ca-ta-loâ tuaàn coù thôøi gian khuyeán maõi truøng moät phaàn vôùi ca-ta-loâ quí. – truøng toaøn boä: ca-ta-loâ CE coù theå coù cuøng thôøi gian khuyeán maõi vôùi ca-ta-loâ tuaàn. Haõy xaây döïng moâ hình ER cuûa vaán ñeà vaø chuù yù ñeán söï kieän giaù moät maët haøng thì khaùc nhau trong caùc ca-ta-loâ khaùc nhau, trong caùc khoaûng thôøi gian khaùc nhau. 5 Baøi 2.5 Söûa ñoåi baøi taäp 2.4 sao cho NOS coù theå ghi nhaän haøng ñaõ cung caáp cho khaùch haøng. Thoâng tin veà khaùch haøng coù maõ khaùch haøng, hoï teân, ñòa chæ. Khi moät khaùch haøng ñaët mua haøng töø NOS thì maõ ca-ta-loâ (nhö OE, PS) vaø ñôït xuaát baûn ñöôïc ghi keøm theo maõ haøng trong ñôn haøng. Ñieàu naøy cho pheùp NOS cung caáp cho khaùch haøng, saûn phaåm coù giaù ñuùng vôùi ca-ta-loâ cuûa khaùch haøng. Moät ñôn haøng coù nhieàu maët haøng vaø moãi maët haøng ñeàu coù soá löôïng ñaët mua. Thoâng tin veà ñôn haøng coù soá ñôn haøng (duy nhaát), ngaøy ñôn haøng vaø chi tieát khaùch haøng. 6 Traéc nghieäm 6.1) Which of the following is not correct? Answer ? A) Entity Relationship Diagrams use four items; Rectangles, circles, lines, degree of relation (such as one to many). B) Entity Relationship Diagrams show entities, how the entities interact and the attributes. C) In trasforming Entity Relationship Diagrams to a Database, entities become tables. D) Entity Relationship Diagrams are a graphical approach to modeling that helps the user design systems 6.2) A type of documentation that contains the definition and the characteristics of the data elements within a data base is known as a: A) record layout B) data dictionary C) data model D) data flow diagram E) entity-relationship model. 6.3) An entity type whose existence depends on another entity type is called a (n) ___entity A) Co dependent
  29. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 36 B) Variant C) Strong D) Weak 6.4) An entity that associates the instances of one or more entity types and contains attributes specific to the relationships is called a(n) A) Associative entity B) Intersectional entity C) All of the above D) Connecting entity 6.5) A persons name, birthday, and social security number are all examples of A) Descriptors B) None of the above C) Relationships D) Entities E) Attributes 6.6) A data model is A) Shown as an entity-relationship diagram B) A logical representation of the structure of the database. C) Transformed into tables and ralationships D) All of the above 6.7) One of the important properties of an attribute is whether or not it is required A) False B) True oOo
  30. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 37 Chöông 4 . MOÂ HÌNH QUAN HEÄ (THE RELATIONAL MODEL) I MOÂ HÌNH QUAN HEÄ LAØ GÌ 1 Quan heä (relation) Moâ hình quan heä xoay quan caùc khaùi nieäm quan heä, boä (tuple) vaø thuoäc tính (attribute). Nhöõng khaùi nieäm naøy töông öùng vôùi caùc khaùi nieäm taäp thöïc theå, thöïc theå vaø thuoäc tính. Hình 3.1 trình baøy moâ hình ER vaø moâ hình quan heä töông öùng cuûa vaán ñeà Tröôøng Cao Ñaúng Coäng Ñoàng Nuùi Ayers. Moâ hình quan heä chæ laø moät daïng trình baøy khaùc cuûa moâ hình ER. Cuoái chöông naøy, chuùng ta seõ bieát laøm theá naøo ñeå chuyeån ñoåi moâ hình ER thaønh moâ hình quan heä. 2 Thöïc theå, quan heä, vaø baûng (table) Tieán trình giaûi baøi toaùn csdl ñöôïc phaùt trieån töø moâ hình döõ lieäu sang moâ hình quan heä roài cuoái cuøng sang baûng trong csdl. MOÂ HÌNH DÖÕ LIEÄU MOÂ HÌNH QUAN HEÄ BAÛNG TRONG CSDL Hình 3.2 - Söï tieán trieån qua caùc giai ñoaïn khaùc nhau töø moâ hình döõ lieäu ñeán vieäc thöïc hieän baûng trong HQTCSDL Ví duï: RFC laø nhaø buoân sæ thieát bò ñieän vaø ñieän töû. Hoï baùn nhieàu maët haøng cho ngaønh coâng nghieäp ñieän töû. Coâng vieäc ñaàu tieân maø Coâng ty mong muoán thöïc hieän laø löu tröõ döõ lieäu haøng hoùa trong moät csdl. Hoï ñaëc bieät quan taâm löu tröõ veà maõ haøng, moâ taû, loaïi haøng, tæ suaát thueá baùn ra, ñôn giaù sæ, ñôn giaù leû, ñôn giaù chuïc.
  31. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 38 Moâ hình ER maõ maët haøng MAËT HAØNG moâ taû loaïi haøng tæ suaát thueá baùn ra ñôn giaù sæ ñôn giaù leû ñôn giaù chuïc Moâ hình quan heä MAËT HAØNG (maõ maët haøng, moâ taû, loaïi haøng, tæ suaát thueá baùn ra, ñôn giaù sæ, ñôn giaù leû, ñôn giaù chuïc) Baûng trong HQTCSDL tæ suaát thueá maõ maët haøng moâ taû loaïi haøng ñôn giaù sæ ñôn giaù leû ñôn giaù chuïc baùn ra 1003 tuï ñieän 1000 ufd 22 0.68 1.24 1.08 1007 tuï ñieän 2200 ufd 22 0.83 1.52 1.32 1012 tuï ñieän 3300 ufd 22 1.27 1.69 1.47 3156 ñaàu noái BNC 15 1.16 2.00 1.73 3159 ñaàu noái TNC 15 2.48 4.28 3.71 3258 ñaàu noái N-MALE 15 5.45 9.40 8.15 3259 ñaàu noái N-BNC 15 7.45 11.70 9.95 thöïc theå, doøng, boä, 1773 ñieän trôû 5k6 22 0.04 0.07 0.05 maãu tin 1174 ñieän trôû 6.8 22 0.04 0.07 0.05 6745 trimpot 10k (log) 22 1.26 2.31 2.00 giaù trò thuoäc tính, thuoäc tính, giaù trò coät coät hay giaù trò vuøng hay vuøng Hình 3.1 - Moâ hình ER, moâ hình quan heä vaø baûng cuûa vaán ñeà RFC MOÂ HÌNH THÖÏC THEÅ MOÂ HÌNH QUAN HEÄ BAÛNG TRONG HQTCSDL taäp thöïc theå quan heä Baûng thöïc theå boä doøng hay maãu tin thuoäc tính thuoäc tính coät hay vuøng giaù trò thuoäc tính giaù trò thuoäc tính giaù trò vuøng Baûng 3.1 – Moái töông quan giöõa caùc khaùi nieäm qua caùc moâ hình 3 Boä (tuple) ¾ laø moät boä caùc giaù trò cuûa caùc thuoäc tính trong moät doøng cuûa quan heä. ¾ thöù töï xuaát hieän caùc thuoäc tính trong moät boä thì khoâng aûnh höôûng ñeán keát quaû tính toaùn. ¾ moät boä coù tính duy nhaát trong quan heä. Nghóa laø trong moät quan heä khoâng theå coù hai boä gioáng nhau (giaù trò caùc thuoäc tính ñeàu gioáng nhau). ¾ Moät thuoäc tính hay nhoùm caùc thuoäc tính duøng ñeå phaân bieät boä naøy vôùi boä kia trong quan heä ñöôïc goïi laø khoaù chính. ¾ khoùa chính trong moät quan heä laïi xuaát hieän trong moät quan heä khaùc ñöôïc goïi laø khoùa ngoaïi. 4 Thuoäc tính (attribute) Phaàn giao giöõa doøng vaø coät laø giaù trò thuoäc tính. Giaù trò cuûa thuoäc tính phaûi laø giaù trò ñôn khoâng ña trò hay caáu truùc. Moät quan heä coù giaù trò thuoäc tính nhö vaäy thì quan heä naøy ñaït daïng chuaån moät. Ví duï sau cho thaáy moät quan heä maø giaù trò thuoäc tính ñôn giaù laø ña trò.
  32. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 39 5 Kyù hieäu ¾ Teân quan heä ñöôïc ghi baèng chöõ hoa tröôùc ngoaëc troøn vaø taát caû thuoäc tính ñöôïc lieät keâ trong ngoaëc troøn. ¾ Khoùa chính gaïch chaân. ¾ Khoùa ngoaïi vieát nghieâng II KHOÙA 1 Khoaù (key, candidate key) Laø taäp hôïp nhoû nhaát caùc thuoäc tính maø giaù trò cuûa noù duøng ñeå phaân bieät boä naøy vôùi boä kia trong moät quan heä. 2 Khoùa hôïp (composite key) Laø khoùa coù treân moät thuoäc tính. 3 Khoùa chính (primary key) Laø khoùa ñöôïc choïn ñeå caøi ñaët trong moät HQTCSDL. Khi choïn khoùa chính ta phaûi chuù yù caùc tính chaát sau: aùp duïng, duy nhaát, nhoû nhaát, oån ñònh. ¾ Khoùa coù tính aùp duïng khi noù khoâng boû soùt baát kyø tröôøng hôïp naøo cuûa vaán ñeà. ¾ Khoùa phaûi coù tính duy nhaát duøng ñeå phaân bieät boä naøy vôùi boä kia trong quan heä. ¾ Khoùa coù tính nhoû nhaát khi ta boû baát kyø thuoäc tính naøo cuûa noù thì noù khoâng coøn tính duy nhaát nöõa. ¾ Khoùa coù tính oån ñònh khi giaù trò cuûa khoùa khoâng thay ñoåi. Ví duï veà khoùa chính khoâng oån ñònh WSE baùn leû ñoà ñieän, laø cöûa haøng ñöôïc cung caáp haøng bôûi NSD. Thoûa thuaän giöõa WSE vaø NSD laø WSE phaûi mua toái thieåu 90% haøng cuûa NSD. WSE coù theå mua toái ña 10% haøng cuûa nhöõng nhaø cung öùng ñoäc laäp khaùc. WSE ñang thieát laäp moät heä maùy tính cho ñieàu haønh vaø xöû lyù ñôn haøng. Heä söû duïng cuøng maõ saûn phaåm vôùi NSD vaø taïo maõ rieâng cho nguoàn haøng mua töø nôi khaùc. Ví duï treân daãn tôùi hai vaán ñeà nhö sau: ¾ Khi NSD thay ñoåi maõ haøng thì maõ haøng cuûa WSE seõ bò thay ñoåi theo gaây ra tính maát oån ñònh. ¾ Khi moät maët haøng vöøa ñöôïc cung öùng töø nhaø cung öùng ñoäc laäp vaø töø NSD thì seõ gaây ra tình traïng moät maët haøng coù tôùi hai maõ haøng khaùc nhau. Ñeå traùnh tình traïng naøy buoäc loøng phaûi thay ñoãi maõ haøng.
  33. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 40 4 Khoùa ngoaïi (foreign key) Trong moâ hình quan heä, ñeå dieãn taû moái keát hôïp, ngöôøi ta cheùp khoùa chính töø quan heä naøy sang quan heä kia. Trong quan heä nhaän, khoaù ñöôïc cheùp sang goïi laø khoùa ngoaïi. 5 Khoùa döï tuyeån vaø khoùa khaùc Ví duï veà khoùa döï tuyeån. ANFD (Lieân hieäp caùc nhaø phaân phoái thöïc phaåm quoác teá) laø moät taäp ñoaøn phuïc vuï khaùch haøng thoâng qua maïng löôùi caùc vaên phoøng buoân baùn caáp quoác gia vaø noù coù treân 150 vaên phoøng nhö vaäy. ANFD quaûn lyù chi tieát xe cuûa caùc vaên phoøng ñaïi dieän baèng quan heä sau: XE(soá ñaêng boä, qui caùch, hình daùng, maøu saéc, soá söôøn, soá maùy, maõ xe, quoác gia) Böôùc ñaàu, coù moät soá nhoùm thuoäc tính coù khaû naêng phaân bieät xe naøy vôùi xe kia. Caùc nhoùm thuoäc tính naøy ñöôïc goïi laø khoùa döï tuyeån: (soá ñaêng boä, quoác gia), (soá söôøn), (soá maùy), (maõ xe) Khoùa döï tuyeån Ñieàu kieän Dieãn giaûi choïn löïa Soá ñaêng boä, quoác gia AÙp duïng Gaây ra vaán ñeà khi caàn löu tröõ thoâng tin veà xe chöa ñaêng boä Oån ñònh Gaây ra vaán ñeà vì soá ñaêng boä coù khaû naêng thay ñoåi. Khi soá ñaêng boä thay ñoåi (khi baùn xe) ta phaûi söûa laïi giaù trò soá ñaêng boä cuûa xe ñoù laøm cho khoùa chính khoâng oån ñònh Duy nhaát Chæ rieâng soá ñaêng boä khoâng coù tính duy nhaát töø quoác gia naøy sang quoác gia khaùc Nhoû nhaát Khoâng nhoû nhaát trong phaïm vi moät quoác gia Soá söôøn AÙp duïng Khoâng coù vaán ñeà vì moãi xe coù soá söôøn khaùc nhau Oån ñònh Khoâng coù vaán ñeà vì soá söôøn khoâng thay ñoåi Duy nhaát Duy nhaát cho moãi xe Nhoû nhaát Chæ goàm moät thuoäc tính thì ñöông nhieân nhoû nhaát Soá maùy AÙp duïng Khoâng vaán ñeà Oån ñònh Coù vaán ñeà vì maùy coù khaû naêng ñöôïc thay môùi
  34. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 41 Duy nhaát Khoâng coù vaán ñeà Nhoû nhaát Chæ goàm moät thuoäc tính thì ñöông nhieân nhoû nhaát Maõ xe AÙp duïng Khoâng coù vaán ñeà vì do coâng ty taïo ra Oån ñònh Khoâng coù vaán ñeà vì do coâng ty taïo ra Duy nhaát Khoâng coù vaán ñeà vì coâng ty töï chòu traùch nhieäm baûo ñaûm chuùng phaûi khaùc nhau Nhoû nhaát Chuùng chæ goàm moät thuoäc tính neân ñöông nhieân nhoû nhaát Qua baûng phaân tích treân thì khoùa chính coù khaû naêng laø moät trong hai thuoäc tính sau: Soá söôøn vaø maõ xe Do soá söôøn thöôøng daøi vaø khoâng ñoàng nhaát neân khoâng tieän trong coâng taùc quaûn lyù cuûa coâng ty. Coâng ty töï taïo ra maõ xe laø giaûi phaùp choïn löïa coù tính thöïc tieãn cao. 6 Khoùa nhaân taïo (khoùa ñaïi dieän) artificial key (surrogate key) Ñoâi khi vieäc xaùc ñònh khoùa chính khoâng phaûi luùc naøo cuõng thöïc hieän ñöôïc do boán tính chaát raøng buoäc: aùp duïng, oån ñònh, duy nhaát, nhoû nhaát. Trong caùc tröôøng hôïp nhö vaäy, buoäc ta phaûi ñöa vaøo moät thuoäc tính vôùi muïc ñích laøm khoùa chính ñöôïc goïi laø khoùa nhaân taïo (artificial key), ñoâi khi coøn goïi laø khoùa ñaïi dieän (surrogate key). Caùc khoùa nhaân taïo nhö: maõ nhaân vieân, maõ khaùch haøng, soá hoùa ñôn, maõ taøi saûn coá ñònh. Khoùa nhaân taïo luoân luoân thoûa 4 tính chaát aùp duïng, oån ñònh, duy nhaát, nhoû nhaát. Khi söû duïng khoùa nhaân taïo ta caàn chuù yù caùc ñieàu sau: ¾ Khoâng gaén ngöõ nghóa cuûa vaán ñeà vaøo khoùa nhö maõ khaùch haøng töø 1 ñeán 1000 laø khaùch haøng cuûa caùc chi nhaùnh phía baéc, maõ khaùch haøng lôùn hôn 1000 laø khaùch haøng cuûa caùc chi nhaùnh phía nam. ¾ Khoâng duøng laïi giaù trò khoùa ñaõ xoùa cho moät boä giaù trò môùi vì aûnh höôûng ñeán döõ lieäu cuõ. ¾ Kieåm tra tröôøng hôïp nhaäp hai boä giaù trò cuûa moät ñoái töôïng. 7 Khoùa phuï (Secondary keys) Khoùa phuï laø moät thuoäc tính hay moät nhoùm caùc thuoäc tính thöôøng hay ñöôïc söû duïng trong khai thaùc döõ lieäu. Ví duï vaán ñeà Tröôøng cao ñaúng coäng ñoàng nuùi Ayers coù thuoäc tính teân hoïc vieân vaø thuoäc tính teân moân hoïc hay ñöôïc duøng trong tìm kieám neân chuùng ñöôïc saép xeáp ñeå ñaåy nhanh toác ñoä xöû lyù. Nhöõng vuøng naøy ñöôïc goïi laø khoùa phuï. III NHÖÕNG TÍNH CHAÁT KHAÙC CUÛA MOÂ HÌNH QUAN HEÄ Nhöõng tính chaát khaùc cuûa moâ hình quan heä laø: ¾ Ñaïi soá quan heä, pheùp tính quan heä vaø ¾ Raøng buoäc toaøn veïn 1 Ñaïi soá quan heä, pheùp tính quan heä Ñaïi soá quan heä vaø pheùp tính quan heä taïo ra moät soá chöùc naêng nhö:
  35. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 42 ¾ Trích moät soá doøng trong quan heä. ¾ Trích moät soá coät trong quan heä. ¾ Keát noái quan heä thoâng qua khoùa ngoaïi Caùc chöùc naêng naøy ñöôïc theå hieän trong HQTCSDL quan heä qua ngoân ngöõ SQL. SQL laø ngoân ngöõ phi thuû tuïc chuùng khai thaùc döõ lieäu baèng caùch moâ taû truy xuaát caùi gì hôn laø truy xuaát nhö theá naøo. 2 Raøng buoäc toaøn veïn Moâ hình quan heä ñònh nghóa ba möùc raøng buoäc: ¾ Raøng buoäc toaøn veïn thöïc theå (Entity integrity constraint) ¾ Raøng buoäc toaøn veïn tham chieáu (Referential integrity constraint) ¾ Raøng buoäc toaøn veïn loaïi döõ lieäu (Data type integrity constraint) ¾ Raøng buoäc mieàn giaù trò (Domain integrity constraint) i Raøng buoäc thöïc theå (entity Integrity) Thöïc chaát cuûa raøng buoäc thöïc theå laø caùc raøng buoäc treân khoùa chính thoûa maõn caùc tính chaát: duy nhaát, khoâng roãng, nhoû nhaát. ii Raøng buoäc phuï thuoäc toàn taïi (referential Integrity) Raøng buoäc toàn taïi ñoøi hoûi giaù trò khoùa ngoaïi trong moät quan heä phaûi toàn taïi trong quan heä coù khoùa chính töông öùng. HOÏC VIEÂN MOÂN HOÏC Maõ hoïc Teân hoïc Maõ moân Maõ moân Teân moân hoïc Thôøi vieân vieân hoïc hoïc löôïng 91215 Jenny BBW BKE Cöû nhaân coâng ngheä bay 36 92325 Mun Chan ADRC ADRC Chöùng chæ leo nuùi 12 93642 Alexander DFA BBW Cöû nhaân nuoâi chim 24 DFA Vaên baèng caém hoa 18 . 96789 Sarah DJK ? Hình 3.7 – Raøng buoäc sö toàn taïi bò vi phaïm bôûi hoïc vieân 96789 iii Raøng buoäc loaïi döõ lieäu (data type integrity) Raøng buoäc loaïi döõ lieäu ñoøi hoûi giaù trò thuoäc tính phaûi laø loaïi döõ lieäu cuûa thuoäc tính. Ví duï Tröôøng coäng ñoàng nuùi Ayers quyeát ñònh thu hoïc phí caùc moân hoïc vaø hoïc phí cuûa moãi moân hoïc thì khaùc nhau. Ta löu tröõ thoâng tin naøy baèng caùch theâm thuoäc tính hoïc phí vaøo quan heä moân hoïc. Ta ñöôïc: MOÂN HOÏC(maõ moân hoïc, teân moân hoïc, thôøi löôïng, hoïc phí) Loaïi döõ lieäu cuûa thuoäc tính hoïc phí laø loaïi tieàn teä nhö caùc giaù trò sau: $280.00,$65.95,$890.99 3 Keát noái quan heä Toaùn töû keát noái quan heä ñöôïc caøi ñaët trong coâng cuï SQL cuûa HQTCSDL. Ví duï: ñeå khai thaùc chi tieát veà hoïc vieân ñang hoïc moân hoïc gì thì quan heä HOÏC VIEÂN vaø MOÂN HOÏC phaûi ñöôïc keát noái thoâng qua maõ moân hoïc 4 Mieàn giaù trò (data domain integrity) Mieàn giaù trò laø caùc giaù trò coù theå coù trong loaïi döõ lieäu. Ví duï Tröôøng coäng ñoàng nuùi Ayers quyeát ñònh möùc hoïc phí cuûa töøng moân hoïc khoâng lôùn hôn $300.00. Nhö vaäy mieàn giaù trò laø töø 0 ñeán $300.00. Mieàn giaù trò naèm trong qui taéc quaûn lyù cuûa doanh nghieäp, thöôøng hay thay ñoåi coøn loaïi giaù trò thì ít thay ñoåi.
  36. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 43 5 Raøng buoäc do ngöôøi duøng (user constraint) ¾ Hoïc sinh khuyeát taät ñöôïc giaûm 10% hoïc phí ¾ Ñôn mua haøng coù giaù trò lôùn hôn $10.000 ñöôïc giaûm 5%. IV QUI TAÉC BIEÁN ÑOÅI MOÂ HÌNH ER THAØNH MOÂ HÌNH QUAN HEÄ 1 Qui taéc bieán ñoåi moâ hình ER Khi bieán ñoåi moâ hình ER thaønh caùc moâ hình quan heä ta aùp duïng caùc qui taéc sau: ¾ Moãi taäp thöïc theå trong moâ hình ER ñöôïc chuyeån thaønh moät quan heä. ¾ Moãi thuoäc tính trong moâ hình ER ñöôïc chuyeån thaønh thuoäc tính trong quan heä töông öùng. ¾ Thuoäc tính nhaän dieän trong moâ hình ER ñöôïc chuyeån thaønh khoùa chính trong quan heä töông öùng. Tröôøng hôïp khoùa chính khoâng thoûa 4 tính chaát choïn löïa, thì phaûi choïn khoùa chính khaùc hay ñöa vaøo khoùa nhaân taïo. ¾ Theå hieän moái keát hôïp thoâng qua khoùa ngoaïi. 2 Qui taéc theå hieän moái keát hôïp thoâng qua khoùa ngoaïi i Moái keát hôïp moät-moät ¾ Chuyeån khoùa chính töø quan heä 1 sang quan heä 2 hay ngöôïc laïi. Ví duï vaán ñeà ngöôøi laùi xe vaø baèng laùi seõ coù moâ hình quan heä laø moät trong hai moâ hình quan heä sau
  37. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 44 ii Moái keát hôïp moät-nhieàu ¾ Chuyeån khoùa chính töø beân moät sang beân nhieàu. iii Moái keát hôïp nhieàu nhieàu ñöôïc giaûi baèng taäp keát hôïp
  38. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 45 Moâ hình quan heä HOÏC VIEÂN (maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá ñieän thoaïi) MOÂN HOÏC (maõ moân hoïc, teân moân hoïc, thôøi löôïng) PHIEÁU GHI DANH (maõ hoïc vieân, maõ moân hoïc, ngaøy nhaäp hoïc) Hình 3.10 - Moâ hình ER vaø moâ hình quan heä cuûa vaán ñeà Tröôøng Cao Ñaúng Coäng Ñoàng Nuùi Xanh Trong quan heä PHIEÁU GHI DANH coù caùc khoùa chính khoùa ngoaïi nhö sau: + maõ hoïc vieân laø khoùa ngoaïi + maõ moân hoïc laø khoùa ngoaïi + maõ hoïc vieân vaø maõ moân hoïc laø khoùa chính iv Moái keát hôïp nhieàu-nhieàu ¾ Taïo moät quan heä môùi coù khoùa chính laø söï keát hôïp caùc khoùa chính cuûa hai quan heä coù baûn soá keát noái nhieàu nhieàu. ¾ Ví duï giaû söû Tröôøng Cao Ñaúng Coäng Ñoàng Nuùi Xanh khoâng quan taâm ñeán ngaøy nhaäp hoïc cuûa hoïc vieân thì moâ hình ER seõ coù moái keát hôïp nhieàu nhieàu nhö sau: 3 Toùm taét caùc qui taéc bieán ñoåi
  39. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 46 DÖÕ LIEÄU YEÂU CAÀU PHAÂN TÍCH MOÂ HÌNH DÖÕ LIEÄU QT 1: Moãi taäp thöïc theå trong moâ hình ER ñöôïc chuyeån thaønh moät quan heä QT 2: Moãi thuoäc tính trong moâ hình ER ñöôïc chuyeån thaønh thuoäc tính trong quan heä töông öùng QT 3: Thuoäc tính nhaän dieän trong moâ hình ER ñöôïc chuyeån thaønh khoùa chính trong quan heä töông öùng.Tröôøng hôïp khoùa chính khoâng thoûa 4 tính chaát choïn löïa, thì phaûi choïn khoùa chính khaùc hay ñöa vaøo khoùa nhaân taïo. THIEÁT KEÁ QT 4: Theå hieän moái quan heä thoâng qua khoùa ngoaïi: 1 : 1 Chuyeån khoùa chính töø quan heä 1 sang quan heä 2 hay ngöôïc laïi. 1 :M Chuyeån khoùa chính töø beân moät sang beân nhieàu. M:M Taïo quan heä toaøn khoùa QUAN HEÄ DÖÏ TUYEÅN Hình 3.14 - Toùm taét caùc qui taéc bieán ñoåi moâ hình ER thaønh moâ hình quan heä treân khung cuûa caùc giai ñoaïn V BAØI TAÄP 1 Baøi taäp 1 Ñoái vôùi vaán ñeà sau ñaây haõy: • (a) xaây döïng moâ hình ER • (b) ñeà xuaát veà thuoäc tính nhaän dieän vaø thuoäc tính moâ taû moät caùch thích hôïp. • (c) chuyeån moâ hình ER thaønh moâ hình quan heä vaø cho bieát khoùa chính, khoùa ngoaïi. • (d) keâ theâm caùc giaû ñònh cuûa vaán ñeà. Moät nhaân vieân coù theå yeâu caàu ñöôïc cung caáp vaät tö töø ngöôøi quaûn lyù. Neáu ngöôøi quaûn lyù ñoàng yù vôùi baûn yeâu caàu thì caùc vaät tö töø baûn yeâu caàu ñöôïc choïn theo nhaø cung caáp ñeå taïo caùc ñôn mua haøng vaø gôûi cho caùc nhaø cung caáp thích hôïp. 2 Traéc nghieäm 2.1) A table’s primary key field A) Guaranties that each row is unique B) Is always referenced by a foreign key in another table C) Is a combination of two keys that make a foreign key D) In a one to many relationship is also its own foreign key. E) Is always stored in one column 2.2) Entity integrity is when: A) There are no composite primary keys B) Referential integrity has been upheld. C) None of the above. D) Primary key values are unique. E) Entity relationship diagram is correct 2.3) The field used to id records in a database table is known as the: A) Query Identifier B) Primary key C) Relational Column D) Header E) Row
  40. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 47 2.4)Which of the following is correct about referential integrity? A)  Ensures tables are up to date B)  Prevents data tables from having orphans C)  Shows how tables are related to each other oOo
  41. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 48 Chöông 5 . PHAÂN TÍCH DÖÕ LIEÄU VAØ YEÂU CAÀU CHÖÙC NAÊNG (DATA ANALYSIS AND FUNCTIONAL REQUIREMENTS) I GIÔÙI THIEÄU 1 Hoaït ñoäng kieåm tra yeâu caàu chöùc naêng Hoaït ñoäng kieåm tra yeâu caàu chöùc naêng ñoâi khi coøn goïi laø löôïng giaù moâ hình (validating the model, data model validation) nhaèm phaùt hieän sai soùt trong moâ hình döõ lieäu, laøm cho moâ hình döõ lieäu phuø hôïp vôùi yeâu caàu cuûa heä thoáng hôn. Kieåm tra yeâu caàu chöùc naêng laø hoaït ñoäng naèm trong giai ñoaïn thieát keá csdl logic (hình). 2 Phaân tích heä thoáng thoâng tin Phaân tích heä thoáng thoâng tin coù caùc khía caïnh sau: ¾ Phöông phaùp tieáp caän töø treân xuoáng (töø toång quaùt ñeán chi tieát) (top down approach) ¾ Taäp trung chuù yù vaøo döõ lieäu yeâu caàu vaø moái keát hôïp cuûa chuùng. ¾ Phaân tích heä thoáng thoâng tin taïo ñieàu kieän cho vieäc duøng laïi döõ lieäu. 3 Phaân tích döõ lieäu Ngöôïc laïi vôùi phaân tích heä thoáng thoâng tin, phaân tích döõ lieäu chæ taäp trung vaøo moät öùng duïng trong moät toå chöùc nhö heä ñôn ñaët haøng, heä coâng nôï. Lôïi ích cuûa phaân tích döõ lieäu laø chi phí vaø thôøi gian öôùc löôïng cho döï aùn laø töông ñoái chính xaùc. Baát lôïi laø döõ lieäu duøng chung coù theå bò truøng laép.
  42. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 49 II NGUOÀN DÖÕ LIEÄU 1 Caùc phöông phaùp thu thaäp thoâng tin Döõ lieäu yeâu caàu vaø moái töông quan giöõa caùc döõ lieäu ñöôïc thu thaäp baèng caùc phöông phaùp sau: + Phoûng vaán vaø laéng nghe (interviewing and listening) + Baûng caâu hoûi (administering questionnaires) + Quan saùt (observing) + Phaân tích qui trình (Procedure) vaø taøi lieäu (maøn hình, baùo caùo phaùt sinh cuûa maùy tính vaø Bieåu maãu hieän höõu) 2 Phaân tích maãu bieåu CUNG ÖÙNG VVP QUOÁC GIA Vaên phoøng chính: 1234 Pacific Highway Newtown NSW 2199 ÑT: 81231234 Fax: 81231235 Ngaøy: 10.07.96 Soá ñôn haøng: 134277 ÑÖÔÏC ÑAÏT BÔÛI GIAO CHO Coâng ty: Western Stationery Coâng ty: Western Stationery Ngöôøi ñaët haøng: Tanya Maõ khaùch haøng: W123 Ngöôøi nhaän haøng: Carlo Ñòa chæ: 22B St Georges Tce Ñòa chæ: 862 Welshpool road Thaønh phoá: Perth Bang: WA Thaønh phoá: Kewdale Bang: WA Maõ thö tín: 6000 Soá ÑT: 8321 3214 Maõ thö tính: 6104 Soá ÑT: 84331111 Soá löôïng Maõ haøng Ñôn vò tính Maøu saéc Moâ taû Ñôn gía Thaønh tieàn 40 A7211 Caùi traéng Giaáy A4 5.97 238.80 12 B7123 Caùi traéng cuoän giaáy fax 3.65 43.80 1 A7216 taù cuoän baêng keo 2.64 20.64 1 J2312 caùi maøu be Tuû 268.95 268.95 1 N0002 hoäp naâu cuoän nô 3.27 3.27 Mieãn phí giao haøng cho ñôn haøng coù giaù trò treân 50.00 Phí giao haøng: 1.50 Toång coäng: 575.47 Hoaøn traû saûn phaåm trong voøng 30 ngaøy seõ ñöôïc hoaøn tieàn mua haøng Hình 4.2 – Maãu bieåu ñôn ñaët haøng vaø taäp thöïc theå / thuoäc tính ñöôïc nhaän dieän i Tính chaát Tröôùc khi phaân tích maãu bieåu, ta coù nhaän xeùt sau: ¾ teân maãu bieåu coù theå gioáng teân taäp thöïc theå nhöng chuùng hoaøn toaøn khaùc nhau nhö: taäp thöïc theå HOÙA ÑÔN vaø maãu bieåu hoùa ñôn ¾ phaân tích maãu bieåu ñeå nhaän dieän taäp thöïc theå, moái töông quan giöõa chuùng vaø thuoäc tính cuûa vaán ñeà. ¾ Moät maãu bieåu thöôøng coù caùc thoâng tin in saün maø chuùng ta khoâng caàn quan taâm trong vieäc xaây döïng moâ hình döõ lieäu. ¾ maãu bieåu chöùa thuoäc tính cuûa nhieàu taäp thöïc theå. ii Phaân tích Töø maãu ñôn ñaët haøng ta ruùt ra nhöõng ñieàu sau: 1. Thoâng tin in saün treân ñôn ñaët haøng:
  43. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 50 + Teân coâng ty, ñòa chæ vaø ñieän thoaïi lieân heä + Teân maãu bieåu + Thoâng tin quaûng caùo 2. Soá ñôn haøng vaø ngaøy ñôn haøng laø caùc thoâng tin cuûa moät ñôn haøng. Vaäy ÑÔN HAØNG laø moät taäp thöïc theå. 3. Phaàn ñöôïc ñaët bôûi laø caùc thoâng tin veà khaùch haøng ñaët haøng. Vaäy ta coù taäp thöïc theå KHAÙCH HAØNG 4. Phaàn nôi giao haøng laø caùc thoâng tin veà ngöôøi nhaän haøng. Ngöôøi nhaän haøng coù theå laø ngöôøi ñaët haøng cuõng coù theå laø ngöôøi khaùc. Thoâng tin ngöôøi mhaän haøng chæ nhaèm muïc ñích moâ taû theâm veà ñôn haøng laø haøng giao cho ai maø khoâng coù muïc ñích gì khaùc chaúng haïn nhö coù bao nhieâu ngöôøi nhaän maët haøng H vì theá chuùng ta ñöa chuùng vaøo taäp thöïc theå ÑÔN HAØNG. 5. Thoâng tin treân phaàn chi tieát laø danh saùch caùc maët haøng cung öùng. Ta goïi moãi doøng nhö vaäy laø moät thöïc theå cuûa taäp thöïc theå DOØNG ÑÔN HAØNG 6. Coät thaønh tieàn cuûa ñôn haøng laø giaù trò ñöôïc tính baèng caùch nhaân ñôn giaù baùn vôùi soá löôïng, neân thoâng tin naøy khoâng caàn ñöa vaøo moâ hình ER. 7. Nhöõng thoâng tin nhö ñôn vò tính, maõ haøng, maøu saéc, moâ taû, ñôn giaù laø caùc thuoäc tính cuûa maët haøng vaäy MAËT HAØNG laø taäp thöïc theå. Nhö vaäy chæ coù thuoäc tính soá löôïng laø thuoäc tính cuûa taäp thöïc theå DOØNG ÑÔN HAØNG. 8. Beân döôùi ñôn haøng laø chi phí giao haøng vaø toång giaù trò ñôn haøng. Chi phí giao haøng laø chi phí cuûa moät ñôn haønh neân chuùng laø thuoäc tính cuûa taäp thöïc theå ÑÔN HAØNG. Toång giaù trò cuûa ñôn haøng ñöôïc tính baèng caùch coäng caùc giaù trò treân coät thaønh tieàn vaø chi phí giao haøng neân chuùng khoâng ñöôïc ñöa vaøo moâ hình ER. 9. Thoâng thöôøng caùc thoâng tin treân moät maãu bieãu khoâng nhoùm chung ñeå dieãn taû moät thöïc theå. Trong caùc tröôøng hôïp nhö vaäy ñoøi hoûi ta phaûi bieát gaùn thuoäc tính thích hôïp cho töøng thöïc theå Nhöõng thaønh phaàn chính cuûa maãu bieåu ñôn ñaët haøng: o Taäp thöïc theå KHAÙCH HAØNG o Taäp thöïc theå ÑÔN HAØNG o Taäp thöïc theå DOØNG ÑÔN HAØNG o Taäp thöïc theå HAØNG o Caùc vuøng tính toaùn nhö thaønh tieàn, toång coäng Töø söï phaân tích treân ta coù moâ hình sau:
  44. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 51 III KIEÅM TRA YEÂU CAÀU CHÖÙC NAÊNG 1 Nguyeân taéc chung ¾ Moãi baûng trong moâ hình caàn phaûi kieåm tra 4 chöùc naêng CRUD (create, retrieve, update, delete/archive) sau: o Theâm môùi maãu tin vaøo baûng: chuù yù tröôùc khi theâm giaù trò cho khoùa ngoaïi phaûi theâm giaù trò cuûa khoùa chính töông öùng tröôùc (theâm beân moät roài theâm beân nhieàu). o Khai thaùc maãu tin: khi khai thaùc ta coù theå keát noái thoâng tin thoâng qua caùc vuøng (thöôøng khoùa chính vaø khoùa ngoaïi). Keát quaû cuûa vieäc khai thaùc cho hieän leân maøn hình hay in ra baùo caùo. o Söûa döõ lieäu: tröôøng hôïp söûa döõ lieäu treân vuøng khoùa ta phaûi chuù yù raøng buoäc phuï thuoäc toàn taïi o Xoùa: löu roài xoùa. ¾ Moâ hình ER duøng ñeå kieåm tra chöùc naêng phaûi coù thuoäc tính vaø khoùa ngoaïi. ¾ Kieåm tra caùc chöùc naêng nhaèm muïc ñích phaùt hieän nhöõng thieáu soùt trong moâ hình döõ lieäu. 2 Ví duï: Moâ hình döõ lieäu treân coù caùc yeâu caàu chöùc naêng sau: 1. Theâm ñôn haøng môùi. 2. Lieät keâ ñôn haøng vaø teân coâng ty ñaët ñôn haøng ñoù. 3. Söûa teân khaùch haøng cuûa moät ñôn haøng 4. Sao löu roài xoùa boû caùc ñôn haøng coù ngaøy ñaët haøng tröôùc moät ngaøy naøo ñoù. 5. In baùo caùo caùc ñôn haøng vaø teân coâng ty ñaët ñôn haøng ñoù theo thöù töï ngaøy ñôn haøng giaûm daàn. 6. Cho hieän maõhaøng, moâ taû cuûa caùc maët haøng cuûa moät khaùch haøng.
  45. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 52 ngaøy ñôn haøng ñöôïc ñaët haøng coâng ty nhaän ÑÔN bôûi KHAÙCH teân coâng ty ngöôøi nhaän HAØNG ñaë HAØNG teân khaùch ñòa chæ nhaän t haøng thaønh phoá thuoäc ñòa chæ nhaän veà thaønh phoá bang nhaän bang maõ thö tín nhaän maõ thö tính chi phí giao haøng soá ñieän soá ñieän thoaïi thoaïi nhaän chöù maõ khaùch soá ñôn a maõ haøng haøng haøng DOØNG ke moâ taû soá thöù töï ÑÔN â MAËT HAØNG ñôn vò tính ñöôïc keâ HAØNG maøu saéc soá löôïng bôûi ñôn giaù hieän ñôn giaù haønh baùnÑÔN HAØNG(soá ñôn haøng,ngaøy ñôn haøng, coâng ty nhaän,ngöôøi nhaän,ñòa chæ nhaän,thaønh phoá nhaän, bang nhaän,maõ thö tín nhaän,chi phí giao haøng,soá ñieän thoaïi nhaän, DOØNG ÑÔN )HAØNG(soá ñôn haøng,soá thöù töï soá löôïng,ñôn giaù baùn) MAËT HAØNG(maõ haøng,moâ taû ,ñôn vò tính,maøu saéc,ñôn giaù hieän haønh) KHAÙCH HAØNG(maõ khaùch haøng,teân coâng ty,teân khaùch haøng,ñòa chæ,thaønh phoá,bang,maõ thö tính,soá ñieän thoaïi) Hình 4.5 - Moâ hình ER vaø moâ hình quan heä coù khoùa ngoaïi Chuùng ta seõ laàn löôït thöïc hieän caùc yeâu caàu chöùc naêng treân: 1. Chöùc naêng theâm môùi moät ñôn haøng. Ta laàn löôït theâm môùi theo thöù töï sau: • Neáu laø khaùch haøng môùi thì theâm thoâng tin veà khaùch haøng vaøo baûng KHAÙCH HAØNG. • Theâm soá ñôn haøng, ngaøy ñôn haøng, vaøo baûng ÑÔN HAØNG. • ÔÛ moãi doøng treân bieåu maãu ñôn haøng ta laàn löôït thöïc hieän: o Neáu laø maët haøng môùi thì theâm thoâng tin veà maët haøng vaøo baûng MAËT HAØNG. o Theâm soá ñôn haøng, soá thöù töï, vaøo baûng DOØNG ÑÔN HAØNG • Quaù trình theâm ñôn haøng môùi seõ khoâng coù vaán ñeà khi thöù töï treân ñöôïc toân troïng. 2. Chöùc naêng khai thaùc: • Giaû söû döõ lieäu ñaõ coù ñaày ñuû. • Ñeå khai thaùc ÑÔN HAØNG vaø Teân coâng ty ta: o Laàn löôït khai thaùc töøng maãu tin trong baûng ÑÔN HAØNG. o Lieät keâ caùc giaù trò cuûa caùc vuøng cuûa ÑÔN HAØNG. o Öùng vôùi moãi maãu tin cuûa ÑÔN HAØNG ta söû duïng giaù trò vuøng Maõ khaùch haøng ñeå tìm maãu tin coù cuøng giaù trò treân vuøng Maõ khaùch haøng trong KHAÙCH HAØNG vaø khai thaùc Teân coâng ty. 3. Chöùc naêng söûa: • Trong baûng KHAÙCH HAØNG tìm maãu tin cuûa khaùch haøng caàn söûa vaø söûa Teân khaùch haøng 4. Chöùc naêng xoùa vaø sao löu:
  46. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 53 • Muoán xoùa moät maãu tin cuûa ñôn haøng ta phaûi bieát bieát ñôn haøng naøo ñaõ gôûi, ñôn haøng naøo chöa. Moâ hình hieän taïi khoâng theå hieän ñieàu naøy. Ñeå ñaùp öùng yeâu caàu chöùc naêng naøy, ñoøi hoûi ta phaûi theâm thuoäc tính Ñaõ gôûi vaøo taäp thöïc theå ÑÔN HAØNG. • Laàn löôït khai thaùc caùc maãu tin trong baûng ÑÔN HAØNG, choïn maãu tin coù giaù trò ñuùng treân vuøng Ñaõ gôûi vaø coù Ngaøy ñôn haøng tröôùc ngaøy caàn xoùa roài cheùp löu vaø xoùa. 5. Chöùc naêng khai thaùc: • Laàn löôït khai thaùc caùc maãu tin trong ÑÔN HAØNG theo thöù töï Ngaøy ñaët haøng giaûm daàn. • Öùng vôùi moãi maãu tin trong ÑÔN HAØNG, ta söû duïng giaù trò vuøng Maõ khaùch haøng ñeå tìm maãu tin coù cuøng giaù trò Maõ khaùch haøng trong KHAÙCH HAØNG vaø khai thaùc Teân coâng ty. • Öùng vôùi moãi maãu tin trong ÑÔN HAØNG, ta söû duïng giaù trò vuøng Soá ñôn haøng laàn löôït tìm maãu tin coù cuøng giaù trò Soá ñôn haøng trong DOØNG ÑÔN HAØNG vaø khai thaùc , • vaø öùng vôùi moãi maãu tin trong DOØNG ÑÔN HAØNG, ta söû duïng giaù trò vuøng maõ haøng tìm maãu tin coù cuøng giaù trò maõ haøng trong baûng MAËT HAØNG vaø khai thaùc caùc giaù trò caùc vuøng trong baûng MAËT HAØNG. • Keát thuùc moãi ñôn haøng tính toång giaù trò cuûa ñôn haøng. 6. Chöùc naêng khai thaùc • Duøng thoâng tin veà khaùch haøng caàn tìm, tìm maãu tin töông öùng trong baûng KHAÙCH HAØNG vaø khai thaùc caùc giaù trò cuûa caùc vuøng cuûa maãu tin naøy. • Laàn löôït khai thaùc caùc maãu tin trong baûng ÑÔN HAØNG choïn maãu tin coù giaù trò Maõ khaùch haøng baèng vôùi gía trò maõ khaùch haøng tìm thaáy ôû böôùc treân. • Öùng vôùi maãu tin cuûa baûng ÑÔN HAØNG ñöôïc choïn, laàn löôït khai thaùc caùc maãu tin cuûa doøng ñôn haøng coù cuøng giaù trò maõ ñôn haøng. • Öùng vôùi moãi maãu tin cuûa DOØNG ÑÔN HAØNG, söû duïng maõ haøng ñeå tìm maãu tin haøng töông öùng trong baûng MAËT HAØNG. • ÖÙng vôùi maãu tin cuûa baûng MAËT HAØNG tìm thaáy ôû böôùc treân cho hieän giaù trò cuûa caùc vuøng maõ haøng, moâ taû. MOÂ HÌNH DÖÕ LIEÄU Bieán ñoåi moâ hình ER thaønh moâ hình quan heä QUAN HEÄ TUYEÅN CHOÏN döïa vaøo yeâu caàu chöùc naêng ñeå kieåm tra moâ hình döõ lieäu Hình 3.14 - Yeâu caàu chöùc naêng trong caùc böôùc phaân tích thieát keá döõ lieäu IV BAØI TAÄP 4.1 ÑOÀ GOÃ THUNG LUÕNG ÑÖÔØNG OÁNG HOÙA ÑÔN BAÙN HAØNG Soá hoùa ñôn: 913-A36-01 Ngaøy hoùa ñôn: 11-10-2001 Baùn cho: Maõ khaùch haøng: 1273 Hoï teân: Contemporary Designs Ñòa chæ: 123 Oak Street
  47. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 54 Thaønh phoá: Keydale Bang:TX Zip:28384 Soá ñieän thoaïi: 8 565 895 Nhaân vieân baùn haøng: Jenny Maõ saûn phaåm Moâ taû Soá löôïng Ñôn giaù Thaønh tieàn M128 Keä saùch 4 200 800 B381 Tuû nhieàu ngaên 2 150 300 B210 Baûng 1 500 500 G200 Gheá 8 400 3200 Coäng: 4800 Giaûm giaù: 5% 240 Toång coäng: 4560 Haõy phaân tích bieåu maãu treân: (a) Xaây döïng moâ hình ER coù ñöa vaøo baûn soá, tính baét buoäc hay khoâng baét buoäc vaø teân moái keát hôïp theo hai chieàu. (b) Dieãn taû noäi dung moái keát hôïp giöõa caùc taäp thöïc theå. (c) Chuyeån moâ hình ER thaønh moâ hình quan heä. (d) Kieåm tra chöùc naêng: 1. theâm moät hoùa ñôn môùi. 2. In moät hoùa ñôn ñaõ coù. V TRAÉC NGHIEÄM 1) To do fact finding, the analyst does the following A)  Interviews personal, prepares questionnaires, observers current system B)  Gathers forms and documents currently in use C)  Cost-benefit analysis 2) Establishing team standards is part of which step in the data modeling process? A) creating the data model B) validating the model C) planning the project D) determining system requirements E) It is not part of any of the above steps in the data modeling process. oOo
  48. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 55 Chöông 6 . TÍNH BAÉT BUOÄC, KHOÂNG BAÉT BUOÄC TRONG MOÁI KEÁT HÔÏP (RELATIONSHIP OPTIONALITY) I NGÖÕ NGHÓEA MOÁI KEÁT HÔÏP Trong chöông naøy ta boå sung theâm ngöõ nghóa (qui taéc quaûn lyù) vaøo moái keát hôïp vaø bieåu dieãn chuùng trong moâ hình ER. Moâ hình ER nhö vaäy ñöôïc goïi laø moâ hình thöïc theå keát hôïp môû roäng (Extended Entity Relationship). 1 Tính khoâng baét buoäc cuûa moái keát hôïp Tröôùc ñaây, chuùng ta vaãn ngaàm hieåu moïi thöïc theå ñeàu tham gia vaøo moái keát hôïp nhö moâ hình ER sau: Moâ hình naøy dieãn taû qui taéc quaûn lyù: ¾ Moãi KHAÙCH HAØNG ñaët moät hay nhieàu ÑÔN ÑAËT HAØNG ¾ Moãi ÑÔN ÑAËT HAØNG ñöôïc ñaët bôûi moät KHAÙCH HAØNG vaø moâ hình naøy coù moâ hình thöïc theå theå hieän sau: Moâ hình treân cho thaáy moät ñôn ñaët haøng baát kyø phaûi thuoäc veà moät khaùch haøng vaø moät khaùch haøng baát kyø phaûi coù ñaët moät ñôn ñaët haøng. Nhöng treân thöïc teá coù khaùch haøng coù ñôn ñaët haøng, coù khaùch haøng khoâng coù ñôn ñaët haøng do moät trong caùc lyù do sau: o Khaùch haøng môùi o Khaùch haøng seõ ñaët haøng trong töông lai. o Khaùch haøng naèm trong chieán dòch quaûng caùo. nhö moâ hình thöïc theå theå hieän sau:
  49. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 56 Moâ hình treân cho thaáy khaùh haøng Ace 4WD Supplies khoâng coù ñôn ñaët haøng. Vaäy ñeå dieãn taû tình traïng coù khaùch haøng khoâng coù ñôn ñaët haøng, qui taéc quaûn lyù tröôùc ñaây ñöôïc söûa thaønh: ¾ Moãi KHAÙCH HAØNG coù theå ñaët moät hay nhieàu ÑÔN ÑAËT HAØNG ¾ Moãi ÑÔN ÑAËT HAØNG phaûi ñöôïc ñaët bôûi moät KHAÙCH HAØNG Vaø moâ hình ER töông öùng ñöôïc söûa ñoåi baèng caùch boå sung theâm tính baét buoäc hay khoâng baét buoäc vaøo moái keát hôïp: phaûi (tính baét buoäc) ñaë KHAÙCH t ÑÔN ÑAËT HAØNG ñöôïc ñaët soá ñônHAØNG maõ khaùch bôûi coù theå haøng haøng (tính khoâng baét ngaøy ñôn teân buoäc) haøng ñòa chæ Hình 5.3 - Moâ hình ER coù söûa ñoåi cuûa vaán ñeà khaùch haøng vaø ñôn ñaët haøng maø hoï ñaët Baûn soá nhoû nhaát (minimum cardinality), baûn soá lôùn nhaát (maximum cardinality): Töø nay veà sau, baûn soá cuûa moái keát hôïp ñöôïc hieåu coù caû tính baét buoäc (mandatory) hay khoâng baét buoäc (arbitrary, optional) cuûa moái keát hôïp. Baûn soá tröôùc ñaây ta vaãn hieåu laø laø baûn soá lôùn nhaát, coøn tính baét buoäc hay khoâng baét buoäc cuûa moái keát hôïp laø baûn soá nhoû nhaát. Nhö vaäy baûn soá cuûa moái keát hôïp ñöôïc kyù hieäu goàm caùc daïng sau (0,M), (1,M), (0,1), (1,1). Vôùi ví duï treân baûn soá ôû phía taäp thöïc theå KHAÙCH HAØNG laø (1,1), coøn baûn soá ôû phía taäp thöïc theå ÑÔN ÑAËT HAØNG laø (0,M) II PHIEÁU MOÁI KEÁT HÔÏP Ta boå sung tính baét buoäc, khoâng baét buoäc vaøo moâ hình ER cuûa hình 4.5 ta ñöôïc moâ hình:
  50. Taøi lieäu Phaân Tích Thieát Keá Heä Thoáng 57 Moâ hình naøy dieãn taû 6 qui taéc quaûn lyù: + Moãi KHAÙCH HAØNG coù theå ñaët moät hay nhieàu ÑÔN HAØNG + Moãi ÑÔN HAØNG phaûi ñöôïc ñaët bôûi moät KHAÙCH HAØNG + Moãi ÑÔN HAØNG phaûi chöùa moät hay nhieàu DOØNG ÑÔN HAØNG + Moãi DOØNG ÑÔN HAØNG phaûi thuoäc veà moät ÑÔN HAØNG + Moãi DOØNG ÑÔN HAØNG phaûi keâ moät MAËT HAØNG + Moãi MAËT HAØNG coù theå ñöôïc keâ bôûi moät hay nhieàu DOØNG ÑÔN HAØNG Phieáu moái keát hôïp cuûa moâ hình treân coù daïng sau: Taäp thöïc theå 1 Tính baét buoäc Quan heä Baûn soá Taäp thöïc theå 2 KHAÙCH HAØNG Coù theå Ñaët Khoâng hay nhieàu ÑÔN HAØNG ÑÔN HAØNG Phaûi Ñöôïc ñaët bôûi Moät KHAÙCH HAØNG ÑÔN HAØNG Phaûi chöùa Moät hay nhieàu DOØNG ÑÔN HAØNG DOØNG ÑÔN HAØNG Phaûi Thuoäc veà Moät ÑÔN HAØNG DOØNG ÑÔN HAØNG Phaûi keâ moät HAØNG HAØNG Coù theå Ñöôïc keâ bôûi Khoâng hay nhieàu DOØNG ÑÔN HAØNG Phieáu naøy ñöôïc xaây döïng nhaèm muïc ñích trình baøy cho ngöôøi söû duïng veà moái keát hôïp cuûa caùc thöïc theå trong heä thoáng. Ngöôøi söû duïng laø ngöôøi naém roõ vaán ñeà, thoâng qua phieáu quan heä, hoï seõ giuùp ta chænh söûa nhöõng gì coøn sai soùt cuûa moâ hình döõ lieäu. III AÛNH HÖÔÛNG CUÛA TÍNH KHOÂNG BAÉT BUOÄC TREÂN KHOÙA NGOAÏI tính khoâng baét buoäc ôû beân caïnh baûn soá moái quan heä beân nhieàu neân khoâng gaây aûnh höôûng gì caû KHAÙCH ÑÔN ÑAËT HAØNG HAØNG Tính khoâng baét buoäc chæ aûnh höôûng treân khoùa ngoaïi khi noù ôû beân caïnh baûn soá moái keát hôïp beân moät. khoùa ngoaïi cuûa khoùa chính beân moät naøy seõ khoâng dieãn taû ñöôïc tính chaát khoâng baét buoäc naøy.