-56- HỖ TRỢCHUẨNHÓATRONGPHÂN THÍCH THIẾT KẾCƠSỞDỮLIỆULOGIC Phạm Đức Mạnh MSV: 0320204 Email: ducmanhdhqg@gmail.com Người hướng dẫn: TS. Lê Văn Phùng 1. Giới thiệu Ngày nay không một tổ chức hay một đơn vị nào là không có nhu cầu xây dựng các hệ thống thông tin. Không chỉ nhu cầu xây các hệ thống thông tin tăng lên mà độ phức tạp của chúng cũng tăng lên không ngừng. Do đó quá trình phân tíchthiếtkế hệ thống là quá trình rất quan trọng là giai đoạn trung tâm đầu tiên trong chu trình phát triến hệ thống. Ngày nay đã có rất nhiều các công cụ phần mềm được các nhà phântích hệ thống sử dụng nhằm trợ giúp và tự động hóa các hoạt động của quá trình phát triển hệ thống. Nhờ vậy đã nâng cao được năng suất và cải tiến chất lượng tổng thể của hệ thống thông tin được xây dựng. Việc chuẩnhoácơsởdữliệu là công việc hết sức quan trọng đối với quá trình phântích và thiếtkế một hệ thống thông tin. Việc chuẩnhoádữliệu sẽ làm tăng khả năng và giảm sơ xuất trong các giai đoạn phát triển hệ thống sau này. Thông thường việc chuẩnhoá này thường được tiến hành một cách thủ công cho nên đôi lúc gặp khó khăn nó chỉ thực hiện được đối với những hệ thống cócơsởdữliệu đơn giản còn đối với những hệ thống cócơsởdữliệu phức tạp gồm nhiều thuộc tính nếu thực hiện bằng phương pháp thủ công thì tốn nhiều công sức và thời gian. Trong đề tài này, tôi tập chung xây dựng một công cụ hỗ trợ tự động hóa việc chuẩnhóadữliệutrong quá trình phân tíchthiếtkếcơsởdữliệu logic của hệ thống. 2. Cơsở lý thuyết Chuẩnhóa là quá trình chuyển một cấu trúc dữliệu phức tạp thành các cấu trúc dữliệu tốt và đơn giản hơn. Chuẩnhóa dựa trên cơsởphântích các phụ thuộc hàm là mối quan hệ cụ thể giữa hai thuộc tính (hay nhóm thuộc tính) trong một quan hệ. Chuẩnhóa thường được hoàn thành sau một số bước, mỗi bước sẽ nhận được các quan hệ tương ứng với mỗi dạng chuẩn. Dạng chuẩn thường được hiểu là một trạng thái của quan hệ có thể được xác định nhờ áp dụng các quy tắc để phát hiện sự phụ thuộc hàm (mối quan hệ) giữa các thuộc tính của quan hệ. Có 3 dạng chuẩncó bản là : - Chuẩn 1 : (First normal form : 1NF) : Một quan hệ đạt chuẩn 1 nếu nó không chứa các thuộc tính lặp. - Chuẩn 2 : (Second normal form : 2NF) : Một quan hệ đạt chuẩn 2 nếu nó đã ở dạng chuẩn 1 và không tồn tại thuộc tính ngoài khóa phụ thuộc vào một phần của khóa. - Chuẩn 3 : (Third normal form : 3NF) : Một quan hệ đạt chuẩn 3 nếu nó đã ở dạng chuẩn 2 và không tồn tại thuộc tính ngoài khóa mà phụ thuộc bắc cầu vào khóa. Quá trình chuẩnhoá một quan hệ có thể mô tả bằng sơ đồ sau : 3. Kỹ thuật chuẩnhóa Để chuẩnhoá một lược đồ quan hệ, ta xét lần lượt từng quan hệ và kiểm tra tính chuẩn của nó. Muốn vậy ta phải xác định các phụ thuộc hàm và khoá chính (khoá tối tiểu) của quan hệ. Sau đó tiến hành kiểm tra các loại chuẩn đối với từng quan hệ. Sét quá trình chuẩnhóa một lược đồ quan hệ trong đó : Tách phụ thuộc bộ phận QH có nhóm lặp 1NF 2NF 3NF Tách nhóm lặp Tách phụ thuộc bắc cầu -57- Đầu vào: là một lược đồ quan hệ, mỗi quan hệ bao gồm - Tập các thuộc tính (R) - Tập các thuộc tính lặp (R*) - Tập các phụ thuộc hàm (F) Đầu ra: Tách lược đồ đưa về dạng chuẩn 3 Sử dụng các thuật toán tính bao đóng, thuật toán tìm khóa lần lượt tách các quan hệ đưa về dạng chuẩn 3. Thứ tự thực hiện như sau: 1) Tách thành chuẩn 1 Nếu quan hệ không là chuẩn 1 ta phân rã quan hệ thành 2 quan hệ : - QH1 : Các thuộc tính lặp và phần khóa xác định chúng - QH2 : Các thuộc tính còn lại và phần khóa xác định phần này. 2) Tách thành chuẩn 2 Nếu quan hệ đã đạt chuẩn 1, không phải là chuẩn 2 ta tiến hành phân rã thành 2 quan hệ: - QH1: Các thuộc tính phụ thuộc vào môt phần khóa chính và phần khóa chính xác định chúng - QH2: Các thuộc tính còn lại và khóa chính 3) Tách thành chuẩn 3 Nếu quan hệ đã đạt chuẩn 2, chưa là đạt chuẩn 3 ta tiến hành phân rã thành 2 quan hệ: - QH1: Các thuộc tính bắc cầu và thuộc tính cầu. - QH2: Các thuộc tính còn lại và thuộc tính cầu. 4. Thực nghiệm Tôi đã cài đặt hệ thống và tiến hành thực nghiệm với bài toán chuẩnhóa như sau: Input: - Lược đồ quan hệ s = {R 1 , R 2 ,…,R n }. - R i = {a 1 , a 2 ,…, a n } với a i là các thuộc tính được mã hóa dưới dạng các ký tự. - F: Tập các phụ thuộc hàm Hệ thống cho kết quả là các quan hệ đã đạt chuẩn các chuẩn 1,2,3 với kết quả khá khả quan. 5. Kết luận Trong khóa luận này, tôi đã xây dựng giải pháp sử dụng các thuật toán tính khóa, tính bao đóng, các qui tắc chuẩnhóa để xây dựng hệ thống chuẩnhóa đưa một luợc đồ quan hệ về dạng chuẩn 3. Hệ thống thực hiện tốt đối với một số lược đồ quan hệ đơn giản trong các bài toán quản lý phổ biến. Bên cạnh các kết quả đạt được còn có những vấn đề chưa được khóa luận này giải quyết hay đề cập đến. Trong thời gian tới tôi sẽ tiếp tục nghiên cứu và hoàn thiện đề tài nhằm xây dưng một cộng cụ chuẩnhóadữliệu hoàn chỉnh hướng tới một ứng dụng thực tế hỗ trợtrong quá trình phântíchthiết các kế hệ thống thông tin. Tài liệu tham khảo [1] Lê Văn Phùng, “Phân tíchthiếtkế hệ thống thông tin”, NXB Lao động – Xã hội [2] Nguyến Văn Vỵ, “Giáo trình phântíchthiếtkế hệ thống thông tin”, NXB ĐH Quốc Gia TP. Hồ Chí Minh [3] Đào kiến Quốc, “Giáo trình phântíchthiếtkế hệ thống thông tin”, NXB ĐH Quốc Gia Hà Nội . gian. Trong đề tài này, tôi tập chung xây dựng một công cụ hỗ trợ tự động hóa việc chuẩn hóa dữ liệu trong quá trình phân tích thiết kế cơ sở dữ liệu logic. -56- HỖ TRỢ CHUẨN HÓA TRONG PHÂN THÍCH THIẾT KẾ CƠ SỞ DỮ LIỆU LOGIC Phạm Đức Mạnh MSV: 0320204 Email: ducmanhdhqg@gmail.com