Ít nhất là trên cá thể cục bộ của tôi, khi tôi tạo các bảng, tất cả chúng đều được bắt đầu bằng "dbo". Tại sao vậy?Tại sao tên bảng trong SQL Server bắt đầu bằng "dbo"?
Trả lời
dbo là lược đồ mặc định trong SQL Server. Bạn có thể tạo các lược đồ của riêng mình để cho phép bạn quản lý tốt hơn vùng tên đối tượng của mình.
Cách tốt nhất là tôi luôn thêm "dbo". tiền tố mặc dù nó không cần thiết. Hầu hết thời gian trong SQL rất tốt để được rõ ràng. – SurroundedByFish
@SurroundedByFish: Có lẽ không phải là thực hành tốt nhất, nhưng tôi có thể sai vì tôi không phải là chuyên gia SQL. http://stackoverflow.com/a/769639/602245 – Brett
[Bài viết này] (http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server) từ một [câu trả lời khác] (http://stackoverflow.com/a/10118197/39396) cho rằng thực tế là thực hành tốt nhất: "Mã sẽ không phải sử dụng tên đầy đủ, mặc dù có một chút đạt được hiệu suất khi làm như vậy và được coi là phương pháp hay nhất. " –
Nếu bạn đang sử dụng Sql Server Management Studio, bạn có thể tạo lược đồ của riêng mình bằng cách duyệt đến Cơ sở dữ liệu - Cơ sở dữ liệu của bạn - Bảo mật - Lược đồ.
Để tạo một trang bằng một kịch bản dễ dàng như (ví dụ):
CREATE SCHEMA [EnterSchemaNameHere] AUTHORIZATION [dbo]
Bạn có thể sử dụng chúng một cách logic nhóm bảng của bạn, ví dụ bằng cách tạo ra một schama để biết thông tin "tài chính" và một cho "Dữ liệu cá nhân. bảng của bạn sau đó sẽ hiển thị như:
Financial.BankAccounts Financial.Transactions Personal.Address
Thay vì sử dụng các lược đồ mặc định của dbo.
Bạn có biết nếu điều đó gây ra bất kỳ vấn đề nào khi chúng tôi sử dụng khung Entity không? – batmaci
Bạn có thể sử dụng lược đồ với Khung thực thể - ngay cả với mã đầu tiên nếu bạn muốn: '[Bảng (" Khách hàng ", Lược đồ =" MySchema ")]' – Fenton
Liệu 'QUYỀN HỢP [dbo]' có cấp quyền giống như dbo trên lược đồ, hay tôi vẫn cần cấp quyền cho người dùng? –
Tính năng mới đối với SQL 2005 và cung cấp một cách đơn giản để nhóm các đối tượng, đặc biệt là với mục đích bảo vệ các đối tượng trong "nhóm" đó.
Các liên kết sau đây cung cấp một sâu hơn trong lời giải thích như những gì nó là, tại sao chúng ta sẽ sử dụng nó:
Understanding the Difference between Owners and Schemas in SQL Server
- 1. Các bảng SQL Server được đặt tên Với lược đồ dbo
- 2. SQL Server tạo tên bảng sai, tại sao?
- 3. Thả bảng trong Sql Server bằng Sql Server Management Studio
- 4. Làm cách nào để xóa tiền tố dbo khỏi tên bảng khi tôi viết câu lệnh sql trong SQL Server?
- 5. SQL Server và hiệu suất tên bảng đầy đủ
- 6. Không thể bắt đầu SQL Server Agent
- 7. SQL Server 2005: Tại sao giao dịch tên?
- 8. Bắt thuộc tính kết nối hiện tại trong SQL Server
- 9. Truy vấn toàn văn SQL Server trên nhiều bảng - tại sao quá chậm?
- 10. Tại sao một phương thức bắt đầu bằng tên giao diện không biên dịch trong C#?
- 11. Tại sao SQL Server cho rằng Bảng tạm thời đã tồn tại khi nó không?
- 12. Tại sao Path.Combine không ghép nối đúng tên tệp bắt đầu bằng Path.DirectorySeparatorChar?
- 13. Tại sao mã IL được tạo bắt đầu bằng Nop?
- 14. Tại sao Resharper đổi tên biến để bắt đầu bằng dấu gạch dưới?
- 15. Tại sao địa chỉ bộ nhớ bắt đầu bằng 0x?
- 16. Tại sao biến PHP bắt đầu bằng ký hiệu $ sign?
- 17. tại sao lệnh windbg bắt đầu bằng. hoặc là !
- 18. Tại sao biến Perl cần phải bắt đầu bằng $,%, @ (sigils)?
- 19. Bảng Pivot động trong SQL Server
- 20. Bảng SQL Server để json
- 21. Tìm kiếm trong SQL nơi chuỗi bắt đầu bằng X
- 22. Phạm vi của các bảng tạm thời trong SQL Server
- 23. Xóa dữ liệu bằng khóa ngoài trong bảng SQL Server
- 24. Cách tạo bảng bằng truy vấn chọn trong SQL Server?
- 25. Làm thế nào để bắt đầu với SSIS SQL Server?
- 26. mvc 4 bắt đầu bằng tên tuyến
- 27. cách đổi tên cột bằng T-SQL
- 28. Thả tất cả các bảng có tên bắt đầu bằng một chuỗi nhất định
- 29. cách hiển thị tên nhân viên bắt đầu bằng a và sau đó b trong sql
- 30. Bảng SQL Server Đồng nghĩa với các chỉ mục
nó là [Cơ sở dữ liệu Chủ đầu tư] (http: // MSDN. microsoft.com/en-us/library/aa905208%28v=sql.80%29.aspx) – AminM