Đồ án Quản lí bán hàng Trung tâm tin học Hàng Hải - Đỗ Thị Hà

pdf 80 trang huongle 2840
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Quản lí bán hàng Trung tâm tin học Hàng Hải - Đỗ Thị Hà", để 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:

  • pdfdo_an_quan_li_ban_hang_trung_tam_tin_hoc_hang_hai_do_thi_ha.pdf

Nội dung text: Đồ án Quản lí bán hàng Trung tâm tin học Hàng Hải - Đỗ Thị Hà

  1. MỤC LỤC LỜI CẢM ƠN 1 2 CHƢƠNG 1: CƠ SỞ LÝ THUYẾT HỆ THỐNG THÔNG TIN 3 1.1. Khái niệm về hệ thống thông tin 3 1.1.1. Khái niệm và định nghĩa 3 1.1.2. Hệ thống thông tin quản lý 3 1.1.3. Phân loại hệ thống thông tin 4 1.1.4. Các giai đoạn của phân tích thiết kế hệ thống 7 1.2. Tổng quan về SQL Server và cơ sở dữ liệu quan hệ 8 1.2.1. Khái quát về quá trình phát triển của MS SQL Server 8 1.2.2. Vài nét về cơ sở dữ liệu mô hình quan hệ 9 1.2.3. Thiết kế cơ sở dữ liệu quan hệ 11 1.2.4. SQL Server và mô hình Client/ Server 12 1.2.5. Tạo và cài đặt cơ sở dữ liệu 13 1.3. Microsoft visual basic 6.0 21 1.3.1. Khái quát về sự phát triển của công cụ lập trình Visual Basic 6.0 21 1.3.2. Kiến thức cơ bản về lập trình VB6.0 22 1.3.3. Mô hình đối tượng ODBC truy cập MS SQL Server 33 CHƢƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 42 2.1. Mô tả hoạt động của công ty. 42 2.1.1. Bán lẻ 42 2.1.2. Bán buôn 42 2.1.3. Báo cáo 43 2.2. Bảng nội dung công việc 44 2.3. Mô hình nghiệp vụ 45 2.3.1. Bảng phân tích xác định các chức năng, tác nhân và hồ sơ 45 2.3.2. Biểu đồ ngữ cảnh 46 2.3.3. Nhóm các chức năng 48 2.3.4. Sơ đồ phân rã chức năng 49 2.3.5. Mô tả chi tiết chức năng lá 50 2.3.6. Danh sách hồ sơ dữ liệu sử dụng 52 2.3.7. Ma trận thực thể chức năng 53 2.3.8. Biểu đồ hoạt động 54 2.3.9. Biểu đồ luồng dữ liệu 58 2.1. Biểu đồ luồng dữ liệu mức 1: Bán lẻ 59 2.2. Biểu đồ luồng dữ liệu mức 1: Bán buôn 60 2.3. Biểu đồ luồng dữ liệu mức 1: Báo cáo 61 2.4. Thiết kế cơ sở dữ liệu 61 2.4.1. Xác định các thực thể và thuộc tính. 61 2.4.2. Xác định các mối quan hệ 62 2.4.3. Mô hình E-R 63 2.4.4. Mô hình dữ liệu quan hệ 64 2.4.5. Các quan hệ 65 2.4.6. Mô hình quan hệ 67 CHƢƠNG 3: CÀI ĐẶT CHƢƠNG TRÌNH THỬ NGHIỆM 68 3.1. Giao diện “Đăng nhập hệ thống” 68
  2. 3.2. Giao diện “Kết nối cơ sở dữ liệu” 69 3.3. Giao diện”Cập nhật thông tin người dùng” 70 3.4. Giao diện “Cập nhật thông tin khách hàng” 71 3.5. Giao diện “Cập nhật danh sách mặt hàng” 72 3.6. Giao diện “Cập nhật danh sách nhân viên” 73 3.7. Giao diện “Cập nhật phiếu bán hàng” 74 3.8. Giao diện “Phiếu bảo hành” 75 3.9. Giao diện “Hóa đơn bán hàng” 76 KẾT LUẬN 77 TÀI LIỆU THAM KHẢO 78
  3. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải LỜI CẢM ƠN Trước hết em xin được chân thành gửi lời cảm ơn sâu sắc tới các thầy cô giáo trong trường Đại Học Dân Lập Hải Phòng nói chung và các thầy cô trong khoa Công Nghệ Thông Tin, những người thầy, người cô đã tận tình giảng dạy và truyền đạt cho em những kiến thức , những kinh nghiệm quý báu trong suốt quá trình học tập và rèn luyện ở trường Đại Học Dân Lập Hải Phòng. Và đặc biệt em xin dành những tình cảm sâu sắc tới thầy Phùng Anh Tuấn người đã trực tiếp hướng dẫn, giúp đỡ tận tình để em hoàn thiện đồ án tốt nghiệp này. Đồng thời em xin chân thành cảm ơn tới các thầy cô, các anh chị công tác tại trung tâm Tin Học Hàng Hải đã giúp đỡ, tạo điều kiện cho em khi triển khai đề tài. Em xin bày tỏ lòng biết ơn sâu sắc của mình tới gia đình, bạn bè, những người luôn sát cánh bên em, tạo mọi điều kiện để em hoàn thành đồ án này. . Em xin chân thành cảm ơn! Hải Phòng, ngày 10 tháng 07 năm 2010 Sinh viên Đỗ Thị Hà Sinh viên: Đỗ Thị Hà 1 Khóa 10-Ngành Công Nghệ Thông Tin
  4. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải đi sâu vào đời sống của con người và trọng. gian rất nhỏ so với con trung tâm bán hàng mà biết được ? V doan . Trung Tâm Tin Học Hàng Hải là nơi đã áp dụng thành công tin học vào trong các bộ phận quản lý. Cùng với hệ thống trang thiết bị hiện đại trung tâm đã lắp đặt hoàn chỉnh một hệ thống máy tính tới tất cả các phòng ban. Hệ thống này đã giúp ích rất nhiều cho việc quả lý. Đặc biệt là “Quản lý bán hàng”. Ngoài ra với hệ thống mạng internet đã giúp ích rất nhiều cho trung tâm trong việc mua bán và trao đổi hàng hóa. Sinh viên: Đỗ Thị Hà 2 Khóa 10-Ngành Công Nghệ Thông Tin
  5. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải CHƢƠNG 1: CƠ SỞ LÝ THUYẾT HỆ THỐNG THÔNG TIN 1.1. Khái niệm về hệ thống thông tin 1.1.1. Khái niệm và định nghĩa Có nhiều định nghĩa về hệ thống thông tin khác nhau và các khái niệm liên quan. Về mặt kĩ thuật, hệ thống thông tin (HTTT) được xác định như một tập hợp các thành phần được tổ chức để thu thập, xử lý, lưu trữ, phân phối và biểu diễn thông tin, trợ giúp việc ra quyết định và kiểm soát hoạt động trong một tổ chức. Ngoài các chức năng kể trên, nó còn có thể giúp người quản lý phân tích các vấn đề, cho phép nhìn thấy được một cách trực quan những đối tượng phức tạp, tạo ra các sản phẩm mới. Liên quan đến HTTT là các khái niệm sẽ đề cập tới như dữ liệu, thông tin, hoạt động thông tin, xử lý dữ liệu, giao diện Dữ liệu (Data) là những mô tả về sự vật, con người và sự kiện trong thế giới mà chúng ta gặp bằng nhiều cách thể hiện khác nhau, như bằng ký tự, chữ viết, biểu tượng, hình ảnh, âm thanh, tiếng nói, Thông tin (Information) cũng như dữ liệu, đã có nhiều định nghĩa khác nhau. Một định nghĩa bao trùm hơn cả, xem thông tin là dữ liệu được đặt vào một ngữ cảnh với một hình thức thích hợp và có lợi cho người sử dụng cuối cùng. Các hoạt động thông tin (Information Activities) là các hoạt động xảy ra trong một HTTT, bao gồm việc nắm bắt, xử lý, phân phối, lưu trữ, trình diễn dữ liệu và kiểm tra các hoạt động trong HTTT. Xử lý (Processing) dữ liệu được hiểu là các hoạt động lên dữ liệu như tính toán, so sánh, sắp xếp, phân loại, tổng hợp làm cho nó thay đổi về nội dung, vị trí hay cách thể hiện. Giao diện (Interface) là chỗ mà tại đó hệ thống trao đổi dữ liệu với hệ thống khác hay môi trường. Ví dụ: giao diện của một HTTT thường là màn hình, bàn phím, chuột, micro, loa hay card mạng Môi trƣờng (Enviroment) là phần của thế giới không thuộc hệ thống mà có tương tác với hệ thống thông qua các giao diện của nó. 1.1.2. Hệ thống thông tin quản lý Trong các HTTT, HTTT quản lý (Management Information System - MIS) được biết đến sớm và phổ biến nhất. Đối tượng phục vụ của HTTT quản lý thục sự rộng hơn rất nhiều so với ý nghĩa bản than tên gọi của nó. HTTT quản lý là sự phát triển và sử Sinh viên: Đỗ Thị Hà 3 Khóa 10-Ngành Công Nghệ Thông Tin
  6. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải dụng HTTT có hiệu quả trong một tổ chức (Keen, Peter G.W.- một người đứng đầu trong lĩnh vực này). Công cụ Cầu nối Nguồn lực Phần cứng Phần mềm Dữ liệu Thủ tục Con ngƣời Nhân tố có sẵn Nhân tố thiết lập Hình 1.1. Các yểu tố cấu thành của HTTT Năm yếu tố cấu thành của HTTT quản lý xét ở trạng thái tĩnh là: Thiết bị tin học (máy tính, các thiết bị, các đường truyền, (phần cứng), các chương trình (phần mềm), dữ liệu, thủ tục - quy trình và con người (hình 1.1). Các định nghĩa về HTTT trên đây giúp cho việc định hướng quá trình phân tích, thiết kế hệ thống. Tuy vậy, sự mô tả này là chưa đủ, cần đi sâu phân tích cụ thể mới có được sự hiểu biết đầy đủ về một hệ thống thực và cho pháp ta xây dựng cơ sở dữ liệu các chương trình và việc bố trí các thành phần bên trong nó. 1.1.3. Phân loại hệ thống thông tin 1. Hệ thống tự động văn phòng Hệ thống tự động văn phòng (Office Automation System - OAS) là HTTT gồm máy tính với các hệ phần mềm như hệ xử lý văn bản, hệ thư tín điện tử, hệ thống lập lịch làm việc, bảng tính, chương trình trình diễn báo cáo cùng các thiết bị khác như máy fax, máy in, điện thoại tự ghi chúng được thiết lập nhằm tự động hóa công việc ghi chép, tạo văn bản và giao dịch bằng lời, bằng văn bản làm tăng năng suất cho những người làm công việc văn phòng. 2. Hệ thống truyền thông Hệ thống truyền thông (Communication System - CS) giúp cho việc thực hiện các Sinh viên: Đỗ Thị Hà 4 Khóa 10-Ngành Công Nghệ Thông Tin
  7. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải trao đổi thông tin, dữ liệu giữa các thiết bị dưới các hình thức khác nhau với những khoảng cách xa một cách dễ dàng, nhanh chóng và chất lượng. Hệ thống này đóng vai trò phục vụ cho các HTTT quản lý, hệ trợ giúp điều hành và các hệ khác hoạt động hiệu quả. Ngày nay, trong điều kiện phát triển của Internet, truyền thông được xem như bộ phận của HTTT. 3. Hệ thống xử lý giao dịch Hệ thống xử lý giao dịch (Transaction Processing System - TPS) là một HTTT nghiệp vụ. Nó phục vụ cho hoạt động của tổ chức ở mức vận hành. Nó thực hiện việc ghi nhận các giao dịch hàng ngày cần thiết cho hoạt động nghiệp vụ của tổ chức để giao dịch với khách hàng, nhà cung cấp, những người cho vay vốn như hệ thống lập hóa đơn bán hàng, hệ thống giao dịch ở các ngân hàng, hệ thống bán vé của các hãng hàng không, Nó là HTTT cung cấp nhiều dữ liệu nhất cho các hệ thống khác trong tổ chức. 4. Hệ thống cung cấp thông tin thực hiện Hệ thống cung cấp thông tin thực hiện (Executive Iformation System - EIS) có từ rất sớm, nó cung cấp các thông tin thực hiện trong một tổ chức. Nó là hệ máy tính nhằm tổng hợp và làm các báo cáo về khoảng thời gian nhất định. Các tổng hợp, báo cáo được thực hiện theo mẫu với nội dung, quy trình tổng hợp rất đơn giản, rõ ràng và có định hạn thời gian. 5. Hệ thống thông tin quản lý Hệ thống thông tin quản lý (Managemant Information System - MES) trợ giúp các hoạt động quản lý của tổ chức như lập kế hoạch, kiểm tra thực hiện, tổng hợp và làm báo cáo, làm các quyết định quản lý trên cơ sở các quy trình thủ tục cho trước. Nhìn chung, nó sử dụng dữ liệu từ các hệ xử lý giao dịch và tạo ra các báo cáo định kỳ hay theo yêu cầu. Hệ này không mềm dẻo và ít có khả năng phân tích. 6. Hệ trợ giúp quyết định Hệ trợ giúp quyết định (Decision Support System - DSS) là hệ máy tính được sử dụng ở mức quản lý của tổ chức. Nó còn có nhiệm vụ tổng hợp các dữ liệu và tiến hành các phân tích bằng các mô hình để trợ giúp cho các nhà quản lý ra những quyết định có quy trình (bán cấu trúc) hay hoàn toàn không có quy trình biết trước (không có cấu trúc). Nó phải sử dụng nhiều loại dữ liệu khác nhau nên các cơ sở dữ liệu phải được tổ chức và liên kết tốt. Hệ còn có nhiều phương pháp xử lý (các mô hình khác nhau) được tổ chức để có thể sử dụng linh hoạt. Các hệ này thường được xây dựng chuyên dụng cho Sinh viên: Đỗ Thị Hà 5 Khóa 10-Ngành Công Nghệ Thông Tin
  8. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải mỗi tổ chức cụ thể mới đạt hiệu quả cao. 7. Hệ chuyên gia Hệ chuyên gia (Expert System - ES) là một hệ trợ giúp quyết định ở mức chuyên sâu. Ngoài những kiến thức, kinh nghiệm của các chuyên gia và các luật suy diễn, nó còn có thể trang bị các thiết bị cảm nhận để thu các thông tin từ những nguồn khác nhau. Hệ có thể xử lý, và dựa vào các luật suy diễn để đưa ra những quyết định là ở chỗ: hệ chuyên gia yêu cầu những thông tin xác định đưa vào để đưa ra quyết định có chất lượng cao trong lĩnh vực hẹp, dùng ngay được. 8. Hệ trợ giúp điều hành Hệ trợ giúp điều hành (Execution Support System - ESS) được sử dụng ở mức quản lý chiến lược của tổ chức. Nó được thiết kế hướng sự trợ giúp cho các quyết định không cấu trúc bằng việc làm ra các đồ thị phân tích trực quan và các giao dịch rất thuận tiện với môi trường. Hệ được thiết kế để cung cấp hay chắt lọc các thông tin đa dạng lấy từ môi trường hay từ các hệ thống thông tin quản lý, hệ trợ giúp quyết định. 9. Hệ trợ giúp làm việc theo nhóm Trong điều kiện nhiều người cùng tham gia thực hiện một nhiệm vụ. Hệ trợ giúp làm việc theo nhóm (Groupware System - GS) cung cấp các phương tiện trợ giúp sự trao đổi trực tuyến các thông tin giữa các thành viên trong nhóm, làm rút ngắn sự ngăn cách giữa họ cả về không gian và thời gian. 10. Hệ thống thông tin tích hợp Một HTTT của tổ chức thường gồm một vài loại HTTT cùng được khai thác. Có như vậy mới đáp ứng được mục tiêu của tổ chức. Điều này cho thấy, cần phải tích hợp nhiều HTTT khác loại để đảm bảo sự hoạt động hiệu quả của tổ chức. Việc tích hợp các HTTT trong một tổ chức có thể tiến hành theo hai cách: xây dựng một hệ thống thông tin tích hợp (Integrated Information System - IIS) tổng thể hoặc tích hợp các hệ đã có bằng việc ghép nối chúng nhờ các “cầu nối”. Việc sử dụng các hệ tích hợp tổng thể thường đưa tổ chức đến một hệ thống tập trung, một sự phối hợp và kiểm soát chặt chẽ. Nhưng chúng cũng tạo ra sức ỳ về quản lý, và sự quan liêu trong hoạt động và khó thay đổi. Khi sự tập trung của một HTTT đã đạt đến một điểm bão hòa, nhiều tổ chức bắt đầu cho các bộ phận của mình tiếp tục phát triển những hệ con với các đặc thù riêng. Ngày nay trong môi trường web, nhiều hệ thống phát triển trên môi trường này có thể tích hợp bằng cách ghép nối với nhau một cách dễ dàng nhờ công cụ portal. Sinh viên: Đỗ Thị Hà 6 Khóa 10-Ngành Công Nghệ Thông Tin
  9. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 1.1.4. Các giai đoạn của phân tích thiết kế hệ thống 1. Khảo sát hiện trạng xác định yêu cầu hệ thống Xác định yêu cầu là bước đầu tiên và quan trọng của một hệ thống thông tin, nó quyết định đến chất lượng hệ thống thông tin được xây dựng trong các bước sau này. Việc thu thập các thông tin của hệ thống chính là việc tiến hành khảo sát hệ thống, việc khảo sát hệ thống được chia làm hai giai đoạn: Giai đoạn khảo sát sơ bộ: nhằm hình thành dự án phát triển hệ thống thông tin. Giai đoạn khảo sát chi tiết: nhằm thu thập các thông tin chi tiết của hệ thống phục vụ phân tích yêu cầu thông tin làm cơ sở cho các bước sau này. 2. Phân tích hệ thống a) Phân tích hệ thống về chức năng Phân tích hệ thông về chức năng hiểu một cách đơn giản là xác định các chức năng nghiệp vụ cần được tiến hành của hệ thống sau khi đã khảo sát thực tế và đi sâu vào các thành phần của hệ thống. Các bước tiến hành: Diễn tả chức năng từ mức vật lý về mức logic, từ mức đại thể về mức chi tiết. Xây dựng sơ đồ phân cấp chức năng. Xây dựng dòng dữ liệu. b) Phân tích hệ thống về dữ liệu Phân tích hệ thống về dữ liệu là việc phân tích về cấu trúc thông tin được dùng và được tổ chức bên trong hệ thống đang khảo sát, xác định được mối quan hệ tự nhiên giữa các thành phần thông tin, hay nói cách khác, đây là quá trình lập lược đồ khái niệm về dữ liệu, làm căn cứ cho việc thiết kế cơ sở dữ liệu sau này. Việc phân tích dữ liệu thường thực hiện qua hai giai đoạn: Đầu tiên lập lược đồ dữ liệu theo mô hình thực thể/ liên kết, nhằm phát huy thế mạnh về tính trực quan và dễ vận dụng của mô hình này, bao gồm: Xác định các kiểu thực thể cùng với các kiểu thuộc tính của nó. Xác định các mối quan hệ giữa các kiểu thực thể. Tiếp đó hoàn thiện lược đồ dữ liệu theo mô hình quan hệ nhằm lợi dụng cơ sở lý luận chặt chẽ của mô hình này trong việc chuẩn hóa lược đồ, bao gồm: Xác định các kiểu thuộc tính của các kiểu thực thể. Sinh viên: Đỗ Thị Hà 7 Khóa 10-Ngành Công Nghệ Thông Tin
  10. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Chuẩn hóa danh sách các thuộc tính, từ đó xác định các kiểu thực thể đã được chuẩn hóa. Xác định mối quan hệ. 3. Thiết kế hệ thống Trong khi giai đoạn phân tích nghiệp vụ thuần túy xử lý cho quan điểm logic về hệ thống, thì giai đoạn thiết kế hệ thống bao gồm việc xem xét ngay lập tức cá khả năng cài đặt các yêu cầu nghiệp vụ này bằng cách sử dụng máy tính. Tùy theo quy mô của hệ thống mà các giai đoạn thiết kế có thể áp dụng khác nhau. Sau đây là các tiến trình đơn giản nhất trong thiết kế hệ thống: Thiết kế được xem xét bắt đầu từ màn hình tương tác, các dữ liệu vào và ra (các báo cáo) đến cơ sở dữ liệu và các tiến trình xử lý chi tiết bên trong. Thiết kế vật lý: là quá trình chuyển mô hình logic trừu tượng thành bản thiết kế vật lý hay các đặc tả kỹ thuật. Trong thiết kế vật lý cần phải quyết định chọn ngôn ngữ lập trình, hệ cơ sở dữ liệu, cấu trúc file tổ chức dữ liệu, phần cứng, hệ điều hành và môi trường mạng cần xây dựng. Hoàn thiện chương trình. 1.2. Tổng quan về SQL Server và cơ sở dữ liệu quan hệ 1.2.1. Khái quát về quá trình phát triển của MS SQL Server SQL là sản phẩm Database Engine của hãng Microsoft, đang gây sốc trên thị trường. Microsoft có ý định đầu tư và hỗ trợ cho sản phẩm này đặc biệt là việc đưa MS SQL Server trở thành hệ thống cơ sở dữ liệu chính trong công nghiệp máy tính với hệ điều hành Windows NT. Trong những năm 1970, hãng IBM đã phát minh ra ngôn ngữ máy tính được thiết kế đặc trưng dùng trong việc truy vấn cơ sở dữ liệu được gọi là SEQEL (Strucured English Query Language). Theo thời gian , ngôn ngữ này đã được bổ sung đến mức nó không chỉ là ngôn ngữ dùng cho truy vấn mà còn có thể tạo ra các cơ sở dữ liệu và quản lý tính năng bảo mật của hệ thống cơ sở dữ liệu. IBM đã công bố rộng rãi, và nó được biết đến với tên gọi là SQL. Do đó có thể gọi nó là sequel hay đánh vần nó thành “S-Q- L”. Có nhiều phiên bản khác nhau của SQL được dùng cho các hệ thống cơ sở dữ liệu hiện nay. SQL Server của Microsoft đang dùng phiên bản Transact-SQL, hay T- SQL, thay cho Transact SQL. Microsoft bắt đầu xây dựng SQL Server (một sản phẩm cơ sở dữ liệu sử dụng Sinh viên: Đỗ Thị Hà 8 Khóa 10-Ngành Công Nghệ Thông Tin
  11. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải ngôn ngữ SQL) với Sybase để dùng cho OS/2. Vào năm 1988 phiên bản thử nghiệm “Ashton-Tate/Microsoft SQL Server” chạy trên môi trường OS/2 và đến năm 1989 phiên bản 1.0 được phát hành đánh dấu sự kết thúc liên kết với Ashton-Tate. Năm 1990 phiên bản đầu tiên với tên Microsoft SQL Server 1.2 được phát hành với các công cụ tiện ích, thư viện lập trình và công cụ quản lý. Phiên bản này sửa lỗi cho phiên bản 1.0 và chạy trên môi trường OS/2. Điều quan trọng là nó hỗ trợ client hệ điều hành Windows 3.0. Năm 1991 phát hành pheein bản Microsoft SQl Server1.11. Vào thời điểm này, Microsoft không tham gia phát triển OS/2 với IBM mà dồn sứ theo đuổi phát triển hệ điều hành nhiều người dùng Windows NT. Đầu năm 1992 phát hành phiên bản Microsoft SQL Server 4.2 gồm giao diện đồ họa quản lý cơ sở dữ liệu trên môi trường Windows. Cuối năm 1992 phiên bản MS SQL Server chạy trên môi trường Windows NT ra đời. Vào thời điểm này, Microsoft quyết định chỉ tiếp tục phát triển trên môi trường Windows NT. Phiên bản này hỗ trợ kiến trúc 32-bit. Giữa năm 1995 phiên bản MS SQL Server 6.0 được phát hành với nhiều tính năng mới: tạo bản sao (replication), con trỏ dịch chuyển được (scrollable) và những công cụ quản lý dữ liệu . Phiên bản này trở thành đấu thủ cạnh tranh thực sự của cơ sở dữ liệu khác như : Sybase, Infomix và Oracle database. Đến năm 1996 phiên bản MS SQL Server được phát hành. Phiên bản này phù hợp với chuẩn SQL (ANSI SQL) Năm 1999 phiên bản SQL Server 7.0 ra đời. Phiên bản này là một máy cơ sở dữ liệu (database engine) hoàn toàn được xây dựng lại, đầy đủ mức độ khoá cấp thấp, tiến trình truy vấn mới. Nó cũng bao gồm những tiện ích quản lý những Wizard. Phiên bản này đáp ứng yêu cầu của khả năng mở rộng, phát triển từ ứng dụng cho máy để bàn đến ứng dụng thương mại Internet. Phiên bản này có thể chạy trên Windows NT và Windows 9x. Phiên bản mới nhất cuối cùng là MS SQL Server 2000 được phát hành vào giữa năm 2000. Phiên bản này hỗ trợ cho XML, động cơ tìm kiếm (Full text search) cho phép chạy trên môi trường đa xử lý (multiprocessor). 1.2.2. Vài nét về cơ sở dữ liệu mô hình quan hệ Cơ sở dữ liệu quan hệ là cơ sở dữ liệu bên trong nó được tổ chức thành các bảng. Sinh viên: Đỗ Thị Hà 9 Khóa 10-Ngành Công Nghệ Thông Tin
  12. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Các bảng được tổ chức bằng cách nhóm dữ liệu theo cùng chủ đề và có chứa các cột và các dòng thông tin. Sau đó các bảng này lại liên hệ với nhau bởi bộ Database Engine kho nó yêu cầu. Nói chung, một cơ sở dữ liệu có thể hiểu như là tập hợp các dữ liệu có liên quan với nhau. Các đối tượng cơ sở dữ liệu quan hệ bao gồm: Table (bảng): Là những đối tượng chứa các kiểu dữ liệu và các dữ liệu thô thực sự. Field (trường) hay Column (cột) : đây là các thnàh phần của bảng dùng để chứa dữ liệu. Data Type (kiểu dữ liệu): Có nhiều kiểu dữ liệu khác nhau đển chọn ,như kiểu ký tự (charater), số (Number), ngày tháng (Date), và các dữ liệu khác. Mỗi một kiểu dữ liệu sẽ được gán cho một trường nào đó bên trong bảng. Stored Procedure (thủ tục được lưu): đối tượng này tương tự như một macro mà trong đó mã T-SQL có thể viết và lưu dưới một tên gọi. Chạy đối tượng này tức là ta đang chạy mã T-SQL chứa trong đó. Triger: Triger là một Stored Procedure hoạt động khi dữ liệu được thêm vào, chỉnh sửa, hay được xoá từ cơ sở dữ liệu. Rules (Quy luật): Một rule khi được gán cho một cột nào đó sẽ đảm bảo sao cho dữ liệu đưa vào phải phù hợp với tiêu chuẩn mà bạn đặt ra. Primary Key (Khoá chính): Mặc dù không phải là một đối tượng trong cơ sở dữ liệu, các khoá là tối cần cho cơ sở dữ liệu. Các khoá chính bắt buộc là duy nhất trong các hàng, cung cấp cách xác định duy nhất các mục mà ta muốn lưu trữ. Foreign Key (khoá ngoại): Cũng không phải là một đối tượng trong cơ sở dữ liệu, một khoá ngoại là các cột tham chiếu đến khoá chính hay các ràng buộc duy nhất của bảng khác.SQL Server sử dụng khoá chính và khoá ngoại để liên hệ dữ liệu với nhau từ các bảng riêng biệt khi một câu truy vấn được thực hiện. Constaraintsc (Ràng buộc): Ràng buộc là cơ chế nhằm bảo đảm tính toàn vẹn dữ liệu, phụ thuộc vào hệ thống và server. Default (Mặc định): một mặc định có thể xác lập trên trường sao cho nếu không có dữ liệu nào được đưa vào thì giá trị mặc định sẽ được dùng đến. Views: Một view về cơ bản là một câu truy vấn được lưu trữ trong cơ sở dữ liệu có thểt tham chiếu đến một hay nhiều bảng. Nó có thể được tạo ra và được lưu tại sao cho nó có thể dùng dễ dàng về sau. Một view thường chứa một số cột được lấy từ một bảng Sinh viên: Đỗ Thị Hà 10 Khóa 10-Ngành Công Nghệ Thông Tin
  13. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải hay từ một liên kết hai hay nhiều bảng. Index (Chỉ mục): Chỉ mục là một trong cách tổ chức dữ liệu đẩy nhanh quá trình truy vấn 1.2.3. Thiết kế cơ sở dữ liệu quan hệ 1. Quá trình thiết kế một cơ sở dữ liệu quan hệ Quá trình thiết kế một cơ sở dữ liệu quan hệ gồm các bước sau : Phân tích hoàn cảnh, thu nhập thông tin về dữ liệu được đề cập trong bài toán. Quyết định các bảng gồm các cột, kiểu dữ liệu, và chiều dài của chúng. Chuẩn hoá các bảng dữ liệu đã xây dựng được. Tạo cơ sở dữ liệu, các bảng và thiết lập mối quan hệ giữa các bảng . Khi ta nắm được mối liên hệ dữ liệu, ta sẽ tổ chức nó thành các bảng có quan hệ với nhau và tuân thủ theo quy luật chuẩn hoá (Normalization rules). Để bắt đầu quá trình thiết kế, ta xem xét kỹ hoàn cảnh nghiệp vụ và về công việc đang muốn thực hiện. Tận dụng các ý kiến tập thể về các thông số, các biến số khác nhau, và cách ghép chúng với nhau trong các bảng. Nghiên cứu các mẫu báo cáo và câu truy vấn phục vụ cho mục đích của người dùng. Việc làm cần thiết trong thiết kế CSDL Việc không cần làm trong thiết kế CSDL Hỏi người sử dụng xem họ cần gì Đừng coi nhẹ người sử dụng Tạo danh sách các đối tượng Đừng tạo các đối tượng mà không bao giờ dùng đến Nên giữ cho tên đối tượng ngắn gọn nhưng mô Không dùng các tên phức tạp, các tên có tả được ý nghĩa của đối tượng dấu cách, các tên có ký tự đặc biệt, vì rất khó gõ chúng Tổ chức các thuộc tính của đối tượng thành các Đừng tạo cột chữ nhiều giá trị nhóm chuẩn xác Tạo các cột có tên giống nhau trong các cột khác nhau để sau đó liên hệ chúng với nhau. Các cột này trở thành khoá chính và khoá ngoại Kiểm tra lại thiết kế với một số dữ liệu mẫu Đừng quá chắc rằng thiết kế khi làm việc tốt với 5 dòng, cũng thực hiện nhanh như vậy với 500,000 dòng Sinh viên: Đỗ Thị Hà 11 Khóa 10-Ngành Công Nghệ Thông Tin
  14. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Tạo ít nhất 1 chỉ mục cho các bảng sẽ được truy Đừng tạo quá nhiều chỉ mục cho 1 bảng vấn (quá 5) Hãy thực hiện theo nguyên tắc đặt tên chuẩn Đừng quên làm tài liệu thiết kế cho đối tượng của cơ sở dữ liệu. Việc này giúp ta dễ dàng làm việc với các đối tượng bảng có tên Employees, và dung idxLastname cho chỉ mục LastName 2. Chuẩn hoá dữ liệu Sau khi đã quyết định vệ các cột, ta cần tổ chức dữ liệu thành các bảng có quan hệ. Quá trình này gọi là chuẩn hoá dữ liệu. Các quy luật được xây dựng để chuẩn hoá dữ liệu: Dạng chuẩn thức nhất (First Normal Form -1st NF): Theo quy luật này một cột không thể chứa nhiều giá trị. Dạng chuẩn thứ hai (Second Normal - 2nd NF): theo quy luật này mỗi cột không phải là khoá cần phải phụ thuộc vào khoá đầy đủ, và không phụ thuộc vào chỉ một phần của khoá chính. Dạng chuẩn thứ ba (Third Normal -3rd NF): Tương tự như quy luật trước, theo quy luật này tất cả các cột không khoá không được phụ thuộc vào các cột không khoá khác. 1.2.4. SQL Server và mô hình Client/ Server 1. Khái quát về mô hình Client/Server SQL Server của Microsoft là mô hình cơ sở dữ liệu kiểu client/server. Client/server có thể được xác định như một ứng dụng được chia thành 2 phần: phần chạy trên server và phần chạy trên các workstations( máy trạm). Phía Server của ứng dụng cung cấp độ bảo mật, tính chịu lỗi (Fault- tolerance), hiệu suất, chạy đồng thời, và sao lưu dự phòng tin cậy. Phía Client cung cấp giao diện với nhà sử dụng và có chứa các báo cáo, các truy vấn, và các Forms. SQL Server là phần server của chương trình, có nhiều Client khác nhau được chọn để từ đó có thể kết nối vào SQL Server, trong đó có cả các tiện ích của SQL Server, chẳng hạn như SQL Server Query Analyzer. 2. Ƣu điểm của mô hình Client / Server Các ưư điểm của Client là: Sinh viên: Đỗ Thị Hà 12 Khóa 10-Ngành Công Nghệ Thông Tin
  15. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Dễ sử dụng Hỗ trợ trên nhiều nền phần cứng Hỗ trợ trên nhiều ứng dụng phần mềm Quen thuộc với người sử dụng Các ưu điểm của Server là: Đáng tin cậy Chạy đồng thời nhiều ứng dụng Khả năng chịu lỗi cao Phần cứng hiệu suất cao Điều kiện tập trung Trong mô hình Client/Server, khi truy vấn chạy, server sẽ dò tìm cơ sở dữ liệu và chỉ gửi những dòng nào phù hợp với yêu cầu của Client. Điều này không chỉ tiết kiệm mà còn có thể thực thi nhanh hơn so với khi trạm làm việc thực hiện các truy vấn đó, chỉ cần Server đủ mạnh 1.2.5. Tạo và cài đặt cơ sở dữ liệu 1. Quy định về định danh (đặt tên) trong SQL Server Tất cả các bảng cũng như tên cột và tên đối tượng đề phải tuân theo các quy luật định danh của SQL Server như sau: Định danh (Identifiers) có thể có chiều dài từ 1 đến 128 ký tự Unicode, bao gồm chữ cái, ký hiệu, và số. Ký tự đầu tiên phải là chữ cái hay một trong những ký hiệu sau: @, #, hoặc _. Ký hiệu @ và # có ý nghĩa đặc biệt trong SQL Server. Có thể dùng ký tự #, $, và _ cho các ký tự đứng sau ký tự đầu tiên. Các định danh bắt đầu với ký hiệu @ được dùng cho các biến cục bộ. Các định danh bắt đầu với ký hiệu # được dùng để báo hiệu rằng đối tượng được tạo là đối tượng tạm thời và có thể tham chiếu bởi người sử dụng trong cùng phiên làm việc. Các định dạng bắt đầu với ký hiệu ## được dùng để báo hiệu rằng đối tượng được tạo là đối tượng tạm thời toàn cục và có thể tham chiếu bởi tất cả mọi người sử dụng trong cơ sở dữ liệu . Bạn có thể dùng khoảng trắng trong định danh, nhưng sau đó để tham chiếu đến Sinh viên: Đỗ Thị Hà 13 Khóa 10-Ngành Công Nghệ Thông Tin
  16. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải các đối tượng này phải bao chúng trong dấu nháy hoặc dấu ngoặc vuông. Người sử dụng cú pháp ngoặc vuông thường được dùng hơn do tránh sự nhầm lẫn giữa chuỗi và định danh. 2. Tạo cơ sở dữ liệu Để tạo cơ sở dữ liệu mới trong SQL Server ta có thể dùng một trong 3 phương thức sau: Database Creation Wizard SQL Server Enterprise Manager Câu lệnh CREAT DATABASE Trong phạm vi báo cáo ta chỉ khảo sát việc tạo cơ sở dữ liệu bằng lệnh CREAT DATABASE theo cú pháp sau: CREAT DATABASE Database_ Name [ ON{[PRIMARY] (NAME = logical_name, FILENAME=‟physical_name‟ [, SIZE=size] [.MAXSIZE= mã_size” UNLIMITED] [,FILEGROWTH=growth_increment] }1, n]] [LOG ON {(NAME=logical_name, FILENAME=‟physical_name‟ [,SIZE=size] [.MAXSIZE=max_size:UNLIMITED] [,FILEGROWTH=growth_increment] }1, n]] [FOR LOAD :FOR ATTACH] Trong đó Database _ name : Tham số đại diện toàn bộ cơ sở dữ liệu. ON PRIMARY: Tham số này đặc tả file cơ sở dữ liệu này là thành viên của nhóm file nào NAME : Tham số này xác định tên file sẽ dùng trong SQL Server để gán cho file cơ sở dữ liệu vật lý trên đĩa cứng. Sinh viên: Đỗ Thị Hà 14 Khóa 10-Ngành Công Nghệ Thông Tin
  17. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải FILENAME: Tham số là tên đường dẫn và tên file liên quan đến nơi lưu trữ dữ liệu trên đĩa cứng. SIZE: Tham số xác định kích thước file cơ sở dữ liệu. Kích thước mặc định bằng kích thước của file mẫu . MAXSIZE: Tham số này xác định kích thước tối đa mà cơ sở dữ liệu có thể đạt tới. Nếu không có tham số này thì tuỳ chọn AUTOGROWTH được chọn và cơ sở dữ liệu có thể chiếm toàn bộ ổ cứng. FILEGROWTH: Tham số này xác định gia lượng tăng được dùng để phát triển tự động cơ sở dữ liệu này. Giá trị mặc định la 1M. LOGON: Miêu tả nơi định vị các file nhật ký thao tác và kích thước của chúng. FORLOAD :tham số này đánh dấu cơ sở dữ liêu dành cho dbo. Tuỳ chọn này cung cấp để tương thích ngược để sử dụng trong các Version trước đó. FORATTACH: Tham số này gắn lại một tập các file hình thành lên cơ sở dữ liệu. Các file này được tạo trước và sau đó được tách khỏi SQL Server. N: có thể tạo cơ sở dữ liệu gồm n files. Khi ta xác định sử dụng nhiều file dữ liệu, SQL Server sẽ tự động trải thông tin qua tất cả các file dữ liệu được xác định . điều này giúp giảm tranh chấp và các điểm nóng (hotspot) trong dữ liệu. 3. Tạo bảng a) Sơ lƣợc về bảng Bảng (Table) dùng để lưu tất cả dữ liệu trong cơ sở dữ liệu, và được tổ chức thành các hàng và cột (bản ghi và truờng). Mỗi cột trong bảng có thể lưu trữ một loại thông tin nhất định gọi là kiểu dữ liệu Mỗi bảng đại diện cho một tập hợp thực thể trong cơ sở dữ liệu. Mỗi hàng trong bảng chính là một thực thể cụ thể, với các thuộc tính được miêu tả bởi giá trị của các cột tương ứng . Mỗi cột ( Trường) trong bảng cần được đặt tên, kiểu dữ liệu, độ rộng, và phải xác định rõ ràng cho phép có giá trị Null hay không. Các cột có thể được đặt tên theo bất kỳ thứ tự nào trong bảng. Tên cột phải duy nhất trong một bảng và phải tuân theo các quy luật định danh của SQL Server. Mỗi cơ sở dữ liệu cho phép khai báo tới 2 triệu bảng, mỗi bảng có thể tối đa 1.024 cột. Chiều dài mỗi hàng tối đa là 8.092 ký tự. Độ rộng tối đa cho mỗi cột là 8.00 Sinh viên: Đỗ Thị Hà 15 Khóa 10-Ngành Công Nghệ Thông Tin
  18. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải ký tự và bạn có thể có tới 1.024 cột trong một hàng, tuy nhiên, một hàng không thể vượt quá một trang dữ liệu 8.192 byte cho dữ liệu và overhead (các dữ liệu phụ). Trường hợp ngoại lệ là đối với văn bản và kiểu dữ liệu 8.192 byte cho dữ liệu hình ảnh,cho phép tới 2GB thông tin văn bản và thông tin nhị phân. Những thông tin này không lưu dữ trong bảng nên không bị hạn chế bởi giới hạn trong một trang. b) Các kiểu dữ liệu Các kiểu dữ liệu mà SQL Server hỗ trợ : Loại dữ liệu Kiểu dữ liệu Chú giải Chuỗi ký tự Char(n), Varchar(n) Lưu trữ các chuỗi ký tự (String) Max n= 8,000 ký tự Nhị phân Binary(n) Lưu trữ thông tin nhị phân trong cặp 2 (Binary) Varbinary(n) byte. Max n= 8,000 byte. Số nguyên Int, Smallint, Tinyint Lưu trữ các giá trị nguyên (integer) Int 4 byte ±2,147,483,647; Smallint 2 byte±32,767; Tinyint 1 byte 0-255 Số gần đúng Float, Real Lưu trữ số gần đúng (Approximate Độ chính xác Kích thước lưu Numeric) trữ 1- 9 5 byte 10-19 9 byte 20-28 13 byte 30-38 17 byte Số chính xác Decimal, Numeric Lưu trữ các số chính xác (Exact Độ chính xác Kích thước lưu Number) trữ 1- 9 5 byte 10-19 9 byte 20-28 13 byte 30-38 17 byte Khi khai báo phải xác định cả độ tin chính xác (precision) và tỷ lệ (scale) Sinh viên: Đỗ Thị Hà 16 Khóa 10-Ngành Công Nghệ Thông Tin
  19. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Kiểu đặc biệt Bit, Text, Image Lưu trữ bit, Văn bản nhiều hơn 8.000 (Special) byte, hay dữ liệu hình ảnh bit: lưu trữ thông tin logic. Text & Image : có thể lưu dữ liệu 2GB. Khi khai báo, con trỏ 16 byte sẽ được bổ sung vào hàng. Con trỏ này sẽ trỏ đến trang dữ liệu KB đầu tiên, thì một con trỏ 16 byte sẽ được phát sinh để trỏ tới các trang BLOB Ngày và Giờ Datetime, smalldatetime Lưu trữ ngày giờ (Date and Datetime: 8 byte : Time) 1/1/1753 – 31/12/9999 Small datetime: 4 byte: 1/1/1900 -6/6/2079 Tiền tệ Money, Smallmoney Lưu trữ các giá trị tiền tệ. Cả 2 loại đều (Money) có scale là 4. Money: 8 byte: 922,337,203,685,447.5805 Small Money: 4 byte: ±214,748,3647 Kiểu tự động Dentity, Timestamp Lưu trữ các giá trị cho phép sẽ tăng tự tăng (Auto- động hay được gán trị SQL Server Incrementing Datatypes) Tương đương Character->Char Ánh xạ kiểu dữ liệu ASNI thành kiểu dữ (Sysonyms) Character(n)->Char(n) liệu SQL Server Char varying ->Varchar Char varying(n)-> Varchar(n) Binary varying ->Varbinary Dec->Decimal Double precision->Float Sinh viên: Đỗ Thị Hà 17 Khóa 10-Ngành Công Nghệ Thông Tin
  20. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Float(n) n=1-7 ->Real Float(n) n=8-15 -> float Integer-> Int Kiểu người Kiểu dữ liệu riêng do người dùng định dùng định nghĩa để lưu trữ thông tin nghĩa (User- Defined) Sử dụng câu lệnh Cú pháp: CREAT TABLE [database. [owner.] table_name ( Column_nme datatype[ identity/constraint/ NULL/NOT NULL] [, ] ) Trong đó - table_name : Tên bảng mới, tuân thủ theo quy luật định danh - Column_name: Tên cột, tuân thủ theo quy luật định danh - Datatype: Kiểu dữ liệu cột Phần còn lại là tuỳ chọn. Có thể xác định thuộc tính Identity, các ràng buộc trường và khả năng có giá trị NULL. Cú pháp xoá bảng DROP TABLE Table_name table_name: Tên bảng cần xoá. 4. Truy vấn dữ liệu a) Các khái niệm cơ bản dùng trong truy vấn Chọn danh sách : Danh sách lựa chọn được dùng trong truy vấn là danh sách liệt kê các cột dữ liệu, các biểu thức tính toán mà kết quả của truy vấn sau khi thực hiện phải đưa ra. Các thành phần của danh sách lựa chọn được phân cách nhau bởi dấu‟,‟. Đối với cột dữ liệu : Những cột dữ liệu được lấy ra từ các bảng mà các cột này có mặt ở nhiều bảng khác nhau thì khi viết phải chỉ rõ trường này thuộc cơ sở dữ liệu nào theo cú pháp: [Tên Bảng]. [Tên Trường]. Trong đó [Tên bảng] là tên bảng nguồn truy Sinh viên: Đỗ Thị Hà 18 Khóa 10-Ngành Công Nghệ Thông Tin
  21. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải suất dữ liệu hoặc bí danh của bảng này ; [Tên trường] là tên trường truy suất thông tin. Đối với các biểu thức tính toán : cột này là kết quả của các phép toán ghép lại phải được thiết lập theo đúng thứ tự ưu tiên thực hiện của các phép toán. Đối với các toán hạng là các cột thì phải tuân thủ kiểu viết đối với cột dữ liệu . Các mục lựa chọn ta có thể thay đổi tiêu đề kết quả truy suất theo cú pháp : as new_column_name hoặc new_column_name= new_ column_name Chú ý : Đối với dữ liệu là các hằng số kiểu ký tự hoặc kiểu ngày giờ thì phải được bao trong dấu „‟. Cú pháp truy vấn Truy vấn lựa chọn SELECT [ALL/DISTINCT][TOP n [PERCENT] [FROM ] [WHERE ] [ORDER BY : Danh sách chọn : nguồn dữ liệu : điều kiện lọc : điều kiện sắp xếp ALL,DISTINCT: kết quả truy vấn toàn bộ hay loại bỏ những hàng giống nhau. TOP n [PERCENT]: kết quả truy vấn là một phần n dòng hoặc n %. Truy vấn tạo bảng Lệnh SELECT INTO cho phép tạo mới một bảng dữ liệu cơ sở trong kết quả truy vấn. Bảng mới này dựa vào các cột mà ta định danh trong danh sách lựa chọn. Ta có thể tạo 2 kiểu bảng, cố định và tạm thời theo cú pháp : SELECT column_list INTO new_table_name FROM table_list WHERE search_criteria Trong đó : new_table_name: là tên của bảng mới được tạo, nó không cần định nghĩa dữ liệu. Sinh viên: Đỗ Thị Hà 19 Khóa 10-Ngành Công Nghệ Thông Tin
  22. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Tên bảng phải là duy nhất và phải tuân thủ theo quy định đặt tên của SQL. Các cột trong column_list bắt buộc phải có tiêu đề và được đặt tên là duy nhất Các thành phần khác cũng như phần truy vấn lựa chọn Truy vấn chèn dữ liệu Lệnh INSERT cơ bản thêm 1 hàng vào một bảng tại một thời điểm. Các biến thế của lệnh INSERT cho phép thêm nhiều hàng bằng cách chọn dữ liệu từ bảng khác hay thực thi một thủ tục được lưu (scored procedure). Trong bất cứ trường hợp nào ta cần phải biết về cấu trúc của bảng mà ta cần thiết phải chèn dữ liệu vào như: + Số cột trong bảng . + Kiểu dữ liệu từng cột + Một vài lệnh INSERT yêu cầu phải biết tên cột Nắm vững những ràng buộc, và các thuộc tính của cột như thuộc tính định danh (Identity). Cú pháp : INSERT [INTO] { } {{[column_list)] VALUE ({DEFAULT/cnstant_expression}[, ])/ select_statment/ execute_statment}/ DEFAULT VALUES} Những cột không đề cập trong danh sách khi ta chèn một hàng nào mới vào, thì SQL SERVER phải tự xác định giá trị cho các cột này. Để SQL Server có thể tự định giá trị, mỗi cột không được đề cập trong danh sách phải tuân theo một tiêu chuẩn sau: + Cột được gán giá trị mặt định + Cột là cột định danh + Cột cho phép giá trị NULL + Cột có kiểu dữ liệu là timestamp Truy vấn cập nhật dữ liệu Lệnh UPDATE cho phép ta thay đổi giá trị của các cột trong hàm theo cú pháp: UPDATE {table_name/view} Sinh viên: Đỗ Thị Hà 20 Khóa 10-Ngành Công Nghệ Thông Tin
  23. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải SET column_name1={express1 /NULL/select_statment} [,column_name2= ] [WHERE search_conditions] Lệnh UPDATE có thể thay đổi cho nhiều cột. Từ khoá SET chỉ xuất hiện một lần, và các cột khác nhau được thay đổi cách khác nhau dấu „,‟. 1.3. Microsoft visual basic 6.0 1.3.1. Khái quát về sự phát triển của công cụ lập trình Visual Basic 6.0 Visual Basic (VB) đã được phát triển qua nhiều phiên bản nhằm theo kịp tốc độ phát triển của công nghệ phần mềm. Visual Basic 1.0 ra đời vào giữa những năm 1991. Đây là bản phát triển từ QuickBasic. VB được thiết kế để sử dụng cho phép thế hệ lập trình viên mới tạo những ứng dụng chạy trên môi trường Windows. Cốt lõi câu phiên bản này là cung cấp một số công cụ đồ hoạ để tạo giao diện như textbox, combobox Đầu năm 1992, phiên bản Visual Basic Professianal Tolkit ra đời. Phiên bản này cập nhập một số công cụ hỗ trợ.Vào thời điểm này, phương pháp hướng đối tượng và tính dùng lại câu chương trình trở lên quan trọng. Mặc dù chưa thể hiện được ngôn ngữ hướng đối tượng nhưng với các công cụ hỗ trợ, VB tiến dần đến mục tiêu trên. Những công cụ tuỳ biến thực thi các chức năng đặc biệt có thể dừng lại. Khả năng mở rộng sẽ là một trong những mục tiêu chính của các ứng dụng trong tương lai. Visual Basic 2.0 ra đời năm 1992 bao gồm kiểu dữ liệu biến thể (variant),xác định hằng số True, False và biến đối tượng. Đây là một bước tiến trong việc xây dựng môi trường phát triển ngôn ngữ hướng đối tượng. Vào thời điểm này chỉ có VBSQL và ODBC API là phương pháp truy cập dữ liệu mà người phát triển có thể dùng. Cả 2 phương pháp này cung cấp truy cập 16- bit.VBSQL là khởi tổ của phương thức giao tiếp giữa SQL và VB Năm 1993 Visual Basic 3.0 ra đời bao gồm các công cụ chuẩn. Những động cơ này cung cấp động cơ truy xuất cơ sở dữ liệu trong một ứng dụng với mã lệnh rất ít. Phiên bản này hỗ trợ công cụ tuỳ chọn VBX (16-Bit). Đi kèm phiên bản này là động cơ cơ sở dữ liệu Jet (phiên bản 1.1) Jet được dùng cho kết nối dữ liệu thông qua DAO (data Access Objects) hoặc điều khiển data. Mặc dù Jet được phát triển đến ngày nay (phiên bản 4.0), nhưng ADO là một trong những thành phần chính trong chiến lược phát triển của Microsoft. Sinh viên: Đỗ Thị Hà 21 Khóa 10-Ngành Công Nghệ Thông Tin
  24. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Visual Basic 4.0 hoàn thành vào năm 1995 được xem là một bước tiến bộ. Nó đuổi kịp những tiến bộ trong lĩnh vực phát triển phần mềm bởi công nghệ kết hợp OLE (Object Linking and Embedding) và khả năng tạo những đối tượng. Phiên bản này cũng hỗ trợ điều khiển tuỳ biến 32-bit được gọi là OCX. Sự thay đổi này cũng được thực hiện bởi các ứng dụng khác như Excel và Word. Vì thế chúng có thể được truy cập từ bên trong ứng dụng Visual Basic. Một phương thức truy cập dữ liệu mới thích hợp trong phiên bản này là RDO (Remote Data Objects) và Remote Data Control. RDO là một phương pháp truy cập dữ liệu được thiết kế thay thế cho DAO. Thư viện Active 32-bit này nhanh hơn và nhỏ hơn DAO và được thiết kế với một hệ thống đối tượng phân cấp giống như ODBC API. Tuy nhiên điều khỉên này có những lỗi lứon không được phát triển tiếp. Năm 1997 phiên bản 5.0 được phát hành. Nó hỗ trợ chuẩn COM của Microsoft và cho phép tạo các điều khiển Active X. Phiên bản này là một bước tiến vượt bậc bởi những người phát triển có thể dùng VB để tạo các điều khiển và thư viện liên kết động DLL riêng cho họ. Phiên bản 6.0 được phát hành vào năm 1998.VB 6.0 hỗ trợ một cách lập trình tương đối mới, lập trình hướng đối tượng (Object - Oriented Programing). Với lập trình hướng đối tượng ta chia nhỏ bài toán cần giải quyết thành các đối tượng. Mỗi đối tượng có những đặc điểm, mà gọi là thuộc tính (Properties) và các chức năng riêng biệt mà ta gọi là phương thức (Methods). Theo những yêu cầu đề ra, phiên bản này tăng cường phương pháp mới giao tiếp với SQL Server. Nó cải tiến các truy cập dữ liệu, nhiều công cụ và điều khiển mới cho giao tiếp với cơ sở dữ liệu (ADO), cung cấp các tính năng Web và những wizard mới. Phương pháp này đánh dấu với công nghệ ADO 2.0 – Phương thức truy cập dữ liệu tốt nhất và nhanh nhất hiện nay. Nó giao tiếp với OLEDB tương tự như RDO nhưng nhỏ hơn và có cấu trúc phân cấp đơn giản hơn. ADO được thiết kế cho thực thi các ứng dụng kinh doanh hay ứng dụng Internet. Phiên bản hiện nay là 2.6. 1.3.2. Kiến thức cơ bản về lập trình VB6.0 1. Các khái niệm cơ bản a) Thuộc tính Mỗi đối tượng đều có bộ thuộc tính mô tả đối tượng. Mặc dù mỗi đối tượng có những bộ thuộc tính khác nhau, nhưng trong đó, có những thuộc tính thông dụng cho Sinh viên: Đỗ Thị Hà 22 Khóa 10-Ngành Công Nghệ Thông Tin
  25. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải hầu hết đối tượng (Form, Control). Ta có thể xem đầy đủ các thuộc tính của từng đối tượng thông qua cửa sổ Properties. Các thuộc tính thông dụng gồm : Thuộc tính Mô tả Left/Top Vị trí tương ứng của cạnh trái/cạnh trên so với đối tượng (điều khiển) chứa nó Height/Width Tương ứng chiều cao/Chiều rộng của đối tượng (điều khiển) Name Giá trị là chuỗi được dùng đặt tên đối tượng (điều khiển) Enable Giá trị Logic (True hoặc False) quyết định người sử dụng có thể tương tác với điều khiển hay không Visible Giá trị Logic (True hoặc False) quyết định người sử dụng có thể nhìn thấy điều khiển hay không b) Phƣơng thức Phương thức là những chương trình chứa trong điều khiển, cho điều khiển biết cách thức để thực hiện một công việc nào đó. Mỗi điều khiển có những phương thức khác nhau nhưng vẫn có một số phương thức thông dụng cho hầu hết các điều khiển. Các phương thức thông dụng gồm: Phương thức Mô tả Move Thay đổi vị trí một đối tượng theo yêu cầu của chương trình Drag Thi hành hoạt động kéo và thả người sử dụng Setfocus Lựa chọn / chuyển tới đối tượng được chỉ ra trong Code Zorder Quy định thứ tự xuất hiện các điều khiển trên màn hình c) Sự kiện Nếu như thuộc tính mô tả đối tượng, phương thức chỉ ra cách thức đối tượng hành động thì sự kiện là những phản ứng của đối tượng. Tương tự như thuộc tính và phương thức, mỗi điều khiển có một bộ các sự kiện khác nhau, nhưng trong đó có một số sự kiện thông dụng với hầu hết các điều khiển. Các sự kiện này xảy ra thường là kết quả của một hành động nào đó. kiểu sự kiện này được gọi là sự kiện khởi tạo bởi người sử dụng, và ta phải tạo Code cho nó. Các phương thức thông dụng gồm: Sinh viên: Đỗ Thị Hà 23 Khóa 10-Ngành Công Nghệ Thông Tin
  26. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Sự kiện Xảy ra khi Change Người sử dụng sửa đổi chuỗi ký tự trong textbox, combobox Click Người sử dụng bấm chuột lên đối tượng Dbclick Người sử dụng bấm chuột đúp lên đối tượng Dragdrop Người sử dụng kéo rê một đối tượng sang vị trí khác Dragover Người sử dụng kéo rê một đối tượng ngang qua một điều khiển khác Gotfocus Đưa ra một đối tượng vào tầm ngắm của người sử dụng KeyDown Người sử dụng nhấn một nút trên bàn phím trong khi đối tượng này đang trong tầm ngắm Keypress Người sử dụng nhấn và thả một phím trên bàn phím trong khi đối tượng này đang trong tầm ngắm KeyUp Người ta sử dụng thả một nút trên bàn phím trong khi đối tượng này trong tầm ngắm LostFocus Đưa một đối tượng ra khỏi tầm ngắm MouseDown MouseMove Người sử dụng di chuyên con trỏ chuột ngang qua đối tượng. MouseUp Người sử dụng thả một nút chuột bất kì trong khi con trỏ đang nhằm vào đối tượng. Khi tạo một chương trình bằng VB, ta lập trình chủ yếu theo sự kiện. Điều này có nghĩa là chương trình chỉ thi hành khi người sử dụng thực hiện một thao tác trên giao diện hoặc có việc gì đó xảy ra trong hệ điều hành Windows. Khi có sự kiện xảy ra Windows sẽ gửi một thông điệp tới ứng dụng. Ứng dụng đọc thông điệp và thi hành đoạn code đáp ứng sự kiện đó. Nếu không có đoạn code xử lý thì ứng dụng bỏ qua sự kiện này. VB sẽ tự động phát sinh các thủ tục xử lý sự kiện ngay khi ta chọn tên sự kiện trong của số code. 2. Khái quát về xây dựng một ứng dụng bằng VB 6.0 a) Những quy định khi viết chƣơng trình Để chương trình dễ đọc, dễ hiểu và dễ bảo trì, ta cần tuân thủ các bước sau: - Đặt tên đối tượng biến, hằng, và các thủ tục. - Định dạng chuẩn cho các tiêu đề và chú thích trong chương trình. Sinh viên: Đỗ Thị Hà 24 Khóa 10-Ngành Công Nghệ Thông Tin
  27. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải - Các khoảng trắng, định dạng và gióng hàng trong chương trình. Quy định đặt tên - Tên và khai báo: Khi đặt tên ta phải tuân thủ: + Tên phải bắt đầu bằng một ký tự. + Tên không được chứa dấu chấm hoặc ký tự đặc biệt dùng cho khai báo dữ liệu. + Tên không được dài quá 255 ký tự. Tên của điều khiển, biểu mẫu, lớp và module không quá 40 ký tự. + Tên không được trùng với từ khóa hoặc hàm hoặc toán tử dùng trong VB. Chiều dài tên không nên quá 32 ký tự vì nó có thể khó đọc trên màn hình VGA. Trong trường hợp biểu mẫu hay điều khiển trùng tên với từ khóa ta phải chỉ rõ điều khiển này thuộc biểu mẫu nào hoặc dùng dấu ngoặc vuông []. Để yêu cầu phải khai báo tất cả các biến trước khi sử dụng ta vào trong Editor Tab của Option Dialog, đánh dấu lựa chọn Require Variable Declaration hoặc gõ lệnh Option Explicit trong chương trình. Định nghĩa biến và hằng nên nhóm vào một nơi thay vì chứa rời rạc trong nhiều tập tin. Các hằng tổng quát nên gom lại trong một module riêng để phân biệt với các khai báo khác của ứng dụng. - Tên biến và hằng Ta dùng cụm từ đầu để đặt tên cho các hằng và biến theo phạm vi hoạt động của hằng và biến. Phạm vi hoạt động Cụm từ đầu Ví dụ Toàn cục (Global,Public) g gstrUserName Module m mblnCalCInProgess Cục bộ (Private) p dblVelocity Biến/hằng toàn cục là biến được khai báo Public trong Module chuẩn hoặc Module của biểu mẫu. Biến/hằng module là biến được khai báo Private trong Module chuẩn hoặc Module của biểu mẫu. Tên nên dùng ký tự in hoa và ký tự in thường để diễn tả mục đích sử dụng. Một từ phải bắt đầu bằng ký tự in hoa. Sinh viên: Đỗ Thị Hà 25 Khóa 10-Ngành Công Nghệ Thông Tin
  28. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Ví dụ: mintUserListMax: Số phần tử tối đa trong danh sách người sử dụng (giá trị integer, phạm vi Module); gstrNewLine: ký tự sang hàng mới (giá trị chuỗi, phạm vi toàn cục). Kế sau cụm từ miêu tả phạm vi hoạt động là cụm từ miêu tả kiểu dữ liệu. Kiểu dữ liệu Cụm từ Ví dụ Boolean bln blnFound Byte byt bytRasterdata Đối tượng Collection col colWidget Currentcy Cur Currevenue Date(time) dtm dtmStart Double dbl dblTolerance Error err errOrderNum Integer int intQuantity Đối tượng obj objCurrent Single sng sngAverage String Str strFileName Kiểu tự định nghĩa udt udtEmployee Variant vnt vntCheckSum - Đặt tên cho hàm và thủ tục Đặt tên cho hàm, thủ tục nên bắt đầu là động từ như IniNameArray hoặc CloseDialog - Đặt tên cho đối tƣợng Ta nên dùng cụm từ đứng đầu trong danh sách dưới đây để đặt tên cho các điều khiển. Kiểu điều khiển Cụm từ đứng đầu Ví dụ 3D Panel pnl pnlGroup ADO Data ado adoBiblio Animated button Ani aniMailbox checkbox chk chkReadOnly Combo box, drop-downlist box cbo cboEnglish Command button cmd cmdExit Common Dialog dlg dlgFileOpen Communications com comFax Sinh viên: Đỗ Thị Hà 26 Khóa 10-Ngành Công Nghệ Thông Tin
  29. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Control (used within procedures when ctr ctrCurrent thespecific type is unknown) Data dat datBiblio Data-bound combo box Dbcbo dbcboLanguage Data-bound grid dbgrd dbgrdQueryResult Data combo dbc dbcAuthor Data grid dgd dgdTitles Data list dbl dblPublisher Data repeater drp drpLocation Data picker dtp Dtp Published Directory list box drv drvTarget File list box fil filSource Flat scroll bar fsb fsbMove Form frm frmEntry Frame fra FraLanguage Gauge gau gauStatus Graph Gra graRevenue Grid grd grdPrices Hierarchical flexgrid flex flexOrders Horizontal scxroll bar hsb Hsb Volume Image img imgIcon Image combo imgcbo imgcboProduct Image list ils ilsAllIcon Label lbl lblHelpMessage Lightweight check box lwchk lwchkArchive Lightweight combo box lwcbo lwcboGerman Lightweight command button lwcmd lwcmdRemove Lightweight frame lwfra lwfraSaveOptions Lightweight Horizontal scxroll bar lwhsb lwhsbVolume Lightweight list box lwlst lwlstCostCenter Lightweight Option Button lwopt lwoptIncomeLevel Sinh viên: Đỗ Thị Hà 27 Khóa 10-Ngành Công Nghệ Thông Tin
  30. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Lightweight text box lwtxt lwtxtStreet Lightweight vertical scroll bar lwvsb lwvsbVolume Line lin linVertical List box lst lstPolicy code List View lvw lvwHeadins MAPI message mpm Mpmsent message MAPI session mps Mps session MCI mci mciVideo Menu mnu mnuFileOpen Month View mvw mvwPeriod MS chart ch chSalebyRegion MS Flex grid msg msgClient MS Tab mst mstFirst OLE Container ole oleWorksheet Opition button opt optGender Picture box Pic picVGA Picture clip clp clpToolbar ProgressBar prg prgLoadFile Remote Data rd rdTitles RichTextBox Rtf rtfReport shape shp shpCircle Slider sld sldScale Spin spn spnPages Status Bar sta StaDate Time SysInfo Sys Sys Monitor Text box Txt txtlastName Timer tmr tmrAlarm Toolbar tlb tlbActions TreeView tre treOrganization updown upd updDirection Vertical Scroll bar vsb vsbRate Sinh viên: Đỗ Thị Hà 28 Khóa 10-Ngành Công Nghệ Thông Tin
  31. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Các tiền tố ADO: Kiểu đối tƣợng Cụm từ đứng đầu Ví dụ Connection cn cnAS400 Command Cm cmUpdate Error err errInsert Field fld fldFirstName parameter p Pl propoties prp Prpl Recordset rs rsCustomer Trong trường hợp menu có nhiều tầng, nên dùng menu là cụm từ đứng đầu, sau đó là tầng menu và tầng cuối cùng là tên chính . Đối với các điều khiển không thuộc trong danh sách trên ta nên quy định cụm từ đầu khi đặt tên. Cụm từ có từ 2 đến 3 ký tự. Số này có thể dài hơn khi ta cần giải nghĩa . Đối với các điều khiển được cung cấp bởi các nhà sản xuất phần mềm ta có thể thêm vài ký tự chữ thường ghi vắn tắt nhà sản xuất. Quy ước về cấu trúc lập trình - Soạn thảo mã nguồn * Ta luôn dùng toán tử „&‟ để ghép chuỗi ký tự và toán tử „+‟ để làm việc với dữ liệu kiểu số. Nếu ta dùng toán tử „+‟ để ghép ký tự thì nhiều trường hợp không cho kết quả mong muốn. * Ta sử dụng Tab hoặc khoảng trắng để lùi đầu dòng tạo phân biệt các khối với nhau, * Các dòng chương trình theo sau câu chú thích nên thụt vào một Tab. Các khối con thụt vào một Tab nữa. * Bắt buộc sử dụng Option Explicit ở mỗi bắt đầu các Module Tất cả các thủ tục và hàm nên bắt đầu bằng một đoạn chú thích ngắn gọn, giải thích chức năng của nó, mô tả tham số truyền vào thủ tục/hàm và giá trị trả về đặc biệt là các tham chiếu. Sinh viên: Đỗ Thị Hà 29 Khóa 10-Ngành Công Nghệ Thông Tin
  32. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Thành phần chú thích Nội dung chú thích Mục đích Thủ tục/hàm thực hiện chức năng gì. Điều kiện Danh sách các biến bên ngoài, các điều khiển, tập tin hoặc các thành phần khác cần nó trước khi gọi thủ tục/hàm này. Hiệu quả Danh sách các biến ngoài,các điều khiển, tập tin hoặc các thành phần khác sẽ bị ảnh hưởng khi gọi thủ tục/hàm. Đầu vào Các tham số truyền vào thủ tục/hàm. Mỗi tham số nên đặt trên một dòng và chú thích riêng cho từng tham số. Trả về Giải thích giá trị trả về của hàm. Ví Dụ: „ „Purpose: locates the first occurrence of a „ Specefid user in the UserList array. „ Inputs „strUserList(): the list of users to be searched. „strTargetUser : the name of the user to search for. „ Return: The index of the first occurrence of the „ rsTargetUser in the rasUserList array. „ If target user is not found, return – 1. „ Function intFindUser (strUserList()As string, str TargetUser As_String) As Integer Dim I As Integer „Loop counter Dim blnFound As Integer „Target Found flag. intFindUser = -1 i = 0 While i<= Ubound(strUserList) And not blnFound If strUserList(i) =strTargetUser Then blnFound = True intFindUser = i End If i = i + 1 Sinh viên: Đỗ Thị Hà 30 Khóa 10-Ngành Công Nghệ Thông Tin
  33. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Wend End Function Trong phần đầu của Module. bas có chứa các khai báo hằng toàn cục cho hệ thống, ta cần thêm đoạn chú thích mô tả ứng dụng, liệt kê các đối tượng, dữ liệu chính, các thủ tục giải thuật, hộp thoại, cơ sở dữ liệu và các thành phần liên quan đến hệ thống. Ta có thể thêm một đoạn chương trình mô phỏng giải thuật nếu cần. -Tạo chuỗi String cho MsgBox, Inputbox và câu truy vấn Khi cần phải tạo các sâu ký tự dài ta sử dụng ký tự gạch dưới để nối thành nhiều dòng. Điều này giúp ta dễ đọc và Duebug mã nguồn các sâu ký tự dễ dàng hơn. Kỹ thuật này đặc biệt hữu dụng cho các trường hợp sử dụng Message Box, Input Box và tạo câu truy vấn SQL. Ví dụ : Dim Msg as String Msg= “ This is paragraph that will be”_ & “ in a message box. This text is”_ & “ broken into several lines of code”_ & “ in the source code, making it easier”_ & “ for the programmer to read and debug.” MsgBox Msg Hoặc Dim QRY as String QRY= “ SELSECT *”_ & “FROM Tiltes”_ & “ WHERE [Year Published]>1988” TitleQry.SQL= QRY - Font chữ và layout Vì ta sử dụng tiếng Việt theo mã TCVN3 nên toàn bộ hệ thống ta sử dụng Font VK Sans Serif cỡ chữ 8 với mọi Item. Loại trừ Caption của Frame phải là chữ đậm có màu xanh đậm. Màn hình hiển thị ở chế độ 600x800. Các nút bấm đặt ở cuối bên phải của form, các nút cách nhau 80 bit. - Dạng cấu trúc trong mỗi thủ tục, Function Đối với thủ tục: Sinh viên: Đỗ Thị Hà 31 Khóa 10-Ngành Công Nghệ Thông Tin
  34. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải On Error Go To ErrHandle: „code On Error Go To 0 Exit Sub ErrHandle: „code On Error Go To 0 Đối với Function: On Error Go To ErrhHandle: „code On Error Go To 0 Exit Function ErrHandle: Errstr= Str(Err.Number)&”.”& Err.Description ErrStr= Errstr & Chr(13) Err.Source MsgBox ErrStr”,” Lỗi On Error Go To 0 b) Các bƣớc xây dựng một ứng dụng bằng VB 6.0 Thế mạnh của VB là sử dụng các điều khiển và tận dụng tối đa khả năng lập trình của chúng.Một điều khiển thực chất là một cửa sổ được lập trình sẵn bên trong. Một điều khiển chứa đựng một chương trình được lập sẵn và chương trình này có thể thích hợp một cách dễ dàng vào ứng dụng có sử dụng điều khiển, Để xây dựng một ứng dụng bằng VB ta cần làm các bước sau: B1: Thiết kế giao diện ứng dụng bao gồm : - Thiết kế các menu cần dùng. -Thiết kế các cửa sổ, thiết lập kích thước và các đặc tính khác của chúng. - Thiết lập các Control trên form: các nút lệnh, các Lable, các Texbox sẵn có do VB hỗ trợ và có thể là các Control do các hãng thứ 3 cung cấp giúp ta thiết kế để thực hiện một số chức năng mong muốn. B2: Viết mã kích hoạt các giao diện đã thiết kế ở B1 và các mã đáp ứng các sự kiện mà người sử dụng tác động lên giao diện. Đó là điểm mấu chốt cần phải nhận thức rõ trong khâu lập trình VB. Visual Basic xử lý mã chỉ để đáp ứng với các sự kiện. Sinh viên: Đỗ Thị Hà 32 Khóa 10-Ngành Công Nghệ Thông Tin
  35. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Chương trình Visual Basic được xem như gồm một loạt các phần độc lập chỉ “thức giấc” để đáp ứng các sự kiện mà ta báo cho chúng biết trước. Bởi vậy các dòng mã thi hành trong một chương trình Visual Basic phải nằm trong các thủ tục hoặc các hàm. Các dòng mã bị cô lập sẽ không làm việc. B3: Chạy ứng dụng, tìm lỗi và chỉnh sửa 1.3.3. Mô hình đối tƣợng ODBC truy cập MS SQL Server 1. ODBC là gì ? ODBC (viết tắt của Open Database Connectivity - kết nối cơ sở dữ liệu mở) cung cấp một phương pháp API phần mềm chuẩn cho việc sử dụng các hệ quản trị cơ sở dữ liệu (DBMS). Mục đích của các nhà thiết kế ODBC là làm cho công việc trên độc lập với các ngôn ngữ lập trình, các hệ cơ sở dữ liệu và hệ điều hành. Mở ở đây là ám chỉ khả năng kết nối được mọi cơ sở dữ liệu. ODBC là một phương pháp truy xuất cơ sở dữ liệu chuẩn được phát triển bởi SQL Access group vào năm 1992. Mục đích của ODBC là cung cấp cho các trình ứng dụng khả năng truy xuất dữ liệu bất kì mà không phải quan tâm đến việc hiện tại dữ liệu đang được quản lí bởi hệ quản trị cơ sở dữ liệu nào. ODBC làm được việc này bằng cách chèn một lớp trung gian vào giữa trình ứng dụng và hệ quản trị cơ sở dữ liệu. Lớp trung gian đó được gọi là một database driver (trình điều vận cơ sở dữ liệu). Mục đích của lớp trung gian này là chuyển đổi những câu truy vấn của trình ứng dụng thành những lệnh mà hệ quản trị cơ sở dữ liệu hiểu. Để làm được việc này thì cả hai trình ứng dụng và hệ quản trị cơ sở dữ liệu phải hiểu biết ODBC, tức là trình ứng dụng phải có khả năng tạo ra những lệnh ODBC và hệ quản trị cơ sở dữ liệu phải có khả năng đáp lại những lệnh đó. : . : . . Sinh viên: Đỗ Thị Hà 33 Khóa 10-Ngành Công Nghệ Thông Tin
  36. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải : Application 1 Application 2 Application 3 API 1 API 2 API 3 API 1 API 2 API 3 API 1 API 2 API 3 DBMS 1 DBMS 2 DBMS 3 i ODBC: Application 1 Application 2 Application 3 ODBC DBMS 1 DBMS 2 DBMS 3 " (adaptive): . 2. Kiến trúc của ODBC a) /Server. protoco Sinh viên: Đỗ Thị Hà 34 Khóa 10-Ngành Công Nghệ Thông Tin
  37. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Traditional Relational DBMS như: . . . . - . Sinh viên: Đỗ Thị Hà 35 Khóa 10-Ngành Công Nghệ Thông Tin
  38. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải b) . File - Oriented Data Store Client/Server DBMS User User Interface Interface Client Application Application ODBC Driver Manager ODBC Driver Manager ODBC Drivers ODBC Drivers Data Storage Network/Communications Software Data Protocol DBMS Data Source Server Data Storage Sinh viên: Đỗ Thị Hà 36 Khóa 10-Ngành Công Nghệ Thông Tin
  39. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Applications . Driver Manager . Drivers . Data sources . 3. Các mô hình hoạt động của ODBC a) -Tier /ISAM (Indexed S ). Sinh viên: Đỗ Thị Hà 37 Khóa 10-Ngành Công Nghệ Thông Tin
  40. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Application ODBC Driver Manager One-Tier Driver One-Tier Driver (Flat files) (ISAM/Desktop DB files) ISAM/Desktop Database Engines File I/O Calls File System - (parse, optimize, execute). b) -Tier - . Sinh viên: Đỗ Thị Hà 38 Khóa 10-Ngành Công Nghệ Thông Tin
  41. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Application ODBC Driver Manager Two-Tier Driver Two-Tier Driver (Using Messaging or (Mapping to Native API) RPCs) Native Database API Client Native Database Runtime Library Data Protocol Network Library or RPC Runtime System Network Transport Carrying Data Protocol DBMS Server Ví dụ - - (Oracle Call Interface). Sinh viên: Đỗ Thị Hà 39 Khóa 10-Ngành Công Nghệ Thông Tin
  42. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải : Application ODBC Driver Manager Middleware Vendor's ODBC Client Driver Client Middleware Vendor's Network Library or RPC Runtime System Middleware Vendor's Server Application DBMS Vendor's Runtime Library Server DBMS c) -Tier - . Sinh viên: Đỗ Thị Hà 40 Khóa 10-Ngành Công Nghệ Thông Tin
  43. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Application Client ODBC Driver Manager Three-Tier (Gateway) Driver Network Library or RPC Runtime System DBMS - independent protocol Server (Gateway) ODBC Driver Manager Gateway Server One-Tier or Two-Tier Driver Other Components DBMS proprietary protocol Database DBMS Server - . - native API). Sinh viên: Đỗ Thị Hà 41 Khóa 10-Ngành Công Nghệ Thông Tin
  44. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải CHƢƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1. Mô tả hoạt động của công ty. Trung tâm tin học Hàng Hải là nơi chuyên bán các loại thiết bị văn phòng, thiết bị tin học Khi khách hàng có yêu cầu mua hàng tại trung tâm, họ sẽ gửi thông tin yêu cầu qua nhiều hình thức: gọi điện, yahoo, hoặc đến trực tiếp Có hai hình thức bán hàng đó là bán buôn và bán lẻ 2.1.1. Bán lẻ Hình thức này thường áp dụng với những khách hàng mua với số lượng ít. Khách hàng có yêu cầu mua hàng sẽ đến trực tiếp trung tâm, NV(Nhân viên) bán hàng nhận y/c(yêu cầu) mua hàng và gửi bảng báo giá cho khách. NV bán hàng sẽ tư vấn, giải thích mọi thắc mắc của khách hàng về sản phẩm mà họ cần mua như: đơn giá, chủng loại, ưu điểm, nhược điểm. Dựa vào đó khách hàng có thể lựa chọn theo túi tiền của mình. Khi khách đã quyết định mua hàng thì NV bán hàng có thông tin hàng bán xuống kho. Thủ kho kiểm tra kho và báo lại tình trạng hàng y/c cho NV bán hàng. Nếu hết hàng thì NV bán hàng sẽ có trách nhiệm thông báo hết hàng cho khách để họ có thể lựa chọn sản phẩm tương tự. Nếu còn thì thủ kho sẽ giao hàng, lập phiếu giao hàng cho NV bán hàng. NV bán hàng kiểm tra lại hàng xem có đúng chủng loại và số lượng y/c không. Nếu chưa đúng thì y/c thủ kho xem xét lại. Ngược lại, NV bán hàng sẽ giao hàng, lập phiếu BH (bảo hành)lại cho khách và lập hoá đơn bán hàng chuyển sang cho kế toán lập phiếu thu giao cho khách và khách thanh toán tiền. Mọi thông tin về hàng xuất sẽ được ghi sổ bán lẻ. 2.1.2. Bán buôn Áp dụng với những khách hàng mua với số lượng lớn. Khách hàng sẽ được ưu tiên về mặt giá cả, cũng như phí vận chuyển và một số chế độ ưu đãi khác. Khi khách hàng có yêu cầu mua hàng, họ sẽ gửi y/c đặt hàng tới trung tâm. NV bán hàng sẽ tiếp nhận đơn đặt hàng và chuyển thông tin hàng bán xuống kho, thủ kho kiểm tra kho và báo lại tình trạng hàng y/c cho NV bán hàng. Nếu hết hàng thì NV bán hàng sẽ có trách nhiệm thông báo hết hàng cho khách. Đồng thời thông báo cho NV bộ phận nhập hàng để nhập hàng về. Ngược lại nếu hàng đã đủ thì kế toán dựa vào đơn đặt hàng để lập hợp đồng mua bán với khách hàng. Hợp đồng này sẽ có chữ ký và đóng dấu của ban giám đốc và khách hàng. Đến ngày giao hàng kế toán sẽ lập lệnh xuất kho gửi lên ban giám đốc để xin chữ ký, sau đó thủ kho giao hàng, lập phiếu giao hàng cho NV bán Sinh viên: Đỗ Thị Hà 42 Khóa 10-Ngành Công Nghệ Thông Tin
  45. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải hàng. NV bán hàng kiểm tra lại hàng xem có đúng chủng loại và số lượng y/c không. Nếu chưa đúng thì y/c thủ kho xem xét lại. NV bán hàng sẽ giao hàng và lập phiếu BH lại cho khách. NV bán hàng lập hoá đơn bán hàng chuyển sang cho kế toán lập hóa đơn GTGT Nếu khách hàng nợ tiền thì kế toán sẽ lập biên bản xác nhận công nợ và ghi sổ khách hàng, ban giám đốc và khách phải ký nhận vào biên bản. Mỗi lần thanh toán thì kế toán sẽ kiểm tra sổ khách hàng xem khách có nợ hay không, số tiền là bao nhiêu, đã quá hạn chưa để thông báo nợ cho khách và yêu cầu thanh toán. Nếu không nợ, kế toán sẽ lập phiếu thu và khách hàng thanh toán tiền. Mọi thông tin về hàng xuất sẽ được ghi sổ bán buôn. 2.1.3. Báo cáo - Cuối ngày,kế toán trưởng gửi y/c báo cáo cho kế toán, kế toán phải lập báo cáo gửi cho kế toán trưởng. Trong đó phải thống kê được số lượng hàng bán, số tiền thu được. Dựa vào sổ bán lẻ, sổ bán buôn, sổ khách hàng. Sinh viên: Đỗ Thị Hà 43 Khóa 10-Ngành Công Nghệ Thông Tin
  46. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.2. Bảng nội dung công việc STT Tên công việc Đối tƣợng thực hiện HSDL 1. Nhận y/c mua hàng NV bán hàng 2. Gửi bảng báo giá NV bán hàng Bảng báo giá 3. Thông tin hàng bán NV bán hàng 4. Kiểm tra kho Thủ kho 5. Báo lại tình trạng hàng y/c Thủ kho 6. Thông báo hết hàng NV bán hàng 7. Giao hàng,lập phiếu giao hàng Thủ kho Phiếu giao hàng 8. Giao hàng và lập phiếu BH NV bán hàng Phiếu BH 9. Lập hoá đơn bán hàng NV bán hàng Hoá đơn bán hàng 10. Lập phiếu thu Kế toán Phiếu thu 11. Thanh toán tiền Khách hàng 12. Ghi sổ bán lẻ Kế toán Sổ bán lẻ 13. Nhận đơn đặt hàng NV bán hàng Đơn đặt hàng 14. Lập hợp đồng mua bán Kế toán Hợp đồng mua bán 15. Lập lệnh xuất kho Kế toán Lệnh xuất kho 16. Lập hóa đơn GTGT Kế toán Hóa đơn GTGT 17. Lập biên bản xác nhận công nợ Kế toán Biên bản xác nhận công nợ 18. Ghi sổ khách hàng Kế toán Sổ khách hàng 19. Kiểm tra sổ khách hàng Kế toán 20. Thông báo nợ tiền Kế toán 21. Yêu cầu thanh toán Kế toán 22. Ghi sổ bán buôn Kế toán Sổ bán buôn 23. Lập báo cáo hàng xuất Kế toán Báo cáo hàng xuất Sinh viên: Đỗ Thị Hà 44 Khóa 10-Ngành Công Nghệ Thông Tin
  47. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.3. Mô hình nghiệp vụ 2.3.1. Bảng phân tích xác định các chức năng, tác nhân và hồ sơ Động từ + Bổ ngữ Danh từ Nhận xét Nhận y/c mua hàng Bảng báo giá HSDL Gửi bảng báo giá Khách buôn Tác nhân Thông báo hết hàng Phiếu BH HSDL Giao hàng,lập phiếu giao hàng Phiếu giao hàng HSDL Giao hàng, lập phiếu BH Hoá đơn bán hàng HSDL Lập hoá đơn bán hàng Phiếu thu HSDL Lập phiếu thu Sổ bán lẻ HSDL Ghi sổ bán lẻ Đơn đặt hàng HSDL Nhận đơn đặt hàng Thủ kho Tác nhân Lập hợp đồng mua bán Hợp đồng mua bán HSDL Lập lệnh xuất kho Lệnh xuất kho HSDL Lập hóa đơn GTGT Hóa đơn GTGT HSDL Lập biên bản xác nhận công nợ Biên bản xác nhận công nợ HSDL Ghi sổ khách hàng Sổ khách hàng HSDL Kiểm tra sổ khách hàng Sổ bán buôn HSDL Thông báo nợ tiền Báo cáo hàng xuất HSDL Ghi sổ bán buôn Ban giám đốc Tác nhân Lập báo cáo hàng xuất Kế toán trưởng Tác nhân Khách lẻ Tác nhân Sinh viên: Đỗ Thị Hà 45 Khóa 10-Ngành Công Nghệ Thông Tin
  48. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.3.2. Biểu đồ ngữ cảnh 1. Biểu đồ 0 Đơn đặt hàng Thông báo hết hàng Hợp đồng mua bán Hàng, phiếu BH Hợp đồng mua bán Hóa đơn bán hàng Hợp đồng mua bán đã ký BAN Hóa đơn GTGT Lệnh xuất kho GIÁM Biên bản xác nhận công nợ Lệnh xuất kho đã kí ĐỐC HỆ THỐNG Thông báo nợ tiền KHÁCH Biên bản xác nhận công nợ BUÔN Phiếu thu Biên bản xác nhận công BÁN HÀNG nợ đã kí Thanh toán TẠI TRUNG TÂM TIN HỌC HÀNG HẢI Y/c mua hàng Báo cáo hàng xuất Bảng báo giá KẾ TOÁN TRƯỞNG y/c báo cáo hàng xuất Thông báo hết hàng Hàng,phiếu BH KHÁCH LẺ Hóa đơn bán hàng Phiếu thu Thanh toán Sinh viên: Đỗ Thị Hà 46 Khóa 10-Ngành Công Nghệ Thông Tin
  49. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2. Mô tả hoạt động KHÁCH LẺ Khách hàng mua lẻ có thông tin yêu cầu mua hàng và nhận được bảng báo giá về thiết bị cần mua từ trung tâm. Trung tâm sẽ thông báo hết hàng cho khách sau khi kiểm tra kho mà hàng khách cần không còn. Nếu còn, khách nhận hàng và phiếu BH. Khách hàng sẽ nhận phiếu thu sau khi thanh toán tiền hàng đã mua. KHÁCH BUÔN Khách hàng mua buôn gửi đơn đặt hàng khi có yêu cầu mua. Khách hàng sẽ nhận được thông tin phản hồi nếu mặt hàng mà khách cần mua hết. Nếu còn thì khách và kế toán sẽ tiến hành lập hợp đồng mua bán. Khách hàng phải ký nhận vào đó. Khách nhận được hàng và phiếu BH, hóa đơn bán hàng, hóa đơn GTGT. Họ có thể thanh toán ngay hoặc nợ lại. Mỗi lần thanh toán sẽ nhận được phiếu thu. KẾ TOÁN TRƯỞNG Kế toán trưởng sẽ gửi y/c báo cáo cho kế toán. Sau đó nhận được báo cáo của kế toán xuất về số lượng hàng bán và sô tiền thu được trong ngày. Sau đó nhận được báo cáo của kế toán nhập về hàng nhập và cuối tháng sẽ lập báo gửi lên ban giám đốc. BAN GIÁM ĐỐC Ban giám đốc khi nhận được hợp đồng mua bán do kế toán gửi lên sẽ xem xét và ký nhận, đóng dấu vào đó. Ban giám đốc sẽ xem xét và ký nhận vào biên bản xác nhận công nợ khi khách nợ tiền. Cuối tháng ban giám đốc sẽ nhận được báo cáo từ kế toán trưởng gửi lên. Họ sẽ xem xét và gửi lại thông tin. Sinh viên: Đỗ Thị Hà 47 Khóa 10-Ngành Công Nghệ Thông Tin
  50. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.3.3. Nhóm các chức năng Các chức năng chi tiết (lá) Nhóm lần 1 Nhóm lần 2 1. Nhận y/c mua hàng 2. Gửi bảng báo giá 3. Giao hàng, lập phiếu giao hàng 4. Giao hàng và lập phiếu BH Bán lẻ 5. Lập hoá đơn bán hàng 6. Lập phiếu thu 7. Ghi sổ bán lẻ 8. Nhận đơn đặt hàng 9. Lập hợp đồng mua bán Hệ thống quản lý 10. Lập lệnh xuất kho bán hàng tại trung 11. Giao hàng, lập phiếu giao hàng tâm tin học Hàng 12. Giao hàng, lập phiếu BH Hải 13. Lập hoá đơn bán hàng 14. Lập hoá đơn GTGT Bán buôn 15. Lập biên bản xác nhận công nợ 16. Ghi sổ khách hàng 17. Kiểm tra sổ khách hàng 18. Thông báo nợ tiền 19. Lập phiếu thu 20. Ghi sổ bán buôn 21. Báo cáo hàng xuất Báo cáo Sinh viên: Đỗ Thị Hà 48 Khóa 10-Ngành Công Nghệ Thông Tin
  51. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.3.4. Sơ đồ phân rã chức năng QUẢN LÝ HỆ THỐNG BÁN HÀNG TẠI TRUNG TÂM TIN HỌC HÀNG HẢI 1.Bán lẻ 2.Bán buôn 3.Báo cáo 1.1 Nhận y/c mua 2.1 Nhận đơn 3.1 Báo cáo số hàng đặt hàng lượng hàng xuất 1.2 Gửi bảng báo 2.2 Lập hợp giá đồng mua bán 1.3 Giao hàng, 2.3 Lập lệnh lập phiếu giao xuất kho hàng 2.4 Giao hàng, lập phiếu giao 1.4 Giao hàng, hàng lập phiếu BH 2.5 Giao hàng, 1.5 Lập hóa đơn lập phiếu BH bán hàng 2.6 Lập hoá đơn 1.6 Lập phiếu thu bán hàng 2.7 Lập hoá đơn 1.7 Ghi sổ bán lẻ GTGT 2.8 Lập biên bản xác nhận công nợ 2.9 Ghi sổ khách hàng 2.10 Kiểm tra sổ khách hàng 2.11 Thông báo nợ tiền 2.12 Lập phiếu thu 2.13 Ghi sổ bán buôn Sinh viên: Đỗ Thị Hà 49 Khóa 10-Ngành Công Nghệ Thông Tin
  52. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.3.5. Mô tả chi tiết chức năng lá 1. Bán lẻ - Nhận y/c mua hàng: Khách hàng đến trung tâm và có y/c mua hàng. NV bán hàng nhận y/c mua. - Gửi bảng báo giá: Khi khách hàng có y/c mua hàng trung tâm sẽ cung cấp cho khách hàng bảng báo giá các thiết bị để khách hàng nắm được thông tin chi tiết của thiết bị như giá cả, chủng loại - Giao hàng và lập phiếu giao hàng: NV bán hàng cầm lệnh xuất kho giao cho thủ kho. Thủ kho sẽ giao hàng và lập phiếu giao hàng cho NV bán hàng. NV bán hàng kiểm tra lại hàng xem có đúng chủng loại và số lượng y/c không. Nếu chưa đúng thì y/c thủ kho xem xét lại. - Giao hàng và lập phiếu BH: Khi NV bán hàng đã nhận được hàng từ kho thì sẽ giao cho khách và lập phiếu BH. - Lập hoá đơn bán hàng: Khi khách đã nhận hàng tại trung tâm thì NV bán hàng sẽ lập hoá đơn bán hàng chuyển cho kế toán. - Lập phiếu thu: Mỗi lần khách thanh toán thi kế toán lập phiếu thu để thu tiền của khách. - Ghi sổ bán lẻ: Mọi thông tin về hàng bán lẻ sẽ được kế toán ghi sổ bán lẻ để tiện cho việc thống kê hay kiểm tra định kỳ. 2. Bán buôn - Nhận đơn đăt hàng: Khi nhận được đơn đặt hàng, NV bán hàng sẽ tiến hành kiểm tra thông tin ghi trên đó xem khách mua mặt hàng nào, số lượng hàng đặt là bao nhiêu để có thông tin xuống kho chuẩn bị hàng. - Lập hợp đồng mua bán: Kế toán và khách hàng sẽ tiến hành lập hợp đồng mua bán. Trên hợp đồng sẽ ghi rõ số lượng hàng bán, đơn giá, những điều khoản thỏa thuận giữa hai bên. Hợp đồng này sẽ có chữ ký, đóng dấu của ban giam đốc và khách, và mỗi bên giữ một bản. - Lập lệnh xuất kho: Khi đã có sự thỏa thuận giữa hai bên, kế toán lập lệnh xuất kho để xuất hàng. Lệnh này sẽ được chuyển lên cho ban giám đốc duyệt và ký - Giao hàng và lập phiếu giao hàng: NV bán hàng cầm lệnh xuất kho giao cho thủ kho. Thủ kho sẽ giao hàng và lập phiếu giao hàng cho NV bán hàng. NV bán hàng kiểm tra lại hàng xem có đúng chủng loại và số lượng y/c không. Nếu chưa đúng thì Sinh viên: Đỗ Thị Hà 50 Khóa 10-Ngành Công Nghệ Thông Tin
  53. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải y/c thủ kho xem xét lại. - Giao hàng và lập phiếu BH: Khi NV bán hàng đã nhận được hàng từ kho thì sẽ giao cho khách và lập phiếu BH. - Lập hoá đơn bán hàng: Khi khách đã nhận được hàng, NV bán hàng sẽ lập hoá đơn bán hàng chuyển cho kế toán. - Lập hoá đơn GTGT: Kế toán nhận được hóa đơn bán hàng sẽ lập hóa đơn GTGT giao cho khách. - Lập biên bản xác nhận công nợ: Nếu khách hàng nợ tiền mà chưa thanh toán, kế toán sẽ tiến hành lập biên bản xác nhận công nợ. Biên bản này sẽ được chuyển lên ban giám đốc để xem xét và ký duyệt. Khách hàng cũng phải ký xác nhận vào đó. - Ghi sổ khách hàng: Mọi thông tin về khách hàng sẽ được lưu vào sổ khách hàng. - Kiểm tra sổ khách hàng: Khi khách thanh toán tiền, kế toán sẽ kiểm tra sổ khách hàng xem khách có nợ không nợ bao nhiêu, đã quá hạn chưa - Thông báo nợ tiền: Sau khi kiểm tra sổ khách hàng, nếu khách có nợ thì thông báo cho khách và yêu cầu thanh toán. - Lập phiếu thu: Mỗi lần khách thanh toán thi kế toán lập phiếu thu để thu tiền của khách. - Ghi sổ bán buôn: Mọi thông tin về hàng bán buôn sẽ được ghi trong sổ bán buôn để tiện cho việc thống kê, theo dõi. 3. Báo cáo - Báo cáo số lượng hàng xuất: Cuối ngày, kế toán phải lập báo cáo gửi cho kế toán trưởng. Trong đó phải thống kê được số lượng hàng xuất. Dựa vào đó cuối tháng kế toán trưởng lập báo cáo gửi lên ban giám đốc. Sinh viên: Đỗ Thị Hà 51 Khóa 10-Ngành Công Nghệ Thông Tin
  54. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.3.6. Danh sách hồ sơ dữ liệu sử dụng a. Bảng báo giá b. Phiếu BH c. Phiếu giao hàng d. Hoá đơn bán hàng e. Phiếu thu f. Sổ bán lẻ g. Đơn đặt hàng h. Hợp đồng mua bán i. Lệnh xuất kho j. Hoá đơn GTGT k. Biên bản xác nhận công nợ l. Sổ khách hàng m. Sổ bán buôn n. Báo cáo hàng xuất Sinh viên: Đỗ Thị Hà 52 Khóa 10-Ngành Công Nghệ Thông Tin
  55. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.3.7. Ma trận thực thể chức năng Danh sách hồ sơ dữ liệu a. Bảng báo giá b. Phiếu BH c. Phiếu giao hàng d. Hoá đơn bán hàng e. Phiếu thu f. Sổ bán lẻ g. Đơn đặt hàng h. Hợp đồng mua bán i. Lệnh xuất kho j. Hóa đơn GTGT k. Biên bản xác nhận công nợ l. Sổ khách hàng m. Sổ bán buôn n. Báo cáo hàng xuất Danh sách thực thể chức năng a b c d e f g h i j k l m n 1. Bán lẻ R C C C C U 2. Bán buôn R C C C C R C C C C U U 3. Báo cáo R R R C Sinh viên: Đỗ Thị Hà 53 Khóa 10-Ngành Công Nghệ Thông Tin
  56. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.3.8. Biểu đồ hoạt động 1. Biểu đồ hoạt động tiến trình bán lẻ Khách lẻ NV bán hàng Thủ kho Kế toán Y/c mua hàng Tiếp nhận y/c mua hàng Bảng báo giá Gửi bảng báo giá Thông tin hàng bán Hết Kiểm tra Thông báo hàng hết hàng trong kho Còn Phiếu giao hàng Giao hàng lập phiếu giao hàng Nhận hàng,phiếu giao hàng Phiếu giao hàng Giao hàng, lập phiếu BH Phiếu BH Hóa đơn bán hàng Lập hóa đơn bán hàng Phiếu thu Lập phiếu thu Thanh toán tiền Ghi sổ bán lẻ Sinh viên: Đỗ Thị Hà 54 Khóa 10-Ngành Công Nghệ Thông Tin
  57. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2. Biểu đồ hoạt động tiến trình bán buôn Khách lẻ NV bán hàng Thủ kho Kế toán Ban giám đốc Đơn đặt hàng Y/c đặt hàng Tiếp nhận Đơn đặt hàng đơn đặt hàng Thông tin hàng bán Kiểm tra Thông báo Hết hàng hết hàng trong kho Hợp đồng mua bán Còn Lập hợp đồng mua bán Hợp đồng mua bán Hợp đồng mua bán đã ký Lệnh xuất kho Lập lệnh xuất kho Lệnh xuất kho Lệnh xuất kho đã ký Phiếu giao hàng Giao hàng, lập phiếu giao hàng Nhận hàng,phiếu giao hàng Phiếu giao hàng Giao hàng, lập phiếu BH Phiếu BH Lập hóa đơn bán hàng Hóa đơn bán hàng Lập hóa đơn GTGT Hóa đơn GTGT Không Thanh toán Sinh viên: Đỗ Thị Hà 55 Khóa 10-Ngành Công Nghệ Thông Tin
  58. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải Khách lẻ NV bán hàng Thủ kho Kế toán Ban giám đốc có Biên bản xác nhận công nợ Lập biên bản xác nhận công nợ Biên bản xác nhận công nợ Biên bản xác nhận công nợ đã ký Ghi sổ khách hàng Sổ khách hàng Kiểm tra nợ cũ ? Nợ tiền Không nợ Thông báo nợ cho khách Lập phiếu Phiếu thu thu Thanh toán tiền Ghi sổ bán buôn Sinh viên: Đỗ Thị Hà 56 Khóa 10-Ngành Công Nghệ Thông Tin
  59. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 3. Biểu đồ hoạt động tiến trình báo cáo Kế toán trƣởng Kế toán Gửi y/c báo cáo hàng xuất Báo cáo hàng xuất Lập báo cáo hàng xuất Báo cáo hàng xuất Sinh viên: Đỗ Thị Hà 57 Khóa 10-Ngành Công Nghệ Thông Tin
  60. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.3.9. Biểu đồ luồng dữ liệu 1. Biểu đồ luồng dữ liệu mức 0 b Phiếu BH a Bảng báo giá c Phiếu giao hàng y/c mua hàng d Hóa đơn bán hàng 1.0 Bảng báo giá KHÁCH Thông báo hết hàng e Phiếu thu LẺ Hàng, phiếu BH Hóa đơn bán hàng Bán lẻ f Sổ bán lẻ Phiếu thu Thanh toán i Lệnh xuất kho a Bảng báo giá g Đơn đặt hàng b Phiếu BH d Hóa đơn bán hàng Sổ bán lẻ bán Sổ e Phiếu thu c Phiếu giao hàng Đơn đặt hàng 2.0 h Hợp đồng mua bán Thông báo hết hàng Hàng, phiếu BH j Hóa đơn GTGT Hóa đơn bán hàng KHÁCH Bán buôn BUÔN Hóa đơn GTGT Biên bản xác nhận công nợ Hợp đồng mua bán Thông báo nợ tiền Phiếu thu Hợp đồng mua bán đã ký Thanh toán Lệnh xuất kho m Sổ bán buôn Lệnh xuất kho đã kí BAN l Sổ khách hàng Biên bản xác nhận công nợ GIÁM ĐỐC Biên bản xác nhận công nợ đã kí k Biên bản xác nhân công nợ f Sổ bán lẻ hàng khách sổ buôn, m Sổ bán buôn Sổ bán bán Sổ KẾ TOÁN 3.0 l Sổ khách hàng TRƯỞNG Báo cáo hàng xuất Báo cáo n Báo cáo hàng xuất Sinh viên: Đỗ Thị Hà 58 Khóa 10-Ngành Công Nghệ Thông Tin
  61. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2. Biểu đồ luồng dữ liệu mức 1 2.1. Biểu đồ luồng dữ liệu mức 1: Bán lẻ Bảng báo giá a Bảng báo giá c Phiếu giao hàng 1.1 1.2 1.3 TT hàng mua TT hàng mua Nhận yêu cầu Gửi bảng báo Giao hàng, lập mua hàng giá phiếu giao hàng Phiếu giao hàng y/c mua hàng mua y/c Hàng, phiếu BH KHÁCH Hóa đơn bán hàng LẺ Phiếu thu b Phiếu BH e Phiếu thu d Hóa đơn bán hàng f Sổ bán lẻ 1.7 1.6 1.5 1.4 Hóa đơn bán Hóa đơn Ghi sổ bán Lập phiếu thu Lập hóa đơn Phiếu giao Giao hàng, lập lẻ hàng, phiếu thu bán hàng bán hàng hàng phiếu BH Sinh viên: Đỗ Thị Hà 59 Khóa 10-Ngành Công Nghệ Thông Tin
  62. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.2. Biểu đồ luồng dữ liệu mức 1: Bán buôn Lệnh xuất kho đã ký Lệnh xuất kho BAN GIÁM Hợp đồng mua bán đã ký ĐỐC 2.3 2.2 Hợp đồng mua bán Hợp đồng mua Lập lệnh xuất 2.1 Lập hợp đồng kho mua bán bán đã ký Nhận đơn Đơn đặt hàng Lệnh xuất kho đã ký đặt hàng h Hợp đồng mua bán a Bảng báo giá i Lệnh xuất kho g Đơn đặt hàng 2.5 c Phiếu giao hàng Giao hàng, lập Phiếu giao hàng b Phiếu BH phiếu BH ơn đăt hàng đăt ơn 2.4 Đ Phiếu hàng giao Giao hàng, lập Hàng, phiếu BH KHÁCH BUÔN phiếu giao hàng 2.6 Hóa đơn bán hàng Lập hóa đơn bán d Hóa đơn bán hàng hàng j Hóa đơn GTGT Hóa Hóa nhận công nợ đã kí Biên bản xác đơn đơn bán hàng Hóa đơn GTGT BAN GIÁM 2.7 ĐỐC Lập hóa đơn GTGT l Sổ khách hàng k Biên bản xác nhân công nợ Số tiền phải trả phải tiền Số l Sổ khách hàng Biên bản xác xác bản Biên nợ công nhận 210 Hóa đơn bán hàng bán đơn Hóa KT sổ khách 2. 9 2.8 hàng Sổ khách hàng Ghi sổ khách Biên bản xác Lập biên bản xác hàng nhận công nợ Sổ khách hàng nhận công nợ nhận công nợ Biên bản d Hóa đơn bán hàng m Sổ bán buôn l Sổ khách hàng Phiếu thu, hóa 2.13 Ghi sổ bán e Phiếu thu xác đơn bán hàng buôn 2.12 2.11 Lập phiếu thu Phiếu thu Thông báo nợ Sổ khách KHÁCH BUÔN hàng e Phiếu thu Sinh viên: Đỗ Thị Hà 60 Khóa 10-Ngành Công Nghệ Thông Tin
  63. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.3. Biểu đồ luồng dữ liệu mức 1: Báo cáo m Sổ bán buôn l Sổ khách hàng f Sổ bán lẻ KẾ TOÁN 3.1 TRƢỞNG Báo cáo hàng xuất Báo cáo hàng xuất n Báo cáo hàng xuất 2.4. Thiết kế cơ sở dữ liệu 2.4.1. Xác định các thực thể và thuộc tính. - KHACHHANG ( MaKHM, HotenM, DiachiM, SoDTM, MasothueM) - NHANVIEN (MaNV, TenNV, Chucdanh, Diachi, SoDT) - MATHANG (MaMH, Ten MH, Donvitinh, ThoigianBH, NoiSX, Dacdiem ) - LOAIHANG (MaLH, TenLH) Sinh viên: Đỗ Thị Hà 61 Khóa 10-Ngành Công Nghệ Thông Tin
  64. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.4.2. Xác định các mối quan hệ n m NHANVIEN MATHANG Bán p KHACHHANG n m NHANVIEN KHACHHANG Thu tiền n m NHANVIEN KHACHHANG Lập phiếu nợ n m NHANVIEN MATHANG Lập phiếu BH p KHACHHANG n 1 MATHANG Thuộc LOAIHANG Sinh viên: Đỗ Thị Hà 62 Khóa 10-Ngành Công Nghệ Thông Tin
  65. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.4.3. Mô hình E-R Lập phiếu BH MaLH TenLH MaPBH LOAIHANG 1 Thuộc Donvitinh MaMH TenMH SoPB n Ngayban m SoluongB MATHANG m Bán Dacdiem NoiSX DongiaB ThoigianBH Tisuatthue n MaNV Diachi MasothueM HotenM NHANVIEN n p p Lydo MaKHM Sophieuthu KHACHHANG TenNV n n Sono DiachiM SoDT Thu m m Chucdanh tiền Sotien SoDTM Sotra Ngaylap Sophieuno Ngaylap Lập phiếu nợ Lydo Sono Hantra Sinh viên: Đỗ Thị Hà 63 Khóa 10-Ngành Công Nghệ Thông Tin
  66. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.4.4. Mô hình dữ liệu quan hệ 1. Bƣớc 1 Áp dụng thuật toán chuyển mô hình quan hệ ER thành các quan hệ sau: - Biểu diễn các thực thể NHANVIEN KHACHHANG => KHACHHANG ( MaKHM, HotenM, DiachiM, SoDTM, MasothueM) NHANVIEN => NHANVIEN (MaNV, TenNV, Chucdanh, Diachi, SoDT) MATHANG => MATHANG (MaMH, TenMH, Donvitinh, ThoigianBH, NoiSX, Dacdiem, MaLH) LOAIHANG => LOAIHANG (MaLH, TenLH) - Biểu diễn các mối quan hệ NHANVIEN n m MATHANG Bán p KHACHHANG => HOADONBANHANG (SoPB, Ngayban, MaMH, SoluongB,Tisuatthue, DongiaB, MaKHM, MaNV) NHANVIEN n m KHACHHANG Thu tiền => PHIEUTHU (Sophieuthu, Ngaylap,Lydo, Sotien, Sono, Sotra, MaNV, MaKHM) NHANVIEN n m KHACHHANG Lập phiếu nợ Sinh viên: Đỗ Thị Hà 64 Khóa 10-Ngành Công Nghệ Thông Tin
  67. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải => PHIEUNO (Sophieuno, Ngaylap, Lydo, Sono, Hantra, MaNV, MaKHM) NHANVIEN n m MATHANG Lập phiếu BH p KHACHHANG => PHIEUBAOHANH (MaPBH, MaNV, MaKHM, MaMH ) 2. Bƣớc 2 Trong quan hệ HOADONBANHANG có sự dư thừa dữ liệu: dư thừa dữ liệu. Bởi vậy ta tách thành quan hệ mới như sau: HOADONBANHANG (SoPB, Ngayban, Tisuathue, MaKHM, MaNV) DONGHOADON (SoPB, SoluongB, DongiaB, MaMH) Trong quan hệ PHIEUBAOHANH có sự dư thừa dữ liệu: dư thừa dữ liệu. Bởi vậy ta tách thành quan hệ mới như sau: PHIEUBAOHANH (MaPBH, MaNV, MaKHM) DONGPHIEUBAOHANH (MaPBH, MaMH) 2.4.5. Các quan hệ KHACHHANG MaKHM HotenM DiachiM SoDTM MasothueM NHANVIEN MaNV TenNV Chucdanh Diachi SoDT MATHANG MaMH TenMH Donvitinh ThoigianBH NoiSX Dacdiem MaLH LOAIHANG MaLH TenLH HOADONBANHANG Sinh viên: Đỗ Thị Hà 65 Khóa 10-Ngành Công Nghệ Thông Tin
  68. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải SoPB Ngayban MaKHM MaNV Tisuatthue DONGHOADON SoPB SoluongB DongiaB MaMH PHIEUTHU Sophieuthu Ngaylap Lydo Sotien Sono Sotra MaNV MaKHM PHIEUNO Sophieuno Ngaylap Lydo Sono Hantra MaNV MaKHM PHIEUBAOHANH MaPBH MaNV MaKHM DONGPHIEUBAOHANH MaPBH MaMH Sinh viên: Đỗ Thị Hà 66 Khóa 10-Ngành Công Nghệ Thông Tin
  69. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 2.4.6. Mô hình quan hệ Sinh viên: Đỗ Thị Hà 67 Khóa 10-Ngành Công Nghệ Thông Tin
  70. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải CHƢƠNG 3: CÀI ĐẶT CHƢƠNG TRÌNH THỬ NGHIỆM 3.1. Giao diện “Đăng nhập hệ thống” Sinh viên: Đỗ Thị Hà 68 Khóa 10-Ngành Công Nghệ Thông Tin
  71. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 3.2. Giao diện “Kết nối cơ sở dữ liệu” Sinh viên: Đỗ Thị Hà 69 Khóa 10-Ngành Công Nghệ Thông Tin
  72. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 3.3. Giao diện”Cập nhật thông tin ngƣời dùng” Sinh viên: Đỗ Thị Hà 70 Khóa 10-Ngành Công Nghệ Thông Tin
  73. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 3.4. Giao diện “Cập nhật thông tin khách hàng” Sinh viên: Đỗ Thị Hà 71 Khóa 10-Ngành Công Nghệ Thông Tin
  74. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 3.5. Giao diện “Cập nhật danh sách mặt hàng” Sinh viên: Đỗ Thị Hà 72 Khóa 10-Ngành Công Nghệ Thông Tin
  75. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 3.6. Giao diện “Cập nhật danh sách nhân viên” Sinh viên: Đỗ Thị Hà 73 Khóa 10-Ngành Công Nghệ Thông Tin
  76. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 3.7. Giao diện “Cập nhật phiếu bán hàng” Sinh viên: Đỗ Thị Hà 74 Khóa 10-Ngành Công Nghệ Thông Tin
  77. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 3.8. Giao diện “Phiếu bảo hành” Sinh viên: Đỗ Thị Hà 75 Khóa 10-Ngành Công Nghệ Thông Tin
  78. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải 3.9. Giao diện “Hóa đơn bán hàng” Sinh viên: Đỗ Thị Hà 76 Khóa 10-Ngành Công Nghệ Thông Tin
  79. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải KẾT LUẬN Ngày nay, việc ứng dụng công nghệ thông tin vào trong sản xuất đã đem lại lợi nhuận vô cùng to lớn cho các doanh nghiệp. Nó giúp cho việc quản lý các hồ sơ dữ liệu và tra cứu thông tin được nhanh chóng, thuận tiện.Giúp các doanh nghiệp có thể trao đổi thông tin, quảng bá rộng lớn thương hiệu và sản phẩm của công ty mình. Qua quá trình khảo sát các hoạt động kinh doanh của trung tâm tin học Hàng Hải em nhận thấy cần phải xây dựng một chương trình quản lý phục vụ cho quản lý bán hàng ở đây. Với đề tài tốt nghiệp được giao kết hợp cùng với các kiến thức đã học ở trường em đã xây dựng thành công chương trình quản lý bán hàng cho trung tâm. Chương trình có giao diện thân thiện, dễ sử dụng và đáp ứng được những chức năng cơ bản cần thiết. Trong thời gian có hạn và khả năng còn hạn chế nên khó tránh khỏi những thiếu xót, những điểm chưa phù hợp, em rất mong nhận được sự giúp đỡ, chỉ dẫn của các thầy cô giáo, các ý kiến đóng góp của các bạn để đồ án được hoàn thiện hơn. Sinh viên: Đỗ Thị Hà 77 Khóa 10-Ngành Công Nghệ Thông Tin
  80. Đồ án tốt nghiệp Quản lí bán hàng Trung tâm tin học Hàng Hải TÀI LIỆU THAM KHẢO [1]. Giáo trình phân tích thiết kế hệ thống thông tin hiện đại- PGS: Nguyễn Văn Vỵ, nhà xuất bản thống kê Hà Nội- 2004. [2]. Phân tích và thiết kế hệ thống thông tin- PGS.TS: Nguyễn Văn Ba, nhà xuất bản đại học quốc gia Hà Nội. [3]. Lập trình SQL SERVER 2000 căn bản- Đoàn Thiện Ngân, Đoàn Thị Thanh Diễm, Hoàng Đức Hải, nhà xuất bản lao động xã hội. [4]. Website chính thức của trung tâm: Sinh viên: Đỗ Thị Hà 78 Khóa 10-Ngành Công Nghệ Thông Tin