Xây dựng website hỗ trợ học tập cho các trường mầm non MỞ ĐẦU Với sự bùng nổ của Internet và những lợi ích mà nó đem lại, nhiều bậc phụ huynh đã hướng cho con em mình sử dụng Internet
Trang 1Xây dựng website hỗ trợ học tập cho các trường mầm non
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TIN
- -
LA MY LÊ NA
XÂY DỰNG WEBSITE HỖ TRỢ HỌC
TẬP CHO CÁC TRƯỜNG MẦM NON
KHÓA LUẬN TỐT NGHIỆP
Trang 2Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
MỤC LỤC
MỞ ĐẦU 9
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 10
1.1 Phương pháp dạy học cho trẻ độ tuổi mầm non 10
1.1.1 Những điều cần biết về trẻ độ tuổi mần non 10
1.1.2 Vì sao phải dạy học cho trẻ lứa tuổi mầm non? 10
1.1.3 Phương pháp dạy học cho trẻ 11
1.2 Tổng quan về World Wide Web 16
1.2.1 World Wide Web là gì? 16
1.2.2 World Wide Web và internet 16
1.2.3 Flash là gì ? 17
1.2.4 Flash có thể làm được những gì? 17
1.2.5 Flash có thể áp dụng như thế nào trong giảng dạy? 17
1.2.6 Flash có ưu điểm gì ? 17
1.2.7 ActionScript là gì? 18
1.3 ASP.NET 18
1.3.1 Định nghĩa 18
1.3.2 Lịch sử 18
1.3.3 Mã prototype 19
1.3.4 Đặc tính 19
1.3.5 Mô hình Code-behind 19
1.4 Microsoft SQL server 19
1.4.1 Định nghĩa 19
1.4.2 Lấy dữ liệu 20
1.4.3 Sửa đổi dữ liệu 21
1.4.4 Giao dịch 21
Trang 3Xây dựng website hỗ trợ học tập cho các trường mầm non
1.4.5 SQL Injection 22
1.4.6 Định nghĩa dữ liệu 22
1.4.7 Hệ thống cơ sở dữ liệu sử dụng SQL 22
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 24
2.1 Đặc tả yêu cầu 24
2.1.1 Mô hình sử dụng DFD (Data Flow Diagram) 24
2.1.2 Các mô hình DFD 24
2.1.3 Các mô hình quan hệ 29
CHƯƠNG 3 XÂY DỰNG WEBSITE HỖ TRỢ DẠY HỌC MẦM NON 41 3.1 Thiết kế Website 41
3.1.1 Giao diện trang web 41
3.2.1 Giao diện 58
3.2.2 Thêm chức năng 58
3.2.3 Cải tiến chức năng 58
3.3 Kiểm thử 59
3.4 Tiếp cận các yêu cầu thực tế 60
3.4.1 Yêu cầu của đối tượng trẻ nhỏ 60
3.4.2 Yêu cầu của đối tượng phụ huynh 60
3.4.3 Yêu cầu của đối tượng giáo viên mầm non 61
3.4.4 Yêu cầu của ban quản trị website 61
3.5 Phân tích yêu cầu 61
3.5.1 Phần giao diện website 61
3.5.2 Phần chức năng website 61
3.5.3 Yêu cầu phi chức năng 63
3.5.4 Các database cần xây dựng 63
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65
TÀI LIỆU THAM KHẢO 67
Trang 4Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
DANH MỤC HÌNH ẢNH Hình 1.1 : Phương pháp dạy trẻ - nghệ thuật 12
Hình 1.2 : Phương pháp dạy trẻ - thể thao 13
Hình 1.3 : Phương pháp dạy trẻ – đọc / viết 14
Hình 1.4 : Phương pháp dạy trẻ - trẻ và máy tinh 15
Hình 2.1 : Mô hình dòng dữ liệu chung 25
Hình 2.2 : DFD Môn Học Cấp 2 26
Hình 2.3 : DFD Môn Học cấp 3 26
Hình 2.4 : DFD Trò Chơi cấp 2 27
Hình 2.5 : DFD Bài Nhạc cấp 2 27
Hình 2.7 : DFD Tích Luỹ Cấp 2 29
Hình 2.8 : DFD Tài Khoản cấp 2 29
Hình 2.9 : Bảng cơ sở dữ liệu ThanhVien 31
Hình 2.10 : Thoát khỏi hệ thống tài khoản 1 32
Hình 2.11 : Thoát khỏi hệ thống tài khoản 2 33
Hình 2.12 : Bảng cơ sở dữ liệu CauHoi 34
Hình 2.13 : Chọn số câu hỏi trắc nghiệm 37
Hình 2.14 : Kết quả trắc nghiệm 38
Hình 2.15 : Bảng cơ sở dữ liệu tích luỹ - chưa có điểm 38
Hình 2.16 : Cập nhật điểm mới 38
Hình 2.17 : Bảng cơ sở dữ liệu tích luỹ - cập nhật điểm mới 38
Hình 2.18 : Cập nhật điểm thi cao hơn 39
Hình 2.19 : Bảng cơ sở dữ liệu tích luỹ - cập nhật điểm cao hơn 39
Trang 5Xây dựng website hỗ trợ học tập cho các trường mầm non
Hình 3.1 : Giao diện trang web 42
Hình 3.2 : Trang đăng kí thành viên 43
Hình 3.4 : Đăng xuất 1 45
Hình 3.5 : Đăng xuất 2 45
Hình 3.6 : Điều chỉnh thông tin 47
Hình 3.7 : Quản lý tài khoản 48
Hình 3.8 : Quản lý câu hỏi trắc nghiệm 50
Hình 3.9 : Bài học 50
Hình 3.10 : Bài học văn 51
Hình 3.11 : Bài học toán 52
Hình 3.12 : Trắc nghiệm 1 54
Hình 3.13 : Trắc nghiệm 2 54
Hình 3.14 : Bé nghe nhạc 55
Hình 3.15 : Trò chơi bầy cừu 56
Hình 3.16 : Truyện đọc 57
Hình 3.17 : Môi trường Internet Explorer 59
Hình 3.18 : Môi trường FireFox 60
Trang 6
Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
DANH MỤC BẢNG
Bảng 1 : Bảng dữ liệu demo chức năng đăng kí thành viên 30Bảng 2 : Bảng dữ liệu demo chức năng đăng nhập 31Bảng 3 : Bảng dữ liệu demo cho chức năng quản lý câu hỏi trắc nghiệm 33Bảng 4 : Bảng dữ liệu demo cho chức năng quản lí thành viên 35Bảng 5 :Bảng dữ liệu demo cho chức năng điều chỉnh thông tin các nhân 36
Trang 7Xây dựng website hỗ trợ học tập cho các trường mầm non
MỞ ĐẦU
Với sự bùng nổ của Internet và những lợi ích mà nó đem lại, nhiều bậc phụ huynh
đã hướng cho con em mình sử dụng Internet ngay từ nhỏ để phục vụ cho công việc học tập và giải trí Tuy nhiên, việc lựa chọn một trang Web vừa mang tính giải trí vừa mang tính giáo dục cao và phù hợp với lứa tuổi của trẻ nhỏ là một vấn đề được các bậc phụ huynh quan tâm nhiều nhất Vừa vui vừa học là tiêu chí mà website hổ trợ dạy học mầm non mang lại cho trẻ
Website mầm non với đối tượng chính là các bé trong độ tuổi mầm non, các bậc phụ huynh và giáo viên mầm non Tại đây, các bé sẽ được cung cấp những kiến thức học tập phong phú (văn, toán); những kiểu giải trí lành mạnh, nhẹ nhàng nhưng đầy thú vị (nghe nhạc, chơi game, đọc truyện)
Không những thế, việc áp dụng công nghệ thông tin giúp giáo viên mầm non thu thập được nhiều tư liệu trên mạng để chăm sóc và đổi mới phương pháp, tổ chức trong cách giáo dục trẻ Các trường mầm non bắt đầu áp dụng công nghệ thông tin vào chương trình giảng dạy giúp trẻ quen dần với lối giảng dạy mới, thì ở nhà hay bất kì đâu trẻ cũng có thể được học tập thông qua mạng internet là một điều hết sức tự nhiên Ngày xưa, việc liên hệ giữa phụ huynh và giáo viên để biết thông tin học tập của con em thực sự gặp nhiều khó khăn Nhưng giờ đây với sự phát triển của công nghệ thông tin, chỉ cần ngồi ở nhà là các bậc phụ huynh có thể biết được tình trạng con em mình ở trường như thế nào Việc tham gia vào các forum của các trường cũng giúp họ trao đổi thông tin về cách nuôi dạy con cái, cùng nhau bàn luận về mọi vấn đề …
Trang 8
Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 Phương pháp dạy học cho trẻ độ tuổi mầm non
1.1.1 Những điều cần biết về trẻ độ tuổi mần non
Trẻ ở độ tuổi từ 2 đến 5 tuổi là độ tuổi khủng hoảng Trẻ muốn khẳng định bản thân mình với xã hội, tách ra khỏi mọi sự kiểm soát của người lớn nên rất bướng bỉnh Trẻ muốn tự làm mọi việc, nếu bố mẹ nói có con sẽ bảo không và ngược lại Đây là sự phát triển hoàn toàn bình thường của trẻ và nó thể hiện rằng con bạn đang có ý thức rất tốt về cái tôi của mình
Trẻ ở độ tuổi này sẽ thường rất hiếu động, thích thú với những điều mới lạ Đôi lúc bạn sẽ thấy trẻ thường rất ngoan, nhưng đôi khi cũng rất bướng bỉnh Các bậc cha
mẹ tuyệt đối không nên đánh con vì như vậy sẽ làm cho ý thức về cái tôi của trẻ bị thui chột Trẻ sẽ thấy xã hội không an toàn và sẽ bất hợp tác với người lớn Trẻ cá tính mạnh có thể sợ roi lúc đó thôi nhưng dần dần cháu sẽ chai sạn với roi vọt và càng bướng bỉnh hơn Trẻ nhút nhát sẽ càng co mình vào và chúng sẽ không tự tin cũng như tự lập làm gì cả Bố mẹ không nên áp đặt con quá Nhiều khi nên cho con tự đưa
ra các quyết định cho mình
Với lứa tuổi này ta nên tập cho trẻ có sự lựa chọn Ví dụ: khi cho con đi tắm, mẹ cho con chọn tắm luôn hay mẹ đếm đến 10 rồi vào tắm; tắm trong chậu hay tắm vòi hoa sen Con cũng có thể chọn mang theo chút chít hay mút xốp vào chơi nước khi tắm; con được chọn tắm sữa tắm người lớn hay sữa tắm của mình; con được chọn mẹ xoa sữa tắm hay cả hai mẹ con cùng làm Hãy tôn trọng cái tôi của con bằng cách hỏi con và cho con được lựa chọn trong chừng mực có thể
Với các bé nhút nhát, đó có thể là cá tính của con Khi con tự tin hơn với môi trường xung quan con sẽ biểu diễn những khả năng của mình Nhưng nếu mọi người làm bé sợ, bé không thấy tin tưởng, an toàn bé sẽ không bao giờ thể hiện Một phần nữa là các bố mẹ cũng nên xem lại cách dạy con của mình Liệu mình có áp đặt con quá không? mình có đánh mắng con nhiều không vì như trên đã nói, cái tôi của trẻ đã
bị tổn thương và trẻ sẽ luôn co mình lại
1.1.2 Vì sao phải dạy học cho trẻ lứa tuổi mầm non?
Như đã thấy ở trên, ở độ tuổi mầm non trẻ bắt đầu biết nhận thức về các vấn đề xung quanh, thích tiếp thu tất cả những điều mới lạ xung quanh mình
Trang 9Xây dựng website hỗ trợ học tập cho các trường mầm non
Đây sẽ là giai đoạn tốt để bắt đầu dạy cho trẻ cách học tập
Các bậc cha mẹ, người nhà của trẻ cũng rất thích trẻ biết đọc biết viết sớm
Cho con học để bằng bạn bằng bè
Cho con học để có cái để khoe khoang với làng xóm, họ hàng con mình thông minh
Cho con học để bớt lo lắng khi cho trẻ vào lớp một
Có muôn vàn lí do để các bậc cha mẹ cho con mình học tập ở lứa tuổi mầm non, lứa tuổi mà trẻ có khả năng tiếp thu tốt nhất Học sẽ rất mau tiến bộ, nhưng cũng không nên bắt ép trẻ học nhiều quá
1.1.3 Phương pháp dạy học cho trẻ
Trang 10Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
Hình 1.1 : Phương pháp dạy trẻ - nghệ thuật
Trang 11Xây dựng website hỗ trợ học tập cho các trường mầm non
Tạo thi đua giữa các bé
Hình 1.2 : Phương pháp dạy trẻ - thể thao
Trang 12Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
Các lý do để các bậc cha mẹ cho con lứa tuổi mầm non học trên internet (website mầm non):
Phương pháp học tập mới lạ, phù hợp với thị hiếu của trẻ
Trang 13Xây dựng website hỗ trợ học tập cho các trường mầm non
Có thể kiểm tra xem con mình đã học được những gì ở trường
Kiểm soát được việc học của trẻ
Có được khu vực trao đổi thông tin về cách dạy trẻ với các bậc cha mẹ khác cho dù không bao giờ có thể trực tiếp gặp nhau
Trên website nên đưa nội dung dạy học gì vào?
Ta nên đưa vào tất cả những gì có thể giúp trẻ học tập và giải trí mà khả năng giới hạn của mạng internet cho phép
Trang 14Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
1.2 Tổng quan về World Wide Web
1.2.1 World Wide Web là gì?
Được viết tắt là Web hay www, nó là một không gian thông tin toàn cầu mà mọi người có thể truy nhập qua các máy tính nối với mạng Internet Thuật ngữ này thường được hiểu nhầm là từ đồng nghĩa với chính thuật ngữ Internet Nhưng Web thực ra chỉ
là một trong các dịch vụ chạy trên Internet, chẳng hạn như dịch vụ thư điện tử
Web được phát minh và đưa vào sử dụng vào khoảng năm 1990, 1991 bởi viện sĩ Viện Hàn lâm Anh Tim Berners-Lee và Robert Cailliau ( người Bỉ ) tại CERN, Geneva, Switzerland
Các tài liệu trên World Wide Web được lưu trữ trong một hệ thống siêu văn bản (hypertext), đặt tại các máy tính (các hệ thống máy chủ web server) trong mạng Internet Người dùng phải sử dụng một chương trình được gọi là trình duyệt web (web browser) để xem loại siêu văn bản này Chương trình sẽ nhận thông tin (documents) tại ô địa chỉ (address) do người sử dụng yêu cầu (thông tin trong ô địa chỉ được gọi là tên miền (domain name)), rồi sau đó chương trình sẽ tự động gửi thông tin đến máy chủ và hiển thị trên màn hình máy tính của người xem Người dùng có thể theo các liên kết siêu văn bản (hyperlink) trên mỗi trang web để nối với các tài liệu khác hoặc gửi thông tin phản hồi theo máy chủ trong một quá trình tương tác Hoạt động truy tìm theo các siêu liên kết được gọi là duyệt Web
Quá trình này cho phép người dùng có thể lướt các trang web để lấy thông tin Tuy nhiên độ chính xác và chứng thực của thông tin không được đảm bảo
1.2.2 World Wide Web và internet
Khi nhắc đến internet người ta thường liên tưởng ngay đến Web, và nhiều người vẫn thường lầm tưởng rằng Web chính là internet Thực ra không phải vậy, Web đúng
là thành phần chủ yếu nhất của internet nhưng nó không đủ đúng nghĩa để trở thành mạng internet
Sở dĩ Web trở nên phổ biến vì nó cung cấp cho người sử dụng khả năng truy cập
dễ dàng từ đó người sử dụng có thể khai thác các thông tin trên internet dưới dạng văn bản, hình ảnh thậm chí cả âm thanh và video Vì thế, Web đôi khi còn được gọi là đa phương tiện của mạng Internet
Trang 15Xây dựng website hỗ trợ học tập cho các trường mầm non
1.2.3 Flash là gì ?
Flash là 1 công nghệ (hay là 1 nền tảng) được phát triển chủ yếu tập trung cho các ứng dụng trên nền web: cho phép thêm các hiệu ứng chuyển động (animation/hoạt hình), audio, video, và các tương tác vào trang web một cách sinh động
Flash cũng được hiểu theo nghĩa là 1 công cụ, đó chính là phần mềm Flash (Macromedia Flash, Adobe Flash) được tạo ra để giúp các nhà phát triển tạo ra các ứng dụng Flash như đã nói ở trên
Flash đã phát triển qua rất nhiều phiên bản: FutureSplash Animator (1996), Macromedia Flash 1, 2, 3, 4, 5 (hỗ trợ ActionScript 1), Macromedia Flash MX (Flash
6, hỗ trợ thêm ActionScript 2), Macromedia Flash MX 2004 (Flash 7), Macromedia Flash 8, Adobe Flash CS3 (Flash 9, hỗ trợ ActionScript 3), Adobe Flash CS4 (Flash 10), và hiện tại đã có phiên bản Adobe Flash CS5
1.2.4 Flash có thể làm được những gì?
Các sản phẩm Flash rất đa dạng: website, banner, quảng cáo, game, animation,
và rất nhiều ứng dụng khác với tên gọi chung là RIA: Rich Internet Applications (các ứng dụng web có tính tương tác cao)
Ngoài khả năng chạy trên web, flash cũng có thể chạy được trên máy tính cục bộ bằng Flash player standalone, bằng trình duyệt có cài Flash plugin, chạy trên các thiết
bị di động, embed vào các chương trình khác hoặc bằng cách xuất ra định dạng file EXE, vì thế Flash cũng có thể được dùng để tạo ra các ứng dụng và game nhỏ chạy trên desktop hoặc chạy trên đĩa CD
1.2.5 Flash có thể áp dụng như thế nào trong giảng dạy?
Flash có thể dùng để tạo các thí nghiệm mô phỏng (cho các môn Lý, Hóa ); minh họa cho các bài toán dựng hình, quĩ tích, vẽ đồ thị, ; tạo các đoạn hoạt hình minh họa cho các bài giảng Sinh, Sử, Địa, ; đặc biệt nó có thể tạo ra các bài tập trắc nghiệm, ô chữ, các bài tập dạng kéo thả, điền từ, nhanh tay nhanh mắt, rèn luyện được rất nhiều kỹ năng cho học sinh
1.2.6 Flash có ưu điểm gì ?
Dưới đây là một vài ưu điểm nổi bật nhất:
Flash có dung lượng nhỏ gọn và có thể chạy được trên hầu hết các máy
có nối mạng hiện nay, không phân biệt hệ điều hành hay trình duyệt
Trang 16Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
Flash có thể nhúng vào rất nhiều ứng dụng, có thể đưa vào các bài giảng PowerPoint hoặc 1 số dạng bài giảng khác để tăng tính sinh động
Flash sử dụng đồ họa dạng vector nên không bị vỡ khi phóng to hình, hình ảnh cũng rất đẹp và sinh động Ngoài ra, Flash làm việc rất tốt với audio, video và các định dạng ảnh thông thường
Flash có thể tạo ra các ứng dụng tương tác được với người dùng khá dễ dàng, nhanh chóng
Flash tương đối dễ học hơn so với nhiều công cụ lập trình khác và có phần thú vị hơn vì kết hợp cả công cụ đồ họa với công cụ lập trình và tính ứng dụng phong phú
1.2.7 ActionScript là gì?
ActionScript (viết tắt : AS) là ngôn ngữ lập trình của Flash Ngoài chức năng tính toán thông thường như các ngôn ngữ lập trình khác, AS còn có khả năng điều khiển animation và các đối tương trong file flash; xử lý các sự kiện tương tác với chuột và bàn phím; load dữ liệu, ảnh, video, từ bên ngoài
1.3 ASP.NET
1.3.1 Định nghĩa
ASP.NET là một nền tảng ứng dụng web (web application framework) được phát triển và cung cấp bởi Microsoft, cho phép những người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụ web Lần đầu tiên được đưa ra thị trường vào tháng 2 năm 2002 cùng với phiên bản 1.0 của NET framework, là công nghệ nối tiếp của Microsoft's Active Server Pages(ASP) ASP.NET được biên dịch dưới dạng Common Language Runtime (CLR), cho phép những người lập trình viết
mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi NET language
1.3.2 Lịch sử
Sau khi phát hành phiên bản Internet Information Service 4.0 vào năm 1997, hãng Microsoft bắt đầu nghiên cứu một mô hình ứng dụng web để giải quyết những bất tiện của ASP, đặc biệt là việc tách riêng biệt phần thể hiện và phần nội dung cũng như cách viết mã rõ ràng hơn Mark Anders, quản lý của nhóm IIS và Scott Guthrie, gia nhập Microsoft vào năm 1997 sau khi tốt nghiệp Đại học Duke, được giao nhiệm vụ định hình mô hình cần phát triển Những thiết kế ban đầu được thực hiện trong vòng 2
Trang 17Xây dựng website hỗ trợ học tập cho các trường mầm non
tháng bởi Anders và Guthrie, Guthrie đã viết mã prototype đầu tiên trong khoảng thời gian nghỉ lễ Giáng sinh năm 1997
1.3.3 Mã prototype
Thuật ngữ prototype, trên phương diện từ vựng, bao gồm ngữ căn proto và ngữ
vĩ type, thường được dịch thành nguyên mẫu, và có thể hiểu là kiểu mẫu nguyên thủy, hay dạng gốc JavaScript là một ngôn ngữ hướng đối tượng đơn giản, việc kế thừa
thuộc tính và phân cấp đối tượng đều dựa trên khái niệm prototype và các hàm dựng
Prototype là một phương thức cho phép chỉ định chuỗi nguyên mẫu sẽ được sử dụng trong hàm dựng
1.3.4 Đặc tính
Những trang ASP.NET, được biết đến như những web form, là khối chính trong phát triển ứng dụng Những web form được chứa trong những file có phần mở rộng aspx; Các nhà phát triển có thể đặt nội dung tĩnh hoặc động vào trang aspx dưới dạng server-side Web Control và User Control Ngoài ra, có thể viết mã bằng cách chèn <% mã cần viết %> vào trang web giống như những công nghệ phát triển web khác PHP, JSP và ASP
1.3.5 Mô hình Code-behind
Mô hình code-behind được giới thiệu bởi Microsoft, đưa ra cách viết mã linh động bằng cách để những mã lập trình trong một tập tin riêng eCodeBehind : System.Web.UI.Page {protected override void Page_Load(EventArgs e){ base.OnLoad(e); } } } </source>
Trong trường hợp này, phương thức Page_Load() được thực thi mỗi lần trang ASPX được request Người lâp trình có thể viết mã xử lý trong phương thức này
Trang 18Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
1.4.2 Lấy dữ liệu
Thao tác sử dụng nhiều nhất trong một cơ sở dữ liệu dựa trên giao dịch là thao tác lấy dữ liệu
Lệnh SELECT được sử dụng để lấy dữ liệu từ một hoặc nhiều bảng trong cơ sở
dữ liệu, SELECT là lệnh thường dùng nhất của “ngôn ngữ sửa đổi dữ liệu” (tiếng Anh: Data Manipulation Language - DML) Trong việc tạo ra câu truy vấn SELECT, người sử dụng phải đưa ra mô tả cho những dữ liệu mình muốn lấy ra chứ không chỉ
ra những hành động vật lý nào bắt buộc phải thực hiện để lấy ra kết quả đó Hệ thống
cơ sở dữ liệu, hay chính xác hơn là bộ tối ưu hóa câu truy vấn sẽ dịch từ câu truy vấn sang kế hoạch truy vấn tối ưu
Những từ khóa liên quan tới SELECT bao gồm:
FROM dùng để chỉ định dữ liệu sẽ được lấy ra từ những bảng nào, và các bảng đó quan hệ với nhau như thế nào
WHERE dùng để xác định những bản ghi nào sẽ được lấy ra, hoặc áp dụng với GROUP BY
GROUP BY dùng để kết hợp các bản ghi có những giá trị liên quan với nhau thành các phần tử của một tập hợp nhỏ hơn các bản ghi
HAVING dùng để xác định những bản ghi nào, là kết quả từ từ khóa GROUP BY, sẽ được lấy ra
ORDER BY dùng để xác định dữ liệu lấy ra sẽ được sắp xếp theo những cột nào
Ví dụ : sử dụng câu lệnh SELECT để lấy danh sách những cuốn sách có giá trị Câu truy vấn này sẽ truy lục tất cả các bản ghi trong bảng books với giá trị của cột price lớn hơn 100.00 Kết quả sẽ được sắp xếp theo thứ tự tăng dần của các giá trị trong cột title Dấu (*) trong phần select list cho biết tất cả các cột của bảng books sẽ được lấy ra và thể hiện ở kết quả
SELECT *
FROM books
WHERE price > 100.00
ORDER BY title;
Trang 19Xây dựng website hỗ trợ học tập cho các trường mầm non
1.4.3 Sửa đổi dữ liệu
Ngôn ngữ sửa đổi dữ liệu (Data Manipulation Language - DML), là một phần nhỏ của ngôn ngữ, có những thành phần tiêu chuẩn dùng để thêm, cập nhật và xóa dữ liệu
INSERT : dùng để thêm dữ liệu vào một bảng đã tồn tại
UPDATE : dùng để thay đổi giá trị của một tập hợp các bản ghi trong một bảng
MERGE : dùng để kết hợp dữ liệu của nhiều bảng Nó được dùng như việc kết hợp giữa hai phần tử INSERT và UPDATE
DELETE : xóa những bản ghi tồn tại trong một bảng
TRUNCATE : xóa toàn bộ dữ liệu trong một bảng (đây không phải là tiêu chuẩn, nhưng là một lệnh SQL phổ biến)
1.4.4 Giao dịch
Giao dịch (nếu có) dùng để bao bọc các thao tác sửa đổi dữ liệu Giao dịch (transaction) là một tập các thao tác đi cùng với nhau Trên môi trường khách/chủ (client/server) hay môi trường cơ sở dữ liệu phân tán việc đảm bảo tính đúng đắn của
dữ liệu rất quan trọng
Ví dụ: Một người rút tiền khỏi tài khoản tại ngân hàng, thì tại thời điểm rút tiền, thao tác rút tiền khác phải bị từ chối Các thao tác trên tài khoản đó có thể hình dung như sau:
Thao tác 1: <Mở khóa tài khoản>
Thao tác 2: <Thực hiện thao tác rút tiền>
Thao tác 3: <Khóa tài khoản>
Để đảm bảo các thao tác 1-3 phải đi liền với nhau thì phải đưa vào trong một transaction
<START TRANSACTION>
Thao tác 1: <Mở khóa tài khoản>
Thao tác 2: <Thực hiện thao tác rút tiền>
Thao tác 3: <Khóa tài khoản>
<END TRANSACTION>
Trang 20Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
Các lệnh liên quan đến giao dịch :
BEGIN WORK (hoặc START TRANSACTION, tùy theo các ngôn ngữ SQL khác nhau): được sử dụng để đánh dấu việc bắt đầu một giao dịch dữ liệu (giao dịch dữ liệu đó có kết thúc hoàn toàn hay không)
COMMIT: dùng để lưu lại những thay đổi trong giao dịch
ROLLBACK: dùng để quay lại thời điểm sử dụng lệnh COMMIT cuối cùng
Câu trên chỉ có thể đúng nếu thỏa cặp USERNAME và PASSWORD tồn tại trong
cơ sở dữ liệu Câu trên có thể viết injection như sau : thay cụm từ JONH thành : ' OR 1=1 or''=' (lưu ý ký tự nháy đơn ') khi đó câu SQL sẽ trở thành :
SELECT ID, NAME FROM USERS WHERE USERNAME='' OR 1=1 OR''='' AND PASSWORD='1234'
Đoạn mã này hoạt động với bất cứ password nào Việc phòng chống SQL Injection cũng không khó, chỉ cần chú ý khi viết là có thể chống lại được
1.4.6 Định nghĩa dữ liệu
Ngôn ngữ định nghĩa dữ liệu (Data Definition Language, viết tắt là DDL) là một trong những phần chính của ngôn ngữ truy vấn Các câu lệnh này dùng để định nghĩa cấu trúc của cơ sở dữ liệu, bao gồm định nghĩa các hàng, các cột, các bảng dữ liệu, các chỉ số và một số thuộc tính khác liên quan đến cơ sở dữ liệu như vị trí của file Các câu lệnh ngôn ngữ định nghĩa dữ liệu là thành phần chính trong các hệ quản lý dữ liệu
và có sự khác biệt rất nhiều giữa các ngôn ngữ truy vấn trên các hệ khác nhau
1.4.7 Hệ thống cơ sở dữ liệu sử dụng SQL
Trang 21Xây dựng website hỗ trợ học tập cho các trường mầm non
Trang 22Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ
HỆ THỐNG
2.1 Đặc tả yêu cầu
2.1.1 Mô hình sử dụng DFD (Data Flow Diagram)
DFD là mô hình biểu diễn sơ đồ luồng dữ liệu "chạy" như thế nào khi bạn thiết kế một phần mềm Sử dụng DFD để biểu diễn một cách linh hoạt các thực thể ngoài, các chức năng, luồng dữ liệu và các kho dữ liệu
Nó sẽ trả lời cho bạn các câu hỏi:
Dữ liệu đầu vào của một xử lý?
Dữ liệu đầu ra của một xử lý?
Qua đó bạn sẽ "nhìn thấy" được dữ liệu nó chạy như thế nào?
2.1.2 Các mô hình DFD
Mô hình dòng dữ liệu chung
Trang 23Xây dựng website hỗ trợ học tập cho các trường mầm non
Trẻ
Người Quản Trị Giáo Viên
Tham gia
Tham gia
Tham gia Tham gia
Xem
Quản lý
Quản lý Quản lý Quản lý
Theo dõi Quản lý
Đăng kí Đăng kí
Hình 2.1 : Mô hình dòng dữ liệu chung
Mô hình dòng dữ liệu môn học
Trang 24Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
Trang 25Xây dựng website hỗ trợ học tập cho các trường mầm non
Mô hình dòng dữ liệu trò chơi
Hình 2.5 : DFD Bài Nhạc cấp 2
Trang 26Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
Mô hình dòng dữ liệu truyện đọc
Cập nhật
Cập nhật
TracNghiem
Trang 27Xây dựng website hỗ trợ học tập cho các trường mầm non
Đăng kí Quản lí
Quản lí
Quản lí Cần phân quyềnCần xoá Phân quyềnXoá
Hình 2.8 : DFD Tài Khoản cấp 2
2.1.3 Các mô hình quan hệ
TaiKhoan( mathanhvien, quyenhan, tentaikhoan, matkhau, email,
ngaysinh, gioitinh, ngaygianhap)
TichLuy(mathanhvien, matracnghiem, diem)
BaiHoc( mabaihoc, ngaycapnhat, tieude, link )
Chức năng đăng ký thành viên
Bảng dữ liệu demo cho chức năng đăng ký thành viên
Phản hồi của
hệ thống
Trang 28Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
1988
Đăng kí thành công
Khắc phục Sử dụng calendarextender của Ajax để hổ trợ nhập ngày sinh bằng cách click
chuột để tránh sai sót
Email : chưa khắc phục
Bảng 1 : Bảng dữ liệu demo chức năng đăng kí thành viên
Chức năng đăng nhập
Bảng dữ liệu demo cho chức năng đăng nhập
Tên đăng nhập Mật khẩu Ghi chú Phản hồi của hệ thống
tài khoản đang đăng nhập thangsot213
Trang 29Xây dựng website hỗ trợ học tập cho các trường mầm non
đăng nhập thanhvien Thành viên : trẻ Chưa nhập đầy đủ thông tin
Bảng 2 : Bảng dữ liệu demo chức năng đăng nhập
Hình 2.9 : Bảng cơ sở dữ liệu ThanhVien
Trang 30Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
Chức năng đăng xuất
Đang có tài khoản đăng nhập
Click vào LinkButton “Thoát”
Kết quả : nhảy về trang chủ không có tài khoản đang đăng nhập là Hình ảnh minh hoạ
Hình 2.10 : Thoát khỏi hệ thống tài khoản 1
Trang 31Xây dựng website hỗ trợ học tập cho các trường mầm non
Hình 2.11 : Thoát khỏi hệ thống tài khoản 2
Chức năng quản lý câu hỏi trắc nghiệm
Bảng dữ liệu demo cho chức năng quản lý câu hỏi trắc nghiệm
Tên câu
hỏi
Chú thích
Nội dung câu hỏi
Xem thông tin
Thêm Sửa Xoá Phản hồi của hệ thống
Khắc phục Đã khắc phục xong
Bảng 3 : Bảng dữ liệu demo cho chức năng quản lý câu hỏi trắc nghiệm
Trang 32Báo cáo đồ án tốt nghiệp GVHD : Th.s Đoàn Duy Bình
Hình 2.12 : Bảng cơ sở dữ liệu CauHoi
Chức năng quản lý thành viên
Bảng dữ liệu demo cho chức năng quản lý thành viên
Thao tác
Phản hồi hệ thống Xem
thông tin
Sửa Xoá
của tài khoản