Bạn đã bao giờ thắc mắc tại sao cùng một từ “Switch” lại xuất hiện ở khắp mọi nơi, từ đoạn mã lập trình phức tạp, hệ thống mạng máy tính văn phòng, cho đến chiếc công tắc đèn đơn giản trong nhà? Đây không phải là sự trùng hợp ngẫu nhiên. “Switch” là một thuật ngữ đa nghĩa, và mức độ phổ biến của nó cho thấy tầm quan trọng trong nhiều lĩnh vực của cuộc sống hiện đại. Về cơ bản, dù ở bất kỳ ngữ cảnh nào, switch cũng mang ý nghĩa cốt lõi là chuyển đổi, lựa chọn hoặc điều hướng một dòng chảy nào đó. Trong bài viết này, AZWEB sẽ cùng bạn khám phá chi tiết “Switch là gì” trong từng lĩnh vực cụ thể, từ lập trình, mạng máy tính cho đến điện dân dụng, giúp bạn có cái nhìn toàn diện và chính xác nhất.
Switch trong lập trình là gì?
Trong thế giới lập trình, “Switch” là một công cụ mạnh mẽ giúp kiểm soát luồng thực thi của chương trình. Hiểu rõ về nó là một bước quan trọng để viết mã nguồn sạch sẽ và hiệu quả hơn.
Định nghĩa “Switch”
Switch, hay đầy đủ là câu lệnh switch-case
, là một cấu trúc điều khiển rẽ nhánh trong lập trình. Nó cho phép lập trình viên thực thi một trong nhiều khối mã lệnh khác nhau dựa trên giá trị của một biểu thức hoặc một biến duy nhất. Hãy tưởng tượng nó như một người điều phối tại một ngã tư đông đúc. Thay vì kiểm tra từng con đường một cách tuần tự (như câu lệnh if-else
), người điều phối (switch) sẽ nhìn vào điểm đến của bạn (giá trị của biểu thức) và ngay lập tức chỉ cho bạn lối đi chính xác (case tương ứng). Chức năng chính của nó là đơn giản hóa các chuỗi if-else if-else
dài và phức tạp, giúp mã nguồn trở nên dễ đọc và dễ bảo trì hơn, đặc biệt khi bạn cần so sánh một biến với nhiều giá trị hằng số.
Một sơ đồ minh họa luồng hoạt động của câu lệnh switch-case trong lập trình.
Cú pháp & cách hoạt động
Mặc dù có thể có một vài khác biệt nhỏ, cú pháp của câu lệnh switch-case
khá tương đồng ở các ngôn ngữ lập trình phổ biến như C/C++, Java, và JavaScript. Cấu trúc chung của nó giúp lập trình viên dễ dàng nắm bắt và áp dụng.
Về cơ bản, cú pháp sẽ có dạng như sau:
switch (bieu_thuc) {
case gia_tri_1:
// Khối lệnh thực thi khi bieu_thuc === gia_tri_1
break;
case gia_tri_2:
// Khối lệnh thực thi khi bieu_thuc === gia_tri_2
break;
// ... có thể có nhiều case khác
default:
// Khối lệnh thực thi khi không có case nào khớp
}
Trong đó:
- switch (bieu_thuc): Đây là nơi bạn đặt biến hoặc biểu thức cần kiểm tra. Chương trình sẽ lấy kết quả của
bieu_thuc
này để so sánh với cáccase
bên dưới. - case gia_tri_n: Mỗi
case
là một “nhánh rẽ”. Nếu giá trị củabieu_thuc
khớp chính xác vớigia_tri_n
, khối lệnh bên trongcase
đó sẽ được thực thi. - break: Đây là câu lệnh cực kỳ quan trọng. Khi gặp
break
, chương trình sẽ thoát ngay khỏi cấu trúcswitch
. Nếu không cóbreak
, chương trình sẽ tiếp tục thực thi các khối lệnh của nhữngcase
tiếp theo cho đến khi gặpbreak
hoặc kết thúcswitch
, gây ra lỗi logic không mong muốn. - default: Nhánh này là tùy chọn. Khối lệnh bên trong
default
sẽ được thực thi nếu giá trị củabieu_thuc
không khớp với bất kỳcase
nào ở trên. Nó hoạt động tương tự như mệnh đềelse
cuối cùng trong cấu trúcif-else
.
Ví dụ minh họa
Để hiểu rõ hơn về cách switch-case
hoạt động, hãy xem một ví dụ thực tế. Giả sử chúng ta cần viết một chương trình nhỏ để hiển thị tên của ngày trong tuần dựa vào một số nguyên từ 1 đến 7.
Đây là cách chúng ta triển khai bằng JavaScript:
let homNay = new Date().getDay(); // Lấy ngày hiện tại (0-Chủ Nhật, 1-Thứ Hai,...)
let tenNgay;
switch (homNay) {
case 0:
tenNgay = "Chủ Nhật";
break;
case 1:
tenNgay = "Thứ Hai";
break;
case 2:
tenNgay = "Thứ Ba";
break;
case 3:
tenNgay = "Thứ Tư";
break;
case 4:
tenNgay = "Thứ Năm";
break;
case 5:
tenNgay = "Thứ Sáu";
break;
case 6:
tenNgay = "Thứ Bảy";
break;
default:
tenNgay = "Giá trị không hợp lệ";
}
console.log("Hôm nay là: " + tenNgay);
Trong ví dụ này, chương trình sẽ lấy giá trị của biến homNay
. Sau đó, nó đi vào cấu trúc switch
và so sánh giá trị này với từng case
. Nếu homNay
là 3
, chương trình sẽ nhảy thẳng đến case 3
, gán giá trị “Thứ Tư” cho biến tenNgay
, sau đó gặp lệnh break
và thoát ra ngoài. Nếu không có case
nào phù hợp, khối default
sẽ được thực thi. Tình huống thực tế nên dùng switch
là khi bạn có một biến và cần thực hiện các hành động khác nhau dựa trên một danh sách các giá trị cụ thể, thay vì các điều kiện phức tạp (ví dụ: x > 10 && y < 5
).
Một đoạn code ví dụ về switch-case được highlight các thành phần chính: switch, case, break, default.
Ưu điểm và nhược điểm
Khi nào bạn nên dùng switch-case
và khi nào nên gắn bó với if-else
? Việc hiểu rõ ưu và nhược điểm của mỗi cấu trúc sẽ giúp bạn đưa ra quyết định đúng đắn.
Ưu điểm của switch-case:
- Dễ đọc hơn (Readability): Khi có nhiều nhánh rẽ dựa trên cùng một biến,
switch
thường gọn gàng và có cấu trúc rõ ràng hơn một chuỗiif-else if
dài. - Hiệu suất tốt hơn (trong một số trường hợp): Trình biên dịch có thể tối ưu hóa
switch
bằng cách sử dụng bảng nhảy (jump table), giúp việc lựa chọn nhánh rẽ nhanh hơn so với việc phải kiểm tra tuần tự từng điều kiệnif
. - Mục đích rõ ràng: Cấu trúc
switch
thể hiện rõ ý định của lập trình viên là kiểm tra một biến duy nhất với nhiều giá trị khác nhau.
Nhược điểm của switch-case:
- Hạn chế về điều kiện:
switch
chỉ có thể so sánh bằng (equality) với các giá trị hằng số (số nguyên, ký tự, chuỗi). Nó không thể xử lý các biểu thức logic phức tạp (ví dụ:>
,<
,&&
,||
). - Dễ quên
break
: Đây là một lỗi phổ biến có thể gây ra kết quả sai mà không có cảnh báo từ trình biên dịch. - Kém linh hoạt: Với
if-else
, bạn có thể kiểm tra các biến khác nhau trong mỗi điều kiện, điều màswitch
không làm được.
Tóm lại, hãy sử dụng switch
khi bạn cần so sánh một biến với một danh sách các giá trị cụ thể và hằng số. Ngược lại, khi bạn cần kiểm tra các điều kiện phức tạp, các khoảng giá trị, hoặc nhiều biến khác nhau, if-else
là lựa chọn linh hoạt và phù hợp hơn.
Switch trong mạng máy tính là gì?
Chuyển sang lĩnh vực mạng, Switch là một thiết bị phần cứng không thể thiếu, đóng vai trò trung tâm trong việc kết nối các thiết bị và đảm bảo luồng dữ liệu được thông suốt.
Hình ảnh một thiết bị switch mạng chuyên dụng với nhiều cổng cắm cáp Ethernet.
Định nghĩa Switch mạng
Switch mạng, hay còn gọi là thiết bị chuyển mạch, là một thiết bị phần cứng dùng để kết nối các thiết bị khác nhau trong cùng một mạng LAN là gì (LAN – Local Area Network). Các thiết bị này có thể là máy tính, máy in, máy chủ, camera an ninh, hoặc bất kỳ thiết bị nào có cổng mạng Ethernet. Vai trò của switch là nhận các gói dữ liệu (data packets) từ một thiết bị, sau đó chuyển tiếp chúng một cách thông minh đến đúng thiết bị đích trong mạng, thay vì gửi đi khắp nơi. Trong hệ thống mạng hiện đại, switch được coi là xương sống của mạng LAN, giúp tạo ra một môi trường giao tiếp hiệu quả, nhanh chóng và an toàn cho tất cả các thiết bị được kết nối.
Nguyên lý hoạt động
Để hiểu tại sao switch lại hiệu quả, chúng ta cần so sánh nó với người tiền nhiệm là Hub. Hub là gì là một thiết bị đơn giản, khi nhận được dữ liệu từ một cổng, nó chỉ sao chép và phát tán gói tin đó đến tất cả các cổng khác. Điều này giống như một người đứng giữa phòng và hét lớn thông tin cho tất cả mọi người, dù chỉ có một người cần nghe. Cách làm này gây ra tình trạng “đụng độ dữ liệu” (collision) và làm lãng phí băng thông, khiến mạng trở nên chậm chạp khi có nhiều thiết bị cùng hoạt động.
Sơ đồ so sánh nguyên lý hoạt động giữa Hub (phát tán) và Switch (chuyển mạch thông minh).
Switch thì thông minh hơn nhiều. Nó hoạt động ở Lớp 2 (Data Link Layer) trong mô hình OSI và sử dụng địa chỉ MAC (Media Access Control) để đưa ra quyết định. Mỗi thiết bị mạng đều có một địa chỉ MAC duy nhất không thay đổi. Khi một switch được bật lên, nó bắt đầu xây dựng một bảng gọi là “bảng địa chỉ MAC”. Bảng này ghi lại địa chỉ MAC của mỗi thiết bị tương ứng với cổng mà thiết bị đó đang kết nối. Khi một gói tin đến switch, nó sẽ đọc địa chỉ MAC đích trong gói tin, tra cứu trong bảng của mình và chỉ chuyển tiếp gói tin đến đúng cổng của thiết bị nhận. Quá trình này được gọi là chuyển tiếp khung (frame forwarding), giúp giảm thiểu lưu lượng mạng không cần thiết, tăng cường bảo mật và cải thiện hiệu suất đáng kể.
Phân loại & ứng dụng
Switch mạng rất đa dạng, được thiết kế để đáp ứng các nhu cầu khác nhau từ gia đình cho đến các trung tâm dữ liệu khổng lồ. Chúng ta có thể phân loại chúng dựa trên khả năng quản lý và tính năng.
- Unmanaged Switch (Switch không quản lý): Đây là loại switch cơ bản nhất, hoạt động theo kiểu “cắm và chạy”. Bạn chỉ cần kết nối dây mạng và nó sẽ tự động làm việc mà không cần cấu hình. Loại này phù-hợp-nhất cho mạng gia đình hoặc văn phòng nhỏ, nơi chỉ cần kết nối đơn giản vài thiết bị.
- Managed Switch (Switch quản lý): Loại switch này cung cấp nhiều tính năng và cho phép quản trị viên mạng tùy chỉnh sâu. Bạn có thể cấu hình các tính năng như VLAN (Mạng LAN ảo), QoS (Chất lượng dịch vụ), và giám sát lưu lượng. Chúng thường được sử dụng trong các mạng doanh nghiệp lớn, nơi yêu cầu hiệu suất cao, bảo mật và khả năng kiểm soát chặt chẽ.
- PoE Switch (Power over Ethernet): Switch PoE có khả năng cấp nguồn điện trực tiếp cho các thiết bị kết nối qua cáp mạng Ethernet. Điều này rất hữu ích khi lắp đặt các thiết bị như camera IP, điện thoại VoIP, hoặc điểm truy cập Wi-Fi ở những nơi khó kéo dây nguồn.
- Layer 2 vs Layer 3 Switch: Switch Lớp 2 chỉ hoạt động với địa chỉ MAC. Switch Lớp 3 (hay Switch đa lớp) có thêm khả năng của một Router, tức là nó có thể định tuyến (routing) dữ liệu giữa các mạng con (VLAN) khác nhau dựa trên địa chỉ IP, mang lại hiệu suất cao hơn cho các mạng nội bộ phức tạp.
Ứng dụng của switch có ở khắp mọi nơi: từ việc kết nối vài chiếc máy tính ở nhà, xây dựng hệ thống mạng cho toàn bộ tòa nhà văn phòng, cho đến việc liên kết hàng ngàn máy chủ trong các trung tâm dữ liệu của Google hay Facebook.
Hình ảnh minh họa các loại switch khác nhau: unmanaged, managed, PoE.
Ưu nhược điểm
Sử dụng switch trong mạng máy tính mang lại nhiều lợi ích vượt trội, nhưng cũng có một số giới hạn cần lưu ý khi thiết kế hệ thống.
Ưu điểm:
- Tăng hiệu suất mạng: Bằng cách tạo ra một kênh giao tiếp riêng biệt giữa hai thiết bị, switch làm giảm đáng kể tình trạng đụng độ dữ liệu so với Hub.
- Bảo mật tốt hơn: Dữ liệu chỉ được gửi đến đúng người nhận, ngăn chặn việc các thiết bị khác trong mạng có thể “nghe lén” các gói tin không dành cho chúng.
- Sử dụng băng thông hiệu quả: Mỗi cổng trên switch có băng thông riêng, cho phép nhiều cặp thiết bị giao tiếp đồng thời mà không ảnh hưởng lẫn nhau (full-duplex).
- Linh hoạt và có khả năng mở rộng: Dễ dàng thêm các thiết bị mới vào mạng mà không làm giảm hiệu suất chung.
Nhược điểm:
- Chi phí cao hơn Hub: Do công nghệ phức tạp hơn, switch thường có giá thành cao hơn Hub.
- Hạn chế trong việc kết nối các mạng khác nhau: Một switch Lớp 2 tiêu chuẩn không thể kết nối hai mạng IP khác nhau (ví dụ: mạng 192.168.1.0/24 và 10.0.0.0/8). Chức năng này thuộc về Router hoặc Switch Lớp 3.
- Cấu hình phức tạp (đối với Managed Switch): Để tận dụng hết các tính năng của switch quản lý, quản trị viên cần có kiến thức chuyên môn về mạng.
Khi thiết kế mạng, điều quan trọng là phải chọn đúng loại switch phù hợp với quy mô và yêu cầu cụ thể để tối ưu hóa cả chi phí và hiệu suất.
Switch trong điện dân dụng
Trong lĩnh vực điện dân dụng, “Switch” là một thuật ngữ quen thuộc hơn cả. Nó chính là chiếc công tắc mà chúng ta sử dụng hàng ngày để điều khiển các thiết bị điện.
Hình ảnh một chiếc công tắc đèn thông thường trên tường nhà.
Khái niệm công tắc (switch)
Trong điện dân dụng, switch đơn giản là một công tắc điện. Đây là một thiết bị cơ khí hoặc điện tử được thiết kế để đóng hoặc ngắt một mạch điện một cách có chủ đích. Khi công tắc ở trạng thái “BẬT” (ON), nó tạo ra một đường dẫn liên tục cho dòng điện chạy qua, cấp nguồn cho thiết bị (ví dụ như bóng đèn sáng lên). Ngược lại, khi ở trạng thái “TẮT” (OFF), nó tạo ra một khoảng hở trong mạch, ngắt dòng điện và làm thiết bị ngừng hoạt động. Công tắc là một trong những thành phần cơ bản và quan trọng nhất trong bất kỳ hệ thống điện nào, từ nhà ở, văn phòng cho đến nhà máy công nghiệp. Trên các sơ đồ mạch điện, công tắc thường được ký hiệu bằng một đường thẳng với một đoạn có thể mở ra hoặc đóng lại. Cần phân biệt công tắc với các thiết bị khác như ổ cắm (cung cấp điểm kết nối nguồn) hay át-tô-mát (thiết bị bảo vệ tự động ngắt mạch khi có sự cố).
Phân loại công tắc
Công tắc điện dân dụng có rất nhiều loại, được phân loại dựa trên chức năng, thiết kế và công nghệ. Việc lựa chọn đúng loại công tắc không chỉ đảm bảo an toàn mà còn mang lại sự tiện lợi cho người dùng.
- Công tắc đơn (1 chiều): Đây là loại phổ biến nhất, có một phím bấm để điều khiển một thiết bị hoặc một nhóm thiết bị điện tại một vị trí duy nhất. Ví dụ: công tắc đèn cho một phòng.
- Công tắc đôi, ba: Tương tự như công tắc đơn nhưng được tích hợp 2 hoặc 3 phím bấm trên cùng một mặt, cho phép điều khiển 2 hoặc 3 thiết bị độc lập từ một vị trí.
- Công tắc hai chiều (công tắc đảo chiều): Loại công tắc này cho phép điều khiển bật/tắt một thiết bị từ hai vị trí khác nhau. Nó thường được sử dụng cho đèn cầu thang, hành lang dài hoặc trong phòng ngủ lớn.
- Công tắc thông minh (Smart Switch): Đây là thế hệ công tắc hiện đại. Ngoài chức năng bật/tắt thủ công, chúng có thể kết nối với mạng Wi-Fi, cho phép người dùng điều khiển từ xa qua điện thoại thông minh, hẹn giờ bật/tắt, hoặc điều khiển bằng giọng nói thông qua các trợ lý ảo như Google Assistant hay Alexa.
Ứng dụng của chúng vô cùng đa dạng trong đời sống, từ việc bật một bóng đèn, khởi động một chiếc quạt, cho đến việc tích hợp vào hệ thống nhà thông minh để tạo ra các kịch bản chiếu sáng và điều khiển tự động hóa.
Hình ảnh so sánh công tắc đơn, công tắc đôi và công tắc thông minh.
Tổng hợp & so sánh đa lĩnh vực
Sau khi đã đi sâu vào từng lĩnh vực, chúng ta có thể thấy rõ rằng dù cùng tên gọi “Switch”, bản chất và chức năng của chúng lại hoàn toàn khác biệt. Việc tổng hợp và so sánh sẽ giúp bạn củng cố lại kiến thức một cách hệ thống.
Dưới đây là bảng so sánh ngắn gọn các đặc điểm và chức năng chính của switch trong ba lĩnh vực đã thảo luận:
Lĩnh vực | Đặc điểm | Chức năng chính |
---|---|---|
Lập trình | Là một cấu trúc điều khiển, một câu lệnh trong mã nguồn. | Lựa chọn một khối lệnh để thực thi dựa trên giá trị của một biến hoặc biểu thức. |
Mạng máy tính | Là một thiết bị phần cứng vật lý với nhiều cổng mạng. | Nhận và chuyển tiếp các gói dữ liệu đến đúng thiết bị đích trong một mạng LAN dựa trên địa chỉ MAC. |
Điện dân dụng | Là một thiết bị cơ khí hoặc điện tử dùng trong mạch điện. | Đóng hoặc ngắt dòng điện để bật hoặc tắt một thiết bị điện. |
Một bảng so sánh trực quan đặc điểm của switch trong 3 lĩnh vực: Lập trình, Mạng, Điện.
Từ bảng so sánh trên, lời khuyên để lựa chọn “switch” phù hợp với nhu cầu trở nên rất rõ ràng:
- Nếu bạn là một lập trình viên và cần xử lý nhiều lựa chọn dựa trên một giá trị duy nhất, hãy nghĩ đến việc sử dụng câu lệnh
switch-case
để làm cho mã của bạn sạch sẽ hơn. - Nếu bạn đang thiết lập một hệ thống mạng cho gia đình hoặc văn phòng và cần kết nối nhiều máy tính, máy in với nhau, thứ bạn cần là một thiết bị chuyển mạch (switch mạng).
- Nếu bạn chỉ đơn giản là muốn điều khiển một bóng đèn hay một chiếc quạt, bạn đang tìm kiếm một công tắc điện dân dụng.
Câu hỏi thường gặp về “Switch”
Dưới đây là một số câu hỏi phổ biến mà nhiều người thường thắc mắc về “Switch”, được AZWEB tổng hợp và trả lời một cách ngắn gọn, dễ hiểu.
1. Câu lệnh switch
có thay thế hoàn toàn được if-else
không?
Không hoàn toàn. Switch
rất hiệu quả khi so sánh một biến với một danh sách các giá trị hằng số cụ thể. Tuy nhiên, if-else
linh hoạt hơn nhiều, nó có thể xử lý các điều kiện phức tạp, các khoảng giá trị (lớn hơn, nhỏ hơn) và kiểm tra nhiều biến khác nhau cùng lúc. Vì vậy, mỗi cấu trúc có thế mạnh riêng và được dùng trong các tình huống khác nhau.
2. Switch mạng và Hub khác nhau thế nào?
Điểm khác biệt cốt lõi là sự “thông minh”. Hub chỉ đơn giản là nhận dữ liệu và gửi nó đến tất cả các thiết bị trong mạng, gây lãng phí băng thông. Trong khi đó, Switch ghi nhớ địa chỉ MAC của từng thiết bị và chỉ gửi dữ liệu đến đúng thiết bị đích, giúp mạng hoạt động nhanh và an toàn hơn nhiều.
3. Switch thông minh là gì và nó có lợi ích gì?
Switch thông minh là một loại công tắc điện có thể kết nối với mạng không dây (Wi-Fi). Lợi ích chính của nó là cho phép bạn điều khiển các thiết bị điện từ xa thông qua ứng dụng trên điện thoại, đặt lịch bật/tắt tự động, hoặc thậm chí điều khiển bằng giọng nói. Nó là một phần quan trọng của hệ sinh thái nhà thông minh (smarthome).
4. Khi nào nên dùng Switch Lớp 2 và khi nào nên dùng Switch Lớp 3?
Switch Lớp 2 (Layer 2) là lựa chọn tiêu chuẩn cho hầu hết các mạng LAN gia đình và doanh nghiệp nhỏ, nơi các thiết bị chỉ cần giao tiếp trong cùng một mạng. Bạn nên dùng Switch Lớp 3 (Layer 3) trong các mạng doanh nghiệp lớn hơn, nơi có nhiều mạng con (VLAN) và cần định tuyến lưu lượng giữa chúng với tốc độ cao mà không cần đến một router riêng biệt.
Kết luận
Qua bài viết chi tiết này, hy vọng bạn đã có một cái nhìn toàn diện và rõ ràng về “Switch là gì”. Chúng ta đã thấy rằng, mặc dù mang chung một tên gọi, “Switch” lại đại diện cho ba khái niệm hoàn toàn khác biệt trong ba lĩnh vực quan trọng: một câu lệnh điều khiển luồng trong lập trình, một thiết bị phần cứng cốt lõi trong mạng máy tính, và một công tắc điện quen thuộc trong cuộc sống hàng ngày. Điểm chung duy nhất giữa chúng có lẽ là ý tưởng về sự “chuyển mạch” – điều hướng một dòng chảy, dù đó là dòng thực thi mã lệnh, dòng dữ liệu mạng, hay dòng điện.
Việc hiểu rõ từng khái niệm không chỉ giúp bạn sử dụng thuật ngữ một cách chính xác mà còn là nền tảng kiến thức quan trọng trong thế giới kỹ thuật số. Tại AZWEB, chúng tôi tin rằng việc nắm vững những khái niệm cơ bản này là bước đệm để bạn có thể tự tin xây dựng và quản lý các giải pháp công nghệ, từ việc thiết kế một trang web chuyên nghiệp, tối ưu hóa hệ thống mạng nội bộ, cho đến việc xây dựng một ngôi nhà thông minh. Hiểu đúng về switch chính là bạn đã nắm trong tay chiếc chìa khóa để điều khiển và tối ưu hóa các hệ thống xung quanh mình.
Tài liệu tham khảo & nguồn uy tín
Để tìm hiểu sâu hơn và xác thực thông tin, bạn có thể tham khảo các nguồn tài liệu chính thống và uy tín sau:
- Các bách khoa toàn thư mở như Wikipedia.
- Giáo trình và tài liệu học thuật về các ngôn ngữ lập trình như C++, Java, JavaScript.
- Trang web và tài liệu chuyên ngành về mạng máy tính từ các tổ chức uy tín như Cisco, CompTIA.
- Các tiêu chuẩn và hướng dẫn kỹ thuật về điện dân dụng được ban hành bởi các cơ quan có thẩm quyền.