PostgreSQL เป็นหนึ่งในระบบฐานข้อมูลเชิงวัตถุที่ได้รับความนิยมมากที่สุด เป็นซอฟต์แวร์โอเพ่นซอร์สฟรีที่ขยายภาษา SQL พร้อมคุณสมบัติเพิ่มเติมเพื่อจัดการเวิร์กโหลดข้อมูลที่ซับซ้อน สามารถทำงานกับข้อมูลประเภทต่างๆ ได้ เชื่อถือได้และปลอดภัย เรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติของ PostgreSQL
ในคู่มือนี้ เราจะเรียนรู้เพิ่มเติมเกี่ยวกับการสร้างตารางในสคีมาใน PostgreSQL
สคีมาใน PostgreSQL
ฐานข้อมูล PostgreSQL อาจมีสคีมาที่มีชื่อหนึ่งรายการขึ้นไป แต่ละสคีมาประกอบด้วยตาราง
สามารถกำหนดชื่ออ็อบเจกต์เดียวกันในหลายๆ schema ได้โดยไม่มีข้อขัดแย้ง ตัวอย่างเช่น สคีมา/แผนผังตารางต่อไปนี้ถูกต้อง:
คุณสามารถนึกถึงสคีมาเช่นไดเร็กทอรีในระดับระบบปฏิบัติการ ความแตกต่างคือไม่มี schema ที่ซ้อนกัน เรียนรู้เชิงลึกเพิ่มเติมเกี่ยวกับสคีมา เอกสาร PostgreSQL .
มีเหตุผลหลายประการในการใช้สคีมา:
- ผู้ใช้หลายคนใช้ฐานข้อมูลเดียวกันโดยไม่ขัดแย้งกัน
- องค์กรที่ดีขึ้นและการจัดการฐานข้อมูลในกลุ่มตรรกะ
- แอปของบุคคลที่สามสามารถสร้างสคีมาเฉพาะของตนโดยไม่ชนกับสคีมาที่มีอยู่หรือวัตถุอื่นๆ
ตารางใน PostgreSQL
ฐานข้อมูลเชิงสัมพันธ์ใดๆ ประกอบด้วยตารางที่เกี่ยวข้องหลายตาราง แต่ละตารางประกอบด้วยแถวและคอลัมน์ PostgreSQL มาพร้อมกับตารางในตัวหลายตัวที่มีข้อมูลระบบต่างๆ อย่างไรก็ตาม เรายังสามารถสร้างตารางใหม่ภายใต้ฐานข้อมูลและสคีมาที่กำหนดโดยผู้ใช้
ข้อกำหนดเบื้องต้น:
ในการดำเนินการตามขั้นตอนที่แสดงในคู่มือนี้ คุณจะต้องมีส่วนประกอบต่อไปนี้:
- ระบบ Linux ที่ได้รับการกำหนดค่าอย่างถูกต้อง เรียนรู้เพิ่มเติมเกี่ยวกับ ติดตั้ง Ubuntu ใน VirtualBox .
- การติดตั้ง PostgreSQL ที่เหมาะสม เช็คเอาท์ ติดตั้ง PostgreSQL บน Ubuntu .
- การเข้าถึง ผู้ใช้ PostgreSQL กับ อนุญาตการใช้งาน ไปยังฐานข้อมูล
สำหรับจุดประสงค์ของคู่มือนี้ เราจะใช้ โพสต์เกรส เพื่อดำเนินการทั้งหมดใน PostgreSQL
การสร้างตารางในสคีมา
การสร้างฐานข้อมูลสาธิต
ดังที่ได้กล่าวไว้ก่อนหน้านี้ สคีมาอยู่ภายใต้ฐานข้อมูล เพื่อวัตถุประสงค์ในการสาธิต เราสร้างฐานข้อมูลจำลอง หลีกเลี่ยงการหยุดชะงักของฐานข้อมูลที่มีอยู่
เข้าถึงเปลือก PostgreSQL เป็น โพสต์เกรส :
$ sudo -i -u postgres psql
สร้างฐานข้อมูลใหม่ demo_db:
$ สร้างฐานข้อมูล demo_db;
ตรวจสอบว่าสร้างฐานข้อมูลสำเร็จหรือไม่:
$ \l
สุดท้าย เชื่อมต่อกับฐานข้อมูลที่สร้างขึ้นใหม่:
$ \เชื่อมต่อ demo_db;
สคีมาสาธารณะ
ฐานข้อมูลใหม่ใน PostgreSQL มาพร้อมกับสคีมาเริ่มต้น – สาธารณะ . หากคุณพยายามสร้างวัตถุโดยไม่ระบุชื่อสกีมา สกีมาสาธารณะจะถูกเลือกตามค่าเริ่มต้น
คำสั่งต่อไปนี้พิมพ์ schema ที่มีอยู่ในฐานข้อมูล PostgreSQL:
$ \dn
นอกจากนี้ เรายังสามารถใช้แบบสอบถาม SQL ต่อไปนี้:
$ เลือก * จาก pg_catalog.pg_namespace;
การสร้างสคีมาใหม่
ในการสร้าง schema ใหม่ภายใต้ฐานข้อมูลเฉพาะ โครงสร้างคำสั่งจะเป็นดังนี้:
$สร้างสคีมา ; ตามกฎแล้วมาสร้างสคีมาใหม่ demo_schema:
$ สร้างแบบแผน demo_schema;
ตรวจสอบรายการสคีมาเพื่อการตรวจสอบ:
$ \dn
การสร้างตารางในสคีมา
ตอนนี้เราสร้างสคีมาเป้าหมายแล้ว เราสามารถเติมข้อมูลด้วยตาราง
ไวยากรณ์สำหรับสร้างตารางมีดังนี้:
สร้างตาราง . (
...
) ที่นี่:
- สคีมา : ฟิลด์นี้ระบุชื่อของ schema ที่สร้างตาราง หากไม่ได้ระบุค่าไว้ ตารางจะถูกสร้างขึ้นภายใต้ สาธารณะ สคีมา
สำหรับการสาธิต เราสร้างตารางอย่างง่าย:
สร้างตาราง demo_schema.demo_table (
ชื่อชาร์(64),
ID INT ไม่เป็นโมฆะ
);
ที่นี่:
- สนาม ชื่อ ถูกระบุให้เก็บสตริง 64 อักขระ
- สนาม รหัส มีค่าจำนวนเต็ม คำว่า “ ไม่เป็นโมฆะ ” แสดงว่า รหัส ต้องไม่ว่างเปล่าหรือเป็นโมฆะ
เราสามารถตรวจสอบการมีอยู่ของตารางโดยใช้แบบสอบถามต่อไปนี้:
$ เลือก * จาก demo_schema.demo_table;
การแทรกข้อมูลลงในตาราง
เมื่อวางตารางแล้ว เราสามารถแทรกค่าบางอย่างได้:
INSERT INTO demo_schema.demo_table (ชื่อ รหัส)
ค่านิยม
('PQR', 45),
('ไอเจเค', 99)
;
ตรวจสอบเนื้อหาของตาราง:
$ เลือก * จาก demo_schema.demo_table;
การจัดการสคีมา
สิทธิ์สคีมา
ด้วยความช่วยเหลือของสิทธิ์สคีมา เราสามารถจัดการว่าบทบาทใดสามารถดำเนินการใดกับสคีมาเฉพาะได้ จากสิทธิ์ที่เป็นไปได้ทั้งหมด สคีมาสนับสนุนเท่านั้น สร้างและใช้งาน
หากต้องการอัปเดตสิทธิ์ schema สำหรับบทบาทเฉพาะ โครงสร้างคำสั่งจะเป็นดังนี้:
$ ให้สิทธิ์ <การอนุญาต> บน SCHEMA ถึง <บทบาท>;
หากต้องการเพิกถอนสิทธิ์สกีมาสำหรับบทบาทเฉพาะ โครงสร้างคำสั่งจะเป็นดังนี้:
$ เพิกถอน <สิทธิ์> บน SCHEMA เป็น <บทบาท>; ตรวจสอบการเปลี่ยนแปลงโดยใช้คำสั่งต่อไปนี้:
$ \dn+
แก้ไขคุณสมบัติสคีมา
ด้วยความช่วยเหลือของ เปลี่ยนสคีมา เราสามารถปรับเปลี่ยนคุณสมบัติต่างๆ ของ schema ได้ ตัวอย่างเช่น ความเป็นเจ้าของ ชื่อสคีมา เป็นต้น
หากต้องการเปลี่ยนชื่อสกีมา ให้ใช้คิวรีต่อไปนี้:
$ ALTER SCHEMA เปลี่ยนชื่อเป็น ;
หากต้องการเปลี่ยนความเป็นเจ้าของสคีมา ให้ใช้แบบสอบถามต่อไปนี้:
$ เปลี่ยน SCHEMA เจ้าของเป็น ;
โปรดทราบว่าหากต้องการเปลี่ยนความเป็นเจ้าของ ผู้ใช้ปัจจุบันต้องมี สร้าง อนุญาตสคีมา
การลบสคีมา
หากไม่ต้องการสคีมาอีกต่อไป เราสามารถลบออกได้โดยใช้ หยด แบบสอบถาม:
$ DROP SCHEMA
หากสคีมาประกอบด้วยวัตถุใด ๆ เราจำเป็นต้องมี น้ำตก ตัวแก้ไข:
$DROP SCHEMA ลำดับ;
การจัดการตาราง
สิทธิ์ตาราง
เช่นเดียวกับสคีมา แต่ละตารางยังมาพร้อมกับการจัดการสิทธิ์ ซึ่งกำหนดว่าบทบาทใดที่จะดำเนินการในตารางได้
ในการตรวจสอบสิทธิ์ของตาราง ให้ใช้คำสั่งต่อไปนี้ใน psql:
$ \dp
แก้ไขคุณสมบัติของตาราง
ด้วยความช่วยเหลือของ เปลี่ยนตาราง เราสามารถแก้ไขลักษณะต่างๆ ของตารางที่มีอยู่แล้วได้
ตัวอย่างเช่น เมื่อต้องการวางคอลัมน์ ข้อความค้นหาจะมีลักษณะดังนี้:
$ แก้ไขตาราง วางคอลัมน์ <คอลัมน์>;
ในการเพิ่มคอลัมน์ใหม่ เราสามารถใช้คำสั่งต่อไปนี้:
$ แก้ไขตาราง เพิ่มคอลัมน์ <คอลัมน์> ;
เรายังสามารถตั้งค่าการบีบอัดสำหรับคอลัมน์เฉพาะ:
$ แก้ไขคอลัมน์ ตั้งค่าการบีบอัด ; การลบตาราง
ในการลบตารางออกจากสคีมา เราสามารถใช้ วางตาราง แบบสอบถาม:
$DROP ตาราง ;
โปรดทราบว่าไม่เหมือนกับสคีมาตรงที่ วางตาราง แบบสอบถามจะไม่สร้างข้อผิดพลาดไม่ว่าตารางจะว่างเปล่าหรือไม่ก็ตาม
บทสรุป
ในคู่มือนี้ เราได้สาธิตวิธีสร้างตารางในสคีมาใน PostgreSQL เราสร้างสคีมาจำลองภายในฐานข้อมูลจำลองและสร้างตารางภายในสคีมา คู่มือนี้ยังแสดงวิธีจัดการคุณสมบัติต่างๆ ของสคีมาและตารางอีกด้วย
เพื่อความสมบูรณ์ของข้อมูลที่ดียิ่งขึ้น คุณสามารถกำหนดค่า การจำลองแบบ Logical PostgreSQL . เพื่อให้ฐานข้อมูล PostgreSQL มีความสมบูรณ์ คุณสามารถกำหนดค่า เครื่องดูดฝุ่นอัตโนมัติ เพื่อล้างทูเพิลที่ตายแล้วซึ่งเหลืออยู่ในบันทึกที่ถูกลบ
สำหรับคำแนะนำ PostgreSQL เพิ่มเติม โปรดดูที่ หมวดหมู่ย่อยของ PostgreSQL .