Chương 1: Cơ sở lý thuyết Chương 2: Khảo sát nghiệp vụ Chương 3: Phân tích thiết kế hệ thống Chương 4: Xây dựng hệ thống 11 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 1. Cơ sở lý thuyết về cơ sở dữ liệu Hệ thống sử dụng hệ cơ sở dữ liệu MySQL. MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nhanh và dễ dàng. MySQL đang được sử dụng cho nhiều công việc kinh doanh từ lớn tới nhỏ, nó được phát triển, được công bố, được hỗ trợ bởi MySQL AB, là một công ty của Thụy Điển.
Hệ cơ sở dữ liệu này đã trở thành khá phổ biến vì nhiều lý do: MySQL là mã nguồn mở. MySQL là một chương trình rất mạnh mẽ. MySQL sử dụng một Form chuẩn của ngôn ngữ dữ liệu nổi tiếng là SQL. MySQL làm việc trên nhiều Hệ điều hành và với nhiều ngôn ngữ như PHP, PERL, C, C++, Java, … MySQL làm việc nhanh và khỏe ngay cả với các tập dữ liệu lớn.
MySQL rất thân thiện với PHP, một ngôn ngữ rất đáng giá để tìm hiểu để phát triển Web. MySQL hỗ trợ các cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặc nhiều hơn nữa trong một bảng. Kích cỡ file mặc định được giới hạn cho một bảng là 4 GB, nhưng chúng ta có thể tăng kích cỡ này (nếu hệ điều hành có thể xử lý nó) để đạt tới giới hạn lý thuyết là 8 TB. MySQL là có thể điều chỉnh.
Giấy phép GPL mã nguồn mở cho phép lập trình viên sửa đổi phần mềm MySQL để phù hợp với môi trường cụ thể của họ. MySQL sử dụng nhiều kiểu dữ liệu, được chia thành 3 loại: kiểu số, kiểu date và time, và kiểu chuỗi. Kiểu dữ liệu số trong MySQL MySQL sử dụng tất cả các kiểu dữ liệu số theo chuẩn ANSI SQL. Các kiểu dữ liệu số phổ biến gồm: INT: Một số nguyên với kích cỡ thông thường, có thể là signed hoặc unsigned.
Nếu có dấu, thì dãy giá trị có thể là từ -2147483648 tới 2147483647, nếu không 12 dấu thì dãy giá trị là từ 0 tới 4294967295. Chúng ta có thể xác định một độ rộng lên tới 11 chữ số. TINYINT: Một số nguyên với kích cỡ rất nhỏ, có thể là signed hoặc unsigned. Nếu có dấu, thì dãy giá trị có thể là từ -128 tới 127, nếu không dấu thì dãy giá trị là từ 0 tới 255.
Chúng ta có thể xác định một độ rộng lên tới 4 chữ số. SMALLINT: Một số nguyên với kích cỡ nhỏ, có thể là signed hoặc unsigned. Nếu có dấu, thì dãy giá trị có thể là từ -32768 tới 32767, nếu không dấu thì dãy giá trị là từ 0 tới 65535. Chúng ta có thể xác định một độ rộng lên tới 5 chữ số.
MEDIUMINT: Một số nguyên với kích cỡ trung bình, có thể là signed hoặc unsigned. Nếu có dấu, thì dãy giá trị có thể là từ -8388608 tới 8388607, nếu không dấu thì dãy giá trị là từ 0 tới 16777215. Chúng ta có thể xác định một độ rộng lên tới 9 chữ số. BIGINT: Một số nguyên với kích cỡ lớn, có thể là signed hoặc unsigned.
Nếu có dấu,thì dãy giá trị có thể là từ -9223372036854775808 tới 9223372036854775807, nếu không dấu thì dãy giá trị là từ 0 tới Chúng ta có thể xác định một độ rộng lên tới 20 chữ số. FLOAT(M,D): Một số thực dấu chấm động không dấu. Chúng ta có thể định nghĩa độ dài hiển thị (M) và số vị trí sau dấy phảy (D). Điều này là không bắt buộc và sẽ có mặc định là 10,2: với 2 là số vị trí sau dấu phảy và 10 là số chữ số (bao gồm các phần thập phân).
Phần thập phân có thể lên tới 24 vị trí sau dấu phảy đối với một số FLOAT. DOUBLE(M,D): Một số thực dấu chấm động không dấu. Chúng ta có thể định nghĩa độ dài hiển thị (M) và số vị trí sau dấy phảy (D). Điều này là không bắt buộc và sẽ có mặc định là 16,4: với 4 là số vị trí sau dấu phảy và 16 là số chữ số (bao gồm các phần thập phân).
Phần thập phân có thể lên tới 53 vị trí sau dấu phảy đối với một số DOUBLE. REAL là đồng nghĩa với DOUBLE. DECIMAL(M,D): Một kiểu khác của dấu chấm động không dấu. Mỗi chữ số thập phân chiếm 1 byte.
Việc định nghĩa độ dài hiển thị (M) và số vị trí sau dấy phảy (D) là bắt buộc. NUMERIC là một từ đồng nghĩa cho DECIMAL. Ngôn ngữ lập trình 13 1. Ngôn ngữ HTML Ngôn ngữ HTML (HyperText Markup Language – ngôn ngữ siêu văn bản) là một trong các loại ngôn ngữ được sử dụng trong lập trình web.
Khi truy cập một trang web cụ thể là click vào các đường link, chúng ta sẽ được dẫn tới nhiều trang các nhau, và các trang này được gọi là một tài liệu HTML (tập tin HTML). Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và được quy định bằng các thẻ tag. Chúng ta có thể phân biệt một trang web được viết bằng ngôn ngữ HTML hay PHP thông qua đường link của nó. Ở cuối các trang HTML thường hay có đuôi là .HTM HTML là ngôn ngữ lập trình web được đánh giá là đơn giản.
Mọi trang web, mọi trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML. Hiện nay, phiên bản mới nhất của HTML là HTML 5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản cũ của HTML. Vai trò của HTML trong lập trình web: HTML là một loại ngôn ngữ đánh dấu siêu văn bản nên các chức năng của nó cũng xoay quanh yếu tố này. Cụ thể, HTML giúp cấu thành các cấu trúc cơ bản trên một website (chia khung sườn, bố cục các thành phần trang web) và góp phần hỗ trợ khai báo các tập tin kĩ thuật số như video, nhạc, hình ảnh.
Ưu điểm nổi trội nhất và cũng là thế mạnh của HTML là khả năng xây dựng cấu trúc và khiến trang web đi vào quy củ một hệ thống hoàn chỉnh. HTML chứa những yếu tố cần thiết mà dù website có thuộc thể loại nào, giao tiếp với ngôn ngữ lập trình nào để xử lý dữ liệu thì nó vẫn phải cần đến ngôn ngữ HTML để hiển thị nội dung cho người truy cập. Đối với các lập trình viên hay nhà phát triển web, họ đều phải học HTML như một loại ngôn ngữ cơ bản trước khi bắt tay vào thiết kế trang web nào. Các thẻ trong HTML: Các trang HTML được quy định bằng các thẻ tag.
Những thẻ này được chứa trong các dấu ngoặc đơn dạng: <tên thẻ>. Trừ một vài thẻ đặc biệt, hầu hết các thẻ cơ bản đều có các thẻ đóng tương ứng với nó. Ví dụ, thẻ <html> có thẻ đóng tương ứng là </html>, thẻ <body> có thẻ đóng tương ứng là </body> … Bảng 1.1 là các mẫu thẻ tag thường gặp trong HTML. Các mẫu thẻ thường gặp trong HTML Tag Giải thích <! Còn gọi là thẻ khai báo một tài liệu HTML.
Thẻ này xác định loại DOCTYPE…> tài liệu và phiên bản HTML. <html> Thẻ này chứa đựng các tài liệu HTML đầy đủ. Ở đầu trang sẽ xuất hiện các thẻ <head>, </head> và thân tài liệu là các thẻ <body>, </body>. <head> Thẻ này đại diện cho đầu trang tài liệu mà có thể giữ các thẻ HTML như <title>, <link> … <title> Thẻ <title> được sử dụng trong thẻ <head> chỉ tiêu đề tài liệu.
<body> Thẻ này đại diện cho thân tài liệu và giữ các thẻ như <h1>, <div>, <p> … <h1> Thẻ tag này đại diện cho các tiêu đề trang. <p> Thẻ tag này đại diện cho định dạng các đoạn văn trong trang web. Ngôn ngữ CSS Định nghĩa CSS là viết tắt của Cascading Style Sheets. Đây là một ngôn style sheet được sử dụng để mô tả giao diện và định dạng của một tài liệu viết bằng ngôn ngữ đánh dấu (markup).
CSS cung cấp một tính năng bổ sung cho HTML. CSS thường được sử dụng với HTML để thay đổi phong cách của trang web và giao diện người dùng. Ngôn ngữ này cũng có thể được sử dụng với bất kỳ loại tài liệu XML nào bao gồm cả XML đơn giản, SVG và XUL. CSS được sử dụng cùng với HTML và JavaScript trong hầu hết các trang web để tạo giao diện người dùng cho các ứng dụng web và giao diện người dùng cho nhiều ứng dụng di động.
Ba lợi ích chính của CSS 15 Giải quyết một vấn đề lớn: Trước khi có CSS, các thẻ như phông chữ, màu sắc, kiểu nền, các sắp xếp phần tử, đường viền và kích thước phải được lặp lại trên mọi trang web. Đây là một quá trình rất dài tốn thời gian và công sức. Tiết kiệm rất nhiều thời gian: Định nghĩa kiểu CSS được lưu trong các tệp CSS bên ngoài vì vậy có thể thay đổi toàn bộ trang web bằng cách thay đổi chỉ một tệp. Cung cấp thêm các thuộc tính: CSS cung cấp các thuộc tính chi tiết hơn HTML để định nghĩa giao diện của trang web.
Ngôn ngữ PHP Giới thiệu chung: PHP khởi đầu như là một dự án mã nguồn mở nhỏ, nhưng theo đà phát triển, ngày càng nhiều người thấy rằng nó càng ngày càng hữu ích. PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là "Personal Home Page Tools".
Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới Database và giúp cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó, đồng thời cải tiến mã nguồn. PHP viết hồi qui của "PHP: Hypertext Preprocessor". PHP là ngôn ngữ lập trình kịch bản viết cho máy chủ mà được nhúng trong HTML.
Nó được sử dụng để quản lý nội dụng động, Database, Session tracking, … PHP được tích hợp với một số Database thông dụng như MySQL, PostgreSQL, Oracle, Sybase, Informix, và Microsoft SQL Server. 16 PHP thực thi rất tuyệt vời, đặc biệt khi được biên dịch như là một Apache Module trên Unix side. MySQL Server, khi được khởi động, thực thi các truy vấn phức tạp với các tập hợp kết quả khổng lồ trong thời gian Record-setting. PHP hỗ trợ một số lượng rộng rãi các giao thức lớn như POP3, IMAP, và LDAP.