Lâu dài. xem Tóm tắt ở phía dưới.
RDBMS
Một RDBMS là viết tắt của hệ thống quản lý cơ sở dữ liệu quan hệ. Đó là một hệ thống để quản lý một cơ sở dữ liệu quan hệ. Dữ liệu được lưu trữ ở đó. Dữ liệu. Nó không nói logic kinh doanh.
Quy trình kinh doanh
Logic kinh doanh có nghĩa là gì, thực sự? Đối với tôi, đó là mô tả về các quy trình kinh doanh theo thuật ngữ hợp lý.
Các quy trình là những hoạt động kinh doanh diễn ra thường xuyên, đủ để chúng không còn đặc biệt nữa. Đây là khác nhau cho mỗi doanh nghiệp.
Hãy để tôi đặt giới hạn kinh doanh của tôi và giải thích ý nghĩa kinh doanh ở đây. Đối với một số người, điều này có thể đến như một bất ngờ.
Kinh doanh
Kinh doanh là tổng hợp các hoạt động được thực hiện để đạt được việc tạo ra giá trị và cụ thể hơn là giá trị có thể được giao dịch. Điều này có thể có nghĩa là làm cho máy gặt đập liên hợp, bánh mì kẹp cá ngừ hoặc cung cấp dịch vụ ngân hàng. Ở hầu hết các quốc gia trên thế giới, ngay cả những người trong các hệ thống phi tư bản, mọi người muốn nhận được giá trị cao nhất cho tiền của họ, và do đó có sự cạnh tranh giữa các nhà cung cấp khác nhau của các hàng hóa và dịch vụ có giá trị này. Sự cạnh tranh thường xoay quanh giá cả, chất lượng và tính sẵn có.
Đường vòng nhanh: Bạn cần 40 triệu đinh tán trong 2 ngày, bạn sẽ không đặt hàng từ một người nào đó trên internet bằng tài khoản paypal, bất kể giá của anh ta rẻ hơn nhà cung cấp bình thường của bạn bao nhiêu.
Quy trình kiến thức
Như bạn có thể tưởng tượng, các quy trình liên quan đến việc tạo ra "giá trị" này chủ yếu sống trong những người đứng đầu điều hành. Một số trong đó được đặt trên giấy và được sử dụng như các chính sách và thủ tục của công ty. Một số trong đó sống trong những người đứng đầu của tư vấn doanh nghiệp. Rất nhiều trong số đó sống trong đầu của những người điều hành các bộ phận, phòng ban, đội, và những người chạy máy móc, máy tính tiền, lò nướng, xe tải. Một tập hợp con nhỏ đã làm giảm các yêu cầu nghiệp vụ đối với phần mềm và một tập hợp con nhỏ hơn nữa chính xác theo thời gian nó được triển khai trong các hệ thống máy tính.
Cuối cùng, logic kinh doanh mà bạn thấy trong mã không phải là điều hành một doanh nghiệp, mà là chạy ứng dụng cho doanh nghiệp. Bộ não thực tế bên trong con người thực tế nắm giữ các quy trình kinh doanh thực tế và họ không có vấn đề gì khi hiểu rằng quy trình trong não của họ chính xác hơn quy trình trong máy tính. Bên cạnh đó, bạn có thể không thể điều hành doanh nghiệp nếu tất cả những gì bạn có là chính sách và thủ tục của hầu hết các tập đoàn. Rất thường những điều này là không chính xác, mặc dù những nỗ lực phi thường.
Vì vậy, cuối cùng, đó là logic ứng dụng được mã hóa vào phần mềm. Và mọi người muốn đưa nó vào cơ sở dữ liệu, bởi vì các nhà cung cấp hệ thống quản lý cơ sở dữ liệu đã đưa ra những tuyên bố hoành tráng.
Logic ứng dụng
Tôi nói là không. Tôi nói logic ứng dụng ở lại trong ứng dụng. Dữ liệu đi vào cơ sở dữ liệu, theo cách rất được chuẩn hóa, và sau đó được ETL'd đến cơ sở dữ liệu để báo cáo, khoan và cuộn và cuộn và xoay vòng.
Dữ liệu
Tôi cũng nói rằng dữ liệu tồn tại lâu hơn ứng dụng, vì vậy nỗ lực chuẩn hóa dữ liệu không nên là ứng dụng cụ thể và thậm chí không dành riêng cho doanh nghiệp, mà nên nói chung là kinh doanh. Bạn có lưu trữ mã nhà nước? Bạn nên sử dụng THU NHẬP 38: 2009 (http://www.cencies.gov/geo/www/ansi/statetables.html) vì đó là di động giữa các doanh nghiệp. Điều này cũng giúp nhiều ứng dụng thao tác dữ liệu dễ dàng hơn.
Không có vấn đề gì?
Nếu bạn coi cơ sở dữ liệu là một phần của mã của ứng dụng, từ cách bố trí bảng đến trình kích hoạt, quy trình được lưu trữ và định dạng dữ liệu, thì về cơ bản bạn đang sử dụng cơ sở dữ liệu doanh nghiệp như một BerkleyDB được tôn vinh, là cấu trúc tệp phẳng được tôn vinh, đó thực sự chỉ là danh sách tồn tại. Đây thực chất là những gì NoQuery đang làm: quay trở lại cội nguồn, nhưng thực hiện nó theo cách đa quy trình, bền bỉ, không chịu thất bại.
Mã thực tế
Không, bạn cần coi cơ sở dữ liệu là kho lưu trữ dữ liệu chung cho nhiều ứng dụng, cả hiện tại và tương lai. Bây giờ chúng ta đi đến mấu chốt của lập luận của tôi. Các quy trình kinh doanh thay đổi với sự mơ hồ của thị trường, chính trị và thời trang. Rất thường họ thay đổi nhanh hơn những gì các lập trình viên có thể quản lý bằng các ngôn ngữ cấp khoa học máy tính (Java, C #, C ++, v.v.) và cuối cùng được viết bằng VBA trong bảng tính excel trong bộ phận kế toán hoặc tiếp thị. (Và chỉ khi nó không thể được thể hiện trong những cái nhìn lạ mắt ...)
Suy thoái cơ sở dữ liệu
Dữ liệu không thay đổi nhiều nếu được tổ chức tốt. Logic kinh doanh thay đổi rất nhanh. Bằng cách đưa logic nghiệp vụ vào cơ sở dữ liệu, bạn làm cho cơ sở dữ liệu trở nên ít giá trị hơn, bởi vì nó sẽ trở nên lỗi thời và không chính xác sớm hơn.
Tóm lược
Dữ liệu phải tồn tại lâu hơn ứng dụng vì các quy trình kinh doanh sống trong ứng dụng và quy trình kinh doanh thay đổi thường xuyên hơn nhiều. Bao gồm logic kinh doanh trong cơ sở dữ liệu là xấu cho tuổi thọ và giá trị tổng thể của nó.
Hãy cẩn thận
Tôi đã thực hiện phần chia sẻ của mình về dba-ing và tôi đã đọc câu trả lời tại dba.se nhưng thật lòng mà nói họ đang nói đến là vấn đề toàn vẹn dữ liệu và vấn đề hiệu suất. Tôi hoàn toàn đồng ý rằng những người chạm vào dữ liệu của công ty nên biết họ đang làm gì, cho dù là dba hay lập trình viên hay nhà phân tích cao cấp của SAS có quyền truy cập đọc / ghi.
Tôi cũng lưu ý rằng họ khuyên các lập trình viên biết SQL. Tôi đồng ý. Đó là ngôn ngữ lập trình máy tính, vì vậy tôi không hiểu tại sao các lập trình viên máy tính không muốn biết nó.
Sau này, sau khi nghĩ về nó
Tôi nghĩ rằng nền tảng trung gian là tạo ra một API và để API đó quản lý luồng dữ liệu qua lại. Nếu bạn không thể cho phép các ứng dụng kết nối trực tiếp với các bảng, ít nhất bạn có thể làm cho cơ chế truy cập bằng các ngôn ngữ hiện đại.