ConstraintsConstraints ��� ��ͺѧ�Ѻ��������㹡��حҵ�������Т����ŷ���������ŧ㹰ҹ������������������͡�����Ũҡ�ҹ������������ҧ�١��ͧ ����ª�����ҧ��蹢ͧ��������� ���� Show
�ٻẺ�ͧ����ʴ��ҹ������ �� E/R model ���䢷������ö�ʴ�������§��û�С�Ȥ��� ��Դ��������ѹ�� �ѡɳС������Ҫԡ ��Ф�����ӫ���ҹ�� ��ҧ�ҡ Relational model ���� SQL �������ö�ͧ�Ѻ���䢷���ҡ���ҹ���� ���
㹡�û�С����кѧ�Ѻ��������������ռšѺ�ҹ������ ����ö�����¡�û�С�������ٻẺ�ͧ��������ѹ�� ���ͻ�С�������ѧ ��觨��ռ���Ѻ�ҹ�����ŷ��������Ѩ�غѹ ����ͻ�С�����䢺ѧ�Ѻ����� ������˵ء�ó�㴷������Դ���� �� ����� SQL �к��Ѵ��ðҹ�����š�е�ͧ¡��ԡ�˵ء�ó����ͤ���觹������駢�ͼԴ��Ҵ��������Һ�ѹ�� ������ҧ���С���ǵ��仨���ҧ�ԧ�������� SQL ����繤���觷��������ҡ㹡�ä��Ң����Ũҡ�ҹ������ Key constraint㹰ҹ�������ԧ����ѹ������������ǡѺ�������� 2 Ẻ ���
��á�˹������ SQL ����ö�����ͧẺ ��� ��á�˹�����ͷ��Ժ�����е�� ���͡�˹�����������������ҧ��������ѹ�� �ѧ������ҧ CREATE TABLE Emp (EmpID integer ������ѡ, Name char(40), Address char(80) Dept char(3) Office integer, Phone char(10) UNIQUE (name,address)) Referential Integrity�����ҧ�ԧ�֧�����Ũҡ��������ѹ����� ������ ���
㹡�úѧ�Ѻ�� Referential Integrity �ҡ SQL ����ö��С�����Ѻ����ͷ��Ժ���µç���ͻ�С���¡���㹤�������ѹ�����ͧ�����ҧ�ԧ�֧�ͷ��Ժ�ǵ�ǹ�� CREATE TABLE Apply(ID integer REFERENCES Emp(EmpID), Location char(20), Dept char(3), FOREIGN KEY (location) REFERENCES Building(location)) Check��õ�Ǩ�ͺ��Ңͧ������㹤�������ѹ�����������ҧ˹�觷��е�ͧ�ӵ�� ���͡�ͧ�Т����ŷ���������ŧ���㹰ҹ������ ����� CHECK ����� SQL ����ö�������Ѻ��������ҧ���ҧ��������ѹ�� CREATE TABLE � SQL ���͵�Ǩ�ͺ����Ѻ�������������è��红������ǹ��㹵��ҧ������� ¡������ҧ�� ��������ѹ�� Emp �ա���������آͧ��ѡ�ҹ �֧��ͧ�ա�õ�Ǩ�ͺ��Ҿ�ѡ�ҹ�������Թ 20 ��������� CREATE TABLE Emp (EmpID integer ������ѡ, Name char(40), Age integer, Address char(80) Dept char(3) Office integer, Phone char(10) CHECK (age > 20)) AssertionAssertion ��� ���䢷��������㹡�õ�Ǩ�ͺ�����١��ͧ������ͧ�ء��������ѹ�����ͷء�ҹ������ �������ö��������� �� ������º��º���µç ������ҧ Assertion ���� SQL ����ö��������������ٻẺ���仹�� CREATE ASSERTION <name> CHECK (<condition>) ����µ�����ҧ��������ѹ�� Emp ����Ѻ��ا���Ǣ�ҧ�� CREATE ASSERTION ageover CHECK (NOT EXISTS (SELECT age FROM Emp) > 20) Assertion ������ҧ���������䢷�������к��Ѵ��ðҹ�����Ť��������Դ��üԴ���䢵������˹����� Assertion ������� ����Դ��üԴ��Ҵ�к��Ѵ��ðҹ�����š����§ҹ��ͼ������ª��ͧ͢ Assertion ������ҧ���ѹ�� MAC Address คืออะไร และมีกี่ประเภท ? เอาไปบอกชาวบ้านอันตรายหรือไม่ ?ในยุคไซเบอร์ที่การสื่อสารไร้พรมแดน เรามีเครือข่าย อินเทอร์เน็ต (Internet) ไว้ใช้งานเพื่อให้ติดต่อสื่อสารกัน ซึ่งหากพูดถึงสิ่งที่ใช้ระบุตัวตนของเราในโลกของอินเทอร์เน็ต และทำให้เรารู้ได้ว่าใครเป็นใคร หลายคนก็คงจะรู้จักกับ หมายเลขที่อยู่ไอพี (Internet Protocol Address) กันดีอยู่แล้ว แต่นอกเหนือจากนี้แล้ว หลายคนอาจเคยได้ยินว่ามีหมายเลข MAC Address ประจำเครื่องเช่นกัน โดยบทความนี้เราก็จะมาทำความรู้จักกับ MAC Address กัน บทความเกี่ยวกับ Mac Address อื่นๆ MAC Address คืออะไร ?MAC Address (Media Access Control Address) หรือ Physical Address คือรหัสประจำตัวของอุปกรณ์ที่ประกอบด้วยตัวเลขฐาน 16 มี 6 Bytes และรหัส 12 ตัว เช่น "2C:54:91:88:C9:E3" ซึ่งรหัสเหล่านี้จะถูกติดตั้งมาพร้อมกับฮาร์ดแวร์เน็ตเวิร์คการ์ด หรือ NIC (Network Interface Card) ที่อุปกรณ์ต่าง ๆ ใช้เชื่อมต่อระบบเครือข่าย Ethernet (LAN), Wi-Fi และ บลูทูธ (Bluetooth) นั่นเอง และมันก็คือรหัสที่อุปกรณ์ภายในเครือข่ายใช้สื่อสารกันเพื่ออ้างอิงที่มาเหมือนกับ IP Address นั่นเอง โดยเลข MAC Address ก็พบได้ในอุปกรณ์ที่ใช้งานระบบเหล่านั้น เช่น อุปกรณ์คอมพิวเตอร์ เครื่องปริ้นเตอร์อุปกรณ์เครือข่าย หรือพวกแท็บเล็ต โน้ตบุ๊ค มือถือ ที่เราใช้ต่อเน็ตกับ Wi-Fi ก็มีเช่นกัน วิธีดูค่า MAC Address ในคอมพิวเตอร์สำหรับการดูค่า MAC Address ก็ง่ายแสนง่าย เพียงแค่เราเปิด การพิมพ์คำสั่ง (Command Prompt) ขึ้นมาโดยกด "ปุ่ม Windows + R" และพิมพ์ว่า "cmd" หรือจะเปิดจาก เมนูเริ่มต้น (Start Menu) เลยก็ได้ จากนั้นพิมพ์ลงไปว่า "ipconfig /all" และกด "ปุ่ม Enter" มองหาคำว่า Physical Address นั่นก็คือ MAC Address นั่นเอง ซึ่งในอุปกรณ์ของเราสามารถมีหลาย MAC Address ได้เพราะว่ามีการใช้งานได้หลายระบบ เช่น Ethernet (LAN), Wi-Fi และ Bluetooth ดังนั้นโดยทั่วไปก็อาจจะมี 3 MAC Address วิธีดู MAC Address ในมือถือ และ อุปกรณ์พกพาในมือถือและอุปกรณ์พกพา ก็จะง่ายหน่อย เพราะส่วนใหญ่จะอยู่ในเมนูการตั้งค่า โดยในภาพเป็นของ iPhone ถ้าเป็น Android ก็ลองหาเมนูที่ดูใกล้เคียงได้ ไม่ยากเกินความสามารถ โดยเราต้องไปที่ "เมนูการตั้งค่า" → "เมนูเกี่ยวกับ" และเลื่อนลงมา เราก็จะเห็น "ที่อยู่ MAC Address" ทั้ง Wi-Fi และ Bluetooth ของอุปกรณ์แบบนี้ครับ MAC Address มีไว้ใช้ทำอะไร ? และต่างจาก IP Address ตรงไหน ?ภาพจาก https://aoostudio.com/system-infrastructure/osi-model-open-systems-interconnection-model-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/ ในโมเดลรูปแบบการส่งข้อมูลระหว่างอุปกรณ์อิเล็กทรอนิกส์ หรือ Open Systems Interconnection (OSI) หมายเลข MAC Address จะถูกใช้ในระดับของ Data Link layer (OSI layer 2) มีหน้าที่เพื่อใช้ยืนยันที่มาของอุปกรณ์ที่สื่อสารกันภายในเครือข่าย Ethernet (LAN), Wi-Fi รวมถึง Bluetooth ในขณะที่ IP Address นั้นถูกใช้ในระดับของ Network Layer (OSI Layer 3) มีไว้ยืนยันที่มาข้อมูลของอุปกรณ์ที่มาจากนอกเครือข่ายหรือภาษาที่เราเข้าใจก็คือการส่งข้อมูลบนโลกอินเทอร์เน็ต
ซึ่งปกติแล้วอุปกรณ์อย่าง สวิตซ์เครือข่าย (Network Switch) หรือ เราเตอร์ (Router) จะสามารถกำหนดค่าของ หมายเลขที่อยู่ IP ขึ้นมาผูกกับ MAC Address ของอุปกรณ์ต่าง ๆ ได้ และใช้ หมายเลข IP นั้นในการสื่อสารหรือเป็นทางออกไปสู่โลกออนไลน์ เนื่องจาก MAC Address จะใช้ทำงานภายในเครือข่ายเดียวกันเท่านั้น สมมติถ้าเกิดเราใช้โน้ตบุ๊คเชื่อมต่อ Wi-Fi ในบ้านตัวเอง หมายเลข MAC Address ของโน้ตบุ๊คก็จะถูกใช้ส่งข้อมูลกับอุปกรณ์ภายในเครือข่ายอินเทอร์เน็ตที่ใช้งานอยู่ในบ้านเท่านั้นแต่ถ้าเกิดมีการท่องเว็บไซต์เมื่อไหร่ นั่นคือการที่เราต้องส่งข้อมูลกับอุปกรณ์นอกเครือข่าย ตอนนั้นหมายเลขที่อยู่ IP ถึงจะถูกใช้งานเป็นเหมือนตัวแทนของ MAC Address ถ้าอธิบายอีกรูปแบบหนึ่งที่คนมักเปรียบเทียบกันบ่อย ๆ ให้คอมพิวเตอร์คือมนุษย์ MAC Address ก็คือหมายเลขบัตรประชาชน ส่วน หมายเลข IPเหมือนเลขที่บ้าน ถ้ามีการย้ายจุดเชื่อมต่อเครือข่ายอินเทอร์เน็ตหมายเลข IP Address ก็มีการเปลี่ยนแปลงได้ แต่หมายเลข MAC Address จะติดอยู่กับตัวอุปกรณ์ตลอดไป
โดย MAC Address ก็จะถูกเซ็ตค่ามาให้ไม่ซ้ำกัน เวลาใช้งานก็จะได้ไม่เกิดกรณีที่มีหมายเลขชนกันบนเครือข่ายและทำให้ระบบไม่ทำงาน โดยผู้ที่ตั้งค่า MAC Address มาให้ก็คือผู้ผลิตฮาร์ดแวร์ ในขณะที่ หมายเลขที่อยู่ IP ถูกกำหนดโดยผู้ให้บริการอินเทอร์เน็ตแต่ละเจ้านั่นเอง โครงสร้างของ MAC Addressโดยทั่วไปแล้วเลขที่อยู่ MAC Address ของอุปกรณ์ต่าง ๆ จะถูกกำหนดโดย 2 หน่วยงานหลักนั่นก็คือผู้กำกับมาตรฐานการสื่อสารบนระบบเครือข่ายคอมพิวเตอร์หรือ Institute of Electrical and Electronics Engineers (IEEE) ที่สร้างมาตรฐาน IEEE802.11 ของการสื่อสารไร้สายนั่นเอง ส่วนอีกหน่วยงานก็คือ ผู้ผลิตตัวฮาร์ดแวร์ NIC ที่ติดตั้งบนอุปกรณ์ ภาพจาก https://www.globalknowledge.com/us-en/resources/resource-library/articles/does-a-mac-address-mean-apple-invented-it/#gref ตัวอย่าง สมมติว่าคอมพิวเตอร์เครื่อง A มีเลข MAC Address เป็น 00:10:A4:88:C9:E3 ตัวเลข 3 ตำแหน่งด้านหน้าจะเรียกว่า Organizationally Unique Identifier (OUI) มีความหมายว่าตัวเลขเฉพาะของบริษัทที่ Institute of Electrical and Electronics Engineers (IEEE) จะเป็นผู้ออกให้กับบริษัทที่ผลิตคอมพิวเตอร์โดยไม่ซ้ำกัน ในขณะที่ ตัวเลข 3 ตำแหน่งหลัง ผู้ผลิตจะเป็นคนกำหนดขึ้นมาเอง เป็นหมายเลขซีเรียล (Serial Number) ของอุปกรณ์นั้น ๆ ดังนั้นหมายความว่า หากหมายเลข MAC Address ขึ้นต้นด้วย "00:10:A4:" ก็แสดงว่ามาจากบริษัทดังกล่าว ส่วนด้านหลังบริษัทก็จะออกเลขมาให้ไม่ซ้ำกันไป เช่น
MAC Address มีกี่ประเภท ?MAC Address สามารถแบ่งประเภทได้เป็น 3 ประเภท คือ Unicast, Multicast และ Broadcast ตามรูปแบบของการส่งข้อมูลในโลกของ Network และอย่างที่กล่าวไว้ MAC Address จะใช้ส่งข้อมูลภายในเครือข่ายหรือ ระดับ Data Link Layer (OSI Layer 2) เท่านั้น ซึ่งอุปกรณ์ที่ทำหน้าที่ในการกำหนดเส้นทางการส่งข้อมูลภายในเครือข่ายก็คืออุปกรณ์ที่เรียกว่า สวิตซ์เครือข่าย (Network Switch) โดยรูปแบบการส่งข้อมูลของ เน็ตเวิร์กสวิตซ์ จะเรียกว่า Frame ในหนึ่ง Frame จะประกอบด้วย ที่อยู่ต้นทาง (Source) ที่อยู่ปลายทาง (Destination) และ ข้อมูล (Data) ที่ให้อุปกรณ์ใช้เพื่อสื่อสารกัน โดยบทบาทของ MAC Address ทั้ง 3 ประเภทก็จะเริ่มจากตรงนี้
MAC Address แบบ UnicastMAC Address รูปแบบ Unicast ถูกเรียกตามการส่งข้อมูลแบบ Unicast หมายถึงการส่งข้อมูลแบบ 1 Source 1 Destination ดังนั้นที่อยู่ MAC Address ที่ปรากฏใน Frame ก็จะเป็นที่อยู่เฉพาะตัวของอุปกรณ์ต้นทาง และ ปลายทาง ภาพจาก https://www.geeksforgeeks.org/introduction-of-mac-address-in-computer-network/ MAC Address แบบ MulticastMAC Address แบบ Multicast มักขึ้นต้นด้วย "01-00-5E" เสมอ ซึ่ง IEEE ได้จำแนกไว้ให้เป็นเลขมาตรฐานโปรโตคอล (Protocol) สำหรับการส่งข้อมูลแบบ Multicast ส่วนเลขอีก 3 Bytes หลังจะกำหนดโดยโปรแกรมเครือข่ายที่ใช้งานอยู่ ซึ่งการส่งข้อมูลแบบ Multicast จะใช้ในกรณีที่ต้องการให้คอมพิวเตอร์ส่งข้อมูลภายในเครือข่ายแบบเป็นกลุ่มได้หรือ 1 แหล่ง (Source) ออกไปยัง 1 กลุ่ม Destination เช่น คอมพิวเตอร์แม่ข่ายต้องการลงโปรแกรม Windows ในคอมพิวเตอร์ลูกข่ายที่กำหนดไว้หลาย ๆ เครื่อง ดังนั้นหมายเลข MAC Address ปลายทาง (Destination) ใน Frame จะไม่ใช่หมายเลขเฉพาะของอุปกรณ์ แต่เป็นที่อยู่ที่ตั้งค่าไว้โดยอุปกรณ์ หรือ โปรแกรมเครือข่ายเพื่อให้ส่งข้อมูลแบบ Multicast โดยในภาพตัวอย่างนี้คือ "เลข 01-00-5E-00-00-0A" MAC Address แบบ Broadcastสำหรับกรณีถ้าต้องการส่งข้อมูลจาก 1 Source ไปยังอุปกรณ์ที่เชื่อมต่อในเครือข่ายทั้งหมด เช่น ต้องการลงโปรแกรมให้คอมพิวเตอร์ลูกข่ายพร้อมกันทั้งหมด เราสามารถใช้ MAC Address แบบ Broardcast หรือที่อยู่ "FF-FF-FF-FF-FF-FF" ตั้งไว้เป็น Destination ถ้าคนอื่นรู้ MAC Address แล้วอันตรายหรือไม่ ?ภาพจาก https://techwithtech.com/mac-address-what-can-a-hacker-do/ หนึ่งคำถามที่หลายคนมักสงสัยคือการเปิดเผย MAC Address ให้คนอื่นรู้จะเป็นอันตรายหรือไม่ และ แฮกเกอร์สามารถโจมตีเราด้วย MAC Address ได้ไหม ? ที่จริงแล้ว แฮกเกอร์ (Hacker) สามารถทำอะไรได้หลายอย่างต่อ MAC Address ของเราแต่ส่วนใหญคือการสร้างความรำคาญเท่านั้น เช่นการแฮกเข้ามาในเครือข่าย Wi-Fi ของคุณโดยการปลอม MAC Address ทำทีว่าเป็นอุปกรณ์ที่คุณใช้ ซึ่งเรียกว่าการ Spoof และผลก็คือจะทำให้คุณใช้อุปกรณ์ของคุณเองเข้าอินเทอร์เน็ตไม่ได้ เพราะว่าเลข MAC Address มันชนกันในเราเตอร์ อีกกรณีคือร้ายแรงสุดคือถ้า Hacker รู้หมายเลข MAC Address ในเราเตอร์ของเรา และค่อนข้างจะเก่งทีเดียว ก็สามารถปลอมแปลงเป็นเราเตอร์ของเราในเครือข่าย และติดตามการท่องเว็บไซต์ของเรา และ ล้วงข้อมูลเราไปได้ อย่างไรก็ตามมันคือเรื่องทางเทคนิค ไม่ใช่ใครก็สามารถทำได้ ต้องมีความรู้ทางด้าน Network พอสมควร ที่มา : en.wikipedia.org , www.globalknowledge.com , www.geeksforgeeks.org , whatismyipaddress.com , aoostudio.com , www.geeksforgeeks.org , techwithtech.com
|