พูดอย่างเคร่งครัดความแตกต่างระหว่างฐานข้อมูลและสคีมาไม่มีอยู่ใน MySql
อย่างไรก็ตามนี่ไม่ใช่กรณีในเอ็นจิ้นฐานข้อมูลอื่นเช่น SQL Server ในเซิร์ฟเวอร์ SQL:,
ทุกตารางเป็นกลุ่มของวัตถุในฐานข้อมูลที่เรียกว่าคีมาฐานข้อมูล เป็นคอนเทนเนอร์หรือเนมสเปซ (กำลังค้นหาMicrosoft SQL Server 2012 )
โดยค่าเริ่มต้นตารางทั้งหมดใน SQL Server เป็นของคีเริ่มต้นเรียกว่าdbo เมื่อคุณสอบถามตารางที่ไม่ได้รับการจัดสรรให้กับสคีมาใด ๆ คุณสามารถทำสิ่งต่อไปนี้
SELECT *
FROM your_table
ซึ่งเทียบเท่ากับ:
SELECT *
FROM dbo.your_table
ตอนนี้เซิร์ฟเวอร์ SQL อนุญาตให้สร้างสคีมาที่แตกต่างกันซึ่งทำให้คุณมีความเป็นไปได้ในการจัดกลุ่มตารางที่มีวัตถุประสงค์คล้ายกัน ที่ช่วยในการจัดระเบียบฐานข้อมูล
ตัวอย่างเช่นคุณสามารถสร้างสคีมาที่เรียกว่ายอดขายกับตารางเช่นใบแจ้งหนี้ , creditorders (และอื่น ๆ ที่เกี่ยวข้องกับการขาย) และสคีอื่นที่เรียกว่าการค้นหาที่มีตารางเช่นประเทศ , สกุลเงิน , subscriptiontypes (และโต๊ะอื่น ๆ ที่นำมาใช้เป็นรูปลักษณ์ ขึ้นโต๊ะ).
ตารางที่ถูกจัดสรรให้กับโดเมนเฉพาะจะแสดงใน SQL Server Studio Manager โดยมีชื่อ schema ที่อยู่ข้างหน้าชื่อตาราง (เหมือนกับตารางที่เป็นของdbo schema เริ่มต้น)
มีสกีมาพิเศษใน SQL Server หากต้องการอ้างอิงหนังสือเล่มเดียวกัน:
มีสคีมาฐานข้อมูลในตัวหลายแบบและไม่สามารถลบหรือเปลี่ยนแปลงได้:
1) dboสคีมาเริ่มต้น
2) ผู้เยี่ยมชมมีอ็อบเจ็กต์ที่พร้อมใช้งานสำหรับผู้ใช้ที่เป็นแขก ("ผู้ใช้ที่เป็นแขก" เป็นบทบาทพิเศษในภาษา SQL Server โดยมีสิทธิ์เริ่มต้นและมีการ จำกัด สิทธิ์อย่างมาก) ไม่ค่อยได้ใช้
3) INFORMATION_SCHEMA ที่ใช้โดยมุมมองสคีมาข้อมูล
4) sysสงวนไว้สำหรับการใช้งานภายใน SQL Server โดยเฉพาะ
Schemas ไม่ได้มีไว้สำหรับการจัดกลุ่มเท่านั้น มันเป็นไปได้จริงที่จะให้สิทธิ์ที่แตกต่างกันสำหรับแต่ละสคีกับผู้ใช้งานที่แตกต่างกันตามที่อธิบายไว้MSDN
ด้วยวิธีนี้การค้นหาสคีมาที่กล่าวถึงข้างต้นสามารถทำให้ผู้ใช้มาตรฐานใด ๆ ในฐานข้อมูลพร้อมใช้งาน (เช่นSELECT
สิทธิ์เท่านั้น) ในขณะที่ตารางที่เรียกว่าsupplierbankaccountdetailsอาจได้รับการจัดสรรในสคีมาอื่นที่เรียกว่าการเงินและเพื่อให้การเข้าถึงเฉพาะผู้ใช้ใน กลุ่มaccounts
(เพียงตัวอย่างคุณจะได้รับแนวคิด)
สุดท้ายและอ้างถึงหนังสือเล่มเดียวกันอีกครั้ง:
ไม่ใช่สคีมาฐานข้อมูลและสคีมาตารางเดียวกัน เดิมคือเนมสเปซของตารางในขณะที่ชื่อหลังหมายถึงนิยามตาราง