การสร้างหรือการปรับเปลี่ยนตารางหรือดัชนีโดยใช้แบบสอบถามแบบสร้างข้อกำหนดข้อมูล

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

ในMicrosoft Office Access 2007 ได้ง่าย ๆ ใน การสร้าง และปรับเปลี่ยนตาราง ข้อจำกัด และดัชนีในมุมมองออกแบบ และสร้างความสัมพันธ์ โดยใช้หน้าต่างความสัมพันธ์ อีกวิธีหนึ่งคือ คุณสามารถสร้าง และปรับเปลี่ยนเอนทิตีเดียวกันเหล่านี้ ด้วยการเขียนแบบสอบถามข้อกำหนดของข้อมูลในมุมมอง SQL

บทความนี้อธิบายถึงแบบสอบถามข้อมูลนิยาม และสาธิตวิธีใช้แบบสอบถามเพื่อสร้างตาราง ดัชนี ข้อจำกัด และความสัมพันธ์ บทความนี้ยังสามารถช่วยคุณตัดสินใจเมื่อใดจะใช้แบบสอบถามข้อกำหนดข้อมูล

คุณต้องการทำสิ่งใด

เรียนรู้เมื่อใดจะใช้แบบสอบถามข้อกำหนดข้อมูล

การสร้างหรือการปรับเปลี่ยนตาราง

การสร้างดัชนี

การสร้างข้อจำกัดหรือความสัมพันธ์

เรียนรู้เมื่อใดจะใช้แบบสอบถามข้อมูลนิยาม

ไม่เหมือนกับแบบสอบถามอื่น แบบสอบถามข้อมูลความละเอียดเรียกข้อมูล แบบสอบถามส่วนใหญ่ข้อมูลจัดการภาษา (DML), ซึ่งประกอบด้วยคำสั่ง Structured Query Language (SQL) ที่ระบุว่า ข้อมูลจากวัตถุฐานข้อมูลที่มีอยู่ได้รวมเข้าด้วยกัน และจัดการเพื่อให้ผลลัพธ์ข้อมูลที่คุณต้อง ใช้ ข้อกำหนดข้อมูลคิวรีแบบใช้ข้อมูลข้อกำหนดภาษา (DDL), ซึ่งประกอบด้วยคำสั่ง SQL ที่ระบุข้อกำหนดของวัตถุฐานข้อมูลที่จัดเก็บ หรือทำดัชนีข้อมูล และคำสั่ง SQL ที่ควบคุมการเข้าถึงของผู้ใช้กับวัตถุฐานข้อมูล ในOffice Access 2007 แบบสอบถามข้อมูลความละเอียดกำหนด หรือเปลี่ยนแปลงข้อกำหนดของวัตถุฐานข้อมูล

โดยทั่วไป คุณควรใช้ส่วนติดต่อการออกแบบกราฟิกที่Office Access 2007 มี (สำหรับตัวอย่าง มุมมองออกแบบ และหน้าต่างความสัมพันธ์) เพื่อสร้างตาราง ข้อจำกัด ดัชนี และความสัมพันธ์ อย่างไรก็ตาม ถ้าคุณมีตารางที่คุณลบ และสร้างใหม่เป็นประจำ โดยใช้ส่วนติดต่อเหล่านี้อาจใช้เวลานานครั้ง โดยใช้แบบสอบถามข้อมูลนิยาม คุณสามารถเขียนคิวรีแบบใช้ครั้งเดียว แล้ว เรียกใช้อีกครั้งเมื่อจำเป็นออก ให้พิจารณาใช้แบบสอบถามข้อกำหนดข้อมูลเฉพาะ ถ้าคุณคุ้นเคยกับคำสั่ง SQL และ ถ้าคุณวางแผนที่จะลบ และการสร้างตารางที่เฉพาะเจาะจง ข้อจำกัด หรือดัชนีเป็นประจำ

สิ่งสำคัญ: ใช้แบบสอบถามข้อมูลความละเอียดเพื่อปรับเปลี่ยนวัตถุฐานข้อมูลอาจมีความเสี่ยง เนื่องจากการกระทำจะไม่พร้อมกับกล่องโต้ตอบการยืนยัน ถ้าคุณทำผิดพลาด คุณสามารถสูญเสียข้อมูล หรือเปลี่ยนการออกแบบของตารางโดยไม่ได้ตั้งใจ ความระมัดระวังเมื่อคุณใช้แบบสอบถามข้อมูลความละเอียดเพื่อปรับเปลี่ยนวัตถุในฐานข้อมูลของคุณ ถ้าคุณไม่ได้รับผิดชอบสำหรับการบำรุงรักษาฐานข้อมูลที่คุณกำลังใช้ คุณควรปรึกษากับผู้ดูแลระบบของฐานข้อมูลก่อนที่จะเรียกใช้แบบสอบถามข้อกำหนดข้อมูล นอกจากนี้ เป็นแนวทางปฏิบัติดีเมื่อต้องการทำสำเนาสำรองของตารางใด ๆ ที่ คุณกำลังจะเรียกใช้แบบสอบถาม

ด้านบนของหน้า

การสร้างหรือการปรับเปลี่ยนตาราง

ในการสร้างตาราง คุณต้องใช้คำสั่ง CREATE TABLE คำสั่ง CREATE TABLE มีไวยากรณ์ดังนี้

CREATE TABLE table_name
(field1 type [(size)] [NOT NULL] [index1]
[, field2 type [(size)] [NOT NULL] [index2]
[, ...][, CONSTRAINT constraint1 [, ...]])

องค์ประกอบที่จำเป็นเฉพาะของคำสั่งสร้างตารางคำสั่งสร้างตารางเอง ชื่อของตาราง เขตข้อมูลอย่างน้อยหนึ่ง และชนิดข้อมูลของแต่ละเขตข้อมูลได้ แจ้งให้เราดูที่ตัวอย่างง่าย ๆ

สมมติว่าคุณต้องการสร้างตารางเพื่อเก็บข้อมูลชื่อ ปี และราคาของรถที่ใช้งานแล้วซึ่งคุณกำลังพิจารณาซื้อ โดยคุณต้องการให้สามารถใส่ข้อมูลชื่อได้ถึง 30 อักขระ และข้อมูลปีได้ 4 อักขระ ถ้าคุณต้องการใช้แบบสอบถามแบบสร้างข้อกำหนดข้อมูลเพื่อสร้างตาราง ให้ทำตามขั้นตอนต่อไปนี้

หมายเหตุ: คุณต้องเปิดใช้งานเนื้อหาของฐานข้อมูลในลำดับสำหรับแบบสอบถามข้อกำหนดของข้อมูลการเรียกใช้ครั้งแรก

  1. บนแถบข้อความ คลิกตัวเลือก แล้ว คลิ กเปิดใช้งานเนื้อหานี้

  2. บนแท็บ สร้าง ในกลุ่ม อื่นๆ ให้คลิก ออกแบบแบบสอบถาม

  3. ปิดกล่องโต้ตอบ แสดงตาราง

  4. บนแท็บ ออกแบบ ในกลุ่ม ชนิดของแบบสอบถาม ให้คลิก ข้อกำหนดข้อมูล

    ตารางออกแบบจะถูกซ่อนไว้ และแท็บวัตถุมุมมอง SQL จะแสดงขึ้น

  5. พิมพ์คำสั่ง SQL ต่อไปนี้

    CREATE TABLE Cars (Name TEXT(30), Year TEXT(4), Price CURRENCY)

  6. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

การปรับเปลี่ยนตาราง

ในการปรับเปลี่ยนตาราง คุณต้องใช้คำสั่ง ALTER TABLE คุณสามารถใช้คำสั่ง ALTER TABLE เพื่อเพิ่ม ปรับเปลี่ยน หรือปล่อย (ลบ) คอลัมน์หรือข้อจำกัด คำสั่ง ALTER TABLE มีไวยากรณ์ดังนี้

ALTER TABLE table_name predicate

ตำแหน่งที่เพรดิเคตอาจเป็นข้อมูลอย่างใดอย่างหนึ่งต่อไปนี้:

ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT constraint]

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

สมมติว่าคุณต้องการเพิ่มเขตข้อมูลข้อความซึ่งประกอบด้วยอักขระ 10 ตัว เพื่อเก็บข้อมูลเกี่ยวกับสภาพของรถแต่ละคัน คุณสามารถทำได้ดังนี้

  1. บนแท็บ สร้าง ในกลุ่ม อื่นๆ ให้คลิก ออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บ ออกแบบ ในกลุ่ม ชนิดของแบบสอบถาม ให้คลิก ข้อกำหนดข้อมูล

    ตารางออกแบบจะถูกซ่อนไว้ และแท็บวัตถุมุมมอง SQL จะแสดงขึ้น

  4. พิมพ์คำสั่ง SQL ต่อไปนี้

    ALTER TABLE Cars ADD COLUMN Condition TEXT(10)

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ด้านบนของหน้า

การสร้างดัชนี

ในการสร้างดัชนีในตารางที่มีอยู่ คุณต้องใช้คำสั่ง CREATE INDEX คำสั่ง CREATE INDEX มีไวยากรณ์ดังนี้

CREATE [UNIQUE] INDEX index_name
ON table (field1 [DESC][, field2 [DESC], ...])
[WITH {PRIMARY | DISALLOW NULL | IGNORE NULL}]

องค์ประกอบที่ต้องใช้คือคำสั่ง CREATE INDEX ชื่อดัชนี อาร์กิวเมนต์ ON ชื่อตารางที่มีเขตข้อมูลที่คุณต้องการทำดัชนี และรายการเขตข้อมูลที่จะรวมในดัชนี

  • อาร์กิวเมนต์ DESC จะทำให้ดัชนีถูกสร้างจากมากไปน้อย ซึ่งอาจเป็นประโยชน์หากคุณเรียกใช้แบบสอบถามที่หาค่าสูงสุดสำหรับเขตข้อมูลที่ทำดัชนี หรือเรียงลำดับเขตข้อมูลที่ทำดัชนีจากมากไปน้อย ตามค่าเริ่มต้น ดัชนีจะถูกสร้างจากน้อยไปมาก

  • อาร์กิวเมนต์ที่มีหลักสร้างเขตข้อมูลที่มีการทำดัชนีหรือเขตข้อมูลเป็นคีย์หลัก ของตาราง

  • อาร์กิวเมนต์ WITH DISALLOW NULL จะทำให้ต้องป้อนค่าดัชนีในเขตข้อมูลที่ทำดัชนี  กล่าวคือ ไม่อนุญาตให้มีค่า null

สมมติว่าคุณมีตารางชื่อ Cars พร้อมเขตข้อมูลที่เก็บข้อมูลชื่อ ปี ราคา และสภาพของรถที่ใช้แล้ว ซึ่งคุณกำลังพิจารณาซื้อ และสมมติว่าตารางนั้นมีขนาดใหญ่ และคุณมักจะรวมเขตข้อมูลปีในแบบสอบถามเป็นประจำ คุณสามารถสร้างดัชนีในเขตข้อมูลปีเพื่อช่วยให้แบบสอบถามของคุณส่งผลลัพธ์กลับมาได้อย่างรวดเร็วยิ่งขึ้นโดยใช้ขั้นตอนต่อไปนี้

  1. บนแท็บ สร้าง ในกลุ่ม อื่นๆ ให้คลิก ออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บ ออกแบบ ในกลุ่ม ชนิดของแบบสอบถาม ให้คลิก ข้อกำหนดข้อมูล

    ตารางออกแบบจะถูกซ่อนไว้ และแท็บวัตถุมุมมอง SQL จะแสดงขึ้น

  4. พิมพ์คำสั่ง SQL ต่อไปนี้

    CREATE INDEX YearIndex ON Cars (Year)

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ด้านบนของหน้า

การสร้างข้อจำกัดหรือความสัมพันธ์

ข้อจำกัดจะสร้างเงื่อนไขแบบตรรกะที่เขตข้อมูลหรือการรวมเขตข้อมูลต้องตรงกันเมื่อใส่ค่าเข้าไป เช่น ข้อจำกัด UNIQUE จะป้องกันเขตข้อมูลที่มีการจำกัดรูปแบบจากการยอมรับค่าที่อาจซ้ำกับค่าที่มีอยู่สำหรับเขตข้อมูล

ความสัมพันธ์กับชนิดของข้อจำกัดที่อ้างถึงค่าของเขตข้อมูลหรือชุดของเขตข้อมูลในตารางอื่นเพื่อกำหนดว่า สามารถใส่ค่าในเขตข้อมูลที่มีข้อจำกัดหรือชุดของเขตข้อมูลได้

ในการสร้างข้อจำกัด คุณต้องใช้ส่วนคำสั่ง CONSTRAINT ในคำสั่ง CREATE TABLE หรือ ALTER TABLE มีส่วนคำสั่ง CONSTRAINT สองประเภท ได้แก่ ส่วนคำสั่งสำหรับการสร้างข้อจำกัดในเขตข้อมูลเดียว และส่วนคำสั่งสำหรับการสร้างข้อจำกัดในหลายเขตข้อมูล

ข้อจำกัดแบบเขตข้อมูลเดียว

ส่วนคำสั่ง CONSTRAINT แบบเขตข้อมูลเดียวจะทำตามข้อกำหนดของเขตข้อมูลที่นำไปใช้ทันที ซึ่งมีไวยากรณ์ดังนี้

CONSTRAINT constraint_name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreign_table [(foreign_field)]
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

สมมติว่าคุณมีตารางชื่อ Cars พร้อมเขตข้อมูลที่เก็บข้อมูลชื่อ ปี ราคา และสภาพรถที่ใช้แล้ว ซึ่งคุณกำลังพิจารณาซื้อ และสมมติว่าคุณลืมป้อนค่าลงในสภาพรถเป็นประจำ และคุณต้องการบันทึกข้อมูลนี้เสมอ คุณสามารถสร้างข้อจำกัดในเขตข้อมูล Condition ซึ่งจะป้องกันไม่ให้คุณปล่อยให้เขตข้อมูลนี้ว่างเปล่า โดยใช้ขั้นตอนต่อไปนี้

  1. บนแท็บ สร้าง ในกลุ่ม อื่นๆ ให้คลิก ออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บ ออกแบบ ในกลุ่ม ชนิดของแบบสอบถาม ให้คลิก ข้อกำหนดข้อมูล

    ตารางออกแบบจะถูกซ่อนไว้ และแท็บวัตถุมุมมอง SQL จะแสดงขึ้น

  4. พิมพ์คำสั่ง SQL ต่อไปนี้

    ALTER TABLE Cars ALTER COLUMN Condition TEXT CONSTRAINT ConditionRequired NOT NULL

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ขณะนี้ สมมติว่า หลังสัก คุณสังเกตเห็นว่า มีค่าหลายค่าที่คล้ายกันในเขตข้อมูลเงื่อนไขที่ควรจะเหมือนกับ ตัวอย่างเช่น บางรถยนต์มีเงื่อนไขค่าต่ำและอื่น ๆ มีค่าไม่ถูกต้อง หลังจากคุณล้างค่าเพื่อให้พวกเขาจะสอดคล้องมากขึ้น คุณไม่สามารถสร้างตาราง ชื่อ CarCondition มีเขตข้อมูลหนึ่ง ชื่อเงื่อนไข ที่ประกอบด้วยค่าที่คุณต้องการใช้สำหรับเงื่อนไขรถยนต์ ทั้งหมด:

  1. บนแท็บ สร้าง ในกลุ่ม อื่นๆ ให้คลิก ออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บ ออกแบบ ในกลุ่ม ชนิดของแบบสอบถาม ให้คลิก ข้อกำหนดข้อมูล

    ตารางออกแบบจะถูกซ่อนไว้ และแท็บวัตถุมุมมอง SQL จะแสดงขึ้น

  4. พิมพ์คำสั่ง SQL ต่อไปนี้

    CREATE TABLE CarCondition (Condition TEXT(10))

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

  6. ถ้าต้องการใส่ค่าจากเขตข้อมูล Condition ของตาราง Cars ในตาราง CarCondition ใหม่ ให้พิมพ์ คำสั่ง SQL ต่อไปนี้ในแท็บวัตถุมุมมอง SQL

    INSERT INTO CarCondition SELECT DISTINCT Condition FROM Cars;

    หมายเหตุ: คำสั่ง SQL ในขั้นตอนนี้จะมีคิวรีแบบใช้ผนวกข้อมูล ไม่เหมือนกับแบบสอบถามข้อมูลนิยาม คิวรีแบบใช้ผนวกข้อมูลลงท้าย ด้วยเครื่องหมายอัฒภาค

  7. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ถ้าต้องการให้ค่าใหม่ใดๆ ที่ใส่ในเขตข้อมูล Condition ของตารางตรงกับค่าของเขตข้อมูล Condition ในตาราง CarCondition คุณสามารถสร้างความสัมพันธ์ระหว่างตาราง CarCondition และตาราง Cars ในเขตข้อมูลที่ชื่อ Condition โดยใช้ขั้นตอนต่อไปนี้

  1. บนแท็บ สร้าง ในกลุ่ม อื่นๆ ให้คลิก ออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บ ออกแบบ ในกลุ่ม ชนิดของแบบสอบถาม ให้คลิก ข้อกำหนดข้อมูล

    ตารางออกแบบจะถูกซ่อนไว้ และแท็บวัตถุมุมมอง SQL จะแสดงขึ้น

  4. พิมพ์คำสั่ง SQL ต่อไปนี้

    ALTER TABLE Cars ALTER COLUMN Condition TEXT CONSTRAINT FKeyCondition REFERENCES CarCondition (Condition)

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ข้อจำกัดแบบหลายเขตข้อมูล

ส่วนคำสั่ง CONSTRAINT แบบหลายเขตข้อมูลสามารถใช้ภายนอกส่วนคำสั่งข้อกำหนดของเขตข้อมูลเท่านั้น และมีไวยากรณ์ดังต่อไปนี้:

CONSTRAINT constraint_name 
{PRIMARY KEY (pk_field1[, pk_field2[, ...]]) |
UNIQUE (unique1[, unique2[, ...]]) |
NOT NULL (notnull1[, notnull2[, ...]]) |
FOREIGN KEY [NO INDEX] (ref_field1[, ref_field2[, ...]])
REFERENCES foreign_table
[(fk_field1[, fk_field2[, ...]])] |
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

แจ้งให้เรามาดูตัวอย่างอื่นที่ใช้ตารางยนต์ สมมติว่า คุณต้องการให้แน่ใจว่า ไม่มีสองระเบียนในตารางรถยนต์มีชุดเดียวกันของค่าสำหรับชื่อ ปี เงื่อนไข และราคา คุณไม่สามารถสร้างข้อจำกัดที่ไม่ซ้ำกันที่เกี่ยวข้องกับเขตข้อมูลเหล่านี้ โดยใช้กระบวนงานต่อไปนี้:

  1. บนแท็บ สร้าง ในกลุ่ม อื่นๆ ให้คลิก ออกแบบแบบสอบถาม

  2. ปิดกล่องโต้ตอบ แสดงตาราง

  3. บนแท็บ ออกแบบ ในกลุ่ม ชนิดของแบบสอบถาม ให้คลิก ข้อกำหนดข้อมูล

    ตารางออกแบบจะถูกซ่อนไว้ และแท็บวัตถุมุมมอง SQL จะแสดงขึ้น

  4. พิมพ์คำสั่ง SQL ต่อไปนี้

    ALTER TABLE Cars ADD CONSTRAINT NoDupes UNIQUE (name, year, condition, price)

  5. บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้

ด้านบนของหน้า

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×