Đồ án Xây dựng chương trình quảng cáo và mua bán thiết bị máy tính trên mạng

Tài liệu Đồ án Xây dựng chương trình quảng cáo và mua bán thiết bị máy tính trên mạng: MỤC LỤC LỜI CẢM ƠN Em xin chân thành cảm ơn các thầy, cô giáo trong Khoa Công nghệ thông tin, trường Đại học Dân Lập Hải Phòng, đã tạo điều kiện cho em thực hiện đề tài tiểu án tốt nghiệp này. Xin cảm ơn cô giáo Ths. HỒ THỊ HƯƠNG THƠM, người đã tận tình hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện đề tài. Trong thời gian được làm việc với cô, em không những học hỏi được nhiều kiến thức bổ ích mà còn học được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc của Cô. Xin gửi lời cảm ơn chân thành đến gia đình, ba mẹ và bè bạn vì đã luôn là nguồn động viên to lớn, giúp đỡ em vượt qua những khó khăn trong suốt quá trình học tập. Mặc dù đã cố gắng hoàn thiện đồ án với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót. Kính mong quý Thầy Cô tận tình chỉ bảo. Một lần nữa, em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp quý báu của tất cả mọi người. Hải Phòng, ngày 21 tháng 06 năm 2007 Sinh viên thực hiện TRẦN DUY ...

doc74 trang | Chia sẻ: hunglv | Lượt xem: 1357 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đồ án Xây dựng chương trình quảng cáo và mua bán thiết bị máy tính trên mạng, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
MỤC LỤC LỜI CẢM ƠN Em xin chân thành cảm ơn các thầy, cô giáo trong Khoa Công nghệ thông tin, trường Đại học Dân Lập Hải Phòng, đã tạo điều kiện cho em thực hiện đề tài tiểu án tốt nghiệp này. Xin cảm ơn cô giáo Ths. HỒ THỊ HƯƠNG THƠM, người đã tận tình hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện đề tài. Trong thời gian được làm việc với cô, em không những học hỏi được nhiều kiến thức bổ ích mà còn học được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc của Cô. Xin gửi lời cảm ơn chân thành đến gia đình, ba mẹ và bè bạn vì đã luôn là nguồn động viên to lớn, giúp đỡ em vượt qua những khó khăn trong suốt quá trình học tập. Mặc dù đã cố gắng hoàn thiện đồ án với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót. Kính mong quý Thầy Cô tận tình chỉ bảo. Một lần nữa, em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp quý báu của tất cả mọi người. Hải Phòng, ngày 21 tháng 06 năm 2007 Sinh viên thực hiện TRẦN DUY HIỂN ĐẶT VẤN ĐỀ Để thực hiện một dự án phát triển phần mềm thì vấn đề đầu tiên là phải chọn được một cách thực hiện cho thích hợp dựa trên 4 yếu tố: con người, bài toán (lĩnh vực ứng dụng), công nghệ, các tài nguyên. Có hai cách tiếp cận để phát triển phần mềm: cách tiếp cận hướng chức năng, cách tiếp cận hướng đối tượng. Với cách tiếp cận hướng chức năng có đặc trưng là dựa vào chức năng, nhiệm vụ là chính, nghĩa là khi nghiên cứu và xác định các yêu cầu của hệ thống thì các chức năng và yêu cầu hệ thống không thay đổi trong suốt quá trình phát triển, mà thực tế chức năng và nhiệm vụ của hệ thống lại thay đổi. Ngày nay Internet, Website và trang Web không còn là khái niệm xa lạ nữa, và ngày càng trở nên không thể thiếu trong cuộc sống. Mọi người, mọi lứa tuổi đều biết đến Internet, Internet còn là công cụ không thể thiếu được mọi người và một số ngành nghề… Với sự ra đời của Internet, tiến bộ của viễn thông, các trở ngại về khoảng cách và thời gian trong lưu thông thông tin trong phạm vi hẹp và toàn cầu không còn là một trở ngại lớn. Các dịch vụ xã hội có những thay đổi lớn lao. Các ngành quản lý đã áp dụng một cách triệt để trong việc áp dụng Internet vào hoạt động của ngành mình. Với việc quản lý mua bán và nhập xuất thiết bị máy tính trên mạng, đã giúp các công ty kinh doanh mở rộng thị trường mà chỉ cần một lượng vốn nhỏ, giúp tăng thêm khách hàng. Giảm được nhiều chi phí phát sinh trong đó có chi phí thu nhận thông tin, giảm thời gian thực hiện quá trình mua bán. Chương I: GIỚI THIỆU VỀ INTERNET 1.1. Giới thiệu về Internet - Internet là tài nguyên vô tận của con người trong mọi lĩnh vực. - Internet là mạng máy tính khổng lồ được kết nối lại với nhau. Bất cứ vị trí, khoảng cách hoặc thời gian nào, một máy tính kết nối vào mạng Internet đều được coi là thành viên của mạng Internet. 1.2. Sự ra đời và phát triển của Internet Trong những năm 60 và 70, nhiều công nghệ mạng máy tính đã ra đời nhưng mỗi kiểu lại dựa trên những phần cứng riêng biệt. Một trong những kiểu này được gọi là mạng cục bộ (Local Arce Networks –LAN), nối các máy tính với nhau trong phạm vi hẹp bằng dây dẫn và một thiết bị cài đặt trong mỗi máy. Các mạng lớn không được gọi là mạng diện rộng (Wide Arce Networks – WAN), nối nhiều máy tính với nhau trong phạm vi rrộng thông qua một hệ thống dây truyền dẫn kiểu như trong các hệ thống điện thoại. Giao thức TCP/IP đảm bảo sự thông suốt trao đổi thông tin giữa các máy tính. Internet hiện nay đang liên kết hàng ngàn máy tính thuộc các công ty, cơ quan nhà nước, các trung tâm nghiên cứư khoa học, trường đại học, không phân biệt khoảng cách địa lý. Đó là ngân hàng dữ liệu khổng lồ của nhân loại. 1.3. Ứng dụng web Khi nói đến Internet người ta thường nhắc đến bộ giao thứ chuẩn TCP/IP và các dịch vụ điển hình nhất của nó là email, FPT và WWW. Tuy nhiên WWW chiếm vai trò quan trọng nhất vì nó quyệt định mô hình của internet. Tìm hiểu về WWW ta có thể xác định phạm vi ứng dụng của Internet trong thực tiễn khoa học, công nghệ cũng như trong đời sống. WWW rất dễ sử dụng và thú vị cho nên đã trở thành một dịch vụ quen thuộc không thể thiếu. Ngày nay, khi Email và FPT đã được tích hợp vào hầu hết các trình duyệt thì WWW cũng đã trở thành một công cụ để khai thác các hoạt động tìm kiếm thông tin trên Internet (Search Engine ). Với bản chất là một siêu tài liệu đa phương tiện, chứa dựng các thông tin về các dữ liệu multimedia, WWW đã làm cho internet trở nên thuận lợi, sinh động và hấp dẫn hơn nhiều. 1.4. Mô hình hoạt động WWW là một ứng dụng với nhiều chức năng và vai trò cực kỳ to lớn. Để phân tích chi tiết được nó thật không đơn giản, do đó trong phạm vi hẹp ở đây chỉ đề cập tới WWW từ khía cạnh công nghệ. Hầu hết tất cả các dịch vụ trên Internet đều được triển khai trên mô hình khách/chủ (Client/Server) và đây cũng là mô hình hoạt động mà WWW áp dụng. 1.5. Khái niệm về mô hình trên Server Thuật ngữ Server được dùng cho những chương trình thi hành như một dịch vụ trên toàn mạng. Các chương trình Server này chấp nhận tất cả các yêu cầu hợp lệ đến từ mọi nơi trên mạng, sau đó thi hành dịch vụ trên Server và kết quả trả về máy yêu cầu. Một chương trình coi là Client khi nó gửi các yêu cầu tới máy có chưong trình Server và chờ đợi câu trả lời từ Server. Chương trình Server và Client nói chuyện với nhau bằng các thông điệp (message) thông qua một cổng truyền thông liên lạc IPC (Interprosses communication). Để chương trình Server và một chương trình Client có thể giao tiếp được với nhau thì giữ chúng phải có một chuẩn để giao tiếp, chuẩn này được gọi là giao thức (protocol ). Nếu một chương trình Client nào muốn yêu cầu lấy thông tin từ Server thì nó phải tuân theo giao thức Server đưa ra. Một máy tính chứa chương trình Server được coi là máy chủ hay máy phục vụ (Server) và máy chứa chương trình Client là máy khách mô hình trên mạng mà các máy chủ và máy khách giao tiếp với nhau theo một hoặc nhiều dịch vụ được coi là mô hình Client /Server 1.5.1. Mô hình Client/Server Thực tế mô hình Client/Server là sự mở rộng tự nhiên và tiện lợi cho việc truyền thông tiến trình trên các máy tính cá nhân, mô hình này cho phép xây dựng các chương trình Client/Server một cách dễ dàng và sử dụng chúng để liên lạc với nhau đạt hiệu quả hơn. Mô hình Client/Server như sau : CLIENT SERVER Gửi yêu cầu Trả trang web Đây là mô hình tổng quát nhất, trên thực tế thì Server có thể được nối với nhiều Server khác nhằm làm việc hiệu quả hơn và nhanh chóng hơn. Khi nhận được yêu cầu từ Server này có thể gửi tiếp yêu cầu vừa nhận được cho một Server khác ví dụ như database Server vì bản thân nó không thể sủ lí yêu cầu này được. Với mô hình trên thì mô hình Client/Server chỉ mang đặc điểm của phần mềm không liên quan đến phần cứng mặc dù trên thực tế yêu cầu cho một máy Server là cao hơn rất nhiều so với máy Client. Lý do bởi vì máy Server phải quản lý rất nhiều các yêu cầu từ các Client khác nhau trên mạng máy tính. 1.5.2. Ứng dụng mô hình Client/Server Như vậy, với dịch vụ này trên mạng, người sử dụng máy tính có thể truy cập vào mạng để lấy thông tin khác nhau dựa trên văn bản, hình ảnh thậm chí cả âm thanh (thông tin đa phương tiện – multimedia ). Giao diện giữa người và máy càng trở nên thân thiện, nhờ các biểu tượng và các thiết bị ngoại vi như chuột, bút quang, … Người dùng mạng không cần có trình độ cao về tin học, với một chút vốn tiếng anh đủ để hiểu những gì máy tính thông báo cũng có thể dùng nó như một công cụ đắc lực. Như vậy dịch vụ WWW trên mạng có một ứng dụng rất to lớn trong thời đại thông tin như hiện nay. Web đã thay đổi cách biểu diễn thông thường bằng văn bản toàn kiểu chữ nhàm chán sang kiểu thông tin sinh động có hình ảnh âm thanh. Với một bộ duyệt có trang tiện ích đồ hoạ ta có thể dễ dàng xử lý thông tin đa phương tiện khác. WWW cho phép tìm kiếm thông tin một cách nhanh chóng, phổ biến các tài liệu khoa học và trao đổi thông tin trên mạng. 1.5.3. Mô hình Web Client /Server Mô hình Client/Server ứng dụng vào trang Web được gọi là mô hình Web Client/Server giao thức chuẩn được sử dụng để giao tiếp giữa Web Server và Web Client là HTTP. Web client (Web Browser): Các trình duyệt có vai trò như là Client trong mô hình Client/Server, khi cần xem một trang Web cụ thể nào thì trình duyệt Web sẽ gửi yêu cầu lên cho Web Server để lấy nội dung trang Web đó. Web Server : Khi nhận yêu cầu từ một Client /Server, Web Server sẽ trả về nội dung file cho trình duyệt Web Server cho phép chuyển giao dữ liệu bao gồm văn bản, đồ hoạ và thậm chí cả âm thanh, video tới ngưòi sử dụng. 1.6. Hoạt động của cơ chế khách/chủ Tất cả các gói tin nhận và trả lời giữa Web Server và Client đều tuân theo giao thức chuẩn HTTP. Mô hình hoạt động như sau: - Ban đầu trình duyệt trên máy Client có một văn bản HTML và hiển thị lên màn hình với đầy đủ các mối liên kết. - Khi người sử dụng chọn một mối liên kết nào đó trong văn bản trên thì trình duyệt sẽ sử dụng giao thức HTTP gửi một yêu cầu lên mạng cho Web Server để truy cập tới một trang Web mới hay muốn được phục vụ một dịch vụ nào đó được chỉ ra bởi mối liên kết đó. - Sau khi nhận được thông tin từ trình duyệt nó có thể tự xử lý thông tin hoặc gửi cho các bộ phận khác có khả năng xử lý (Database Server, CGI…) rồi chờ kết quả để gửi về cho trình duyệt Client. - Trình duyệt nhận và định dạng dữ liệu theo chuẩn của trang Web để hiển thị lên màn hình. - Quá trình cứ tiếp diễn như vậy được gọi là duyệt Web trên mạng. 1.7. Mở rộng khả năng của Web Server Web Server là một phần mềm đóng vai trò phục vụ khi được hình thành, nó nạp vào bộ nhớ và đợi các yêu cầu từ nơi khác đến. Các yêu cầu có thể từ trình duyệt hoặc từ Web Server khác đến. Các yêu cầu thường là đòi hỏi về một tư liệu hay một thông tin nào đó. Khi nhận yêu cầu, nó phân tích để xác định xem tư liệu thông tin mà người dùng yêu cầu là gì. Sau đó gửi trả kết quả lại nơi yêu cầu. Các phần mềm Web Server chủ yếu: Apche dùng cho UNIX. IIS dùng cho Window NT, Window95. Bản thân Web Server không có khả năng truy cập CSDL. Vấn đề đặt ra là cần mở rộng khả năng của Web Server để nó có thể xử lý các yêu cầu truy nhập vào một CSDL nào đó, lấy các thông tin từ đó ra và sau đó trả các thông tin này về cho trình duyệt – nơi đã gửi yêu cầu. Chương II: PHP/MySQL 2.1. Giới thiệu về PHP 2.1.1. PHP là gì? PHP (Personal Home Page hay PHP Hypertext Preprocessor) được giới thiệu năm 1994 bởi R. Lerdoft, như một bộ sưu tập của ngôn ngữ chưa chặt chẽ dựa vào Perl và các công cụ của trang chủ. Vì quá trình xử lý dựa trên máy chủ nên các trang Web được viết bằng PHP sẽ dễ dàng hơn ở bất cứ hệ điều hành nào. Nói một cách ngắn gọn: PHP là một ngôn ngữ lập trình kiểu script, chạy trên Server và trả về mã HTML cho trình duyệt. Xu hướng sử dụng PHP trong việc thiết kế Web đang ngày càng phát triển trong giai đoạn hiện nay và trong tương lai. PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ. Nói một cách đơn giản không theo thuật ngữ khoa học thì một quá trình xử lý  PHP được thực hiện trên máy chủ (Windowns hoặc Unix). Khi một trang Web muốn dùng PHP thì phải đáp ứng được tất cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết quả như ngôn ngữ HTML. Vì quá trình xử lý này diễn ra trên máy chủ nên trang Web được viết bằng PHP sẽ dễ nhìn hơn ở bất kì hệ điều hành nào. Cũng giống như hầu hết các ngôn ngữ lập trình khác, PHP có thể nối trực tiếp với HTML. Mã PHP tách biệt với HTML bằng các thực thể đầu và cuối. Khi một tài liệu được đưa ra phân tích, quá trình xử lý PHP chỉ được thực hiện ở những điểm quan trọng, rồi sau đó đưa ra kết quả. Mã PHP được đặt trong một kiểu tag đặc biệt cho phép ta có thể vào hoặc ra khỏi chế độ PHP, cú pháp của PHP cơ bản cũng giống như một số ngôn ngữ lập trình khác, đặc biệt là C và Perl. PHP được nhận dạng dưới 4 dạng phiên bản: Ví dụ: <?php // bắt đầu php echo “Hello World”; ?> // kết thúc php Ví dụ Echo “Hello, World”; Ví dụ <? Echo “Hello, World” ?> Ví dụ <% Echo “Hello, World” %> Tuy nhiên phiên bản đầu tiên vẫn được ưa chuộng và dùng phổ biến hơn 2.1.2. Lịch sử ra đời của PHP PHP ra đời vào khoảng năm 1994 do một người phát minh mang tên Rasmus Lerdof, dần dần nó được phát triển bởi nhiều người đó cho dén nay. Tới năm 1998 việc công bố phiên bản 3 thi PHP mới chình thức phát triển theo hướng tách riêng của mình. Giống như C và Perl, PHP là một ngôn ngữ lập trình có cấu trúc và tính năng đa dạng. Chính vì những điểm giống nhau này đã khuyến khích các nhà thiết kế Web chuyên nghiệp chuyển qua sử dụng PHP. Với phiên bản 3 này  PHP cũng cung cấp một số lượng cơ sở dữ liệu khá đồ sộ gồm cả MySQL, mSQL, OPBC và Oracle. Nó cũng có thể làm việc với các hình ảnh các file dữ liệu, FTP, XML và host của các kĩ thuật ứng dụng khác. Cho đến nay thì PHP đã được công bố tới phiên bản 4 và càng ngày càng hoàn hảo và dễ sử dụng, và là một dịch vụ hàng đâu miễn phí. Một số nhà phát triển ứng dụng web, thường sử dụng PHP để xây dựng các ứng dụng thương mại điện tử cho đến thời điểm tháng 1 năm 2001 có 5 triệu tên miền trên thế giới sử dụng PHP. PHP là open source, điều này có nghĩa là bạn có thể làm việc trên mã nguồn, thêm, sửa, sử dụng và phân phối chúng. Để tham khảo thêm các mã nguồn của PHP, bạn có thể vào internet tại địa chỉ http:// www.php.net hay http:// www.zen.com 2.1.3. Vận hành PHP Để sử dụng được hiệu quả một ngôn ngữ lập trình bạn phải biết cách vận hành nó. Cách vận hành là một trong những yếu tố quan trọng nhất của PHP. Thực sự bạn sẽ chẳng làm được gì nếu không có chúng. Chúng được dùng để sửa đổi và làm việc với các chuỗi, những con số. Chúng cũng rất hòan thiện trong việc chi phối tốc độ của chương trình mà bạn sẽ tìm hiểu sau đây:  Vậy các cách vận hành chính xác là gì? Định nghĩa ngắn gọn thì một phương thức vận hành là một quy ước để sử dụng để việc vận hành đạt kết quả tốt. Phương thức vận hành hiện nay được biết đến như một vấn đề không thể bỏ qua khi học PHP. Trong ngôn ngữ PHP các phương thức vận hành dễ dàng tập hợp theo nhóm tùy theo chức năng. a) Phương thức vận hành tương thích: Chức năng này cho phép bạn có thể sửa đổi từ cái này sang cái khác. Bạn có thể sửa đổi các chuỗi, các thay đổi khác và thậm chí là kết quả nữa. $var = "test"; $var2 = "This is a ".$var; print $var2; -- This would output "This is a test" b) Vận hành theo phương thức toán học: Cũng giống như toán học, phương thức vận hành này trong PHP được sử dụng để làm việc với các con số các phép toán như cộng trừ nhân chia. Operand Name Sample Description + Cộng $var + $var2 Cộng hai giá trị với nhau - Trừ $var - $var2 Trừ giá trị 1 cho giá trị hai * Nhân $var * $var2 Nhân 2 giá trị với nhau / Chia $var/$var2 Chia giá trị 1 cho giá trị 2 % Tính % $var%$var2 Tính % ( Ít dùng) c) Phương thức vận hành tăng giảm: Chương trình PHP có tính năng hỗ trợ cho cách vận hành tăng giảm các chữ số. Đây là một cách ngắn gọn thể hiện giá trị tăng hay giảm.   Operand Name Sample Description ++ Tăng sau $var++; Trở về $var, sau đó tăng thêm 1 đơn vị ++ Tăng trước ++$var; Tăng $var thêm 1, sau đó trở về như cũ. -- Giảm sau $var--; Trở về $var, sau đó tăng thêm 1. -- Giảm trước --$var; Giảm $var đi 1, sau đó trở về như cũ. Ví dụ:  $x = 1; $x++; $x tăng giá trị len 2 lần $x = 4; print --$x; -- 4 kết quả là giảm trước 4 lần sau đó $x sẽ giảm d) Phương thức so sánh: Trong chương trình PHP bạn thường thấy rất cần thiết khi phải xem xét mối quan hệ giữa giá trị này với giá trị kia. Phương thức so sánh cho phép bạn thử nghiệm khi nào thì số này lớn hơn, nhỏ hơn hay bằng số kia. Không giống như phương thức tóan học (Có thể giữ nguyên giá trị) phương thức so sánh đối chiếu kết quả là đúng là sai và thường dùng để thông kê. Operand Name Sample Description == Bằng nhau $var == $var2 Giá trị 1 bằng giá trị 2 có đung hay không != Không bằng nhau $var != $var2 Giá trị 1 không bằng giá trị hai có đúng không < Nhỏ hơn $var < $var2 Giá trị 1  nhỏ hơn giá trị hai có đúng không > Lớn hơn $var > $var2 Giá trị 1 lớn hơn giá trị hai có đúng không <= Nhỏ hơn hoặc bằng $var <= $var2 Giá trị 1 nhỏ hơn hoặc bằng giá trị hai có đúng không >= Lớn hơn hoặc bằngl $var >= $var2 Giá trị 1 lớn hơn hoặc bằng giá trị hai có đúng không Phép tính bằng hoặc không bằng trong phương thức này cũng được dùng để xác định những giá trị không phải bằng số có bằng nhau hay không. Có thể lấy một ví dụ: Cứ tưởng tượng một tình huống mà bạn đang phát triển một hệ thống user login và cần phải xem password của user đăng nhập giông của bạn: Để xem đó có phải là một mật mã giả hay không, bạn cũng có thể đổi lại cũng với tính chất tương tự :  Bạn cũgn có thể đoán được việc khớp nhau là một tình huống rất nhạy cảm: "my password" không giống như "My password". Hãy cố gắng thay đổi những giá trị khác để đăng nhập vào pass và cách vận hành của ngôn ngữ lập trình khi khai pass không giống nhau. Ngoài tính năng so sánh trên PHP4 cũng thêm 2 tính năng mới cho bạn biết nếu 2 giá trị bằng nhau nhưng cũng phải kiểm tra khi chúng cùng kiểu. Những kiểu này có quan hệ mật thiết với nhau trừ khi chúng sử dụng 1 tín hiệu giống nhau: Operand Name Sample Description === Giống nhau $var === $var2 Giá trị 1 bằng giá trị 2  và thuộc cùng một dạng có đúng không? !== Không giống nhau $var !== $var2 Giá trị 1 khác giá trị 2  và thuộc cùng một dạng có đúng không? e) Phương pháp Logic: Điều gì sẽ sảy ra nếu bạn muốn xem xét hơn nhiều điều kiện để biết nó đúng hay sai? Quay lại ví dụ của một user login bạn buộc kiểm tra chắc chắn xem tên của user và pass có khớp nhau hay không bạn có thể làm như sau:  Kí tự "AND" nằm giữa hai điều kiện cho thấy ngôn ngữ lập trình phải kiểm tra cả hai phần của câu lệnh là đúng. Nếu đúng thì kết quả  sẽ được thông báo : "The entered username and password were correct!" PHP cũng hỗ trợ một số tính năng khác cho phương thức Logic này:  Operand Name Sample Description AND And $var AND $var2 Is true if both values are true. OR Or $var OR $var2 Is true if either value is true. XOR Xor $var XOR $var2 Is true if either value is true, but not both. && And $var && $var2 Is true if both values are true. || Or $var || $var2 Is true if either value is true. ! Not !$var Is true if the value is not true (ex. if the variable doesnt exist). f) Phương thức ưu tiên: Xem ví dụ sau : $x = 9 + 1 * 10 Bởi vì chúng thực hiện phép tính từ trái sang phải nên bạn phải giả định $x=100 (9 cộng 1 nhân 10= 100). Tuy nhiên vì thứ tự ưu tiên nên có thể bạn đã sai. Phép nhân thường được ưu tiên trứơc phép cộng vì thế phải thực hiện như sau: (1 nhân 10 cộng 9 =19). Các phương thức yêu tiên tương tự cũng được ứng dụng trong chương trình PHP. Hãy xem biểu đồ dưới đây đê xem các thứ tự phép tính. Các phép tính được liệt kê cùng một hàng được ưu tiên như nhau:  Thứ tự ưu tiên cao  nhất * / % + - . >= && || And Xor Thứ tự ưu tiên thấp nhất or Bạn cũng có thể dùng ngoặc đơn cho phép tình được ưu tiên thực hiện trước:  $x = (9 + 1) * 10 Như vậy là phép tính trong ngoặc đựơc thực hiện trứơc và kết quả =100 2.1.4. Cấu trúc điều khiển Trong ngôn ngữ PHP có hai loại hình cơ bản để điều khiển cấu trúc: Ngôn ngữ điều kiện và điều khiển theo một vòng khép kín. Ngôn ngữ điều kiện: Có thể giúp bạn chia nhỏ các phần khác nhau trong một ngôn ngữ lập trình phụ thuộc vào đó là một hay nhiểu điều kiện, xác định đúng hay sai. Nói một cách đơn giản nó cho phép bạn thử nghiệm và điều hành những thao tác khác nhau dựa vào kết quả a) Câu lệnh Nếu ( If statement): Xem ví dụ sau : Ví dụ này biểu thị một cách đơn giản nhất của một câu lệnh. Các câu lệnh luôn bắt đầu bằng chữ "If" theo sau là các điều kiện được đặt trong ngoặc đơn. Nếu câu lệnh điều kiện được công nhận là đúng thì sau đó các câu lệnh kèm theo điều kiện sẽ được chấp nhận. Trong trường hợp này nếu điều kiện là sai thì không thể thực hiện được gì và bạn sẽ thấy một cửa sổ Browser trống rỗng khi chạy chương trình ngôn ngữ lập trình. Nếu có hơn một câu lệnh được thực hiện trong cách điều khiển cấu trúc thì phải cho chúng vào trong ngoặc {} Nên nhớ rằng  vị trí của các yếu tố không ảnh hưởng tới việc thực hiện của ngôn ngữ lập trình. Các ví dụ được sắp xếp dưới đây rất hoàn thiện không chỉ trong các câu lệnh mà con ở tất cả hình thức điều khiển theo một chu kì kín if ($x == 1) print '$x is equal to 1'; if ($x == 1)    print '$x is equal to 1'; if ($x == 1) { print '$x is equal to 1'; } if ($x == 1) {    print '$x is equal to 1'; } Với sự rõ ràng này các nhà lập trình lựa chọn việc sử dụng cách viết lùi vào và ngoặc "{ }" thậm chí cả một dòng mã. Tuy nhiên người ta vẫn thường ưa dùng mã số riêng.  Bạn cũng có thể để tất cả điều kiện trong ngoặc đơn, để thực hiện tất cả  các điều kiện thì đòi hỏi tất cả các điều kiện phải đúng. Các câu lệnh khác (Else Statement): Như tên của nó bạn có thể thực hiện thêm một số chức năng khác nếu điều kiện bên trong 1 (If Statement) được xác định là sai: b) Câu lệnh Else if Statement: Đến nay chúng ta vẫn có thể thực hiện một lệnh mà điều kiện không đúng. Nhưng còn nhiều điều kiện thì sao? Bạn có thể sử dụng một loạt câu lệnh If Statement để thử nghiệm  tính khả thi của mỗi điều kiện, nhưng trong một số  trường hợp thì lựa chọn đó không thích hợp vậy bạn phải dùng tới Else if Statement Sự kết hợp giữa If, Else Statement và Else if Statement được thực hiện liên tiếp nếu điều kiện trong If Statemnet là sai. Khi điều kiện trong một Else if Statement được xác định là đúng thì các lện sẽ được thực hiện. Ngôn ngữ lập trình sẽ ngừng thực hiện toàn bộ If | Else if| Else Statement. Phần còn lại của ngôn ngữ  lập trình sẽ tiếp tục thực hiện . Xem ví dụ sau :  Phần cuối  còn lại của câu lệnh sẽ bị loại bỏ  nếu bạn không muốn thực hiện vì If hoặc Else If là đúng  Trong trường hợp này ko có điều kiện của If hoặc Else if statement là đúng và Else statement không được cung cấp dẫn tới không có kết quả của Browser. c) Sự thay đổi : Trong những tình huống này sự thay đổi là lựa chọn tốt nhất đối với If | Else if| Else Statement để kiểm tra có nhiều giá trị chống lại 1 đièu kiên thay đổi hay không. Đây là dạng câu lệnh cơ bản: Sau khi chạy từng phần mã hầu hết sẽ nên có nghĩa đối với bạn. Ở dòng đầu tiên của câu lệnh chúng ta thấy có sự thay đổi đồng nhất hơn được thực hiện trong ngoặc đơn. Mỗi trường hợp có thể có những giá trị thay đổi được. Những thay đổi được thực hiện từng phần nhỏ trên If/Else if/Else statements. Mỗi trường hợp giá trị phải khớp với giá trị thay đổi, mỗi câu lệnh được thực hiện gồm các trường hợp khác. Để tránh trường hợp này xảy ra người ta sử dụng 1 câu lệnh khác "Break;". Kết thúc việc thực hiện thay đổi câu lệnh và để cho ngôn ngữ lập trình tiếp tục thực hiện, nó cũng thực hiện một vòng khép kín. Bạn cũng có thể tùy ý sử dụng trường hợp đặc biệt gọi là "default" (thao tác cài đặt trước). Trường hợp này thao tác giống như Else Statement, và thực hiện nếu các trường hợp khác là sai.   Giống như Break Statement là Exit Statement. Lối ra thường được sử dụng trong các tình huống mà bạn chạy chương trình gặp lỗi nặng (fatal error) (Ví dụ như user đăng nhập sai pass) hoặc bất kì lúc nào bạn cần kết thúc thực hiện ngôn ngữ lập trình trước khi nó tự động chấm dứt: Không giống như break, exit có thể được sử dụng ở bất cứ đâu trong ngôn ngữ lập trình của bạn, trong và ngoài điều khiển cấu trúc. d) Ba bước của một cơ chế vận hành: Mặc dù theo thuật ngữ kĩ thuật một cơ chế vận hành không phải là  một cấu trúc điều khiển gồm ba phần, biểu hiện bằng dấu "?" có thể sử dụng với If/Else Statements. Nó cũng có thể được sử dụng trong những trường hợp mà bạn muốn thực hiện độc lập phụ thuộc vào điều kiện nào đúng hay sai. Điều kiện phải được đặt trong  ngoặc đơn đầu tiên. Nếu thực hiện được thì phần lệnh trong ngoặc đơn thứ hai cũng sẽ thự hiện. Nếu không phần lệnh trong ngoặc đơn thứ 3 sẽ thự hiện (condition) ? (executes if the condition is true) : (executes if the condition is false); e) Điều khiển theo chu kì: Trong PHP thường có những trường hợp cá biệt mà bạn cần thực hiện lại nhiệm vụ, như nhận dữ liệu từ các cơ sở dữ liệu, gửi e-mail vào danh sách mail hoặc xem lại nội dung  của bài viết. Điều khiển theo chu kì sẽ cho phép bạn thực hiện những nhiệm vụ này một cách hiệu quả. + While Loops (Chu kì thời gian): Đây là những hình thức đơn giản nhất của chu kì ";    $x++; } ?> Khi bạn chạy chương trình này bạn sẽ thấy các số từ 1 đến 10 hiện trên màn hình của bạn. Hãy xem mã, trong nhiều trường hợp nó rất giống với If statement. Trước hết đó là thời gian đồng nhất kèm theo điều kiện trong ngoặc đơn. Các lệnh trong một chu kì sẽ được thực hiện miễn là điều kiện trong ngoặc đơn được xác định là đúng. Khi điều kiện có giá trị được kiểm tra trước khi chu kì đó được thực hiện, nếu điều kiện sai thì các lệnh trong chu kì đó không thể thực hiện được. + Do...While Loops (Thực hiện chu kì thời gian): Do...While Loops có quan hệ với While Loops: "; $x++; } while ($x Điểm khác nhau cơ bản là cách thực hiện, giá trị của điều kiện trong Do...While Loop được thử nghiệm sau khi lịch trình hoạt động. Điều này có nghĩa trong các ví dụ trên $x đã cho ra kết quả một lần, sau đó khi việc thực hiện chu kì kết thúc thì $x lớn hơn 10 + For Loops (Đối với chu kì)   "; } ?> Trên đây là một ví dụ của một chu kì. For Loops rất giống với While Loops nhưng sử dụng thuận tiện hơn trong nhiều trường hợp. Chúng cũng là những chu kì phức tạp nhất trong PHP. Vay mựơn phần cú pháp và chức năng từ chương trình C. Nếu như bạn đoán được đoạn trích ở trên cho ra một một kết quả như ví dụ 1 của while loop, có thể bạn đã đúng. Hãy xem xét tại sao nó lai vận hành như thế. Trong dấu ngoặc đơn For Loops thực hiện 3 điều kiện ngăn cách bởi dấu ";". Điều kiện thứ nhất chỉ được thực hiện 1 lần khi chu kì bắt đầu. Trong trường hợp này $x có giá trị bằng 0.  Điều kiện tiếp theo là điều kiện được kiểm tra mỗi lần khi chu kì  hoạt động. Mỗi lần điều kiện sai chu kì sẽ ngừng thực hiện. Cũng giống như While Loops, nếu trong lần vận hành đầu tiên mà điều kiện sai thì không có lệnh nào trong chu kì được thực hiện. Điều kiện cuối cùng sẽ được thực hiện khi chu kì hoạt động sau khi các lệnh được thực hiện. Nên nhớ là không có dấu ";" sau điều kiện cuối cùng. Như bạn đã biết, For Loops thực hiện những chức năng tương tự như While Loops nhưng hiệu quả hơn. Nói cách khác đó là cách tốt nhất để sử dụng For Loops, những trương hợp mà bạn biết yếu tố nào là quan trọng để bạn thực hiện. 2.1.5. Lưu giữ những thông tin cần thiết 2.1.5.1. Cú pháp cơ bản - Basic Syntax Bắt đầu kết thúc chặn mã PHP Hãy nhìn vào ví dụ ngôn ngữ lập trình đưới đây : Testing PHP Ở ví dụ này  PHP được nối trực tiếp vào dữ liệu của HTML. Bởi vì PHP và HTML có thể tương thích với nhau như thế nên hầu hết việc chặn mã PHP phải được bao bọc bởi các thành tố đầu và cuối. Những thành tố này cho phép PHP có thể nhìn thấy phần nào của trang Web cần được phân tích và phần nào có thể bỏ qua. PHP được nhân dạng dưới 4 dạng phiên bản : 1. 2. print "hello there!"; 3. 4. Hai phiên bản đầu tiên được hỗ trợ, bởi PHP được cài đặt sẵn tuy nhiên hiếm khi bạn thấy phiên bản thứ hai  được sử dụng trong bất kỳ ngôn ngữ lập trình nào. Nói một cách ngắn gọn và có tính xây dựng thì phiên bản một là được ưa chuộng nhất. Các phiên bản còn lại thì vẫn được dùng nhưng không phổ biến. Bạn cũng nên chú ý rằng hầu hết các dòng mã của PHP đều được kết thúc bằng dấu chấm phẩy ";". Dấu chấm phẩy cho biết khi vận hành PHP nếu một câu lệnh kết thúc nó có thể tiến hành câu lệnh tiếp theo. Ngoặc đóng ">" PHP sau khi câu lệnh kết thúc cũng có tác dụng tương tự như ";" Giống như HTML PHP cho phép bạn có nhận xét về phác thảo các dữ liệu và có 3 cách sau : 1. // This comments out a single line. 2. print "Hi there"; #this is also a single line comment. 3. /* This is used to comment    out multiple lines */ Thông tin về việc chặn mã sẽ chỉ ra chức năng để tiết kiệm thời gian khi bạn trở lại với công việc sau khi quên các chi tiết. 2.1.5.2. Xây dựng việc chặn PHP và thay đổi - PHP Building Blocks - Variables Trong PHP có rất nhiếu những thay đổi trong các bit đơn vị thông tin và dữ liệu. Chúng được biểu thị bằng một đơn vị Dollar "$" và có thể được đặt tên bắt đầu bằng một chữ số hoặc một dấu gạch chân "_". Các tên cũng có thể chỉ gồm các chữ cái, chữ số hoặc gạch chân, đó là những trường hợp đặc biệt: Như ví dụ dưới đây và bạn hãy vận hành nó trên máy chủ của mình Khi vận hành, bạn sẽ nhìn thấy dòng chữ "Hello there" trong Browser. Nhìn vào ngôn ngữ lập trình và nhận biết. Chúng tôi bắt đầu bằng một sự thay đổi gọi là $var và thực hiện một chuỗi: "Hello there" theo sau dấu bằng "=". Trong dòng tiếp theo của ngôn ngữ lập trình chúng tôi sử dụng lệnh  print để cung cấp kết quả giá trị $var. Nếu bạn đang cô gắng dùng PHP sau khi dùng các chương trình ngôn ngữ khác như C, nên nhớ là bạn không cần phải thông báo những thay đổi trước khi sử dụng chúng. Thay đổi trong PHP sẽ tự động chuyển để vận hành chúng. Ví dụ: Cũng giống như ngôn ngữ lập trình trước đã tạo ra một thay đổi, lần này thực hiện một phép tính bằng chữ số thay vì bằng chữ và nó tạo ra thay đổi thứ 2. Ở dòng thứ 3 thêm vào và thực hiện phép cộng gọi là $sum. Vì $var1 và $var2 là những chữ số, bất kì phép toán nào đều có thể ứng dụng. 2.1.4.3 Chặn PHP và các dạng dữ liệu - PHP Building Blocks - Data Types Trong PHP, mỗi dữ liệu đều được thay đổi từ dạng này sang dạng khác, các dạng ta hay gặp ở PHP đó là: Strings, Arrays, Integers, Floating Point Numbers, and Objects. Bây giờ chúng ta  sẽ đè cập đến String và Integers và cả hai đều được sử dụng trong ngôn ngữ lập trình mới nhất. + Strings: Trong PHP, a String đơn thuần được định nghĩa là một chuỗi các ký tự. Chúng chứa các chữ cái, kí tự ASCII, chữ số và thậm chí là những thay đổi khác. Khi thực hiện một String đối với thay đổi hoặc đưa ra kết quả đối với Browser, bạn phải đánh dấu nơi bắt đầu và kết thúc của chúng. Có hai cách chung nhất thường làm: 1. Single Quotes: $var = 'Hi there'; print 'Hi there'; 2. Double Quotes: $var = "Hi there"; print "Hi there"; Mặc dù hai cách này tương tự nhau nhưng chúng cũng khác nhau một chút trong cách vận hành, hãy xem script sau: <?php $var = "This is a"; print "$var test"; print '$var test'; ?> Dựa vào những gì bạn biết về PHP  bạn có thể nhận thấy cả hai dòng đều trở thành "This is a test", nhưng hãy xem kết quả: This is a test $var test Điểm khác nhay cơ bản giữa dấu đơn và dấu ngoặc kép là nội dung ,và trong dấu ngoặc đơn được giữ nguyên. Nếu có thay đỏ gì chúng sẽ bị dịch sai nghĩa.  print $var . ' test'; Khi kết quả của các chuỗi cần được đưa vào trong ngoặc ,đây là kết quả có giá trị. Người ta gọi đó là cách vận hành tương thích, quá trình vận hành được quyền viết thêm điều kiện ở phía trái "gluing" gắn kết chúng lại với nhau rồi cho ra kết quả. Trong nhiều trường hợp bạn muốn viết một chuỗi có chứa dấu ngoặc kép, khi thực hiện nếu dấu ngoặc này giống những dấu mà bạn sử dụng để đánh dấu mội chuỗi nó phải được ngăn cách bởi kí tự "\". Việc 1 kí tự cho ngôn ngữ PHP biết được bạn muốn nó có phải có ý nghĩa rõ ràng.  $var = "I'm a string"; -- this is acceptable because you are using a single quotation mark within double ones. No escape character is needed here. $var = 'I'm a string'; -- This would give an error because PHP sees the second single quotation mark as the end of the string, and the rest of the text following it as garbage that it can't understand. $var = "I\'m a string"; -- This is the correct way to escape a quotation mark. + Số nguyên – Integers: Trong toán học tất cả các số, số âm hay số dương số 0 không được coi là những số thập phân. Khi bạn muốn thay đổi một số nguyên bạn không được dùng dấu ngoặc kép:   $var = 1; -- this is an integer $var = 0; -- this is an integer $var = "1"; -- this is a string. + Dạng sắp xếp - Type Juggling: Một trong những yếu tố làm cho PHP dễ sử dụng là tính linh hoạt trong cách sắp xếp. Khi bạn muốn thay đổi 1 yếu tố mới PHP sẽ tự động quyết định thay đổi theo dạng nào dựa vào dữ liệu mà bạn ấn định. Vì thế nếu tiến hành một chuỗi thay đổi thay đổi đó trở thành một chuỗi. Tương tự khi thay đổi một chức năng hay một số nguyên thì thay đổi sẽ trở thành dạng tương ứng Sau khi thực hiện một thay đổi có thể thay đổi dạng dựa vào điều kiện sử dụng: $var = "1"; -- $var là một chuỗi $var= $var + 1; -- $var là một giá trị của $var tăng thêm 1 và trở thành số nguyên Ở ví dụ trên $var chuyển từ một chuỗi thành một số nguyên vì chức năng hoạt động của các số được ứng dụng, nó gọi là "String Conversion". Nếu một chuỗi bắt đầu bằng các chữ số và bao gồm cả chữ viết, PHP sẽ sử dụng phần đầu là các dãy chữ số và không sử dụng phần chữ viết. Nếu một chuỗi không bắt đầu bằng chữ số, PHP sẽ giả định $var=0 để thực hiện. Kết quả cuối cùng của $var=1 chứ không phải =2. Nếu bạn muốn xem cách thực hiện như thế nào hãy chạy thử chương trình sau: ";   $var = "123 Texttexttext"; $var = $var +1; print "$var"; $var = "Hi there!"; $var = $var +1; print $var; ?> Ở ngôn ngữ lập trình này những thay đổi của chuỗi được chuyển thành những thay đổi của số nguyên vì một giá trị số nguyên được thêm vào nhưng không phải bao giờ nó cũng thực hiện như thế. $var = "33"; $newvariable = $var + 1; $newvariable là một số nguyên nhưng $var vẫn là một chuỗi vì kết quả được thêm vào 1 thay đổi. Thậm chí thay đổi ban đầu vẫn được giữ nguyên dạng và được xem là "String conversation". Trong quá trình gọi là Type Casting bạn có thể buộc PHP thực hiện 1 thay đổi ở dạng này hay dạng khác: $var = (int) "4"; -- $var là một số nguyên và được bỏ trong ngoặc kép theo nhu bạn định nghĩa . Bạn cũng có thể thay đổi chi tiết dạng của nó sau khi thực hiện bằng cách sử dụng chức năng Settype: $var = (int) "4"; $var = settype($var, float); -- $var trở thành một thay đổi 2.1.6. Các kiểu dữ liệu a) Kiểu số: Trong kiểu số có 2 kiểu cơ bản khác: Số nguyên (int) và số thực (float). Số nguyên có thể biểu diễn bằng số thập phân (hệ 10 - decimal), hệ 8 (octal) và hệ 16 (hexadecimal). + Số nguyên: Được khai báo và sử dụng dữ liệu giống như C VD : $a==1234,$a=-1234 + Số thực: VD : $a-1,234,$b=-1.2e5 Chú ý: khi sử dụng các số thực tế để tính toán, có thể làm mất giá trị của nó. Vì vậy, nên sử dụng các hàm toán học trong thư viện chuẩn để tính toán. b) Xâu Có 2 cách để xác định một xâu : Đặt giữa 2 dấu nháy kép(“”) hoặc giữa 2 daaus nháy đơn(‘’). Chú ý là các biến giá trị sẽ không được khai triển trong xâu giữa 2 dấu ngoặc đơn. c) Mảng Mảng thực chất là gồm hai bảng: bảng chỉ số và bảng liên kết + Mảng một chiều : có thể dùng hàm list() , array()để liệt kê các giá trị của từng phần tử trong mảng để tạo mảng. Có thể thêm các giá trị vào mảng để tạo thành một mảng àdùng như trong C. Có dùng các hàm asort(), ksort(), rsort(), sort(),…để xắp xếp các mảng. Tuỳ vào việc sắp xếp theo kiểu gì? + Mảng nhiều chiều : Tương tự như trong C, có thể dùng như sau : VD: $a[1]=$f; $a[“f00”]=$f PHP không yêu cầu phải khai báo trước các kiểu dữ liệu cho biến cho biến, kiểu giữ liệu của biến xẽ phụ thuộc vào kiểu giữ liệu bạn gán cho nó. e) Biến – giá trị Biến trong PHP bắt đầu bằng dấu dollar ($), theo sau là tên biến. Tên biến có thể bắt đầu bằng dấu gạch dưới (_ gọi là underscore) hoặc chữ cái. Tiếp sau đó là các chữ cái, số hoặc lại là dấu gạch dưới. Một số ví dụ về biến đúng: $uds, $update_softs. Biến sai: abc vì thiếu dấu dollar, $124adfd vì bắt đầu bằng số. 2.1.7. Cài đặt và cấu hình PHP Download PHP tại php. net/downloads. php, giải nén (ví dụ C:\PHP) 2. 2. Giới thiệu về MySQL 2.2.1. MySQL là gì? MySQL là một database Server, là hệ thống quản lý cơ sở dữ liệu quan hệ. Trong việc lưu trữ, tìm kiếm, sắp xếp và truy vấn dữ liệu, nó tỏ ra rất nhanh và mạnh mẽ. MySQL Server điều khiển truy cập dữ liệu đa người dùng cùng một thời điểm, cung cấp khả năng truy cập dữ liệu nhanh, đảm bảo cho người sử dụng được cấp quyền truy cập dữ liệu của hệ thống. Do vậy MySQL là đa người dùng đa luồng. Nó sử dụng các câu lệnh truy vấn SQL (ngôn ngữ truy vấn có cấu trúc) là một chuẩn ngôn ngữ truy vấn cơ sở dữ liệu hiện nay trên Web. MySQL được chính thức sử dụng rộng rãi năm 1996 nhưng nó đã hình thành từ năm 1979. MySQL có thể quản lý tới hàng Terabyte dữ liệu, hàng triệu bản ghi, chạy trên nhiều môi trường khác nhau, có giao diện tương đối dễ sử dụng, có thể truy vấn cơ sở dữ liệu thông qua câu lệnh SQL. MySQL thường được sử dụng chung với PHP trong những trang Web cần sử dụng đến cơ sở dữ liệu 2.2.2. Cài đặt MySQL Download MySQL từ địa chỉ mysql. com/download/, giải nén và tiến hành cài đặt, phải thiết lập username (ở đây là admin) và Database Server (ở đây là localhost) 2.2.3. Sơ lược MySQL Các cơ sở dữ liệu trong MySQL được tạo hoàn toàn bằng lệnh. Các lệnh trong SQL được kết thúc bởi dấu chấm phẩy (;). Trừ một số lệnh như Quit là trường hợp đặc biệt. Khi thực hiện lệnh, MySQL chuyển nó đến Server và yêu cầu thực hiện lệnh. Do đó “mysql>” ở cuối cùng khi bấm enter thực hiện lệnh báo hiệu yêu cầu đã được thực hiện. MySQL đưa ra kết quả dưới dạng 1 bảng gồm các cột và hàng. MySQL cũng đưa ra bao nhiêu hàng được trả về và trong vòng bao nhiêu giây. Ngoài ra MySQL cũng thể hiện được những phép tính đơn giản. Các lệnh trong MySQL có thể viết trên một hàng, hoặc nhiều hàng. MySQL có 4 loại dấu nhắc. Sau đây là ý nghĩa của các dấu nhắc: Prompt: ý nghĩa Mysql>: sẵn sàng cho một lệnh mới _>: chờ cho hàng kế tiếp của một lệnh có nhiều hàng ‘>: chờ cho hàng kế tiếp thực hiện bởi 1 chuỗi trong dấu nháy đơn “>: chờ cho hàng kế tiếp thực hiện bởi một chuỗi trong dấu nháy 2.2.4. Các lệnh cơ bản trong MySQL SHOW DATABASE; // Liệt kê tất cả các database có trên Server USE TÊN DATABASE; // Lựa chọn sử dụng database, nếu database có trên Server, máy sẽ báo là database changed CREAT DATABASE TÊN DATABASE; // Tạo database mới SHOW TABLES; // Liệt kê các bảng cho database CREAT TABLE TÊN TABALE; // Tạo bảng cho database. DESCRIBE TÊN TABLAE; // Mô tả bảng đã tạo. INSERT INTO TÊN TABLE [ COLUMN 1, COLUMN 2, .... ] VALUES (VALUE 1, VALUE 2, ... ); // Đưa dữ liệu vào bảng. SELECT items FROM tables [ WHERE điều kiện ] [ GROUP BY group_type ] [ HAVING where_definition ] [ ORDER BY order_type] [ LIMIT limit_criteria ] // Truy vấn cơ sở dữ liệu trong các bảng. LOAD DATA INFILE “TÊN FILE. EXCEPTION” INTO TABLE TÊN TABLE; // Nhập dữ liệu vào bảng từ trình soạn thảo văn bản khác. DELETE FROM table [ WHERE condition ] [ LIMIT number] // Xóa dữ liệu trong bảng UPDATE tablename SET column1 = expression1, column2 = expression2, .... [ WHERE condition ] [ LIMIT number ] ALTER TABLE tên table RENAME tên table mới // Thay đổi tên bảng ALTER TABLE table_name ADD COLUMN column_name column atributes. // Thêm cột vào bảng. ALTER TABLE table_name DROP column_name // Xóa cột trong bảng Chương 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1. Đặt vấn đề Cùng với sự bùng nổ của công nghệ thông tin toàn cầu, thì việc áp dụng thực tiễn vào cuộc sống đã tạo ra một bước đột phá trong công việc quản lý dữ liệu, và bản đồ. Với việc phát triển không ngừng của các ngôn ngữ lập trình Javascript và PHP, … đã giúp các nhà quản lý thông tin nâng cao tính hiệu quả của việc quản lý thông tin một cách chính xác, nhanh và hiệu quả, nâng cao chất lượng quản lý. Trong thực tiễn thuê thiết bị trên mạng, đã đem lại hiệu quả thực tiễn cao, đáp ứng được nhu cầu sử dụng của mọi người. 3.2. Mô tả bài toán Khi khách hàng có nhu cầu cần mua thiết bị máy tính tại công ty, công ty sẽ tiến hành giới thiệu các thiết bị cho khách hàng bằng cách: + Công ty sẽ gửi fax báo giá các thiết bị mà khách hàng có nhu cầu cần mua và hồ sơ các thiết bị mà công ty bán. + Đối với khách hàng vãng lai đến công ty mua thiết bị máy tính thì bộ phận kinh doanh sẽ đưa hồ sơ thiết bị cho bán và báo giá, đồng thời sẽ là người đảm nhận việc giới thiệu thông tin cho khách hàng biết về sản phẩm mà họ cần mua. Khi khách hàng đồng ý sẽ lập hợp đồng mua thiết bị gửi công ty. Bộ phận kinh doanh sẽ tiếp nhận hợp đồng mua thiết bị của khách hàng, đồng thời gửi yêu cầu mua thiết bị của khách cho bộ phận thủ kho biết. Khi đó thủ kho sẽ kiểm tra xem trong kho có còn thiết bị cần hay không, có đủ đáp ứng lượng thiết bị mà khách hàng cần mua không. + Nếu đáp ứng đủ lượng thiết bị trong hợp đồng mua, thủ kho sẽ lập phiếu xuất kho và xuất thiết bị khỏi kho. Sau đó bộ phận thủ kho gửi phiếu xuất này cho bộ phận kế toán để bộ phận này viết phiếu thu và tiến hành thu tiền đặt trước của khách hàng. Khi đó căn cứ vào phiếu thu thì bộ phận kinh doanh sẽ giao thiết bị cho khách. + Nếu không đáp ứng đủ, bộ phận kinh doanh sẽ thông báo cho khách hàng. Nếu khách hàng đồng ý mua với số lượng thiết bị còn trong kho thì nhân viên của công ty sẽ tiếp tục công việc của mình. Sau mỗi ngày thì ban lãnh đạo công ty yêu cầu báo cáo về tình kinh doanh buôn bán của công ty. 3.3. Xây dựng mô hình chức năng 3.3.1. Sơ đồ ngữ cảnh Hệ thống bán hàng có các tác nhân ngoài là Nhà cung cấp, các Khách hàng, Ngân hàng và những Ban lãnh đạo của công ty. Ta có thể mô tả sơ đồ ngữ cảnh hệ thống như hình vẽ. Hình 3.1: Biểu đồ ngữ cảnh hệ thống 0 Hệ thống quản lý xuất nhập và bảo hành thiết bị máy tính Khách Hàng Nhà Cung Cấp Phiếu bảo hành, tb bảo hành Thông tin hàng hóa, khuyến mại Yêu cầu mua hàng Kiểm tra tt khách Thông tin khách Giao hàng, phiếu bh Thanh toán, nợ, hạn Phiếu thanh toán Tìm kiếm Thanh toán Thông tin về hàng, thời gian Hình thức thanh toán,vận chuyển Đơn đặt hàng Ban lãnh đạo Thông tin xác nhận Yêu cầu thông kê, báo cáo Báo cáo Ngân Hàng Kiểm tra tk nhà CC, KH Thông tin tk nhà CC, KH Tình trạng tb, phiếu biên nhận Thông báo hàng hóa, báo giá Thông tin xác nhận Chuyển khoản hay ủy quyền chuyển khoản Yêu cầu danh sách hàng Phiếu thanh toán Chào hàng mới 3.3.2. Mô hình chức năng của hệ thống 3.3.2.1. Sơ đồ chức năng hệ thống HỆ THỐNG QUẢN LÝ KINH DOANH CỦA CÔNG TY 1.0 NHẬP HÀNG 2.0 XUẤT HÀNG 3.0 BẢO HÀNH 4.0 BÁO CÁO 5.0 QUẢN TRỊ HỆ THỐNG Hình 3.2: Sơ đồ chức năng hệ thống 3.3.2.2. Mô tả các chức năng chính a) Quy trình nhập thiết bị máy tính: Bộ phận kinh doanh căn cứ vào nhu cầu mua hàng của khách hàng, số lượng hàng hoá tồn tối thiểu, số lượng hàng hoá tồn tối đa trong kho và danh sách các mặt hàng hiện có của cửa hàng để lập đơn đặt hàng. Trong đơn đặt hàng có đầy đủ thông tin về danh sách và số lượng các mặt hàng cần nhập về. Bộ phận kinh doanh sẽ trình đơn đặt hàng lên ban giám đốc ký duyệt. Nếu đơn đặt hàng đã được ban giám đốc ký duyệt thì bộ phận kinh doanh sẽ gửi đơn đặt hàng tới nhà cung cấp. Nếu được nhà cung cấp chấp thuận cung cấp hàng, khi hàng về bộ phận kinh doanh sẽ lập phiếu nhập hàng và nhận hàng đưa về kho. b) Quy trình xuất thiết bị máy tính: Chức năng này thực hiện việc quản lý các mặt hàng và kiểm soát quá trình mua hàng của khách hàng. Thực hiện quá trình giao dịch mua hàng khi khách hàng có nhu cầu mua hàng tại trang Web hoặc trực tiếp tại công ty. Ngoài ra, sẽ xuất hoá đơn mua hàng ứng với từng khách hàng. Sau khi khách hàng đặt hàng công ty sẽ gửi cho khách Email hoặc gọi điện để xác nhận việc mua hàng của khách hàng nếu khách hàng xác nhận đúng sẽ tiến hành việc lập hoá đơn xuất hàng. Việc gửi hàng cho khách chỉ được thực hiện khi khách hàng đã thanh toán cho công ty theo hai hình thức là thanh toán qua tài khoản của công ty hoặc gửi tiền qua đường bưu điện tới địa chỉ của công ty. c) Quy trình bảo hành thiết bị máy tính: Khách hàng khi có một thiết bị bị hỏng hóc có thể truy cập trang web bảo hành thiết bị máy tính này tìm đến thông tin sản phẩm của mình và cách sửa chữa của nó. Trong trường hợp đã thử mọi cách đều không sửa được khách hàng sẽ gửi một yêu cầu bảo hành tới công ty. Công ty nhận yêu cầu bảo hành, kiểm tra thông tin khách hàng, thiết bị. Nếu không đủ điều kiện thì từ chối bảo hành. Còn ngược lại thì tạo phiếu bảo hành và sẽ nhận thiết bị qua 3 cách: * Cách 1: Công ty tới tận nơi và khách hàng chịu một phí dịch vụ vận chuyển. * Cách 2: Khách hàng tự mang sản phẩm tới công ty (nếu khách hàng ở gần). * Cách 3: Khách hàng gửi qua đường bưu điện (nếu khách hàng ở xa). Sau một khoảng thời gian đã hẹn, khách hàng vào web xem thông tin thiết bị đã được bảo hành chưa. Nếu chưa thì có thể chờ thêm, hoặc khách hàng sẽ yêu cầu công ty trả thiết bị theo 3 cách như trên. d) Quy trình quảng cáo: Giới thiệu về các sản phẩm mới nhất, các chương trình khuyến mại của công ty, cũng như các dịch vụ của công ty. e) Quản trị hệ thống: Chức năng này thực hiện việc tạo thêm người dùng, cấp quyền cho các người quản trị khi truy nhập vào phần quản trị. 3.3.3. Các sơ đồ chi tiết a. Sơ đồ phân rã của chức năng quản lý nhập hàng. 1.1 Lập đơn đặt hàng 1.2 Theo dõi hàng về 1.3 Lập phiếu nhập kho 1.0 NHẬP HÀNG 1.4 Lập phiếu chi Hình 3.2: Sơ đồ phân rã của chức năng quản lý nhập hàng Mô tả: Chức năng này thực hiện các công việc: Lập đơn đặt hàng: Dựa theo tình hình kinh doanh, danh sách các thiết bị và báo cáo lượng hàng tồn kho mà nhân viên bộ phận kinh doanh sẽ lập đơn đặt hàng trình giám đốc phê duyệt. Khi giám đốc phê duyệt thì bộ phận kinh doanh sẽ gửi đơn đặt hàng cho nhà cung cấp yêu cầu nhập thiết bị. Theo dõi hàng về: Khi hàng được gửi tới công ty, nhân viên phòng kinh doanh sẽ đối chiếu với đơn đặt hàng để kiểm tra các thiết bị về số lượng cũng như chủng loại. Nếu thiếu về số lượng hoặc sai về chủng loại thì công ty yêu cầu bổ sung hoặc thay thế cho đủ. Lập phiếu nhập kho: Sau khi bộ phận kinh doanh ký vào hoá đơn giao hàng. Từ đơn giao hàng, thủ kho sẽ cho nhập hàng vào kho rồi viết phiếu nhập kho cho kho đó. Lập phiếu chi: Sau khi thủ kho nhập thiết bị vào kho và viết phiếu nhập kho. Nhân viên phòng kinh doanh dựa trên phiếu nhập kho để lập phiếu chi thanh toán tiền với nhà cung cấp. b. Sơ đồ phân rã của chức năng quản lý xuất hàng. 2.3 Kiểm tra tt khách 2.4 Lập phiếu xuất kho 2.0 XUẤT HÀNG 2.6 Lập phiếu thu 2.2 Lập đơn mua hàng 2.5 Lập phiếu bảo hành 2.1 Yêu cầu xem hàng Hình 3.3: Sơ đồ phân rã của chức năng quản lý xuất hàng Mô tả: Yêu cầu xem hàng: Khi khách hàng muốn mua thiết bị của công ty có thể tìm kiếm hoặc có thể tra cứu thông tin về từng loại thiết bị. Lập đơn mua hàng: Khi khách hàng đã xem và muốn mua hàng của công ty thì phải lập đơn mua hàng. Kiểm tra thông tin khách: Sau khi khách hàng đặt hàng công ty sẽ gửi cho khách Email hoặc gọi điện để xác nhận việc mua hàng của khách hàng, có thể kiểm tra tài khoản của khách hàng nếu khách hàng xác nhận đúng sẽ tiến hành việc lập hoá đơn xuất hàng. Lập phiếu xuất kho: Sau khi tiếp nhận đơn đặt hàng của khách hàng, nhân viên phòng kinh doanh chuyển đơn đặt hàng cho thủ kho. Khi đó thủ kho sẽ kiểm tra xem mặt hàng đó có trong kho nào, có đủ đáp ứng lượng hàng mà khách hàng yêu cầu không? Sau khi kiểm tra xong, thủ kho cho xuất hàng và viết phiếu xuất kho. Phòng kinh doanh sẽ thỏa thuận với khách hàng hình giao hàng với các cách sau: * Cách 1: Công ty giao tới tận nơi và khách hàng chịu một phí dịch vụ vận chuyển. * Cách 2: Khách hàng tự đến lấy hàng tại công ty. * Cách 3: Công ty gửi qua đường bưu điện. Lập phiếu bảo hành: Trước khi giao hàng cho khách phòng kinh doanh sẽ viết phiếu bảo hành cho thiết bị đó Lập phiếu thu: Nhân viên phòng kinh doanh căn cứ vào sổ thu để kiểm tra nợ cũ của khách hàng, căn cứ vào phiếu xuất hàng để lập phiếu thu thu tiền của khách hàng. c. Sơ đồ phân rã của chức năng quản lý bảo hành thiết bị. 3.3 Lập phiếu bảo hành 3.2 Thông tin khách hàng, thiết bị bh 3.1 Yêu cầu bảo hành 3.0 BẢO HÀNH Hình 3.4: Sơ đồ phân rã của chức năng quản lý bảo hành thiết bi Mô tả: Yêu cầu bảo hành: Khách hàng khi có một thiết bị bị hỏng hóc có thể truy cập trang web bảo hành thiết bị máy tính này tìm đến thông tin sản phẩm của mình và cách sửa chữa của nó. Trong trường hợp đã thử mọi cách đều không sửa được khách hàng sẽ gửi một yêu cầu bảo hành tới công ty. Thông tin khách hàng, thiết bị bảo hành: Chức năng này cho phép nhân viên quản lý có thể xem các thông tin của khách hàng đăng ký bảo hành, và thông tin các thiết bị bảo hành. Lập phiếu bảo hành: Khi những thiết bị nào đủ điều kiện bảo hành thì nhân viên quản lý sẽ thông báo với khách hàng và thỏa thuận với khách hàng phương thức bảo hành. Sau khi khách hàng lựa chọn phương thức thì phòng kinh doanh tạo phiếu bảo hành phù hợp với phương thức bảo hành mà khách hàng đã lựa chọn. d. Sơ đồ phân rã của chức năng báo cáo: 4.3 Thống kê hàng bán chạy 4.2 Thống kê doanh thu 4.1 Thống kê hàng tồn 4.0 BÁO CÁO 4.4 Thống kê khách hàng Hình 3.5: Sơ đồ phân rã của chức năng báo cáo Mô tả: Thống kê hàng tồn: Hệ thống sẽ cho phép thống kê hàng tồn kho theo mỗi mặt hàng bằng số hàng ban đầu trừ đi số hàng đã bán và sẽ kiểm tra tồn kho thường xuyên để biết được tình hình bán hàng. Thống kê doanh thu: Theo thời gian bán hàng của mỗi mặt hàng thì hệ thống sẽ tính số tiền đã bán được trong thời gian đó là bao nhiêu. Thống kê hàng bán chạy: Dựa theo số lượng của mỗi mặt hàng hệ thống sẽ tính toán phần trăm số hàng của mỗi mặt hàng đã bán để biết được mặt hàng nào bán chạy. Thống kê khách hàng: hệ thống sẽ thống kê xem có bao nhiêu khách hàng đã mua sản phẩm của công ty. e. Sơ đồ phân rã chức năng quản trị hệ thống. 5.3 Thêm người quản trị 5.2 Đăng nhập 5.1 Đăng ký 5.0 Quản trị hệ thống 5.4 Thay đổi cấp quyền Hình 3.6: Sơ đồ phân rã chức năng quản trị hệ thống Mô tả: Đăng ký: Khi người dùng tham gia vào hệ thống muốn sử dụng hệ thống và muốn hệ thống cấp cho mình một tài khoản thì người quản trị cấp cho người dùng một acount thành viên. Đăng nhập: Khi đã là thành viên của hệ thống, người dùng thực hiện đăng nhập vào hệ thống tra cứu thông tin và có thể đóng góp ý kiến. Thêm người quản trị: Hệ thống cho phép tạo thêm một số người quản trị, họ chỉ có thể quản lý các chức năng do admin cấp theo 3 quyền: Full, ReadOnly, NoAccess Thay đổi cấp quyền: hệ thống cho phép việc thay đổi cấp quyền của các quản trị chỉ có người có quyền cao nhất mới có thể thay quyền cho người khác. 3.3.4. Sơ đồ chức năng hệ thống HỆ THỐNG QUẢN LÝ KINH DOANH CỦA CÔNG TY 1.1 Lập đơn đặt hàng 1.2 Theo dõi hàng về 1.3 Lập phiếu nhập kho 1.0 NHẬP HÀNG 1.4 Lập phiếu chi 2.3 Kiểm tra tt khách 2.4 Lập phiếu xuất kho 2.0 XUẤT HÀNG 2.6 Lập phiếu thu 2.2 Lập đơn mua hàng 2.5 Lập phiếu bảo hành 2.1 Yêu cầu xem hàng 3.3 Lập phiếu bảo hành 3.2 Thông tin khách hàng, thiế bị bh 3.1 Yêu cầu bảo hành 3.0 BẢO HÀNH 4.3 Thống kê hàng bán chạy 4.2 Thống kê doanh thu 4.1 Thống kê hàng tồn 4.0 BÁO CÁO 4.4 Thống kê khách hàng 5.3 Thêm người quản trị 5.2 Đăng nhập 5.1 Đăng ký 5.0 QUẢN TRỊ HỆ THỐNG 5.4 Thay đổi cấp quyền Hình 3.7: Hệ thống quản lý kinh doanh của công ty 3.3.5. Danh sách hồ sơ sử dụng Qua phân tích yêu cầu, ta thấy có những hồ sơ sau đây được sử dụng: D1. Danh mục nhà cung cấp, khách hàng D2. Danh mục hàng hóa vật tư D3. Hợp đồng mua bán thiết bị tin học D4. Phiếu nhập kho D5. Phiếu chi D6. Ủy nhiệm chi D7. Hóa đơn bán hàng D8. Thông tin khách hàng D9. Phiếu thu D10. Phiếu nhập kho D11. Sổ theo dõi nhập xuất hàng D12. Sổ thu chi D13. Phiếu bảo hành D14. Biên bản bảo trì – bảo dưỡng thiết bị D15. Báo cáo D16. Danh sách Username D17. Danh sách nhóm quyền 3.3.6. Ma trận thực thể chức năng Các thực thể D1.Danh sách nhà cung cấp, khách hàng D1 D2. Danh mục hàng hóa vật tư D2 D3. Hợp đồng mua bán thiết bị tin học D3 D4. Phiếu nhập kho D4 D5. Phiếu chi D5 D6.Ủy nhiệm chi D6 D7. Hóa đơn bán hàng D7 D8. Thông tin khách hàng D8 D9. Phiếu thu D9 D10. Phiếu xuất kho D10 D11. Sổ theo dõi nhập xuất hàng D11 D12. Sổ thu chi D12 D13. Phiếu bảo hành D13 D14.Biên bản bảo trì-bảo dưỡng thiết bị D14 D15.Báo cáo D15 D16. Danh sách Username D16 D17. Danh sách nhóm quyền D17 Các chức năng D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 1. Nhập hàng U U C C C C U U 2. Xuất hàng R C U C C U U C R 3. Bảo hành R R R R R U 4. Báo cáo R R R R R C 5. Quản trị hệ thống R U C Hình 3.8: Ma trận thực thể chức năng 3.4. Mô hình hóa hoạt động xử lý nghiệp vụ 3.4.1. Biểu đồ luồng dữ liệu mức 0 3.4.2. Biểu đồ luồng dữ liệu mức 1 3.4.2.1. Biểu đồ luồng dữ liệu “Quản lý nhập hàng” 1.1 Lập đơn đặt hàng 1.2 Theo dõi hàng về 1.4 Lập phiếu chi 1.3 Lập phiếu nhập kho Nhà cung cấp Y/c mua hàng T/t hàng D1 Danh mục nhà cung cấp-khách hàng. D2 Danh mục hàng hóa vật tư D4 Phiếu nhập kho D6 Ủy nhiệm chi Phiếu chi D5 D12 Sổ thu chi Phiếu thanh toán Thanh toán D3 Hợp đồng mua bán thiết bị tin học D4 Sổ theo dõi nx hàng Hình 3.10:Biểu đồ luồng dữ liệu “Quản lý nhập hàng” 3.4.2.2. Biểu đồ luồng dữ liệu “Quản lý xuất hàng” 2.1 Y/c xem hàng 2.2 Lập đơn mua hàng 2.4 Lập phiếu xuất kho 2.5 Lập phiếu bảo hành 2.6 Lập phiếu thu Khách hàng Y/c xem hàng Kết quả Lập đơn mua hàng Y/c mua hàng Kiểm tra t/t khách Kết quả Phiếu thanh toán Thanh toán D2 Danh mục hàng hóa vật tư D7 Hóa đơn bán hàng D14 Biên bản bảo trì-bảo dưỡng thiết bị D10 Phiếu xuất kho D13 Phiếu bảo hành D9 Phiếu thu 2.3 Kiểm tra t/t khách D8 Thông tin khách hàng D12 Sổ thu chi Hình 3.11:Biểu đồ luồng dữ liệu “Quản lý xuất hàng” 3.4.2.3. Biểu đồ luồng dữ liệu “Bảo hành” Hình 3.12:Biểu đồ luồng dữ liệu “Bảo hành” 3.1 Y/c bảo hành 3.1 T/t khách hàng, thiết bị bảo hành 3.1 Lập phiếu bảo hành Khách hàng Y/c bảo hành Y/c bảo hành T/t thiết bị Kết quả D2 Danh mục hàng hóa vật tư D8 Thông tin khách hàng D11 Sổ theo dõi nx hàng D3 Hợp đồng mua bán thiết bị tin học D14 Biên bản bảo trì-bảo dưỡng thiết bị D12 Sổ thu chi 3.4.2.4. Biểu đồ luồng dữ liệu “Báo cáo” Hình 3.13: Biểu đồ luồng dữ liệu “Báo cáo” 4.1 Thống kê hàng tồn Ban lãnh đạo 4.3 T/k hàng bán chạy 4.2 T/k doanh thu 4.4 T/k khách hàng B/c hàng tồn T/t hàng tồn B/c hàng bán chạy T/t hàng bán chạy T/t doanh thu B/c doanh thu B/c khách hàng T/t khách hàng D2 Danh mục hàng hóa vật tư D11 Sổ theo dõi nx hàng D12 Sổ thu chi D8 Thông tin khách hàng 5.1 Đăng ký 5.2 Đăng nhập 5.4 Thay đổi cấp quyền 5.3 Thêm người quản trị Ban lãnh đạo Đăng ký Kết quả Đăng nhập Kết quả đăng nhập Y/c thay đổi quyền Kết quả T/t user mới Kết quả D16 Danh sách Username D14 Danh sách nhóm quyền Thay đổi tt Kết quả thay đổi Khách hàng Hình 3.14: Biểu đồ luồng dữ liệu “Quản trị hệ thống” 3.4.2.5. Biểu đồ luồng dữ liệu “Quản trị hệ thống” 3.4.3. Xây dựng mô hình E-R 3.4.3.1. Xác định các thực thể và thuộc tính THIẾT BỊ: Mã TB, Tên TB, Đơn vị tính, Ngày sx, Nơi sản xuất, Ảnh, Mô tả hàng, Đơn giá. Trong đó Mã TB là thuộc tính khóa. KHÁCH HÀNG: Mã KH, Họ tên KH, Địa chỉ KH, Điện thoại KH, FaxKH, EmailKH, Tài khoảnHK. Trong đó MãKH là thuộc tính khóa. NHÀ CUNG CẤP: Mã NCC, Tên NCC, Đia chỉ NCC, Điện thoại NCC, TàikhoảnNCC, FaxNCC, EmailNCC, Website. Trong đó Mã NCC là thuộc tính khóa. KHO: Mã kho, Tên kho, Địa điểm kho, Chú thích.Trong đó Mã kho là thuộc tính khóa. USERNAME: Mã user,Uername,Password, Ngày lập. Trong đó Mã user là thuộc tính khóa. NHÓM QUYỀN: Mã nhóm quyền, Tên nhóm quyền. Trong đó Mã nhóm quyền là thuộc tính khóa. NHÂN VIÊN: Mã NV, Tên VN, Ngày sinh, Địa chỉ, Ngày nhận, ĐiệnthoạiNV, Chức vụ. Trong đó Mã NV là thuộc tính khóa. PHÒNG BAN: Mã PB, Tên PB, Chức năng, Mảng quản lý. Trong đó Mã PB là thuộc tính khóa. NGÂN HÀNG: Mã NH, Tên NH, Điên thoại NH. Trong đó Mã NH là thuộc tính khóa. 3.4.3.2. Các kiểu liên kết 1 Thuộc NHÓM QUYỀN USERNAME n 1 1 Đăng ký KHÁCH HÀNG USERNAME Thuộc PHÒNG BAN NHÂN VIÊN 1 n n 1 1 Thanh toán THIẾT BỊ KHÁCH HÀNG NHÂN VIÊN Bảo hành THIẾT BỊ KHÁCH HÀNG NHÂN VIÊN 1 n n n n 1 THIẾT BỊ KHÁCH HÀNG NHÂN VIÊN Bán Các kiểu liên kết NHÂN VIÊN THIẾT BỊ KHO Xuất 1 n n NHÀ CUNG CẤP NHÂN VIÊN THIẾT BỊ KHO Nhập 1 1 1 n NHÀ CUNG CẤP NHÂN VIÊN THIẾT BỊ Thanh toán 1 1 n 3.4.3.3. Mô hình E-R (Trang tiếp) Chức năng Tên PB Mã PB Thuộc PHÒNG BAN Địa chỉ KH Mã KH FaxKH Điện thoại KH EmailKH Tài khoảnHK Họ tên KH Mảng quản lý KHÁCH HÀNG Tên NH NGÂN HÀNG Đăng ký Ngày lập Ngày UN Số tiền UN Điện thoại NH Số phiếu Mã NH Ủy nhiệm chi Mã user USERNAME Đơn giá Số đơn bán Bán Uername Lý do UN Số lượng Password Số phiếu BH Ngày bán Tổng tiền Thuộc Bảo Hành NHÓM QUYỀN Thời hạn BH Ngày lập Ngày nhận Mã nhóm quyền Tên NV Ngày sinh Số tiền Số đơn bán Mã NV Ngày sx Thanhtoán Tên nhóm quyền Đơn giá NHÂN VIÊN Số chứng từKH Ngày thanh toán Tên TB Nơi sản xuất THIẾT BỊ Địa chỉ Chức vụ Điện thoạiNV Mô tả hàng Ảnh Số lượng Mã TB Số lượng xuất Thanhtoán Đơn vị tính Xuất Số tiền Ngày xuất Số phiếu nhập Đơn giá Số phiếu xuất Số chứng từ NCC Ngày thanh toán Nhập Đơn giá TàikhoảnNCC Số lượng nhập Ngày nhập Đia chỉ NCC NHÀ CUNG CẤP KHO Số phiếu nhập Tên NCC Tên kho Mã kho Điện thoại NCC FaxNCC Địa điểm kho MãNCC EmailNCC Website Chú thích Hình 3.14: Mô hình E-R 3.5. Thiết kế mô hình dữ liệu Logic 3.5.1. Chuẩn hoá quan hệ KHACHHANG (Makh, HotenKH, ĐiachiKH, ĐienthoaiKH, FaxKH, MailKH, TaikhoanKH, MaUser) NHACUNGCAP (MaNCC, TenNCC, DiachiNCC, FaxNCC, MailNCC, Website) KHO (Makho, Tenkho, Diadiemkho, Chuthich) THIETBI (MaTB, TenTB, Donvitinh, Soluong, Ngaysx, Noisx, Anh, Motahang, Dongia) USERNAME (MaUser, TenUser, Password, Ngaylap ) NHOMQUYEN (Manhomquyen, Tennhomquyen) NHANVIEN (MaNV, TenVN, Ngaysinh, Điachi, Ngaynhan, ĐiệnthoạiNV, Chucvu) PHONGBAN (MaPB, TenPB, Chucnang, Mangquanly) NGANHANG (MaNH, TenNH, ĐienthoaiNH) DONBANHANG (Sodonban, Soluong, Ngayban, Dongia, Tongtien, MaKH, MaNV, MaTB) PHIEUBAOHANH (SophieuBH, Ngaylap, ThoihanBH, MaKH, MaNV, MaTB) PHIEUTHU (SochungtuKH, Sodonban, Ngaytanhtoan, Sotien) PHIEUNHAPKHO (Sophieunhap, Soluongnhap, Ngaynhap, Dongia, MaKH, MaNV, MaTB, Makho) PHIEUCHI (SochungtuNCC, Sophieunhap, Ngaythanhtoan, Sotien) PHIEUXUAT (Sophieuxuat, Soluongxuat, Ngayxuat, Dongia, MaTB, MaNV, Makho) UYNHIEMCHI (SophieuUN, MaNH, MaNV, SotienUN, NgayUN, LydoUN) 3.5.2. Mô hình dữ liệu quan hệ KHACHHANG #MaKH HotenKH DiachiKH DienthoaiKH FaxKH MailKH TaikhoanKH MaUser NHACUNGCAP #MaNCC TenNCC DiachiNCC FaxNCC MailNCC Website THIETBI #MaTB TenTB Donvitinh Soluong Ngaysx Noisx Anh Motahang Dongia KHO #Makho Tenkho Diadiemkho Chuthich NHOMQUYEN #Manhomquyen Tennhomquyen DONBANHANG #Sodonban MaNV MaKH MaTB Ngayban Soluongdat Dongia Tongtien PHIEUTHU #SochungtuKH Sodonban Ngaythanhtoan Sotien PHIEUNHAPKHO #Sophieunhap MaTB MaNV Makho MaNCC Soluongnhap Ngaynhap Dongia PHIEUCHI #SochungtuNCC Sophieunhap Ngaythanhtoan Sotien USERNAME #MaUser TenUser Password Ngaylap Manhomquyen NHANVIEN #MaNV TenVN Ngaysinh Điachi Ngaynhan ĐiệnthoạiNV Chucvu PHIEUBAOHANH #SophieuBH MaKH MaTB MaNV Ngaylap ThoihanBH PHIEUXUATKHO #Soluongxuat Ngayxuat Dongia MaTB MaNV Makho NGANHANG #MaNH TenNH DienthoaiNH UYNHIEMCHI #SophieuUN MaNV MaNH NgayUN LydoUN PHONGBAN # MaPB MaNV TenPB Chucnang Mangquanly 3.5.2. Thiế ké cơ sở dữ liệ vật lý Bảng KHACHHANG Tên trường Kiểu dữ liệu Kích cỡ Khoá MaKH Char 8 Khóa chính HotenKH Char 30 DiachiKH VarChar 100 DienthoaiKH Int 12 FaxKH Char 12 MailKH VarChar 30 TaikhoanKH Char 30 MaUser Char 30 Khóa ngoại Bảng NHACUNGCAP Tên trường Kiểu dữ liệu Kích cỡ Khoá MaNCC Char 8 Khóa chính TenNCC VarChar 50 DiachiNCC VarChar 100 FaxNCC Char 12 MailNCC VarChar 30 Website Text 30 Bảng KHO Tên trường Kiểu dữ liệu Kích cỡ Khoá Makho Char 8 Khóa chính Tenkho VarChar 30 Diadiemkho VarChar 100 Chuthich VarChar 200 Bảng THIETBI Tên trường Kiểu dữ liệu Kích cỡ Khoá MaTB Char 8 Khóa chính TenTB VarChar 30 Donvitinh Char 30 Soluong Float 20 Ngaysx Datetime 15 Noisx VarChar 50 Anh Motahang VarChar 300 Dongia Float 20 Bảng USERNAME Tên trường Kiểu dữ liệu Kích cỡ Khoá MaUser Char 8 Khóa chính TenUser VarChar 30 Password VarChar 30 Ngaylap Datetime 15 Bảng NHOMQUYEN Tên trường Kiểu dữ liệu Kích cỡ Khoá Manhomquyen Char 8 Khóa chính Tennhomquyen VarChar 30 Bảng NHANVIEN Tên trường Kiểu dữ liệu Kích cỡ Khoá MaNV Char 8 Khóa chính TenVN VarChar 30 Ngaysinh Datetime 15 Điachi VarChar 30 Ngaynhan Datetime 15 ĐiệnthoạiNV Int 12 Chucvu Char 30 Bảng PHONGBAN Tên trường Kiểu dữ liệu Kích cỡ Khoá MaPB Char 8 Khóa chính TenPB Varchar 30 Chucnang Varchar 50 Mangquanly Varchar 50 Bảng NGANHANG Tên trường Kiểu dữ liệu Kích cỡ Khoá MaNH Char 8 Khóa chính TenNH Varchar 30 DienthoaiNH Int 12 Bảng DONBANHANG Tên trường Kiểu dữ liệu Kích cỡ Khoá Sodonban Char 8 Khóa chính MaKH VarChar 8 Khóa ngoại MaTB Char 8 Khóa ngoại MaNV Datetime 8 Khóa ngoại Soluong Datetime 15 Ngayban Float 30 Dongia Float 12 Tongtien Int 12 Bảng PHIEUBAOHANH Tên trường Kiểu dữ liệu Kích cỡ Khoá SophieuBH Char 8 Khóa chính MaKH VarChar 8 Khóa ngoại MaNV VarChar 8 Khóa ngoại MaTB VarChar 8 Khóa ngoại Ngaylap Datetime 15 ThoihanBH Float 30 Bảng PHIEUTHU Tên trường Kiểu dữ liệu Kích cỡ Khoá SochungtuKH Char 8 Khóa chính Sodonban Char 8 Khóa ngoại Ngaytanhtoan Datetime 12 Sotien Float 10 Bảng PHIEUNHAPKHO Tên trường Kiểu dữ liệu Kích cỡ Khoá Sophieunhap Char 8 Khóa chính MaKH Char 8 Khóa ngoại MaNV Char 8 Khóa ngoại MaTB Char 8 Khóa ngoại Makho Char 8 Khóa ngoại Soluongnhap Float 20 Ngaynhap Datetime 15 Dongia Float 20 Bảng PHIEUCHI Tên trường Kiểu dữ liệu Kích cỡ Khoá SochungtuNCC Char 30 Khóa chính Sophieunhap Char 8 Khóa ngoại Ngaythanhtoan Datetime 15 Sotien Int 12 Bảng PHIEUXUAT Tên trường Kiểu dữ liệu Kích cỡ Khoá Sophieuxuat Char 8 Khóa chính MaTB Char 8 Khóa ngoại MaNV Char 8 Khóa ngoại Makho Char 8 Khóa ngoại Soluongxuat Float 20 Ngayxuat Datetime 15 Dongia Float 12 Bảng UYNHIEMCHI Tên trường Kiểu dữ liệu Kích cỡ Khoá SophieuUN Char 8 Khóa chính MaNH Char 8 Khóa ngoại MaNV Char 8 Khóa ngoại SotienUN Float 8 NgayUN Datetime 15 LydoUN VarChar 50 Chương IV: CÀI ĐẶT HỆ THỐNG VÀ ĐỀMÔ CHƯƠNG TRÌNH 4.1. Cài đặt chương trình 4.1.1. Cách thức cài đặt chương trình a) Yêu cầu về phần cứng và phần mềm: - Một server cấu hình tối thiểu 128 Ram, 500 Mhz. - Phải có Persional Web Server đối với Window ‘98’ hoặc Internet Information Server (IIS) đối với Window NT, Window XP, Appche với hệ điều hành Unix. - Hệ quản trị cơ sở dữ liệu : MySql. - Trình duyệt Internet Eplorer từ version 4. 0 trở lên. b) Các bước cài đặt như sau: - Cài Windows (winxp) và webserver (IIS). - Chép tập tin *. php, *. html…vào một thư mục riêng. - Thiết lập thư mục ảo cho thư mục trên. c) Hướng dẫn sử dụng: Để server có thể truy xuất cơ sở dữ liệu, trước hết phải khởi động server. Phải đảm bảo là chương trình trên máy server đã được thi hành, việc kết nối vào cơ sở dữ liệu trên server đã được hoàn tất. Người quản trị, muốn vào hệ thống phải đăng nhập đúng password và username. 4. 2. Một số giao diện chương trình Trang chủ: Đăng ký khách hàng: Tìm kiếm thiết bị: Đăng nhập khách hàng: Chọn thiết bị: Chi tiết thiết bị: Xem thiết bị đã chọn: Tra cứu thiết bị công ty cần: Chi tiết thông tin thiết bị cần: Đăng ký nhà cungcấp: Đăng nhập nhà cung cấp: Đăng nhập hệ thống: Thêm thiết bị: Thêm loại thiết bị: Thêm thiết bị cần: Thêm kho: Khách hàng: Nhà cung cấp: KẾT LUẬN Kết quả đạt được Trong quá trình thực hiện đề tài: Em đã tiếp thu được nhiều kiến thức bổ ích cũng như nắm bắt được quá trình và các kỹ năng tạo ra một sản phẩm phần mềm. Hệ thống đã thống nhất và tin học hoá các quy trình hoạt động, các hoạt động nghiệp vụ của một công ty, bao gồm những chức năng chính sau: Cập nhật danh mục dữ liệu. Thực hiện việc tạo và in đơn đặt hàng để gửi đến nhà cung cấp, khách hàng. Cho phép cập nhật các thông tin về mặt hàng, hàng nhập, hàng xuất. Thực hiện việc tạo phiếu nhập, phiếu xuất. Tạo người quản trị ứng dụng và thực hiện việc phân quyền cho người dùng. Ngoài ra chương trình được thiết kế để dễ dàng cho việc mở rộng các chức năng của chương trình. Việc kiểm tra điều kiện nhập dữ liệu của người sử dụng vào hệ thống được thực hiện khá đầy đủ. Hạn chế Trên thực tế, chương trình có độ phức tạp lớn, liên quan đến nhiều quan hệ hàng hoá, nhiều hình thức kinh doanh. Mặc dù đã giải quyết được một số vấn đề cơ bản về các nghiệp vụ của quản lý nhập xuất, nhưng chương trình của em mới thiết kế ở mức độ đơn giản, có tính chuyên nghiệp chưa cao, chưa giải quyết được trọn vẹn những vấn đề nảy sinh trong quá trình quản lý nhập xuất. Hướng phát triển của đề tài Nâng cấp và hoàn chỉnh các chức năng của hệ thống đảm bảo linh hoạt thích hợp để tuỳ biến theo dõi chặt chẽ thực tế quản lý nhập xuất. Nghiên cứu xây dựng thêm một số chức năng mới cho hệ thống như: xử lý các hoạt động khuyến mại, thanh toán qua thẻ tín dụng.... Tăng khả năng bảo mật và truy xuất từ xa. Do thực hiện đề tài trong một khoảng thời gian ngắn, cộng với sự thiếu kinh nghiệm cũng như trình độ của bản thân còn hạn chế, nên đề tài của em chắc chắn còn có nhiều thiếu sót. Em mong nhận được sự chỉ bảo của thầy cô và sự góp ý của các bạn. Em xin chân thành cảm ơn! TÀI LIỆU THAM KHẢO [1]. Phạm Hữu Khang, Xây dựng ứng dụng Web bằng PHP & MySQL, NXB Phương Đông. [2]. Nguyễn Văn Vỵ, Phân tích thiết kế hệ thống, NXB Hà Nội, (2004). [3] Nguyễn Tuệ, Giáo trình nhập môn hệ CSDL, NXB Hà Nội, (2003). [4] Nguyễn Văn Ba, Phân tích và thiết kế hệ thống thông tin, NXB Đại Học Quốc Gia Hà Nội, Hà Nội, (2003). Các trang Web tham khảo: mysql. com/download/ php. net/downloads. php D10 Phiếu xuất kho D13 Phiếu bảo hành D16 Danh sách Username D11 Sổ theo dõi nx hàng D12 Sổ thu chi D7 Hóa đơn bán hàng D15 Báo cáo 2.0 XUẤT HÀNG 1.0 NHẬP HÀNG 3.0 BẢO HÀNH 4.0 BÁO CÁO 5.0 QUẢN TRỊ HỆ THỐNG D4 Phiếu nhập kho D1 Danh mục nhà cung cấp-khách hàng. D8 Thông tin khách hàng D3 Hợp đồng mua bán thiết bị tin học D6 Ủy nhiệm chi D17 Danh sách nhóm quyền D9 Phiếu thu D8 Thông tin khách hàng D14 Biên bản bảo trì-bảo dưỡng thiết bị D2 Danh mục hàng hóa vật tư D3 Hợp đồng mua bán thiết bị tin học D2 Danh mục hàng hóa vật tư D16 Danh sách Username Y/c mua hàng Thông tin hàng Hợp đồng mua Khách hàng Hóa đơn Y/C bảo hành Kết quả Yêu cầu báo cáo Đăng ký user T/t user mới Hình 3.9: Biểu đồ luồng dữ liệu mức 0 Báo cáo Ban lãnh đạo Y/c thay dổi user Kết quả Phiếu chi D5 D12 Sổ thu chi D11 Sổ theo dõi nx hàng D12 Sổ thu chi D11 Sổ theo dõi nx hàng Danh mục nhà cung cấp-khách hàng. D1 Nhà cung cấp

Các file đính kèm theo tài liệu này:

  • docBao cao Chuan.doc
  • pptBao cao - Duy Hien.ppt
Tài liệu liên quan