II. Giới thiệu SQL Server 2000
3. Structured Query Language (SQL)
SQL là ngôn ngữ đợc sử dụng cho các hệ quản trị cơ sở dữ liệu quan hệ. Ngôn ngữ SQL chuẩn đợc đa ra bởi ANSI và ISO với phiên bản mới nhất hiện nay là phiên bản SQL-92 (phiên bản đợc đa ra năm 1992). Mặc dù có nhiều ngôn ngữ khác nhau đợc đa ra cho các hệ quản trị CSDL quan hệ, SQL là ngôn ngữ đợc sử dụng rộng rãi hiện nay trong rất nhiều hệ thống CSDL thơng mại nh Oracle, SQL Server, DB2, Microsoft Access… Thông qua SQL, ngời sử dụng có thể dễ dàng định nghĩa đợc dữ liệu, thao tác với dữ liệu,… Mặt khác, đây là ngôn ngữ có tính khai báo nên nó dễ sử dụng và cũng vì vậy mà trở nên phổ biến.
3.1. Các ràng buộc trong các bảng dữ liệu
* Ràng buộc CHECK
Ràng buộc CHECK đợc sử dụng để chỉ định các giá trị hay khuôn dạng dữ liệu có thể đợc chấp nhận đối với một cột. Trên một cột có thể có nhiều ràng buộc CHECK. Để khai báo một ràng buộc CHECK đối với một cột nào đó, ta sử dụng cú pháp nh sau:
Trong đó, expression là một biểu thức logic quy định giá trị hay khuôn dạng của dữ liệu đợc cho phép. Khi đó, chỉ những giá trị dữ liệu nào làm cho expression nhận giá trị đúng mới đợc chấp nhận.
* Ràng buộc DEFAULT
Ràng buộc DEFAULT đợc sử dụng để qui định giá trị mặc định cho một cột. Giá trị này sẽ tự động đợc gán cho cột này khi ngời sử dụng bổ dung một bản ghi mà không chỉ giá trị cho cột. Trên mỗi cột chỉ có thể có nhiều nhất một ràng buộc DEFAULT (tức là chỉ có thể có tối đa một giá trị mặc định).
Để khai báo một giá trị mặc định cho một cột, ta chỉ định một ràng buộc DEFAULT cho cột bằng cách sử dụng cú pháp sau:
* Ràng buộc PRIMARY KEY
Ràng buộc PRIMARY KEY đợc sử dụng để định nghĩa khoá chính của bảng. Một ràng buộc PRIMARY KEY đảm bảo rằng không có các giá trị trùng lặp đợc đa vào trên các cột. Hay nói cách khác, giá trị của khoá chính sẽ giúp cho ta xác định đợc duy nhất một dòng (bản ghi) trong bảng dữ liệu và khoá chính không chấp nhận giá trị NULL. Ràng buộc PRIMARY KEY là cơ sở cho việc đảm bảo tính toàn vẹn thực thể cũng nh toàn vẹn tham chiếu.
Khai báo ràng buộc PRIMARY KEY theo cú pháp sau:
Nếu khoá chính của một bảng chỉ là một cột, khi đó không cần thiết phải chỉ ra danh sách các cột (sử dụng ràng buộc ở mức cột). Trong trờng hợp khoá
chính là một tập hợp từ hai cột trở lên thì phải chỉ định danh sách các cột (sử dụng ràng buộc ở mức bảng).
* Ràng buộc UNIQUE
Thay vì sử dụng khoá chính, ta có thể sử dụng ràng buộc UNIQUE để đảm bảo tính toàn vẹn thực thể. Sử dụng ràng buộc UNIQUE trên một (hay nhiều) cột bắt buộc các giá trị dữ liệu trên một (hay nhiều) cột này không đợc trùng lặp nhau. Để khai báo một ràng buộc UNIQUE, ta sử dụng cú pháp sau đây:
* Ràng buộc FOREIGN KEY
Các bảng bên trong một CSDL thờng có mối quan hệ với nhau. Các mối quan hệ này đợc xác định dựa trên tính bằng nhau giữa một hay nhiều trờng của bảng này với một hay nhiều trờng của bảng khác. Nếu một (hay nhiều) cột nào đó của một bảng có giá trị đợc xác định từ một (hay nhiều) trờng khoá của bảng khác thì các cột đó đợc gọi là có ràng buộc khoá ngoại (foreign key). Các ràng buộc FOREIGN KEY đợc sử dụng kết hợp với các ràng buộc PRIMARY KEY và UNIQUE nhằm đảm bảo tính toàn vẹn tham chiếu giữa các bảng đợc chỉ định.
Để khai báo khoá ngoại, ta sử dụng cú pháp sau:
Để truy xuất dữ liệu từ các dòng và các cột của một hay nhiều bảng, khung nhìn, ta sử dụng câu lệnh SELECT. Câu lệnh này có thể dùng để thực hiện phép chọn (truy xuất một tập hợp con các dòng trong một hay nhiều bảng), phép chiếu (truy xuất một tập hợp con các cột trong một hay nhiều bảng) và phép nối (liên kết các dòng trong hai hay nhiều bảng để truy xuất dữ liệu).
Cú pháp chung của câu lệnh SELECT có dạng nh sau:
Chú ý: Các thành phần trong câu lệnh SELECT phải đợc sử dụng theo thứ tự đợc nên trên.
Mệnh đề FROM trong câu lệnh SELECT đợc sử dụng nhằm chỉ định các bảng và khung nhìn cần truy xuất dữ liệu. Sau mệnh đề FROM là danh sách tên các bảng và khung nhìn tham gia vào truy vấn (tên của các bảng và khung nhìn đ- ợc phân cách nhau bởi dấu phẩy).
Mệnh đề WHERE trong câu lệnh SELECT xác định các điều kiện đối với việc truy xuất dữ liệu. Sau mệnh đề WHERE là một biểu thức logic và chỉ những dòng dữ liệu nào thoả mãn biểu thức sau WHERE mới đợc hiển thị trong kết quả truy vấn. Trong mệnh đề WHERE thờng sử dụng:
+ Các toán tử so sánh
+ Giới hạn (BETWEEN và NOT BETWEEN)
+ Danh sách (IN, NOT IN)
+ Khuôn dạng (LIKE và NOT LIKE)
+ Các giá trị cha biết (IS NULL và IS NOT NULL) + Kết hợp các điều kiện (AND, OR)
+ Các toán tử so sánh: =, >, <, >=, <=, <>, !>, !<.
3.3. Câu lệnh INSERT
Để bổ sung dữ liệu vào trong một bảng, ta sử dụng câu lệnh INSERT. Dạng đơn giản nhất của câu lệnh này có cú pháp nh sau:
Trong đó, table_name là tên của bảng cần thao tác. Số lợng các giá trị đợc chỉ định phải bằng với số lợng các cột khi định nghĩa bảng và kiểu dữ liệu của các giá trị này phải phù hợp với kiểu dữ liệu của các cột tơng ứng.
Trong trờng hợp chỉ nhập dữ liệu cho một số cột trong bảng, ta phảI chỉ định danh sách các cột cần nhập dữ liệu ngay sau tên bảng. Khi đó, câu lệnh INSERT có cú pháp nh sau:
Trong trờng hợp này, các cột không đợc nhập dữ liệu sẽ nhận giá trị mặc định (nếu có) hoặc nhận giá trị NULL. Nếu ta không nhập dữ liệu cho một cột không có ràng buộc DEFAULT và cũng không cho phép nhận giá trị NULL thì câu lệnh sẽ bị lỗi.
3.4. Câu lệnh UPDATE
Câu lệnh UPDATE cho phép ngời sử dụng thay đổi dữ liệu đã tồn tại bên trong bảng dữ liệu. Câu lệnh này có cú pháp nh sau:
Trong đó, updated_table_name là tên bảng cần cập nhật dữ liệu.
Mệnh đề FROM trong câu lệnh UPDATE đợc sử dụng khi cần chỉ định các điều kiện cập nhật liên quan đến các bảng khác.
3.5. Câu lệnh DELETE
Để xoá các bản ghi dữ liệu ra khỏi bảng dữ liệu, ta sử dụng câu lệnh DELETE có cú pháp nh sau:
Trong đó, delete_table_name là tên bảng dữ liệu cần thao tác.
Chơng 3: Cài đặt hệ thống Một số giao diện của chơng trình
2. Trang danh mục
3. Trang chi tiết sản phẩm
4. Trang đăng nhập
6. Trang đăng ký
7. Trang hớng dẫn mua hàng
8. Trang giới thiệu
10. Giao diện trang quản trị bán hàng
11. Trang nhập sản phẩm
12. Trang thống kê khách hàng
14. Trang cập nhật thông tin nhân viên
15. Trang thêm hãng sản xuất
Kết luận
Trong quá trình thực hiện đề tài, mặc dù đã cố gắng nhng chơng trình vẫn còn những thiếu sót cha khắc phục đợc, em rất mong nhận đợc sự cảm thông của quý thầy cô. Em xin chân thành cảm ơn!
Dới đây là những kết quả đạt đợc và những vấn đề còn tồn tại của chơng trình:
Hệ thống đã đáp ứng đợc các yêu cầu sau:
* Hỗ trợ phía khách hàng:
+ Xem thông tin về các mặt hàng của công ty.
+ Cho phép khách hàng đăng ký thông tin để thực hiện việc mua hàng. + Tìm kiếm sản phẩm.
+ Biết đợc việc đặt hàng thành công hay cha đợc đáp ứng.
* Hỗ trợ ngời quản trị hệ thống:
+ Xem thông tin, cập nhật và thống kê các loại mặt hàng, khách hàng, nhà cung cấp, đơn hàng.
Một số vấn đề mà hệ thống cha khắc phục đợc nh:
+ Hệ thống mới chỉ dừng lại ở việc đa ra đợc hoá đơn cho biết thông tin đặt hàng nhng cha giải quyết thanh toán và giao hàng.
+ Chơng trình cha đợc mềm dẻo
Hớng phát triển:
+ Xử lý thanh toán qua mạng.
[1] Trần Ngọc Anh, ASP và kỹ thuật lập trình Web, NXB Trẻ, năm 2002
[2] Nguyễn Minh Quý, Tài liệu khoá học lập trình web với ASP.NET (http://www.aptech.utehy.vn)
[3] Nguyễn Văn Ba, Phân tích và thiết kế hệ thống thông tin, ĐHQG Hà Nội, năm 2005
[4] Trần Nguyên Phong (Trờng ĐH Huế), Giáo trình thực hành SQL Server [5] (http://ebooks.vdcmedia.com), Học SQL Server 2000