길다. 하단의 요약을 참조하십시오.
RDBMS
RDBMS는 관계형 데이터베이스 관리 시스템을 나타냅니다. 관계형 데이터베이스를 관리하는 시스템입니다. 데이터가 거기에 저장됩니다. 자료. 비즈니스 로직을 말하지 않습니다.
비즈니스 프로세스
비즈니스 로직은 무엇을 의미합니까? 나에게 그것은 논리적 인 용어로 비즈니스 프로세스에 대한 설명입니다.
프로세스는 더 이상 임시적이지 않을 정도로 정기적으로 발생하는 비즈니스 활동입니다. 비즈니스마다 다릅니다.
비즈니스 캡을 씌우고 여기에서 비즈니스의 의미를 설명하겠습니다. 어떤 사람들에게는 이것이 놀라운 일이 될 수 있습니다.
사업
비즈니스는 가치 창출을 위해 수행 된 활동, 특히 거래 할 수있는 가치의 합계입니다. 이는 수확기, 참치 샌드위치를 만들거나 은행 서비스를 제공한다는 의미 일 수 있습니다. 전 세계 대부분의 국가에서, 비 자본주의 국가의 사람들조차도 사람들은 자신의 돈으로 가장 큰 가치를 얻는 것을 좋아하므로 이러한 가치있는 상품과 서비스를 제공하는 다른 제공 업체간에 경쟁이 있습니다. 경쟁은 일반적으로 가격, 품질 및 가용성에 달려 있습니다.
빠른 우회 : 2 일 만에 4 천만 개의 리벳이 필요합니다. 일반 공급 업체보다 가격이 훨씬 저렴하더라도 페이팔 계정으로 인터넷상의 어떤 남자에게 주문하지 않을 것입니다.
공정 지식
당신이 상상할 수 있듯이,이 "가치"를 만드는 과정은 대부분 경영진에게 있습니다. 그 중 일부는 종이로 작성되어 회사 정책 및 절차로 사용됩니다. 그 중 일부는 기업 상담 책임자에게 있습니다. 많은 부분이 부서, 부서, 팀을 운영하는 사람들과 기계, 금전 등록기, 오븐, 트럭을 운영하는 사람들의 머리 속에 살고 있습니다. 그것의 작은 부분 집합은 소프트웨어에 대한 비즈니스 요구 사항을 낮추고 컴퓨터 시스템에서 구현 될 때 더 작은 부분 집합이 정확합니다.
결국 코드에서 볼 수있는 비즈니스 로직은 비즈니스를 실행하는 것이 아니라 비즈니스를위한 응용 프로그램을 실행하는 것입니다. 실제 사람 내부의 실제 두뇌는 실제 비즈니스 프로세스를 보유하며 두뇌의 프로세스가 컴퓨터의 프로세스보다 정확하다는 것을 이해하는 데 아무런 문제가 없습니다. 제쳐두고, 당신이 가진 모든 것이 대부분의 회사의 정책과 절차라면 사업을 운영 할 수 없었을 것입니다. 허벌적인 노력에도 불구하고, 이들은 종종 매우 부정확합니다.
결국 소프트웨어로 코딩되는 것은 애플리케이션 로직입니다. 데이터베이스 관리 시스템 공급 업체가 큰 주장을했기 때문에 사람들은 데이터베이스에이를 저장하려고합니다.
응용 로직
난 반대 야. 응용 프로그램 논리가 응용 프로그램 내부에 남아 있다고 말합니다. 데이터는 매우 표준화 된 방식으로 데이터베이스에 들어간 후보고 및 드릴, 롤업 및 피벗 및 큐빙을 위해 데이터웨어 하우스에 ETL을 가져옵니다.
데이터
또한 데이터가 응용 프로그램보다 오래 지속되므로 데이터 표준화 노력이 응용 프로그램 별, 비즈니스 별이 아니라 비즈니스 일반이어야합니다. 상태 코드를 저장합니까? INCITS 38 : 2009 (http://www.census.gov/geo/www/ansi/statetables.html)는 모든 회사에서 이식 가능하므로 사용해야합니다. 또한 여러 응용 프로그램에서 데이터를보다 쉽게 조작 할 수 있습니다.
NoSQL?
테이블 레이아웃에서 트리거, 저장 프로 시저 및 데이터 형식에 이르기까지 데이터베이스를 응용 프로그램 코드의 일부로 취급하는 경우 엔터프라이즈 데이터베이스를 기본적으로 영광스러운 플랫 파일 구조 인 영광스러운 BerkleyDB로 사용하는 것입니다. 정말 지속되는 목록입니다. 이것은 근본적으로 NoSQL이하는 일입니다. 루트로 돌아가지만, 다중 프로세스의 지속적이고 내결함성이있는 방식으로하는 것입니다.
실제 코드
아닙니다. 데이터베이스를 현재와 미래의 여러 응용 프로그램에 대한 공통 데이터 저장소로 취급해야합니다. 이제 우리는 내 주장의 핵심에 왔습니다. 비즈니스 프로세스는 시장, 정치 및 패션의 변화에 따라 변화합니다. 컴퓨터 과학 수준의 언어 (Java, C #, C ++ 등)로 코더가 관리 할 수있는 것보다 훨씬 빠르게 변경되는 경우가 많으며 회계 또는 마케팅 부서의 Excel 스프레드 시트에서 VBA로 작성되는 경우가 종종 있습니다. (그리고 멋진 vlookups로 표현할 수없는 경우에만 ...)
데이터베이스 성능 저하
체계적으로 정리 된 데이터는 크게 변하지 않습니다. 비즈니스 로직은 매우 빠르게 변합니다. 비즈니스 로직을 데이터베이스에 넣으면 데이터베이스의 가치가 떨어지게됩니다. 데이터베이스는 더 이상 쓸모없고 부정확 해지기 때문입니다.
요약
비즈니스 프로세스는 애플리케이션에 존재하고 비즈니스 프로세스는 훨씬 자주 변경되므로 데이터는 애플리케이션보다 오래 지속되어야합니다. 데이터베이스에 비즈니스 로직을 포함시키는 것은 수명과 전반적인 가치면에서 좋지 않습니다.
경고
나는 dba-ing을 공유했으며 dba.se에서 답변을 읽었지만 정직하게 말해서 그들이 말하는 것은 데이터 무결성 문제 및 성능 문제입니다. 회사 데이터를 접하는 사람들은 dba, 프로그래머 또는 SAS 수석 분석가에게 읽기 / 쓰기 액세스 권한이 있는지 여부를 알고 있어야한다는 데 전적으로 동의합니다.
또한 코더가 SQL을 알기를 권장한다고 언급했습니다. 동의한다. 컴퓨터 프로그래밍 언어이므로 컴퓨터 프로그래머가 왜 그것을 알고 싶어하지 않는지 모르겠습니다.
나중에 생각한 후에
중간 단계는 API를 만들고 API가 데이터 흐름을 관리하도록하는 것입니다. 앱이 테이블에 직접 연결하도록 허용 할 수없는 경우 최소한 액세스 메커니즘을 최신 언어로 만들 수 있습니다.