Arbres XML : Pas à  pas

Data |
> Data
Arbres XML : Pas à  pas

Arbres XML : Pas à  pas

par Julian Watson - Mis en ligne le 19/05/2004

Comment renvoyer des données sous forme de XML hiérarchique

Les bases de données relationnelles stockent souvent leurs données dans une structure arborescente ou hiérarchique, où chaque élément est associé à  un autre, selon une relation parentenfant.L'exemple le plus courant est la structure ou organigramme de direction d'une société comme celle que montre la figure 1. La hiérarchie a généralement une profondeur arbitraire et chaque élément ne contient des informations que sur sa position relative dans l'arbre. A en juger par les nombreuses questions des newsgroups, une exigence courante se dessine : utiliser SQL Server pour renvoyer la totalité de l'arbre en format XML. Par exemple, beaucoup doivent afficher une hiérarchie sur une page ou un rapport Web. La figure 2 montre un arbre affiché en mode XML.
Bien que le support XML de SQL Server 2000 soit souple, il ne permet pas de renvoyer XML hiérarchique, selon une profondeur arbitraire. Mais on peut obtenir ce résultat grâce à  la commande FOR XML EXPLICIT T-SQL.
Certaines techniques d'accès à  des données hiérarchiques par l'intermédiaire de T-SQL peuvent devenir très complexes. Cet article explique les techniques et bâtit le T-SQL en petites étapes pour en faciliter la compréhension. En cours de trajet, j'aborde des méthodes comme l'utilisation de SQL dynamique et je révèle quelques trucs et astuces, y compris comment utiliser des tables temporaires au lieu d'UNIONs dans vos instructions FOR XML EXPLICIT pour réduire la taille et la complexité de ces instructions. L'article suppose une bonne connaissance de XML sur SQL Server 2000 et l'utilisation de la table universelle.

Lire l'article
SQL Server 2000 64 bits Enterprise Edition

SQL Server 2000 64 bits Enterprise Edition

par Michael Otey - Mis en ligne le 19/05/2004

Avez-vous besoin du surcroît de puissance de SQL Server 2000 64 bits Enterprise Edition ?

Depuis sa release 7.0 en 1998, SQL Server a pris sa vitesse de croisière, éliminant les obstacles qui freinaient l'adoption des versions SQL Server précédentes dans l'entreprise.Une nouvelle technologie de large diffusion, dite vues partitionnées distribuées, a propulsé SQL Server en tête des classements TPC-C pour systèmes base de données en cluster. (TPC-C est un benchmark standard pour systèmes base de données, conçu par le TPC (Transaction Performance Processing Council) qui rassemble tous les principaux fournisseurs de bases de données. Le test TPC-C mesure les transactions par minute - ou tpmC.) SQL Server a aussi fait irruption dans le top 10 de TPC-C pour systèmes non clustered, mais sans damer le pion aux meilleures solutions base de données d'IBM et Oracle qui fonctionnaient, il est vrai, sur un matériel plus puissant. Cela étant, SQL Server a continué à  gagner nettement en évolutivité et la nouvelle SQL Server 2000 64 bits Enterprise Edition (nom de code précédent Liberty) rapproche encore plus SQL Server du sommet en matière d'évolutivité d'entreprise. Examinons donc les fonctions de SQL Server 64 bits et voyons dans quelles conditions il est judicieux de déployer cette nouvelle plate-forme puissante.

Lire l'article
Actualités – Avril 2004

Actualités – Avril 2004

Les actualités SQL Server pour le mois d'Avril 2004

Lire l'article
7 étapes pour le cryptage SSL

7 étapes pour le cryptage SSL

par Gary Zaika - Mis en ligne le 21/01/2004

Instaurez le cryptage automatique dans un environnement SQL Server 2000 en cluster

Dans SQL Server 2000, Microsoft a introduit de nouvelles fonctions pour apporter toujours plus à  ses clients en matière de sécurité des données. A cet égard, il existe une fonction peu comprise : le support automatique du trafic de réseau crypté par SSL ( Secure Sockets Layer) entre les clients et le serveur.

Dans SQL Server 2000, Microsoft a introduit de nouvelles fonctions pour apporter toujours plus à  ses clients en matière de sécurité des données. A cet égard, il existe une fonction peu comprise : le support automatique du trafic de réseau crypté par SSL ( Secure Sockets Layer) entre les clients et le serveur. Certes, le cryptage ralentit légèrement la performance parce qu'il demande des actions supplémentaires des deux côtés de la connexion réseau. Mais, pour les utilisateurs soucieux de sécuriser leurs communications en réseau, les avantages du cryptage l'emportent largement sur ce léger ralentissement. Le cryptage est particulièrement utile quand les clients se connectent au SQL Server par Internet et que les données empruntent des réseaux publics.
Le cryptage SSL est devenu un standard : c'est celui que la plupart des entreprises utilisent pour leurs applications Internet et e-commerce. Il existe deux niveaux de cryptage SSL, 40 bits et 128 bits, qui offrent différents types de protection. SQL Server 2000 gère les deux niveaux de cryptage. Pour faire fonctionner le cryptage SSL, vous devez obtenir une clé (ou certificat) valide auprès d'une CA (Certificate Authority) de confiance ou trusted. Après avoir installé le certificat sur un système qui utilise SQL Server 2000, vous pouvez configurer SQL Server pour qu'il impose le cryptage entre les clients et le serveur. Windows 2000 est livré avec son propre CA utilisable pour des applications intranet. La plupart des sociétés utilisent des CA tierce partie pour les applications Internet. (Pour plus d'informations sur les CA, voir l'encadré « Principes de base du CA », ci-après).
Le cryptage SSL est différent du cryptage Multiprotocol Net-Library que l'on trouve dans les releases SQL Server antérieures à  SQL Server 2000. Le cryptage SSL supporte toutes les bibliothèques et protocoles de réseau, y compris les types les plus répandus : TCP/IP et Name Pipes (pour des installations en cluster, seules ces deux bibliothèques de réseau sont disponibles). Vous pouvez aussi utiliser le cryptage SSL pour des instances multiples de SQL Server, alors que le cryptage Multiprotocol Net-Library qui utilise l'API de cryptage Windows RPC, ne reconnaît que l'instance par défaut de SQL Server 2000. Le client ou le serveur (mais pas les deux) peut demander le cryptage SSL. Le cryptage demandé par le client précise que toutes les communications allant de ce client à  tous les serveurs connectés seront cryptées. Le cryptage demandé par le serveur stipule que toutes les connexions entrant dans le serveur seront cryptées puis décryptées sur celui-ci.
Il est plus difficile de configurer le cryptage pour des instructions en cluster que pour un serveur autonome. Beaucoup de sources expliquent comment installer le cryptage SSL sur une seule boîte, mais il est plus difficile de trouver des informations sur l'installation du cryptage SSL dans un environnement en cluster. Malheureusement, SQL Server Books Online (BOL) ne renseigne pas beaucoup sur la manière de configurer le cryptage SSL et ne fait qu'effleurer les exigences de configuration pour un environnement en cluster. Il faut aussi chercher à  l'extérieur de BOL pour obtenir des informations sur la manière d'installer les certificats d'authentification appropriés. Mais, avec des instructions claires, la mise en place du cryptage SSL s'effectue sans mal. Voyons en détail comment installer le cryptage SSL dans un environnement en cluster pour une société fictive appelée IDM.

Lire l'article
Testez par unités vos procédures stockées

Testez par unités vos procédures stockées

par Dan Sawyer - Mis en ligne le 21/01/2004

Mettez en forme votre code de procédure

Imaginez ceci : vous venez juste de finir le débogage de la dernière procédure stockée pour la dernière application SQL Server du département. Etes-vous satisfait de votre travail ? Etesvous certain que votre code T-SQL sera à  la hauteur des attentes des utilisateurs ? Quid des fonctionnalités que vous avez placées dans le code ? ...

Imaginez ceci : vous venez juste de finir le débogage de la dernière procédure stockée pour la dernière application SQL Server du département. Etes-vous satisfait de votre travail ? Etesvous certain que votre code T-SQL sera à  la hauteur des attentes des utilisateurs ? Quid des fonctionnalités que vous avez placées dans le code ? Avezvous couvert tous les aspects de la gestion ? Chaque fonction tient-elle ses promesses comme prévu dans tous les scénarios d'exploitation normaux?

Même si vous pouvez répondre par oui à  toutes ces questions, le moment de relâcher votre effort n'est pas encore venu. Qu'en est-il des suites possibles ? Avez-vous testé les conditions d'erreur courantes qui ont causé des problèmes par le passé ? Et qu'en est-il des gestionnaires d'erreurs ? Sont-ils eux-mêmes impeccables ? Si vous vous sentez faiblards dans l'un de ces domaines, il vaut peut-être mieux réévaluer la manière dont vos procédures stockées sont testées par unités.
Contrairement aux tests système que les testeurs professionnels effectuent après qu'une application ait été entièrement codée, le test par unités recherche les erreurs dans des modules individuels, comme les procédures stockées, tout au long du développement de ces modules. Le test par unités n'est pas difficile mais, pour être efficace, il exige du planning, de la documentation et, par-dessus tout, une compréhension partagée de certains principes de base. Donc, avant de plonger dans le processus de test, commençons par dissiper quelques préjugés courants sur le test par unités, qui nuisent souvent à  son efficacité.

Lire l'article
Audit des bases de données MS SQL Server 7 et 2000

Audit des bases de données MS SQL Server 7 et 2000

iNetsoft propose un outil pour l'audit des bases de données MS SQL Server 7 et 2000 : OmniAudit de l'éditeur américain Krell Software.

OmniAudit permet d'identifier de manière automatique et transparente toutes les modifications apportées aux données dans vos bases de données Microsoft SQL Server 7.0 ou 2000.

Lire l'article
Dénicher des profils et des tendances

Dénicher des profils et des tendances

par Christine Y. Mato et Greg Meyer - Mis en ligne le 17/03/2004

Une application géologique de data warehousing et de data mining avec SQL Server 2000

Pour notre master's degree program en Management of Information Systems, nous avons dû réaliser un projet d'analyse visant à  apprendre les nuances du data mining en utilisant des données « réelles ». Notre travail précédent utilisait des données qui avaient été nettoyées afin que les élèves utilisateurs obtiennent tous les mêmes résultats...Notre école avait choisi SQL Server 2000 parce qu'il offre la fonctionnalité d'une base de données d'entreprise associée à  un faible prix et à  une maintenance facile. Nous étions libres de choisir le sujet d'analyse. Beaucoup d'autres élèves ont choisi les analyses de marketing ou de vente, mais comme nous avions un bagage de sciences naturelles, nous avons préféré les données géologiques et biologiques. En créant un data warehouse et en y pratiquant le data mining, nous avons constaté que SQL Server 2000 fournit un moyen rapide pour observer statistiquement les données géologiques.
Les scientifiques du monde entier amassent sans cesse de grandes quantités de données géologiques. C'est à  partir de ces sources que nous avons obtenu nos données échantillon. Comme SQL Server est plus facile à  utiliser que la méthodologie statistique traditionnelle, nous avons décidé de rassembler les sources de données existantes dans un data warehouse SQL Server. Nous avons dû aussi utiliser SQL Server pour vérifier les analyses originales des données géologiques, qui avaient été effectuées par des méthodes statistiques usuelles. Nous avons construit deux data warehouses à  partir de deux sources de données géologiques différentes. Ces sources étaient comparativement petites parce que notre projet était académique ; mais nous pensons que les constatations garderaient toute leur pertinence quelle que soit la taille de l'ensemble de données. Un ensemble de données constitué de plus de 20 fichiers provenait d'une étude de Eastern Continental Shelf qui avait été collectée et analysée par le United States Geological Survey (USGS) entre 1955 et 1970. La seconde base de données contenait les résultats d'une étude des effets de la décomposition de l'enfouissement de six espèces de bois différentes aux Bahamas et dans le Golfe du Mexique. La quantité de bois qui se conserve ou se désagrège dans l'eau dans le monde est phénoménale. La décomposition du bois produit des gaz à  effet de serre, mais ce phénomène cesse quand le bois est enfoui. Cette étude est intéressante parce qu'elle procure aux scientifiques des informations supplémentaires précieuses sur les sources d'émission d'hydrocarbures dans notre atmosphère.

Lire l'article
Actualités – Novembre 2003

Actualités – Novembre 2003

Les actualités SQL Server pour le mois de Novembre

Lire l'article
Beaucoup d’ADO pour rien

Beaucoup d’ADO pour rien

par William Vaughn - Mis en ligne le 17/03/2004

Parmi les moyens que les développeurs désirent le plus, on trouve une manière éprouvée de déterminer les meilleurs moyens pour tester et établir des valeurs NULL dans leurs applications - quel que soit leur langage.Par exemple, quand ils doivent signifier que les dates DateShipped et Date- Died ont été atteintes et ne sont pas connues, la plupart des développeurs de bases de données relationnelles doivent définir ces données et d'autres colonnes de données similaires pour permettre des valeurs NULL. A noter qu'une valeur NULL dans une colonne de données n'est pas la même chose qu'une chaîne vide ou NULL ou tout autre occupant qui peut servir à  montrer que la valeur n'est pas connue. Le langage que vous utilisez peut traiter une chaîne vide ou une valeur placeholder (comme Unknown) comme une chaîne ou une valeur valide et peut stocker un NULL comme une valeur « connue » dans la base de données. Le concept de l'état NULL existe dans les bases de données relationnelles depuis leur création et les NULL ont toujours suscité un traitement spécial. Sans trop m'étendre sur la pertinence qu'il y a à  utiliser des NULL, j'estime que NULL est un meilleur placeholder que BHOM (Beats the Hell Out of Me) que j'utilisais quand j'enseignais la programmation dans l'armée US.
En ADO classique, les développeurs sont confrontés à  des valeurs NULL parce qu'ils ne peuvent pas attribuer un NULL à  une variable numérique, une chaîne, la propriété Value d'un contrôle TextBox, ou tout contrôle qui n'accepte un type de données variant (que l'on peut mettre à  NULL). Si l'on oublie de traiter les valeurs NULL et si l'on essaie d'attribuer un NULL à  un contrôle TextBox, Visual Basic (VB) 6.0 émet un message d'erreur Invalid Use of NULL (94). Mais ADO.NET et Visual Basic .NET prennent mieux en charge les valeurs NULL. Quand on travaille avec le CLR (Common Language Runtime) et les langages .NET, ADO.NET permet de stocker, de définir, et de tester des valeurs NULL de diverses manières - beaucoup plus qu'avec ADO classique. Cet article utilise Visual Basic .NET pour présenter la façon dont ADO.NET et Visual Basic .NET traitent la valeur NULL.

Lire l'article
Diviser et conquérir

Diviser et conquérir

par Edward Whalen, Geoff Langos et Alexander Stamenkovich - Mis en ligne le 26/11/2003

Reconception architecturale + réplication transactionnelle = performance écrasante

Les DBA savent que le premier pas, pour déterminer la viabilité et la capacité à  long terme d'un système, consiste à  effectuer des mesures de supervision des performancesLes DBA savent que le premier pas, pour déterminer la viabilité et la capacité à  long terme d'un système, consiste à  effectuer des mesures de supervision des performances. C'est dans cet esprit que, voilà  plusieurs années, nous avons conçu un programme chargé de suivre les variations des performances dans le système de traitement d'un centre d'appel sous Windows NT et SQL Server 7.0. Au début, nous avons constaté que le Performance Monitor nous donnait bien un programme chargé de suivre les variations des performances dans le système de traitement d'un centre d'appel sous Windows NT et SQL Server 7.0. Au début, nous avons constaté que le Performance Monitor nous donnait bien long terme en prenant des instantanés chaque demi-heure de certaines mesures comme l'utilisation de la CPU et des I/O, le nombre d'utilisateurs et de processus, les traitements de commandes, et les transactions. Nous avons rangé ces mesures dans une base de données SQL Server. L'année où nous avons commencé notre programme de supervision, nous n'avons recueilli les données que pour quelques mois consécutifs. Et constaté ainsi que les données glanées pendant une période aussi courte ne produisaient que des informations à  court terme: trop peu de points de données pour dessiner une tendance. En revanche, l'année suivante, quand nous avons supervisé des tranches de temps plus longues, les données recueillies ont révélé des tendances significatives. En une année, nous avons observé une hausse inquiétante de l'utilisation de la CPU que nous avons attribuée à  une augmentation des fonctions applicatives personnalisées dans le centre et à  l'ajout de nombreux utilisateurs du système.

Lire l'article
WINSIGHT, pour le décisionnel

WINSIGHT, pour le décisionnel

WINSIGHT, spécialiste français du Décisionnel en environnement Microsoft, annonce ReportSmith.Net.
 

WINSIGHT a obtenu la certification Microsoft Gold Certified Partner for Business Intelligence en France. La société ajoute un nouveau produit à sa gamme de logiciels OLAP WEBHOUSE : ReportSmith. Net.

Lire l'article
Actualités – Mars 2004

Actualités – Mars 2004

Les actualités SQL Server pour le mois de Mars 2004

Lire l'article
Plongez au coeur de « BizTalk Server 2004 » avec ce White Paper exclusif de Chappell & Associates !

Plongez au coeur de « BizTalk Server 2004 » avec ce White Paper exclusif de Chappell & Associates !

"Comprendre BizTalk Server 2004" est un White Paper en Français signé de David CHAPPELL de Chappell & Associates, San Francisco, Californie. Son tout dernier ouvrage de référence, Understanding .NET, a été publié par Addison-Wesley en 2002. Découvrez maintenant ce White Paper !

Lire l'article
Faire dialoguer ses applications avec BizTalk Server

Faire dialoguer ses applications avec BizTalk Server

SPECIAL REPORT : MICROSOFT BizTalk Server

Automatiser ses processus métier, fiabiliser ses échanges applicatifs, ouvrir son système d’information vers l’extérieur : Microsoft BizTalk Server tient toutes les promesses de l’EAI en jouant le rôle de chef d’orchestre des échanges inter applicatifs de l’entreprise et des partenaires extérieurs.Le système d’information des entreprises est constitué de nombreuses applications « spécifiques » ou progiciels de gestion intégrés (ERPs) bâtis sur des technologies disparates. Dans le passé, lors d’un développement d’une nouvelle application, une grande partie du travail des services informatiques consistait à développer des interfaces pour soutenir l’échange des informations entre applications. En permettant de faire communiquer ces applications entre elles, l’EAI -Intégration des Applications d'Entreprise- a totalement changé la donne. Mais pourquoi faire communiquer les applications ? Tout simplement parce qu’elles sont excessivement liées entre elles. Si une application de CRM répond à un besoin fonctionnel précis lié à la relation client, elle nécessite cependant des informations générées par d’autres applications, comme la comptabilité client, la gestion des stocks, le support technique.
Dans un contexte de réseau local, cette communication inter applicative peut se gérer plus ou moins facilement. Mais dès que le système d’information s’ouvre sur l’extérieur, vers les partenaires commerciaux (BtoB) ou qu’il est réparti sur de multiples sites, le problème se corse.

Lire l'article
Actualités – Février 2004

Actualités – Février 2004

Les actualités SQL Server pour le mois de Février 2004

Lire l'article
Pilote automatique

Pilote automatique

par Herts Chen - Mis en ligne le 18/02/2004

Raccourcissez le temps de réplication instantanée et de configuration avec cet outil d'automatisation

Quand vous appliquez la réplication instantanée à  de grandes bases de données, l'étape qui supprime les enregistrements cibles et celle qui copie en bloc les données sources dans des tables cibles indexées peuvent créer deux goulets d'étranglement des performances...Quand vous appliquez la réplication instantanée à  de grandes bases de données, l'étape qui supprime les enregistrements cibles et celle qui copie en bloc les données sources dans des tables cibles indexées peuvent créer deux goulets d'étranglement des performances. Pour éliminer ces goulets d'étranglement - et donc optimiser la réplication - vous pouvez ajouter des étapes personnalisées aux jobs Snapshot and Distribution Agent. Dans le premier article de cette série en trois parties, « Ouvrez la voie à  la réplication snapshot à  grande échelle », octobre 2002, (ou sur www.itpro.fr), j'analysais la performance d'une réplication instantanée et introduisais les étapes personnalisées. Le deuxième article, « Personnalisez votre réplication instantanée à  la main », janvier 2003, (ou sur www.itpro.fr), détaillait l'implémentation manuelle complète de ces étapes. Dans cet article de conclusion, voyons comment réaliser une personnalisation rapide, fiable et reproductible en utilisant SQL-DMO (SQL Distributed Management Objects) pour automatiser le processus de personnalisation.

Lire l'article
Article 1575

Article 1575

SQL Server Magazine s'enrichit de nouveaux contenus, conciliant « dossiers stratégiques & technologiques », au sein d'une tout nouvelle maquette, découvrez ici en exclusivité le sommaire de l'édition de Février 2004 consacrée à  Reporting Services et bénéficiez d'une offre d'abonnement unique ...

SQL Server Magazine : est une publication unique dédiée à  l'accompagnement des compétences et de l'expertise des responsables informatiques, Architectes, DBA et DBM, en charge du développement de solutions basées sur SQL Server, au sein ou autour d'autres environnement de Bases de données.

Au sommaire de l'édition de Février 2004 de SQL Server Magazine : deux dossiers consacrés à  Reporting Services, la plate forme globale de reporting d'entreprise + le CD Rom d'évaluation de Reporting Services, un dossier spécial sur les DTS Package Logs, le contrôle de la réplication avec Active X, le .Net connection Pool, Blob dans ado.net ...

Abonnez-vous et bénéficiez de nombreux services exclusifs !

Votre abonnement d'un an comprend cinq numéros de SQL Server Magazine, ainsi que votre accès pour une durée de 1 an aux services du Club Abonnés.

Le club Abonnés est un ensemble de service exclusivement réservé à  nos abonnés, qui permet d'obtenir le réassort complet de l'ensemble des dossiers publiés dans tous les précédents numéros de SQL Server Magazine - 40 dossiers thématiques - et l'ensemble des ressources qui complètent ces dossiers - codes, scripts, exécutables, listings.

Pour vous abonner à  SQL Server Magazine, deux solutions s'offrent à  vous :

Lire l'article
Special Report : Indepth pour SQL Server

Special Report : Indepth pour SQL Server

VERITAS Indepth pour SQL Server permet aux entreprises de gérer la performance de leurs applications grâce à des fonctions de surveillance, d'analyse et de paramétrage proactifs des bases de données SQL Server.

Cette solution identifie les problèmes relatifs aux performances des applications de gestion, mais aide également à leur résolution.

Lire l'article
Actualités – Janvier 2004

Actualités – Janvier 2004

Les actualités SQL Server pour le mois de Janvier 2004

Lire l'article
OutlookSoft Everest 4.0

OutlookSoft Everest 4.0

OutlookSoft Corporation, éditeur de logiciels de gestion des performances et des planifications destinés aux plates-formes Microsoft, lance OutlookSoft Everest 4.0, version enrichie de la solution de BPM (gestion de la performance) unifiée et accessible via le web.

Everest 4.0 permet aux entreprises de gérer leur stratégie en temps réel, en liant leurs objectifs aux objectifs de performance personnels de tous les décideurs - et pas uniquement d'un cercle restreint de dirigeants.

Lire l'article

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Data