อย่างน้อยในอินสแตนซ์ในพื้นที่ของฉันเมื่อฉันสร้างตารางทุกอย่างจะขึ้นต้นด้วย "dbo" ทำไมถึงเป็นอย่างนั้น?
อย่างน้อยในอินสแตนซ์ในพื้นที่ของฉันเมื่อฉันสร้างตารางทุกอย่างจะขึ้นต้นด้วย "dbo" ทำไมถึงเป็นอย่างนั้น?
คำตอบ:
dbo เป็นสกีมาเริ่มต้นใน SQL Server คุณสามารถสร้างสกีมาของคุณเองเพื่อให้คุณจัดการเนมสเปซของวัตถุได้ดีขึ้น
หากคุณกำลังใช้ Studio จัดการเซิร์ฟเวอร์ของ SQL คุณสามารถสร้างสคีมาของคุณเองได้โดยไปที่ฐานข้อมูล - ฐานข้อมูลของคุณ - ความปลอดภัย - Schemas
ในการสร้างโดยใช้สคริปต์นั้นง่ายเหมือน (ตัวอย่าง):
CREATE SCHEMA [EnterSchemaNameHere] AUTHORIZATION [dbo]
คุณสามารถใช้พวกมันเพื่อจัดกลุ่มตารางของคุณอย่างมีเหตุผลเช่นโดยสร้าง schema สำหรับข้อมูล "การเงิน" และอีกรายการหนึ่งสำหรับข้อมูล "ส่วนบุคคล" ตารางของคุณจะแสดงเป็น:
Financial.BankAccounts Financial.Transaction Personal.Address
แทนที่จะใช้สกีมาเริ่มต้นของ dbo
[Table("Customer", Schema = "MySchema")]
มันใหม่สำหรับ SQL 2005 และนำเสนอวิธีที่ง่ายกว่าในการจัดกลุ่มวัตถุโดยเฉพาะอย่างยิ่งเพื่อวัตถุประสงค์ในการรักษาความปลอดภัยวัตถุใน "กลุ่ม" นั้น
ลิงก์ต่อไปนี้มีคำอธิบายเชิงลึกเพิ่มเติมเกี่ยวกับสิ่งที่เป็นสาเหตุที่เราจะใช้มัน:
ทำความเข้าใจกับความแตกต่างระหว่างเจ้าของและแบบแผนใน SQL Server