LÝ THUYẾTCƠSỞDỮLIỆU 1.1. PHƯƠNG PHÁP PHÂN TÍCH 1.1.1. Sự cần thiết của việc phân tích bài toán với bài toán quản lý Phân tích hệ thống là bước cực kì quan trọng trong cả quá trình tạo ra một sản phẩm phần mềm quản lý nói chung. Thiết kế là cốt lõi của kỹ nghệ phần mềm mà nếu phần thiết kế chặt chẽ và có chất lượng thì hệ thống về sau sẽ làm việc cực kỳ hiệu quả. Việc phân tích thiết kế tức là ta đi tìm hiểu về hệ thống, tìm cách giải quyết các vấn đề phức tạp đặt ra của hệ thống. Phân tích chi tiết bao gồm: - Phân tích dữ liệu. - Phân tích các hoạt động xử lý. 1.1.2. Phương pháp mô hình trong phân tích thiết kế hệ thống Mô hình (model) là một dạng trừu tượng hoá của một hệ thống thực. Mô hình chính là một hình ảnh, một biểu diễn của một hệ thống thực nó được diễn tả ở một mức trừu tượng nào đó, theo một quan điểm nào đó hay theo một hình thức nào đó như: phương trình, bảng, đồ thị… Mô hình có xu hướng dạng biểu đồ tức là đồ thị gồm các nút cung. Việc dùng mô hình để nhận thức và diễn tả một hệ thống được gọi là mô hình hoá. Mục đích của mô hình hoá là làm cho bài toán dễ hiểu, làm phương tiện trao đổi để hoàn chỉnh. Mọi mô hình đều phản ánh hệ thống theo một mức độ trừu tượng hoá nào đó.Có hai mức độ chính: - Mức logic: Tập trung mô tả bản chất của hệ thống và mục đích hoạt động của hệ thống, bỏ qua các yếu tố về tổ chức thực hiện và biện pháp cài đặt. - Mức vật lý: Quan tâm đến các mặt như phương pháp, công cụ, tác nhân, địa điểm, thời gian, hiệu năng, yêu cầu của mô hình làm rõ kiến trúc vật lý của hệ thống. 1.1.3. Đặc điểm của phương pháp mô hình hóa trong phân tích và thiết kế hệ thống - Đây là phương pháp phân tích và thiết kế có cấu trúc, một phương pháp rất phổ biến, có tư duy nhất quán, chặt chẽ, dễ đọc dễ hiểu, dễ áp dụng, tăng khả năng thành công cho các ứng dụng và đã chứng tỏ nó rất có ích trong nhiều bài toán phân tích các hệ thống thực tiễn. - Bắt nguồn từ cách tiếp cận hệ thống, được hoàn thiện theo cách phân tích từ trên xuống dưới. - Các hoạt động trong quá trình phân tích được tiến hành theo một trình tự khoa học, mang tính công nghệ cao. - Sử dụng một nhóm các công cụ kỹ thuật và mô hình để ghi nhận phân tích hệ thống. Chỉ ra những công cụ sẽ được dùng ở từng giai đoạn của quá trình phân tích. Có sự tách bạch giữa mô hình vật lý và mô hình logic. Cho phép ghi nhận vai trò của người sử dụng trong các giai đoạn phát triển hệ thống. Giảm được độ phức tạp khi phát triển hệ thống. - Được thể hiện dưới cùng dạng ngôn ngữ thế hệ thứ tư nên không cần những lập trình viên chuyên nghiệp. - Việc thiết kế kết hợp với các bản mẫu giúp cho người dùng sớm hình dung được hệ thống mới trong đó vai trò của người sử dụng được nhấn mạnh đặc biệt. 1.1.4. Những công dụng gắn liền • Sơ đồ phân cấp chức năng nghiệp vụ: Nhằm xác định chức năng nghiệp vụ công việc cần làm và mối quan hệ phân mức giữa chúng nhằm trả lời những câu hỏi như : thực hiện công việc gì ? xử lý cái gì ? Từ đó xác định được thông tin gì cần và làm thế nào để có chúng. • Sơ đồ luồng dữliệu : Công cụ mô tả dòng thông tin nghiệp vụ kết nối giữa các chức năng trong một phạm vi được xét . Sơ đồ luồng dữliệu nhằm diễn tả tập hợp các chức năng của hệ thống, thể hiện mối quan hệ trước sau trong quá trình xử lý và trao đổi thông tin cho nhau. Đây là công cụ chính của quá trình phân tích thiết kế hệ thống và xử lý làm cơsở để thiết kế, trao đổi dữ liệu. • Mô hình thực thể mối quan hệ (ERD). Được biểu diễn dưới dạng một đồ thị trong đó các nút là các thực thể còn các cung là các mối quan hệ để dễ nhận thức và trao đổi. • Mô hình quan hệ: Là cách thức biểu diễn dữliệu ở dạng các bảng /quan hệ, dựa trên lýthuyết toán học, đại số tập hợp mà nó có một cơ sởlýthuyết rất vững chắc. • Từ điển dữliệu : Mô tả nội dung của các sự vật hay đối tượng theo định nghĩa có cấu trúc.Từ điển dữliệu liệt kê các mục từ chỉ tên gọi theo một thứ tự nào đó và giải thích các tên một cách chính xác, chặt chẽ, ngắn gọn để cả người dùng và người phân tích đều hiểu đầu vào đầu ra và luồng dữliệu luân chuyển • Ngôn ngữ truy vấn có cấu trúc(SQL): Là ngôn ngữ sử dụng để truy vấn, tìm kiếm dữliệu từ cơsởdữliệu trong SQL. 1.2. CÁC KHÁI NIỆM CƠ BẢN 1.2.1. Cởsởdữliệu Là tập hợp dữliệu về một đơn vị tổ chức nào đó được lưu trên máy có cách tổ chức quản lý theo một kiểu mô hình nào đó. Nó là một tập hợp các bảng dữliệucó quan hệ chặt chẽ với nhau sao cho cấu trúc của chúng cũng như các mối quan hệ bên trong giữa chúng là tách biệt với chương trình ứng dụng bên ngoài, đồng thời nó cho phép người sử dụng có thể cập nhật sốliệu hay lưu trữ, xử lý nhằm phục vụ theo yêu cầu của mình. Cơsởdữliệu được thành lập từ các tệp tin cơ sởdữliệu dễ dàng quản lý và khai thác 1.2.2. Hệ quản trị cơsởdữliệu Hệ thống bao gồm nhiều phần mềm cho phép mô tả, lưu trữ hay thao tác các dữliệu trên 1 CSDL mà vẫn đảm bảo tính an toàn, tính bí mật của dữliệu trong môi trường nhiều người sử dụng. Có thể tác động nhập thay đổi dữliệu như: thêm, sửa, xoá… Hệ quản trị cơsởdữliệu được coi như một diễn dịch với một ngôn ngữ bậc cao nhằm hỗ trợ giúp cho người sử dụng hệ thống mà không cần am hiểu tường tận các thuật toán cũng như cách lưu trữ dữliệu trong máy. 1.2.3. Thực thể Là hình ảnh tượng trưng cho một đối tượng cụ thể hay một khái niệm trừu tượng nhưng có mặt trong thế giới thực <Khi xây dựng mô hình dữliệu thì các thực thể được biểu diễn bằng những hình chữ nhật >. Ví dụ: Duan, connguoi, sanpham, hoadon, … 1.2.4. Thuộc tính Là một yếu tố có tính chất đặc trưng của dữliệu hoặc thông tin của thực đại diện, nhằm diễn tả thực thể đó. Đây là một loại thông tin dữliệu cần quản lý. Ví dụ : “Hoten”, “diachi”, “ngaysinh” của thực thể “nhanvien”. “nhanhieu”, “gia” của thực thể “sanpham”. 1.2.5. Khóa Chính là một thuộc tính đặc biệt của thực thể . Khoá cho phép nhận diện một cách duy nhất một thể hiện của thực thể (có trường hợp người ta phải dùng một tập các thực thể để nhận dạng một thực thể, việc làm này xuất hiện khoá chính) Ví dụ : “sohoadon” là thuộc tính nhận dạng của thực thể “Hoadon.” 1.2.6. Quan hệ Là sự nhóm họp hai hay nhiều thực thể với nhau nhằm biểu hiện một mối liên quan tồn tại trong thế giới thực giữa các thức thể. Kích thước của một quan hệ là số thực thể cấu thành nên quan hệ (thường được biều diễn bằng hình tròn hoặc elip). Trong một số trường hợp quan hệ cũng có các thuộc tính riêng. Ví dụ: Hoá đơn dùng để thanh toán một số sản phẩm bán ra, mỗi dòng hoá đơn cho biết tổng giá trị thanh toán của từng sản phẩm. Phân loại quan hệ: Quan hệ 1-1 : Mỗi thể hiện của thực thể A được kết hợp với 0 hay 1 thể hiện của B và ngược lại. Quan hệ 1-N : Mỗi thể hiện của A được kết hợp với một hay nhiều thể hiện của B.Và mỗi thể hiện của B được kết hợp với một thể hiện duy nhất của A. Quan hệ N-N : Mỗi thể hiện của một thực thể A được kết hợp với 0, 1, hay nhiều thể hiện của B và ngược lại. 1.2.7. Các dạng chuẩn Dạng chuẩn 1: Một thực thể hay quan hệ đạt chuẩn một khi nó không chứa các thuộc tính lặp Dạng chuẩn 2: Một thực thể hay quan hệ đã đạt chuẩn 1 và không tồn tại thuộc tính ngoài khoá mà phụ thuộc vào một phần của khoá. Dạng chuẩn 3: Một thực thể hay quan hệ đạt chuẩn hai và không tồn tại thuộc tính ngoài khoá mà phụ thuộc bắc cầu vào khoá Để chuẩn hoá một hệ 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ó. 1.2.8. Phép phân rã một sơ đồ quan hệ Là việc thay thế sơ đồ quan hệ nào đó bằng tập các sơ đồ quan hệ con tương ứng với nó. Mục đích của phép phân rã là nhằm loại bỏ các file dữliệudư thừa và loại bỏ các dị thường không nhất quán như :dị thường khi thêm dòng, dị thường khi xoá dòng của quan hệ, dị thường khi thực hiện cập nhật (sửa, xoá, ) mà đảm bảo không mất thông tin. 1.3. CÁC BƯỚC XÂY DỰNG MÔ HÌNH KHÁI NIỆM DỮLIỆU 1.3.1. Khảo sát thực tế - Thu thập thông tin. - Trình bày có hệ thống bằng một sốsơ đồ luân chuyển các tài liệu. Thiết kế mô hình dữliệu - Kiểm kê các dữ liệu. - Xác định các phụ thuộc hàm - Xây dựng mô hình khái niệm dữ liệu. + Xác định tập hợp khoá chính. + Nhận diện các thực thể. + Nhận diện các quan hệ + Phân bố hết các thuộc tính. + Vẽ sơ đồ khái niệm dữ liệu. 1.3.2. Kiểm soát và chuẩn hóa mô hình - Chuẩn hoá mô hình - Tạo thêm thực thể. - Biến một quan hệ thành thực thể. - Xoá một quan hệ. - Phân tách một quan hệ phức tạp. . cập nhật số liệu hay lưu trữ, xử lý nhằm phục vụ theo yêu cầu của mình. Cơ sở dữ liệu được thành lập từ các tệp tin cơ sở dữ liệu dễ dàng quản lý và khai. biểu diễn dữ liệu ở dạng các bảng /quan hệ, dựa trên lý thuyết toán học, đại số tập hợp mà nó có một cơ sở lý thuyết rất vững chắc. • Từ điển dữ liệu : Mô