[SQL] 언제 대신 SQL의 XML을 사용해야합니까? [닫은]
SQL언제 대신 SQL의 XML을 사용해야합니까? [닫은]
지금은 몇 년 동안 데이터베이스 기반 웹 애플리케이션 작업을 최근 XML-할 수있는 CMS를 포함하는 프로젝트에 갔다 왔습니다. 이것은 일반적으로 XML / XSLT의 사용에 대한과 사용 후 (내) SQL 데이터베이스 내 모든 데이터를 저장하고 난 항상 사용했던 방법보다 더 유용 할 것입니다 무슨 상황에서 생각하는 저를 주도하고있다 PHP / 파이썬 / 등. 웹에 그것으로 작업에 필요.
뭔가 내가 것이 바람직 할 것이다 XML 파일 대신 데이터베이스에 데이터를 저장하는 곳 ... 누군가가 나에게 응용 프로그램의 예를 줄 수 여기에 "지고"아니에요 분명히있다?
해결법
-
==============================
1.이 책 (50 구체적인 방법은 귀하의 XML을 개선하는 효과적인 XML)를 인용 :
이 책 (50 구체적인 방법은 귀하의 XML을 개선하는 효과적인 XML)를 인용 :
퉁명스럽게 조금 있다면,이 금액 그것을 생각한다. XML은 데이터 교환 형식이다. 하나는 XPath 식을 가진 DOM을 조회하지만이 DBMS와 같은 것이 아니다 있습니다 XML 파싱 라이브러리를 가질 수 있습니다. 당신은 DOM / XPath를 인터페이스와 DBMS를 구축 할 수 있지만, 당신은 DBMS 엔진과 인덱스, 로깅 및 DBMS의 다른 유물과 데이터 형식을 구현해야 대용량 데이터 세트에 대한 ACID 속성이나 규모 얻을 - (정의에 의해) 차종을 XML 이외는 무엇인가.
-
==============================
2.사용 XML은 다른 응용 프로그램으로 전송해야 할 파일을 만들 수 있습니다. XML은 데이터 저장 포맷보다 데이터 교환 포맷으로 더 적합하다.
사용 XML은 다른 응용 프로그램으로 전송해야 할 파일을 만들 수 있습니다. XML은 데이터 저장 포맷보다 데이터 교환 포맷으로 더 적합하다.
다음 링크는 XML을 사용하는 경우 설명하기 위해 나쁘지 않다 : 왜 XML을 사용해야합니까?
-
==============================
3.쉽게 행 및 컬럼에 맞는 데이터 - SQL 좋은 테이블 형식의 데이터입니다. 크기가 다른 여러 수준이 데이터 - XML은 계층 적 데이터에 적합합니다.
쉽게 행 및 컬럼에 맞는 데이터 - SQL 좋은 테이블 형식의 데이터입니다. 크기가 다른 여러 수준이 데이터 - XML은 계층 적 데이터에 적합합니다.
SQL 저장 및 검색을위한 좋은 것입니다. XML은 전송 및 서식에 적합합니다.
-
==============================
4.1) 다른 사람과 데이터를 교환해야합니다. XML은 "공용어"웹의이다 - 모두가 데이터베이스 파일과는 달리, 읽고 해석 할 수 있습니다 단지에 대해.
1) 다른 사람과 데이터를 교환해야합니다. XML은 "공용어"웹의이다 - 모두가 데이터베이스 파일과는 달리, 읽고 해석 할 수 있습니다 단지에 대해.
2) 데이터 볼륨이 작고 당신은에 대해 복잡한 쿼리를 할 필요가 없습니다합니다. XML 파일 구성이나 문서 템플릿을 저장하는 같은 것들에 좋다.
3) 당신은 동일한 데이터에 액세스하려고 많은 작가가없는 경우. SQL 데이터베이스는 당신을 위해 무대 뒤에서 노력하고 참여 동시성 메커니즘을 가지고있다. SQL 데이터베이스는 빠르게 대용량 데이터 세트에 대한 정보 검색을위한 인덱스를 지원할 수 ...
-
==============================
5.I가 XML을 사용하는 것 :
I가 XML을 사용하는 것 :
그 사용 사례 및 데이터베이스에 대한 사용 사례 사이의 중복의 전체 많이하지 않습니다. 일부하지만 많은 수 없습니다.
나는 순간에 XML의 내 무거운 사용을 만들고있어 어디 아이러니하게도, 메모리 내 ADO 데이터 집합을 구축하고 유지하고 검색하기 위해 데이터 집합의되는 WriteXml 및되는 ReadXml 방법을 사용하는 데스크톱 응용 프로그램입니다. 이 동적으로 작업에 대한 내 자신의 객체 모델을 구현하는 것보다 ADO를 사용하여 메타 정보에 의해 정의 된 데이터 모델을 구축하기 훨씬 쉽게 때문에 ADO를 사용하고 있습니다.
그래서 여기 내가 같은 외모가 데이터베이스로 XML을 사용하고있는 경우이다. 하지만 난 정말 아니에요. 나는 데이터베이스와 같은 많은 기능을 구현하는 일이 개체 모델을 사용하고, 나는 그것의 지속성 형식으로 XML을 사용하고 있습니다.
-
==============================
6.내가 저장 매체로 XML을 많이 사용하게 꽤 많은 상용 응용이있다 생각합니다. 나는 그것이 자신의 파일의에서 사용자가 각 프로젝트를 저장하는 프로젝트 계획 응용 프로그램을 위해 일을했습니다. 응용 프로그램은 USB 스틱에 살고, 제로 설치가 필요합니다. getRecord (ID)가 너트 빠른 있도록 모든 데이터는 XML에서 가져온 메모리에 근무한다.
내가 저장 매체로 XML을 많이 사용하게 꽤 많은 상용 응용이있다 생각합니다. 나는 그것이 자신의 파일의에서 사용자가 각 프로젝트를 저장하는 프로젝트 계획 응용 프로그램을 위해 일을했습니다. 응용 프로그램은 USB 스틱에 살고, 제로 설치가 필요합니다. getRecord (ID)가 너트 빠른 있도록 모든 데이터는 XML에서 가져온 메모리에 근무한다.
내 대답이 될 것이다 그래서 데이터가 메모리에 저장 될 수있을 정도로 작은이 때 .. 데이터베이스 죽일 이상이다.
-
==============================
7.데이터베이스를 가지고있는 고급 스러움이없는 때마다 (단일 사용자 응용 프로그램을 생각한다) 또는 아주 가벼운 저장 형식이 필요합니다.
데이터베이스를 가지고있는 고급 스러움이없는 때마다 (단일 사용자 응용 프로그램을 생각한다) 또는 아주 가벼운 저장 형식이 필요합니다.
또한 이전의 포스터, 상호 교환 형식을 언급 한 바와 같이.
-
==============================
8.모두 XML 및 RDMSs는 데이터 저장소로 사용할 수 있지만 각 구현은 자신의 장점과 단점이 있습니다.
모두 XML 및 RDMSs는 데이터 저장소로 사용할 수 있지만 각 구현은 자신의 장점과 단점이 있습니다.
(: 데이터 마이닝 예) 당신은 많은 양의 데이터를 처리 시작하거나 당신이 당신의 데이터에서 다른 정보를 발견 할 것인지를 결정할 때까지 웹 응용 프로그램 데이터를 저장할 XML을 사용하면 일반적으로 큰 문제가되지 않습니다. 즉, 데이터 소스에 대한 XML 파일의 많은 양을 저장하는 것은 매우 확장 성이 있지만 쉽게 주위에 데이터를 이동 할 수 있습니다. XML은 또한 ORM에 대한 필요성을 제거 할 수있는 비 관계형 형식으로 복잡한 객체를 직렬화하는 데 사용할 수 있습니다 만약 당신이 수있는 XML에서 직접 직렬화 / 역 직렬화의 오브젝트
많은 양의 데이터로 작업 할 때 RDMSs (데이터베이스) 일반적으로 제공 큰 동시성 지원보다 확장 성이 훨씬 빠릅니다. 데이터가 나중에 광산에 관계형 모델은 쉬워집니다. 데이터베이스는 추한 코드를 작성하거나 복잡한으로 ORMs를 사용하도록 요구할 수있는 객체 관계형 임피던스 부정합 (http://en.wikipedia.org/wiki/Object-Relational_impedance_mismatch)으로 고통 않습니다.
-
==============================
9.내 호스트에 제한 MySQL 데이터베이스가 있다면 그때 나는 데이터 저장소로 XML을 사용하기위한 기회를 볼 것이다, 갈 것입니다.
내 호스트에 제한 MySQL 데이터베이스가 있다면 그때 나는 데이터 저장소로 XML을 사용하기위한 기회를 볼 것이다, 갈 것입니다.
-
==============================
10.다음은 SQL과 XML을 사용하는 예입니다 : 인증 된 사용자는 읽기 및 같은 DBMS있는 모든있는 다양한 데이터베이스, 쓰기 데이터입니다. 로컬 SQL Server 데이터베이스에서 A 회사의 사용 데이터에 대한 사용자. 원격 Oracle 데이터베이스에서 회사 B의 사용 데이터에 대한 사용자. 등등. 12 개의 데이터베이스, 동일한 기본 데이터에 대한 약간 다른 스키마 각각.
다음은 SQL과 XML을 사용하는 예입니다 : 인증 된 사용자는 읽기 및 같은 DBMS있는 모든있는 다양한 데이터베이스, 쓰기 데이터입니다. 로컬 SQL Server 데이터베이스에서 A 회사의 사용 데이터에 대한 사용자. 원격 Oracle 데이터베이스에서 회사 B의 사용 데이터에 대한 사용자. 등등. 12 개의 데이터베이스, 동일한 기본 데이터에 대한 약간 다른 스키마 각각.
웹 사이트 개발자는 원격 데이터베이스에 저장 프로 시저를 만들 수있는 능력이 없습니다. SQL은 데이터베이스에 웹 응용 프로그램에서 직접 확인할 수 있어야합니다. 각 데이터베이스는 약간 다른 SQL 구문 및 스키마를 갖고 있기 때문에, 동일한 동작 (SELECT, INSERT, 등)에 대한베이스 (12)의 각각에 대해 서로 다른 SQL을 사용하는 것이 필요하다.
웹 응용 프로그램에서 SQL 문을 삽입하는 선택 중 하나는 XML 파일에 배치하는 것입니다. 각 XML 파일은 다스 데이터베이스 중 하나에 대한 SQL 문 세트가 포함되어 있습니다. 데이터베이스가에 대한 액세스 할 코드를 결정합니다 사용자의 로그온 한, 지정된 XML 파일에서 해당 SQL을 검색합니다.
그냥 저장 프로 시저와 마찬가지로, XML 파일의 SQL은 중지하거나 응용 프로그램을 다시 컴파일하지 않고 업데이트 할 수 있습니다.
-
==============================
11.하지 마십시오.
하지 마십시오.
책 SELECT 저자 시도
-
==============================
12.일부 응용 프로그램은 내가 그렇게 할 SQLite는 사용하는 것을 선호, 매장 구성 XML 파일을 사용합니다.
일부 응용 프로그램은 내가 그렇게 할 SQLite는 사용하는 것을 선호, 매장 구성 XML 파일을 사용합니다.
-
==============================
13.내 데이터를 저장하기 위해 XML의 어떤 종류를 사용하지 않을 것입니다.
내 데이터를 저장하기 위해 XML의 어떤 종류를 사용하지 않을 것입니다.
우리는 우리의 SOA 응용 프로그램에서 데이터 추상화 계층으로 XSLT 변환을 사용합니다. 모든 개체 그래서 그들은 이해할 필요가 하나 개의 언어 만이, XSLT 서로 데이터를 전송할 수 있습니다. DB를에 보내기 위해, SQL로 데이터를 변환 할 수 있어야 데이터베이스 커넥터를 제외하고.
당신은 SQL 문자열 생성이 엄청나게 분산이없는이 방법은 앱에서 객체. 훨씬 쉽게 유지 보수를 만듭니다.
from https://stackoverflow.com/questions/201568/when-would-i-use-xml-instead-of-sql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 내부는 세 개의 테이블을 조인 (0) | 2020.05.18 |
---|---|
[SQL] 어떻게 오라클에서 사용자의 모든 권한을 보여? (0) | 2020.05.18 |
[SQL] 어떻게 고려 시간을내어없이 날짜 시간 열을 기준으로 I 그룹 (0) | 2020.05.18 |
[SQL] 데이터베이스 구조 변경에 대한 버전 관리 시스템이 있습니까? (0) | 2020.05.18 |
[SQL] 어떻게 컨트롤러 CakePHP의 SQL 덤프를 볼 수 있습니까? (0) | 2020.05.18 |