
1. Access modifier, static method, static property, namespace
1.1. Access modifier
1.1.1. Public : truy cập trong và ngoài lớp có thể kế thừa
1.1.2. Protected : truy cập trong lớp có tính kế thừa
1.1.3. Private : Truy cập trong lớp và không có tính kế thừa
1.2. Getter-Setter
1.3. Static
1.3.1. static method
1.3.1.1. có thể thông quan tên lớp
1.3.2. static class
1.4. Namespace
1.4.1. là hình thức đonmgs gói các hạng mục có liên quan với nhau và dễ dangf sử dụng khi các hạng mục cùng tên
2. INHERRITANCE
2.1. 3 dạng kế thừa
2.1.1. Hierarchical
2.1.2. Simple
2.1.3. Multilevel
2.2. Cú pháp và từ khóa Extends
2.3. Override-Overload
2.4. Từ khóa Final
3. ABTRACT CLASS và INTERFACE
3.1. ABSTRACT CLASS
3.1.1. Tính OPP
3.1.1.1. Kế thừa
3.1.1.2. từ khóa Extends , Abtract
3.1.2. thuộc tính
3.1.3. phương thức
3.1.4. class
3.1.5. thiết kế
3.1.6. các phương thức có thân
3.1.7. không thể tạo đối tượng
3.1.8. có hằng số
3.1.9. là 1 lớp
3.1.10. access modfier là public hoặc protected
3.1.11. Lớp con bắt buộc phải có phương thức có abstract class
3.2. INTERFACE
3.2.1. các tính chất
3.2.2. Tư khóa implements : Khai triển 1 interface
3.2.3. không thể tạo dối tượng
3.2.4. có phương thức nhưng không có thân
3.2.5. 1 class có thể implemenr nhiều interface, phân tách nhau bằng dấu
3.2.6. Bắt buộc access modifier là public
3.2.7. Không phải lớp
3.2.8. Lớp con phải implements tất cả các phương thức có trong interface mà nó implements
3.3. so sanh
3.3.1. Hoangluu2001/SoSanhMindmap
4. CleanCode and Refactoring
4.1. khái niêm
4.1.1. clean code
4.1.1.1. tăng năng suất làm việc với mã nguồn theo thời gian
4.1.1.2. sử dụng bất cứ lúc nào
4.1.1.3. Là thuật ngữ để chỉ đến những mã nguồn tốt
4.1.2. refactoring
4.1.2.1. ưu điểm
4.1.2.1.1. dễ duy trì
4.1.2.1.2. dễ mở rộng
4.1.2.2. Là các kỹ thuật cho phép chỉnh sửa mã nguồn nội bộ mà không làm thay đổi hành vi của hệ thống đối với bên ngoài
4.1.3. coding Convention
4.1.3.1. ưu điểm
4.1.3.1.1. dễ đọc
4.1.3.1.2. dễ hiểu
4.1.3.1.3. dễ quản lý , dẽ bảo trì
4.1.3.2. Là tâp hợp những nguyên tắc chung khi lập trinh
4.1.3.3. Mục đích : Tăng sự cộng tác giữa các lập trình viên , dễ hiểu nhau
4.1.3.4. Sử dụng bất cứ khi nào
4.2. đặc điểm
4.2.1. mã sach
4.2.2. dễ đọc
4.2.3. dễ cải tiến
4.2.4. dễ bảo tri
4.2.5. it phụ thuộc
4.2.6. không trung lặp
4.2.7. thêr hiện rõ ý tưởng thiết kế
5. THUẬT TOÁN TÌM KIẾM
5.1. Tìm kiếm tuyến tính
5.1.1. Là lần lượt so sánh các phần tử trong danh sách vớ dữ liệu đang muốn tìm kiếm, từ đầu -> cuối
5.2. tìm kiếm nhị phân
5.2.1. Là thuật toán dùng để tìm kiếm phần tửtrong danh sách đã được sắp xếp, và cácphần tử phải đưuọc sắp xếp theo trình tựnhất định
5.3. So Sanh
5.3.1. Hoangluu2001/SoSanhMindmap
6. XU LY NGOAI LE
6.1. Ngoai Le
6.1.1. Khái niệm : là các lỗi phát sinh trong quá trình thực thi
6.1.2. Các lỗi thường gặp
6.1.2.1. Lỗi cú pháp
6.1.2.2. lỗi chạy chowng trinh
6.1.2.3. Lỗi về logic cấu trúc của chương trình
6.2. Đặc Điểm
6.2.1. Khả năng bắt và giải quyết ngoại lệ
6.2.2. Khả năng tách logic xử lý ngoại lệ trong một hàm ra khỏi phần còn lại của hàm sử dụng try.
6.2.3. Khả năng tạo và ném ngoại lệ
6.3. Khối try-catch
6.3.1. Cú pháp : try { //Khối lệnh mà có thể phát sinh Exception } catch (Exception $e) { //Khối lệnh bắt được Exception }
6.3.2. Sử dụng để
6.3.2.1. Tách phần giải quyết lỗi ra khỏi phần có thể sinh lỗi
6.3.2.2. Quy định các loại ngoại lệ được bắt tại mức thực thi hiện hành
6.3.3. Khối finally
6.3.3.1. Cú pháp : fianlly {}
6.3.3.2. Luôn luôn thực hiện vô điều kiện sau try-catch
6.3.4. Ném ngoại lệ
6.3.4.1. Sử dụng throw
7. CSS cascading style sheet
7.1. khái niêm
7.1.1. CSS là viết tắt của cụm từ Cascading Style Sheets
7.1.2. CSS mô tả cách các phần tử HTML sẽ hiển thị trên màn hình, trang web, hoặc các phương tiện khác.
7.1.3. CSS giúp chúng ta tiết kiệm được rất nhiều công công sức. Nó giúp chúng ta chỉnh sửa giao diện của nhiều trang web cùng một lúc.
7.1.4. Các mô tả css có thể được lưu trong tệp tin CSS.
7.2. Có 3 cách để nhúng mã CSS vào trong một tài liệu HTML
7.2.1. Khai báo trực tiếp ở thẻ HTML (Inline style sheet)
7.2.2. Khai báo trong thẻ <style> của tài liệu HTML (Internal style sheet)
7.2.3. Khai báo trong file .css riêng biệt (External style sheet)
8. Database & CRUD
8.1. Khái niệm
8.1.1. CRUD: Là tên ngắn gọn để chỉ 4 thao tác cơ bản của 1 hệ thống có lưu trữ dữ liệu
8.1.2. C: Create => tạo dữ liệu
8.1.3. R: Read => đọc dữ liệu
8.1.4. U: Update => cập nhật dữ liệu
8.1.5. D: Delete => xóa dữ liệu
8.2. những câu lệnh CRUD
8.2.1. Câu lệnh INSERT
8.2.1.1. INSERT INTO table_name(column1, column2, column3,...) VALUES (value1,value2,value3,...) • Hoặc (chèn dữ liệu cho tất cả các cột và đúng thứ tự cột): INSERT INTO table_name VALUES (value1,value2,value3,...)
8.2.2. Câu lệnh SELECT
8.2.2.1. SELECT column1,column2,... FROM table_name; Hoặc (đọc tất cả các cột trong bảng): SELECT * FROM table_name;
8.2.3. Câu lệnh UPDATE
8.2.3.1. UPDATE table_name SET column1=value1,column2=value2,... [WHERE condition]
8.2.4. Câu lệnh DELETE
8.2.4.1. DELETE FROM table_name [WHERE condition]
8.2.5. Mệnh đề WHERE
8.2.5.1. WHERE là mệnh đề tùy chọn, được sử dụng trong các câu lệnh SELECT, UPDATE, DELETE WHERE chỉ ra điều kiện thực thi truy vấn
8.2.5.2. Cú pháp
8.2.5.2.1. SELECT column1,column2,... FROM table_name WHERE condition
8.2.6. Mệnh đề GROUP BY
8.2.6.1. Là mệnh đề tùy chọn được sử dụng trong câu lệnh SELECT, để tập hợp các dữ liệu từ nhiều bản ghi đồng nhất và nhóm kết quả vào một hoặc nhiều cột GROUP BY thường được sử dụng kèm với các hàm tập hợp (COUNT, MAX, MIN AUM, AVG)
8.2.6.2. Cú pháp
8.2.6.2.1. SELECT column_name(s), <aggregate function> FROM table_name [WHERE condition ] GROUP BY column_name(s);
8.2.7. Mệnh đề HAVING
8.2.7.1. HAVING là mệnh đề tùy chọn đi kèm với mệnh đề GROUP BY trong câu lệnh SELECT (muốn sử dụng HAVING bắt buộc phải có BROUP BY) • HAVING chỉ ra điều kiện trên hàm tập hợp có trong mệnh đề SELECT
8.2.7.2. Cú pháp
8.2.7.2.1. SELECT column_name(s), < aggregate function > FROM table_name [WHERE condition ] GROUP BY column_name(s) HAVING condition;
8.2.8. Mệnh đề ORDER BY
8.2.8.1. Cú pháp
8.2.8.1.1. SELECT column1, column2, ... FROM table_name [WHERE condition ] [GROUP BY column_name(s) [HAVING condition ]] ORDER BY column1, column2, ... [ASC|DESC]; You are in view only mode - other
8.2.8.2. ORDER BY là mệnh đề tùy chọn trong câu lệnh SELECT, được sử dụng để sắp xếp tập kết quả theo thứ tự tăng hoặc giảm dần
9. THAO TÁC VỚI CSDL
9.1. câu lệnh WHERE
9.2. toán tử AND
9.2.1. được sử dụng để trả về đúng nếu 2 điều kiện ở 2 về trả về giá trị true
9.3. toán tử OR
9.3.1. được dùng để tar về đúng nếu 1 trong hai điều kiện của 2 vế trả về giá trị true
9.4. toán tử NOT
9.4.1. sử dụng để trả về giá trị đúng nếu vế sau trả về giá trị false
9.5. câu lệnh ORDER BY
9.5.1. để sắp xếp các bản ghi theo trật tự vào giá trị cảu 1 cột hoặc nhiều cột
9.6. câu lệnh GROUP BY
9.6.1. dùng để nhóm các tập kết quả dựa theo giá trị của 1 cột hoặc nhiều cột
9.6.2. thường được dung chung với các hàm khác của SQL
9.7. câu lệnh HAVING
9.7.1. được dử dụng để quy định các điều kiện trong trường hợp sử dụng các hàm SQL ( không thể thực hiện câu lệnh where
9.8. câu lệnh JOIN
9.8.1. INNER JOIN
9.8.2. RIGHT JOIN
9.8.3. LEFT JOIN
9.8.4. FULL JOIN
10. Cơ Sở Dữ Liệu Quan Hệ
10.1. khái niệm : là các mô tả về sự vật , hiện tượng sự kiện...
10.2. Đặc điểm : được biểu diễn dưới dạng các tài liệu chữ , số , ảnh , âm thanh ,hình ảnh
10.3. một số kiểu mô hình kiểu dữ liệu
10.3.1. CSDL phân cấp (hierarchical)
10.3.2. CSDL mạng (net work)
10.3.3. CSDL đồ thị (Graph)
10.3.4. CSDL quan hệ
10.3.5. CSDL đối tượng
10.3.6. ...
10.4. SQL
10.4.1. Đặc điểm : là viết tắt của structured Qouery Language ( ngôn ngữ truy vấn có cấu trúc )
10.4.2. được sử dụng để thao tac vơi các CSDL quan hệ
10.4.3. có nhiều phiên bản SQL khac nhau mặc dù hầu hết đều sử dụng chung 1 cú pháp
10.4.4. SỬ dụng câu lệnh SQL chúng ta có thể
10.4.4.1. thực thi các câu truy xuất
10.4.4.2. truy vấn dữ liệu từ cơ sở dữ liêu
10.4.4.3. Thêm dữ liệu vào CSDL
10.4.4.4. cập nhật dữ liệu trong CSDL
10.4.4.5. Xóa các bản ghi trong CSDL
10.4.4.6. tạo CSDL mới
10.4.4.7. Tạo bangr mới trong csdl
10.4.4.8. Xóa CSDL
10.4.4.9. Xóa bảng
10.4.5. cú pháp
10.4.5.1. một số từ khóa quan trọng
10.4.5.1.1. SELECT
10.4.5.1.2. UPDSTE
10.4.5.1.3. INSERT
10.4.5.1.4. DELETE
10.4.5.1.5. CREATE
10.4.5.1.6. ALTER
10.4.5.1.7. DROP
10.4.5.2. nên đặt dấu chấm phẩy ở cuối câu lênhj
10.4.5.3. từ khóa không phân biệt chữ hoa và chữ thương
10.5. Mysql
10.5.1. mysql server
10.5.1.1. máy chủ dịch vụ quản trị CSDL
10.5.2. mysql client
10.5.2.1. ứng dụng cho phép kết nối và tương tác với my SQL
10.5.3. Website chính thức
10.5.3.1. MySQL
11. PHP Datatructures
11.1. Standard PHP Library
11.1.1. Là bộ thư viện chuẩn PHP nó gồm tập hợp các Interface, Class nhằm giải quyết các bài toán phổ biến
11.1.2. Doubly Linked List
11.1.3. Heaps
11.1.4. Array
11.1.5. Map
11.2. Lớp Doubly LInkedList
11.2.1. Cung cấp các chức năng chính của một danh sách liên kết đôi
11.3. Lớp SplStack
11.3.1. Cung cấp các chức năng chính của 1 Stack được triển khai bằng nhiều cách sử dụng sanh sách liên kết đôi
11.4. Lớp SplQueue
11.4.1. Cung cấp các chức năng chính của 1 hàng đợi được triển khai bằng cách sử dụng liên kết đôi
12. Tổng quan về Web PHP
12.1. Web và giao thức
12.1.1. WEB
12.1.1.1. Khái niệm
12.1.1.1.1. Web
12.1.1.1.2. Website
12.1.2. HTTP
12.1.2.1. GIao thức
12.1.2.1.1. Tập trung các qui ước chuẩn mực - giao thức này có thể xây dựng trên giao thức khác
12.1.2.2. Các tầng cấp cuta mẫu hình OSI
12.1.2.2.1. Gồm 7 tầng
12.1.2.3. Mô hình TCP/IP
12.2. Mô hình CLIENT-SERVER
12.3. LAMP
12.3.1. L: Linus
12.3.2. A: Apache
12.3.3. M: MySQL
12.3.4. P: PHP
12.4. Giới thiệu về PHP
12.4.1. Khái niệm
12.4.1.1. Mã nguồn PHP đưuọc thực thi trên sever và kết quả văn bản HTML đưuọc gửi trả lại client
12.4.2. Cú pháp
12.5. Giao thức HTTP
12.5.1. Khái niệm
12.5.1.1. HTTP Status
12.5.1.2. HTTP Request
12.5.1.3. HTTP Respone
12.5.1.4. Web Server
12.5.2. Các giao thức HTTP Request
12.5.2.1. Get
12.5.2.2. Post
12.5.2.3. Head, Put, Trace,....
12.6. Một số bài học về PHP
12.6.1. Biến
12.6.2. Biến toàn cục
12.6.3. Câu lệnh echo và print
12.6.4. Kiểu dữ liệu
12.6.5. Các hàm thao tác với chuỗi
12.6.6. Hằng-Constants
12.6.7. Toán tử
12.6.8. Vòng lặp
13. LỚP VÀ ĐỐI TƯỢNG TRONG OOP
13.1. class
13.1.1. khái niệm
13.1.2. cú pháp khai báo
13.1.3. một số quy ước đặt tên
13.2. Objetc
13.2.1. cú pháp khởi tạo đối tương
13.2.2. khai báo thuộc tính
13.2.3. khái báo phương thức
13.2.4. Hàm contractor
13.2.5. Truy xuất các thành phần của đối tượng
13.2.5.1. gọi phương thức
13.2.5.2. tuy xuất thuộc tính
13.2.6. Từ khóa: This
14. Arraylist va LinkedList
14.1. sosanh
14.1.1. Hoangluu2001/SoSanhMindmap
15. MẢNG VÀ HÀM TRONG OOP
15.1. hàm
15.1.1. Khái niệm : là 1 khối lệnh thực hiện 1 nhiệm vụ nhất định
15.1.2. Ưu điểm
15.1.2.1. gom lệnh
15.1.2.2. dễ sử dụng
15.1.2.3. tái sử dụng
15.1.2.4. linh hoạt
15.1.2.5. dễ sửa
15.1.2.6. dễ phát triển
15.1.3. cú pháp
15.1.4. tham số mặc định
15.1.5. gía trị trả về
15.2. Include-Require
15.3. mang
15.3.1. Khái niệm : Là biến lưu trữ nhiều giá trị có cùng kiểu dữ liệu
15.3.2. có 3 kiểu mảng
15.3.2.1. Mảng số nguyên : Giá trị được lưu trữ và truy cập nguyên tính
15.3.2.2. Mảng liên hợp : Lưu trữ các giá trị bằng sự kết với giá trị "key"
15.3.2.3. Mảng đa chiều : 1 mảng chứa 1 hoặc nhiều mảng
15.3.3. đếm số phần tử
15.3.4. vòng lặp
15.3.5. sắp xếp mảng
15.3.6. mảng đa chiều
15.3.7. ưu điểm
15.3.7.1. rút ngắn câu lệnh
15.3.7.2. có thể lưu trữ nhiều giá trị cùng kiểu dữ liệu
15.3.7.3. dễ truy cập
16. THUAT TOAN SAP XEP
16.1. Khái niệm : là một thuật toán sắp xếp các phần tử của một danh sách (hoặc một mảng) theo thứ tự (tăng hoặc giảm).
16.2. Thường là số
16.3. các loại thuật toán sắp xếp
16.3.1. Thuật toán sắp xếp nổi bọt (buble sort)
16.3.1.1. Khái niệm : là so sánh 2 phần tử kề nhau, nếu chúng chưa đứng đúng thứ tự thi đổi chỗ (swap ) cho nhau
16.3.1.2. Dac Diem
16.3.1.2.1. Có thể tiến hành từ trên xuống (Từ trái sang ) Từ dưới lên (Từ phải sang)
16.3.1.2.2. Đơn giản
16.3.1.2.3. dê cài đặ
16.3.1.2.4. Cấu trúc dữ liệu : ngẫu nhiên
16.3.1.2.5. Thực thi chương trình chậm
16.3.1.2.6. Không tối ưu
16.3.2. Thuật toán sắp xếp chọn (selecttion sort)
16.3.2.1. Khái nhiệm : Chọn phần tử nhỏ nhất trong n phần tử ban đầu, đưa phần tử này về vị trí đúng. Sau đó không quan tâm đến nó nữa và tiếp tuc thực thi với các phần tử tieps theo tương tự với phần tử ban đầu
16.3.2.2. Đặc điểm
16.3.2.2.1. Đơn giản
16.3.2.2.2. Tối ưu hơn thuật toán sắp xếp nổi bọt
16.3.2.2.3. Cấu trúc dữ liệu : ngẫu nhiên
16.3.2.2.4. Ít đổi chỗ các phần tử nhất trong số các thuật toán sắp xếp
16.3.3. Thuật toán sắp xếp chèn (inserttion sort)
16.3.3.1. Khái niệm : Thưc hiện sắp xếp dãy số theo cách duyệt từng phần tử và chèn từng phần tử đó vào đúng vị trí trong mảng con đã sắp xếp sao cho dãy số trong mảng sắp xếp đó vẫn đảm bảo tính chất của 1 dãy số tăng dần
16.3.3.2. Đặc điểm
16.3.3.2.1. Khá phưc tap
16.3.3.2.2. không tối ưu
16.3.3.2.3. Thực thi chương trình chậm
16.3.3.2.4. cấu trúc đữ liệu mang
17. String-Regex
17.1. String
17.1.1. Khái niêm
17.1.1.1. là kiểu dữ liệu cơ bản trong php
17.1.1.2. là dãy liên tirps các kí tư
17.1.2. Ưu điểm
17.1.2.1. tối đa hóa hiệu suất của websriver
17.1.2.2. Đẩy nhanh tiến độ thiết kế wedsite
17.1.3. Toán tử nối chuỗi : sử dụng dấu chấm
17.1.4. Các hàm xử lý chuỗi
17.1.5. Nháy đơn
17.1.5.1. Không được phân tích cú pháp
17.1.5.2. strlen()str_word_count()strrev()strpos()str_replace()substr()trim()
17.1.5.3. Mọi giá trí xuất hiện trong nháy đơn đều là chuỗi
17.1.5.4. Nếu muốn xuất ra các trang HTML
17.1.6. Nháy kép
17.1.6.1. Được phân tích cú pháp và bất kỳ biến trong php sẽ được xác định
17.1.6.2. Có thể chèn trực tiếp biến trong đoạn chuỗi
17.1.6.3. Không thể chèn 1 chuỗi có dấu ngoặc kép mà không sử dụng
17.1.6.4. Nếu muốn xuất giá trị của biến ra trang web
17.2. ReGex
17.2.1. regular exception- Biểu thức chính quy : Là thuật toán khớp mẫu mạnh mẽ có thể đươc thực hiện trong 1 biểu thức
17.2.2. Đặc điểm : nhóm các ký tự, ký hiệu đươc sử dụng để tìm kiếm
17.2.3. Ưu điểm
17.2.3.1. Đơn giản hóa việc xác định các mẫu trong chuỗi dữ liệu bằng cách gán 1 hàm duy nhất
17.2.3.2. Xác thực dữ liệu người dùng nhập vào như username, password,...
17.2.3.3. Hightlight từ khóa trong kết qủa tìm kiếm
17.2.3.4. Tạo mẫu HTML tùy chỉnh
17.2.3.5. Tăng hiệu xuất chương trình
17.2.4. Cú pháp : '/các ký tự của BTCQ-metacharacters/flags
17.2.4.1. metacharacters là tập hợp các ký tự dùng trong biểu thức chính quy
17.2.4.2. flags : các cờ đánh dấu
17.2.5. Các hàm thao tác với btcq
17.2.5.1. preg_match()
17.2.5.2. preg_match_all()
17.2.5.3. preg_split()
17.2.5.4. preg_replace()
18. mySQL của CSDL quan hệ
18.1. phân tích thiết kế CSDL
18.1.1. khái niệm
18.1.1.1. là thao thác để thực hiện tìm ra mô hình CSDL trong 1 tình huống nhất định
18.1.1.2. là 1 bản thiết kế CSDL
18.1.1.3. dựa vào bangr thiết kế dữ liệu , chúng có thế dùng các câu lệnh để tạo nên các CSDL đó
18.1.2. đặc điểm
18.1.2.1. biểu diễn dưới dang 1 lưu đồ thể hiện quan hệ
18.1.3. mục đích
18.1.3.1. Loại nỏ sự dư thừa dữ liệu
18.1.3.2. đảm bảo tính toàn vẹn và chính xác của dữ liệu
18.1.4. các bước tạo cơ sở dữ liệu
18.1.4.1. tập hơp dữ liệu tổ chức của bảng
18.1.4.2. xác định mỗi quan hệ giũa các bảng
18.1.4.2.1. các loại quan hê
18.1.4.3. làm mịn thiết kế
18.1.4.3.1. 1NF
18.1.4.3.2. 2NF
18.1.4.3.3. 3NF
18.1.4.4. áp dụng các quy tắc chuẩn hóa
18.1.4.5. xác định mục đích của CSDL
18.1.5. nguyên tăc thiết kế
18.1.5.1. chính xác
18.1.5.2. tránh trùng lặp
18.1.5.3. dễ hiểu
18.1.5.4. chọn đúng thuộc tính và kiểu thuộc tính
18.1.5.5. chọn đúng quan hệ
18.2. contrainnt (ràng buộc )
18.2.1. khái niệm : là các quy tắc (rule) được quy định cho bảng
18.2.2. ưu điểm :
18.2.2.1. hạn chế những kiểu dữ liệu đưa vào trong bảng
18.2.2.2. giúp dữ liệu chính xác , tin cậu , toàn vẹn
18.2.3. có thể quy định contraint quy định cho bảng hoặc cột
18.2.4. một số contraint
18.2.4.1. NOT NULL
18.2.4.2. unique : mỗi giá trị duy nhất
18.2.4.2.1. một bảng có nhiều trường là unique
18.2.4.2.2. 1 cột là unique
18.2.4.3. PRIMARY KEY : Khóa chinh
18.2.4.3.1. mỗi bảng có 1 khóa chính
18.2.4.3.2. khóa duy nhất
18.2.4.3.3. NOT NULL
18.2.4.3.4. bao gồm 1 hoặc nhiều cột
18.2.4.4. FROREGIGN : khóa ngoại
18.2.4.4.1. Mỗi bảng có nhiều khóa ngoại
18.2.4.4.2. Khóa ngoại của bảng này là khóa chính của bảng khác
18.2.4.4.3. khóa ngoại phải cùng kiểu dữ liệu với khóa chính mà nó tham chiếu đến
18.3. các kiểu dữ liệu
18.3.1. FLOAT
18.3.2. VARCHAR
18.3.3. TEXT
18.3.4. INT
18.3.5. DATE
18.3.6. TIME
18.3.7. DATETIME
18.3.8. CHAR
18.4. CRUD
18.4.1. là tên gọi ngắn gọn để chỉ đến 4 thao tác của 1 hệ thống CSDL
18.5. ứng dụng quản lý
18.5.1. công dụng
18.5.1.1. hiện thị danh sách 1 thực thể
18.5.1.2. hiển thị thông tin 1 thực thể
18.5.1.3. thêm 1 thực thể
18.5.1.4. cập nhật thông tin 1 thực thể
18.5.1.5. xóa 1 thực thể
18.5.2. các câu lênhj
18.5.2.1. insert into
18.5.2.2. select from
18.5.2.3. update / set
18.5.2.4. delete from
18.5.3. các toán tử trong câu lệnh where
18.5.3.1. betwen
18.5.3.2. like
18.5.3.3. in
18.5.3.4. ...
19. SQL View, Index & Stored Procedure
19.1. INDEX CHỈ MỤC
19.1.1. khái niệm
19.1.1.1. Là các bảng tra cứu đặc biệt mà db search engine có thể sử dụng để tăng nhanh thời gian và hiệu suất thu thập dữ liệu
19.1.2. khi nào cần sử dụng index
19.1.2.1. Bất cứ khi nào bạn thay đổi CTDL
19.1.3. ưu điểm
19.1.3.1. Một chỉ mục cho phép chương trình tìm dữ liệu trong bảng mà không cần duyệt qua toàn bộ mảng
19.1.3.2. Tăng tốc độ truy vấn cần nối nhiều bảng hay cần sắp xếp dữ liệu
19.1.3.3. Có thể tìm thấy những dữ liệu phù hợp với 1 số tiêu chí nhất định
19.1.3.4. Một chỉ mục hợp lý có thể cải thiện sự thực thi CSDL bớt thời gian truy cập
19.1.4. hạn chế
19.1.4.1. Các bảng có các chỉ mục đòi hỏi nhiều dung lượng bộ nhớ trong CSDL
19.1.4.2. Các lệnh thao tác dữ liệu đòi hỏi nhiều thời gian xử lý hơn, vì chúng cần cập nhật sự thay đổi tới các chỉ mục
19.1.5. các loại index
19.1.5.1. B-tree index
19.1.5.2. Hash index
19.1.5.3. R-tree index
19.1.6. phan loai
19.1.6.1. Clustered indexes
19.1.6.2. Nonclustered indexes
19.1.7. cú pháp
19.1.7.1. tạo index trên 1 bảng
19.1.7.1.1. CREATE UNIQUE INDEX index_name ON table_name(column)
19.1.7.2. Thêm index
19.1.7.2.1. ALTER TABLE table_name ADD UNIQUE index_name (column)
19.1.7.3. Xóa index
19.1.7.3.1. DROP INDEX index_name
19.1.8. Hướng dẫn khi tạo chỉ mục
19.1.8.1. Cần duy nhất các hàng khi định nghĩa chỉ mục
19.1.8.2. Chỉ mục được tạo và duy trì theo thứ tự sắp xếp tăng hay giảm dần của dữ liệu .
19.1.8.3. Một chỉ mục có thể được tạo lập trên một trường hoặc trên nhiều trường của bảng hoặc khung nhìn.
19.1.8.4. MySQL tự động tạo lập các chỉ mục cho các kiểu ràng buộc PRIMARY KEY và UNIQUE.
19.1.8.5. Nên tạo chỉ mục trên các cột khi : ▪ Bảng chứa dữ liệu lớn ▪ Cột được sử dụng để tìm kiếm thường xuyên ▪ Cột được sử dụng để sắp xếp dữ liệu ▪ Dữ liệu trong cột có sự phân biệt cao
19.1.8.6. Không nên tạo chỉ mục trên các cột khi : ▪ Bảng chỉ chứa số ít các hàng dữ liệu ▪ Cột thường xuyên có các thao tác thêm sửa xóa ▪ Cột có sự trùng lặp dữ liệu cao ▪ Cột có chứa số lượng lớn giá trị NULL
19.2. VIEW
19.2.1. khái niệm
19.2.1.1. là 1 bảng ảo được tạo ra từ nhiều tập hợp các cột của 1 hoặc nhiều bảng
19.2.1.2. chỉ có thể tạo trong CSDL
19.2.1.3. Có thể được xây dựng dựa vào các view khác và có thể lồng nhau tới 23 mức, có thể bao gồm 1024 cột
19.2.1.4. Những giá trị mặc định, những quy tắc và bẫy lỗi không thể được liên kết tới view
19.2.1.5. Khai thác view không thể bao gồm các mệnh đề ORDER BY, COMPUTE, COMPUTE BY hoặc INTO
19.2.2. ưu điểm
19.2.2.1. bảo mật thông tin quyền truy cập cá nhan
19.2.2.2. tùy biến việc hiển thị dữ liệu
19.2.2.3. kết hợp dữ lieuj từ các bảng hoặc các view
19.2.2.4. các thao tác trên bản ghi
19.2.2.5. toàn vẹn rạng buộc kiểm tra
19.2.2.6. vơi người sử dụng
19.2.2.6.1. dễ dàng hiểu được kết quả
19.2.2.6.2. dễ dàng thu lại kết quả mong muốn
19.2.2.7. với nhà phát triển
19.2.2.7.1. dễ dàng hạn chế việc nhận dữ liệu trả về
19.2.2.7.2. dễ dàng bảo trì ứng dụng
19.2.3. nhược điểm
19.2.3.1. Khi truy vấn trong View có thể sẽ chậm hơn trong table
19.2.3.2. Bị phụ thuộc vào Table gốc, nếu Table gốc thay đổi cấu trúc thì đòi hỏi View cũng phải thiết kế lại cho phù hợp
19.2.4. phân loại
19.2.4.1. Standard view
19.2.4.1.1. sử dụng từ 1 hoặc nhiều bảng
19.2.4.1.2. view được tạo chỉ mục unique clustered index
19.2.4.2. Imdexed view
19.2.4.2.1. view được tạo chỉ mục unique clustered index
19.2.4.2.2. Partintioned view
19.3. PROCEDURE
19.3.1. khái niệm
19.3.1.1. Là chương trình con giống như một chương trình con được lưu trữ trong cơ sở dữ liệu. Trong ngữ cảnh của MySQL, nó là một phân đoạn các câu lệnh SQL khai báo được lưu trữ bên trong danh mục cơ sở dữ liệu .
19.3.2. ưu điểm
19.3.2.1. tái sử dụng
19.3.2.2. thực thi mã nhanh hơn
19.3.2.3. giảm tải băng thông
19.3.2.4. bảo mật
19.3.3. System Stored Procedures
19.3.3.1. Một số điều bạn có thể làm với các System Stored Procedure bao gồm
19.3.3.1.1. Cấu hình tài khoản bảo mật.
19.3.3.1.2. Thiết lập liên kết các máy chủ.
19.3.3.1.3. Tạo kế hoạch bảo trì cơ sở dữ liệu.
19.3.4. Parameters (tham số )
19.3.4.1. là giá trị mà Stored Procedure của bạn sử dụng để thực hiện tác vụ của nó. Khi bạn viết một Stored Procedure, bạn có thể chỉ định các Parameters cần được cung cấp từ người dùng.
19.3.5. Cú pháp
19.3.5.1. tạo procedure
19.3.5.1.1. CREATE PROCEDURE MyStoredProcedure AS SET ROWCOUNT 10 SELECT Products.ProductName AS TenMostExpensiveProducts, Products.UnitPrice FROM Products
19.3.5.2. sửa procedure
19.3.5.2.1. ALTER PROCEDURE MyStoredProcedure AS
19.3.5.3. thực thi procedure
19.3.5.3.1. EXEC MyStoredProcedure
20. MVC Model
20.1. MVC
20.1.1. MVC là viết tắt của Model-View-Controller
20.1.2. kiến trúc MVC được chia thành 3 tầng khác nhau
20.1.2.1. Tầng Model: Biểu diễn dữ liệu và các logic nghiệp vụ
20.1.2.2. Tầng View: Hiển thị dữ liệu và là giao diện tương tác với người dùng
20.1.2.3. Tầng Controller: Xử lý các thao tác từ người dùng, kết nối giữa Model và view
20.1.3. Lợi ích của kiến trúc MVC
20.1.3.1. Dễ tái sử dụng
20.1.3.2. Dễ bảo trì và mở rộng
20.1.3.3. Tách phần view và phần nghiệp vụ riêng biệt
20.1.3.4. Cho phép các Lập trình viên làm việc trên các thành phần khác nhau trong cùng 1 thời điểm
21. Stack-Queue-Tree
21.1. Stack
21.1.1. Khái Niệm
21.1.1.1. Giống như ngăn xếp
21.1.2. Hoạt Đông
21.1.2.1. THeo nguyên lý LIFO: Last-In-First-Out
21.1.3. Có thể dùng mảng hoặc là một Linkedlist đẻ lưu trữ các phần tử
21.1.4. Ví dụ ứng dụng
21.1.4.1. Xếp chồng bát
21.1.4.2. Xếp quần áo
21.1.4.3. Xếp chồng sách
21.1.5. Thao tác cơ bản
21.1.5.1. pop
21.1.5.2. push
21.1.5.3. isEmply
21.1.5.4. is Full
21.2. Queue
21.2.1. Khái Niệm
21.2.1.1. Tương tự như hàng đợi trong đời sống (xếp hàng )
21.2.2. Hoạt động
21.2.2.1. Theo nguyên lý FIFO: First-In-First-Out
21.2.3. Vị du ứng dụng
21.2.3.1. Xếp hàng mua vé xem phim
21.2.3.2. lấy số khám bênh
21.2.4. Thao tác cơ bản
21.2.4.1. Enqueue
21.2.4.2. Dequeue
21.2.4.3. isEmply
21.2.4.4. is Full
21.3. Tree
21.3.1. Khái Niệm
21.3.1.1. Là một cấu trúc dữ liệu được sử dụng rộng rãi gồm 1 tập hợp các node đưuọc liên kết với nhau theo quan hệ cha con
21.3.2. Cây Nhị Phân
21.3.2.1. Khái Niệm
21.3.2.1.1. Là cây rỗng hoặc là cây mà mỗi node có tối đa 2 node con
21.3.2.2. Hoạt Động Cơ Bản
21.3.2.2.1. chèn
21.3.2.2.2. tìm kiếm
21.3.2.2.3. duyệt trung thứ tự
21.3.2.2.4. duyệt tiền thứ tự
21.3.2.2.5. duyệt hậu thứ tự
21.3.3. Ví dụ ứng dụng
21.3.3.1. Mục lục (sachs)
21.3.3.2. phòng ban của một công ty
21.4. So Sanh
21.4.1. Hoangluu2001/SoSanhMindmap