สร้างตารางใน Schema Postgres

Srang Tarang Ni Schema Postgres



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

ในคู่มือนี้ เราจะเรียนรู้เพิ่มเติมเกี่ยวกับการสร้างตารางในสคีมาใน PostgreSQL







สคีมาใน PostgreSQL

ฐานข้อมูล PostgreSQL อาจมีสคีมาที่มีชื่อหนึ่งรายการขึ้นไป แต่ละสคีมาประกอบด้วยตาราง



สามารถกำหนดชื่ออ็อบเจกต์เดียวกันในหลายๆ schema ได้โดยไม่มีข้อขัดแย้ง ตัวอย่างเช่น สคีมา/แผนผังตารางต่อไปนี้ถูกต้อง:



  • schema_a
    • ตารางที่ 1
    • table_2
  • schema_b
    • ตารางที่ 1
    • table_2

คุณสามารถนึกถึงสคีมาเช่นไดเร็กทอรีในระดับระบบปฏิบัติการ ความแตกต่างคือไม่มี 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 .