Tôi đã từng có một cái bàn và nó sáng bóng và đẹp. Nó tổ chức tất cả các giao dịch tài chính cho một tổ chức. Và sau đó chúng tôi bắt đầu tải dữ liệu vào nó.
Trong tháng hiện tại, họ có thể nêu và phục hồi các giá trị bao nhiêu lần tùy ý. Trong 10 ngày cuối cùng của tháng, họ sẽ lập lại các số -> chạy xử lý ETL -> xem xét các báo cáo nhiều lần trong ngày. Khi tháng hoàn thành, các cuốn sách sẽ được niêm phong và chúng không thể sửa đổi các giá trị.
Thật đáng kinh ngạc khi có bao nhiêu dữ liệu tài chính mà một công ty dịch vụ tài chính tạo ra ... Một điều chúng tôi không nhận ra với bộ dữ liệu thử nghiệm của mình là khối lượng dữ liệu sẽ làm cho các thủ tục cuối tháng của họ không thể thực hiện được. Phải mất một thời gian ngày càng dài để xóa "dữ liệu của tháng hiện tại" trước khi thay thế nó bằng lần chạy thử mới.
Chúng tôi đã phải làm một cái gì đó để làm cho nó nhanh hơn để xử lý mà không phá vỡ danh sách "những người biết những gì" mà tất cả phụ thuộc vào bảng WeeklyAllocation. Tôi quyết định chơi ảo thuật gia và quất chiếc khăn trải bàn từ bên dưới chúng. Tôi đã đi học cũ và sử dụng Chế độ xem phân vùng . Dữ liệu đã có cờ IsComplete nên tôi đã tạo hai bảng - mỗi bảng có các ràng buộc kiểm tra trái ngược nhau: Hàng tháng AllocationComplete, Weekly AllocationInComplete
Sau đó, tôi đã tạo chế độ xem được phân vùng có cùng tên với bảng gốc: Weekly Allocation. Không có quá trình nào là khôn ngoan hơn về sự thay đổi vật lý mà chúng ta đã thực hiện đối với cơ sở dữ liệu. Không có báo cáo nào bị phá vỡ, không có nhà phân tích nào có quyền truy cập trực tiếp báo cáo bất kỳ vấn đề nào với "bảng" đó trước hoặc sau đó.
Câu chuyện tuyệt vời bro, nhưng bạn đi đâu?
Điều gì xảy ra nếu họ có một quy ước đặt tên ở đó, tbl_Monthly Allocation? Giờ thì sao? Chúng ta có dành nhiều giờ làm việc cho mọi ETL, mọi báo cáo, mọi bảng tính đặc biệt trong tổ chức và cập nhật chúng để sử dụng vw_Monthly Allocation không? Và dĩ nhiên, tất cả những thay đổi đó đều thông qua Bảng thay đổi và đó luôn là một quá trình nhanh chóng và không đau đớn.
Ông chủ của bạn có thể hỏi: phần thưởng cho công ty là gì cho tất cả những công việc đó một lần nữa?
Tùy chọn khác trở thành chúng tôi để chế độ xem này được đặt tên là tbl_ và không dành toàn bộ thời gian đó để kiểm tra, cập nhật và triển khai mã. Điều này trở thành một giai thoại thú vị mà bạn giải thích cho tất cả các nhân viên mới và những người có thời gian chú ý ngắn, phải làm việc với cơ sở dữ liệu về lý do tại sao bạn không phù hợp với việc đặt tên các đối tượng
Hoặc bạn không mã hóa hai đối tượng bằng siêu dữ liệu dự phòng. Cơ sở dữ liệu sẽ vui vẻ cho bạn biết bảng là gì, chế độ xem là gì, chức năng có giá trị của bảng là gì, v.v.
Các quy ước đặt tên là tốt, chỉ cần đừng vẽ mình vào một góc với chúng.
Class
?