6

Tôi có 1000 bảng trong Cơ sở dữ liệu máy chủ SQL.Máy chủ SQL - Bảng siêu dữ liệu

Nếu tôi muốn thêm mô tả ngắn gọn về những gì mỗi bảng trong ứng dụng của tôi, tôi có nên tạo một bảng khác để duy trì thông tin đó không? Hoặc là có một cách tốt hơn để điều này?

Ví dụ; Nếu có một bảng [PurchaseOrdersConcrete] và tôi muốn lưu ý rằng - Bảng này lưu trữ tất cả các PO từ các công ty thuộc Fortune500.

Tôi có nên tạo một bảng siêu dữ liệu khác cho mục đích này hay không - Notes - cột ở đâu đó trong SQL Server đã ... (ví dụ: sys.tables)?

Trả lời

9

Bạn làm điều đó thông qua Thuộc tính mở rộng. Tổng quan về msdn của usage of them can be found here. Tôi đã sử dụng chúng cho mục đích chính xác mà bạn mô tả ở trên.

dễ nhất cách quản lý chúng trực tiếp trong SSMS bằng cách nhấp chuột phải vào đối tượng của bạn và chọn thuộc tính. Nhưng bạn cũng có thể làm việc với chúng từ bên trong ứng dụng của bạn thông qua tsql.

Để thêm thuộc tính mở rộng mới sử dụng sp_addextendedproperty.

Để truy xuất thuộc tính mở rộng hiện có, cách tiếp cận điển hình là truy vấn ::fn_listextendedproperty như ví dụ bên dưới hiển thị.

SELECT objType, objName, Type, Value 
FROM ::fn_listextendedproperty (null, 'user', 
'dbo', 'table','<your table>', null, null) 

Cập nhật và xóa các hoạt động trên chúng có thể được thực hiện thông qua sử dụng sp_updateextendedpropertysp_dropextendedproperty


Hơn nữa, SSMS tận dụng chúng cho một số siêu dữ liệu riêng của nó. Một cách để xem chúng hoạt động là hãy xem một trong số views trong SSMS của bạn. Nhấp chuột phải vào nó và chọn thuộc tính. Sau đó nhấp vào 'thuộc tính mở rộng'. Bạn có thể sẽ thấy một mục nhập có nội dung gì đó về số MS_DiagramPane???. Đây là nơi MS lưu trữ bố cục của chế độ xem của bạn để mỗi khi bạn mở chế độ xem ở chế độ thiết kế, nó trông giống như cách bạn để nó lần trước.

Chúng đã có sẵn dưới dạng far back as SQL2000 nhưng đã được sử dụng rộng rãi hơn trong thời gian gần đây.

1

Như RTHomas đề nghị, sử dụng các thuộc tính mở rộng, thậm chí tốt hơn sử dụng RedGates cụ SQLDoc mà sẽ làm cho nó dễ dàng cho bạn để cư và duy trì những lĩnh vực:

http://www.red-gate.com/products/sql-development/sql-doc/

Nó thậm chí sản xuất in và/hoặc web tài liệu cho bạn khi bạn hoàn thành. Công cụ tuyệt vời.