马上开始. 它是免费的哦
注册 使用您的电邮地址
MODULE2 作者: Mind Map: MODULE2

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