Create Table with INHERITS (ครีเอท เทเบิล วิธ อินเฮริท) หรือ การสร้างตารางด้วยการสืบทอดตาราง

!! การสร้างตารางนี้สร้างขึ้นมาสำหรับเป็นตัวอย่างในการเขียน SQL บน PostgreSQL เท่านั้น

  ในบทความเรื่อง PostgreSQL : คำสั่ง SQL การ Create Table นั้น เป็นการสร้างตารางแบบพื้นฐาน ซึ่งจะทำการกำหนดชื่อตาราง ชื่อคอลัมน์ที่ต้องการ และค่าต่างๆ เอง

  ส่วนในบทความนี้ จะเป็นการสร้างตารางโดยวิธี INHERITS หรือ การสืบทอดคุณสมบัติ

INHERITS คืออะไร? 

“Inherits” หรือ “Inheritance” คือการสืบทอด Class (คลาส) จาก Class ต้นฉบับไปยัง Class ใหม่ โดยจะทำการ copy (ก๊อปปี้) สิ่งที่อยู่ใน Class ต้นฉบับไปยัง Class ใหม่ทั้งหมด อธิบายตามภาษาบ้านๆ ก็คือ การสืบทอดคุณสมบัติจากแม่ไปสู่ลูก

CREATE TABLE table_name (

  column_name TYPE column_constraint,

  table_constraint table_constraint

) INHERITS (existing_table_name);

อธิบายคำสั่ง

table_name (เทเบิล_เนม)    :  ชื่อตาราง

column_name (คอลลัมน์_เนม) :  ขื่อคอลัมน์

TYPE (ไทป์)                :  ชนิดของคอลัมน์

column_constraint (คอลลัมน์_คอนสเตรนท) :  ข้อจำกัดของคอลัมน์

table_constraint (เทเบิล_คอนสเตรนท)  : ข้อจำกัดของตาราง

INHERITS (อินเฮริท)      :  คำสั่งการสืบทอด

existing_table_name (เอ็กซิสทิ้ง_เทเบิล_เนม) :  ชื่อตารางที่ต้องการสืบทอดมา

ตัวอย่างการสร้างตาราง

CREATE TABLE z_testcreatetable_inherit(

  in_id serial PRIMARY KEY,

  in_name VARCHAR (255) UNIQUE NOT NULL

) INHERITS (z_testcreatetable);

ตัวอย่าง : 

การสร้างตารางแบบสืบทอด
การสร้างตารางแบบสืบทอด

ผลที่ได้ :

CREATE TABLE z_testcreatetable_inherit

(

-- Inherited from table z_testcreatetable:  id character varying(5) NOT NULL,

-- Inherited from table z_testcreatetable:  username character varying(50) NOT NULL,

-- Inherited from table z_testcreatetable:  pass character varying(50) NOT NULL,

-- Inherited from table z_testcreatetable:  email character varying(355) NOT NULL,

       in_id serial NOT NULL,

       in_name character varying(255) NOT NULL,

  CONSTRAINT z_testcreatetable_inherit_pkey PRIMARY KEY (in_id),

  CONSTRAINT z_testcreatetable_inherit_  in_name_key  UNIQUE (in_name)

)

INHERITS (z_testcreatetable)

WITH (

  OIDS=FALSE

);

ALTER TABLE z_testcreatetable_inherit

  OWNER TO openpg;

คำอธิบาย : 

ในตัวอย่าง เป็นการสร้างตารางที่มีชื่อว่า "z_testcreatetable_inherit" (แซดเทสครีเอทเทเบิล_อินเฮริท)โดยทำการสืบทอดคุณสมบัติของตาราง "z_testcreatetable" มาใช้โดยคำสั่ง Inherited from table z_testcreatetable: ซึ่งจะนำ คอลัมน์ id (ไอดี), username (ยูสเซอร์เนม), pass (พาส) และ email (อีเมล)มาโดยที่ผู้ใช้ไม่ต้องพิมพ์เอง

สามารถศึกษาเพิ่มเติมได้ที่ คำสั่ง SQL ต่างๆ

www.postgresqltutorial.com Eng.ver

www.postgresql.org Eng.ver

โดย : http://www.mindphp.com

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Attribute ในภาษา Python: วิธีกำหนดค่าและใช้งาน
โดย athirach.offcial พฤ 28 มี.ค. 2024 11:37 am บอร์ด Python Knowledge
0
86
พฤ 28 มี.ค. 2024 11:37 am โดย athirach.offcial View Topic Attribute ในภาษา Python: วิธีกำหนดค่าและใช้งาน
คำสั่ง eval() ใน Python วิธีการใช้งานการประมวลผลสตริงเป็นโค้ด
โดย athirach.offcial พฤ 28 มี.ค. 2024 11:07 am บอร์ด Python Knowledge
3
550
ศ 29 มี.ค. 2024 9:18 am โดย athirach.offcial View Topic คำสั่ง eval() ใน Python วิธีการใช้งานการประมวลผลสตริงเป็นโค้ด
การใช้งานเมทอด zip() ใน Python: รวมข้อมูลจาก objects หลายๆ อันเข้าด้วยกันเป็น tuple อธิบายและตัวอย่าง
โดย athirach.offcial พฤ 28 มี.ค. 2024 10:51 am บอร์ด Python Knowledge
1
122
พฤ 28 มี.ค. 2024 8:55 pm โดย athirach.offcial View Topic การใช้งานเมทอด zip() ใน Python: รวมข้อมูลจาก objects หลายๆ อันเข้าด้วยกันเป็น tuple อธิบายและตัวอย่าง
ปิดโหมดข้อความธรรมดาในอีเมลแล้ว แต่เครื่องมือไม่ขึ้น ต้องตั้งค่ายังไง
โดย Narisara พฤ 28 มี.ค. 2024 10:46 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
126
พฤ 28 มี.ค. 2024 11:13 am โดย Narisara View Topic ปิดโหมดข้อความธรรมดาในอีเมลแล้ว แต่เครื่องมือไม่ขึ้น ต้องตั้งค่ายังไง
ตัวแปร List ใน Python เหมาะสำหรับงานแบบไหน
โดย athirach.offcial พ 27 มี.ค. 2024 11:34 am บอร์ด Python Knowledge
0
98
พ 27 มี.ค. 2024 11:34 am โดย athirach.offcial View Topic ตัวแปร List ใน Python เหมาะสำหรับงานแบบไหน
data science คืออะไร ? มีหน้าที่อะไร
โดย athirach.offcial พ 27 มี.ค. 2024 11:24 am บอร์ด Python Knowledge
0
94
พ 27 มี.ค. 2024 11:24 am โดย athirach.offcial View Topic data science คืออะไร ? มีหน้าที่อะไร
ไลบรารี SciPy การใช้เพื่อแก้ปัญหาทางวิทยาศาสตร์และคณิตศาสตร์
โดย athirach.offcial พ 27 มี.ค. 2024 11:14 am บอร์ด Python Knowledge
0
82
พ 27 มี.ค. 2024 11:14 am โดย athirach.offcial View Topic ไลบรารี SciPy การใช้เพื่อแก้ปัญหาทางวิทยาศาสตร์และคณิตศาสตร์
เชื่อมต่อ WordPress กับฐานข้อมูล วิธีเชื่อมต่อฐานข้อมูลง่ายๆ
โดย athirach.offcial พ 27 มี.ค. 2024 11:03 am บอร์ด Wordpress Developing Knowledge
0
41
พ 27 มี.ค. 2024 11:03 am โดย athirach.offcial View Topic เชื่อมต่อ WordPress กับฐานข้อมูล วิธีเชื่อมต่อฐานข้อมูลง่ายๆ