<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alassane Diakité</title>
	<atom:link href="https://blog.developpez.com/alassanediakite/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/alassanediakite</link>
	<description></description>
	<lastBuildDate>Sun, 12 Oct 2014 18:02:04 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Aperçu des données PostGIS dans ACCESS avec gdiplus</title>
		<link>https://blog.developpez.com/alassanediakite/p12128/access/apercu-des-donnees-postgis-dans-access-avec-gdiplus</link>
		<comments>https://blog.developpez.com/alassanediakite/p12128/access/apercu-des-donnees-postgis-dans-access-avec-gdiplus#comments</comments>
		<pubDate>Tue, 16 Jul 2013 18:06:59 +0000</pubDate>
		<dc:creator><![CDATA[alassanediakite]]></dc:creator>
				<category><![CDATA[ACCESS]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[gdiplus]]></category>
		<category><![CDATA[PostGIS]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/alassanediakite/?p=111</guid>
		<description><![CDATA[J&#8217;ai récupéré la carte administrative du Mali que j&#8217;ai ensuite chargé dans PostGIS 2.0. Pour l&#8217;afficher j&#8217;ai utilisé la classe gdiplus de Arkham46 dans ACCESS. Ci-joint la base ACCESS. La table était attachée à une vue de PostgreSQL 9.2.4. Le code de la vue 123CREATE OR REPLACE VIEW maliadmin AS &#160;SELECT gid, REPLACE&#40;REPLACE&#40;REPLACE&#40;st_astext&#40;mali_administrative.the_geom&#41;, 'LINESTRING('::text, ''::text&#41;, ' '::text, ','::text&#41;, ')'::text, ''::text&#41; AS uneligne &#160; &#160;FROM mali_administrative Avec le temps nous verrons d&#8217;autres possibilités.]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;ai récupéré <a href="http://downloads.cloudmade.com/africa/western_africa/mali#downloads_breadcrumbs" target="_blank">la carte administrative du Mali</a> que j&rsquo;ai ensuite chargé dans PostGIS 2.0.<br />
Pour l&rsquo;afficher j&rsquo;ai utilisé la classe <a href="http://arkham46.developpez.com/articles/office/clgdiplus/doc/" target="_blank">gdiplus de Arkham46</a> dans ACCESS.<br />
<a href="ftp://ftp-developpez.com/alassane-diakite/blog/Malicarteadministrative.zip" target="_blank">Ci-joint la base ACCESS</a>.<br />
La table était attachée à une vue de PostgreSQL 9.2.4. Le code de la vue</p>
<div class="codecolorer-container sql default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> <span style="color: #993333; font-weight: bold;">VIEW</span> maliadmin <span style="color: #993333; font-weight: bold;">AS</span> <br />
&nbsp;<span style="color: #993333; font-weight: bold;">SELECT</span> gid<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">REPLACE</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">REPLACE</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">REPLACE</span><span style="color: #66cc66;">&#40;</span>st_astext<span style="color: #66cc66;">&#40;</span>mali_administrative<span style="color: #66cc66;">.</span>the_geom<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LINESTRING('</span>::text<span style="color: #66cc66;">,</span> <span style="color: #ff0000;">''</span>::text<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">' '</span>::text<span style="color: #66cc66;">,</span> <span style="color: #ff0000;">','</span>::text<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">')'</span>::text<span style="color: #66cc66;">,</span> <span style="color: #ff0000;">''</span>::text<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> uneligne<br />
&nbsp; &nbsp;<span style="color: #993333; font-weight: bold;">FROM</span> mali_administrative</div></td></tr></tbody></table></div>
<p>Avec le temps nous verrons d&rsquo;autres possibilités.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Bases de données] Association entre les lignes de deux tables</title>
		<link>https://blog.developpez.com/alassanediakite/p12083/general/association-entre-les-lignes-de-deux-tables</link>
		<comments>https://blog.developpez.com/alassanediakite/p12083/general/association-entre-les-lignes-de-deux-tables#comments</comments>
		<pubDate>Mon, 24 Jun 2013 14:02:05 +0000</pubDate>
		<dc:creator><![CDATA[alassanediakite]]></dc:creator>
				<category><![CDATA[Général BD]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/alassanediakite/?p=66</guid>
		<description><![CDATA[Terminologie Association, relation, dépendance, liaison, jointure, clé étrangère, clé secondaire sont des noms utilisés pour designer le fait que les lignes d’une table T1 sont associées aux lignes d’une autre tables T2. Exemple : Pour une clinique, on a une table contenant les patients et une autre contenant les visites des patients. Chaque visite est liée à un et un seul patient. Un patient peut faire plusieurs visites. Pour un commerce, il existe une table [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span style="background-color:#4F81BD;font-size:15.0pt;width:100%">Terminologie</span></p>
<p>Association, relation, dépendance,  liaison, jointure, clé étrangère, clé secondaire sont des noms utilisés pour designer le fait que les lignes d’une table T1 sont associées aux lignes d’une autre tables T2.<br />
Exemple : </p>
<ul>
<li>Pour une clinique, on a une table contenant les patients et une autre contenant les visites des patients. Chaque visite est liée à un et un seul patient. Un patient peut faire plusieurs visites.</li>
<li>Pour un commerce, il existe une table « <strong>facture </strong>» et une autre « <strong>règlement </strong>». Une facture peut avoir plusieurs règlements ou ne pas en avoir du tout. Un règlement est lié à une et une seule facture.</li>
</ul>
<p>Mais les termes ci-dessus sont-ils  pertinents ?</p>
<ul>
<li>« Relation » n’est  pas bon car source de confusion. En effet, avec le modèle relationnel, une table de la base prend le nom de relation.</li>
<li>« Dépendance » n’est pas bon car ce terme est utilisé par rapport aux propriétés (attributs, champs, colonne) définissant une entité. Il s’agit de la dépendance fonctionnelle.</li>
<li>« Jointure » est plutôt un terme SQL. (Nous y reviendrons)</li>
<li>« Liaison » n’est ni suffisant ni techniquement correcte.</li>
<li>« Clé étrangère » est une mise en œuvre du concept.</li>
<li>« Clé secondaire » n’a rien à voir dans ce contexte. C’est une grosse confusion que beaucoup de débutants trainent avec eux. J’ai été une victime pendant longtemps.</li>
<li>« Association » est le meilleur et est le plus utilisé. Ce qui amène d’ailleurs à corriger le terme « Entité-relation » en « Entité-association ».</li>
</ul>
<p><span style="background-color:#4F81BD;font-size:15.0pt">Mise en œuvre</span></p>
<p>L’un des point fort du modèle relationnel est la résolution du problème d’association plusieurs à plusieurs. Le modèle hiérarchique ne le permet pas et le modèle réseau apporte une solution qui engendre des redondances.<br />
Le modèle relationnel représente  l’association par de simples attributs. On dit que le modèle relationnel est un modèle à valeurs (pas d’objet, pas de pointeur) ?<br />
<a href="http://blog.developpez.com/alassanediakite/files/2013/06/association1.png"><img src="http://blog.developpez.com/alassanediakite/files/2013/06/association1.png" alt="association1" class="alignnone size-large wp-image-76" /></a></p>
<p><span style="background-color:#4F81BD;font-size:15.0pt">Les jointures dans les requêtes</span></p>
<p>Pour avoir les factures avec leurs règlements on fait une jointure entre les tables « facture » et « règlement ».<br />
I.	Les factures et leurs règlements (on n’aura pas les factures qui n’ont pas de règlements)</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">… facture INNER JOIN règlement<br />
ON facture.IDfacture=règlement.IDfacture</div></td></tr></tbody></table></div>
<p>II.	Toutes les factures et leurs règlements (pour les  factures sans règlements, les colonnes de règlements seront vides)</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">… facture LEFT OUTER JOIN règlement<br />
ON facture.IDfacture=règlement.IDfacture</div></td></tr></tbody></table></div>
<p>III.	Tous les règlements et les factures correspondantes (pour les règlements qui ne sont liés à aucune facture, les colonnes de factures seront vides)</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">… facture RIGHT OUTER JOIN règlement<br />
ON facture.IDfacture=règlement.IDfacture</div></td></tr></tbody></table></div>
<p>Pour ce troisième cas. Il n’est pas normal d’avoir des règlements qui ne sont liés à aucune facture. Pour éviter une telle situation il faut faire recours à l’intégrité référentielle (chaque règlement fait référence obligatoirement à une facture).  Ainsi, lors de la création de la table règlement et dans la définition de la clé étrangère, il faut demander au SGBD:</p>
<ol>
<li>Soit d’empêcher la suppression de toute facture qui à un règlement</li>
<li>Ou de supprimer les règlements lors de la suppression des factures correspondantes.</li>
</ol>
<p><span style="background-color:#4F81BD;font-size:15.0pt">Auto-jointure</span></p>
<p>Imaginer une communauté qui veut une base de données de sa population, dont l’une des fonctionnalités est le suivi des liens de parentés.<br />
On peut aisément imaginer une table personne de cette manière…<br />
<a href="http://blog.developpez.com/alassanediakite/files/2013/06/association2.png"><img src="http://blog.developpez.com/alassanediakite/files/2013/06/association2.png" alt="association2" class="alignnone size-large wp-image-77" /></a><br />
<em>pk-&gt;Primary key,  fk-&gt;foreign key</em><br />
Dans la même table on trouve une personne et tous descendants et ancêtres.<br />
Pour avoir les parents de&#8230;</p>
<table cellspacing="2px" cellpadding="2px;" rules="all" style="border:solid 1px black">
<tr>
<td>IDpersonne</td>
<td>IDpere</td>
<td>IDmere</td>
<td>prenom</td>
<td>nom</td>
<td>datenais</td>
<td>	sexe</td>
</tr>
<tr>
<td>47</td>
<td>23</td>
<td>26</td>
<td>Amadou</td>
<td>Kanté</td>
<td>12/03/1974</td>
<td>M</td>
</tr>
</table>
<p>, il me faut chercher (dans la même table) la personne d’identifiant 23 (pour avoir le père) et la personne d’identifiant 26 (pour avoir la mère).<br />
Dans la requête nous utiliserons des alias (ou copie) de la table de cette manière…</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">… personne AS enfant<br />
INNER JOIN personne AS pere ON enfant.IDpere=pere.IDpersonne<br />
INNER JOIN personne AS mere ON enfant.IDmere=mere.IDpersonne</div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[VB.NET ACCESS] Récupérer le numeroAuto après insertion</title>
		<link>https://blog.developpez.com/alassanediakite/p11805/access/vb-net-access-recuperer-le-numeroauto-apres-insertion</link>
		<comments>https://blog.developpez.com/alassanediakite/p11805/access/vb-net-access-recuperer-le-numeroauto-apres-insertion#comments</comments>
		<pubDate>Mon, 25 Feb 2013 11:18:17 +0000</pubDate>
		<dc:creator><![CDATA[alassanediakite]]></dc:creator>
				<category><![CDATA[ACCESS]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/alassanediakite/?p=52</guid>
		<description><![CDATA[Voici un code vous permettant d&#8217;avoir le numéro auto généré par ACCESS lors d&#8217;un insertion avec VB.NET. Le problème m&#8217;a été soumis par un étudiant ayant cherché en vain une solution avec ADO.NET. J&#8217;ai pas trouvé la solution avec ADO.NET je me suis alors tourné vers DAO. L&#8217;exemple utilise: une base &#171;&#160;contacts.mdb&#160;&#187; contenant une seule table &#171;&#160;contact:idc numauto clé, lenom texte, prenom texte&#160;&#187; un formulaire avec deux textbox &#171;&#160;Nom&#160;&#187; et &#171;&#160;Prenom&#160;&#187; plus un bouton Il [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Voici un code vous permettant d&rsquo;avoir le numéro auto généré par ACCESS lors d&rsquo;un insertion avec VB.NET. Le problème m&rsquo;a été soumis par un étudiant ayant cherché en vain une solution avec ADO.NET.<br />
J&rsquo;ai pas trouvé la solution avec ADO.NET je me suis alors tourné vers DAO.<br />
L&rsquo;exemple utilise:</p>
<ul>
<li>une base &laquo;&nbsp;contacts.mdb&nbsp;&raquo; contenant une seule table &laquo;&nbsp;contact:idc numauto clé, lenom texte, prenom texte&nbsp;&raquo;</li>
<li>un formulaire avec deux textbox &laquo;&nbsp;Nom&nbsp;&raquo; et &laquo;&nbsp;Prenom&nbsp;&raquo; plus un bouton</li>
<p>Il vous faut d&rsquo;abord ajouter la référence &laquo;&nbsp;Microsoft Access x.x Object Library&nbsp;&raquo;<br />
Le code de l&rsquo;évènement click du bouton</p>
<div class="codecolorer-container vbnet default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="vbnet codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">Dim</span> rs <span style="color: #FF8000;">As</span> dao.<span style="color: #0000FF;">Recordset</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">Dim</span> db <span style="color: #FF8000;">As</span> dao.<span style="color: #0000FF;">Database</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">Dim</span> moteur <span style="color: #FF8000;">As</span> <span style="color: #FF8000;">New</span> dao.<span style="color: #0000FF;">DBEngine</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; db <span style="color: #008000;">=</span> moteur.<span style="color: #0000FF;">Workspaces</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">OpenDatabase</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;D:\contacts.mdb&quot;</span>, <span style="color: #0600FF;">False</span>, <span style="color: #0600FF;">False</span><span style="color: #000000;">&#41;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008080; font-style: italic;">'le premier false pour mode partagé et le second pour lecture et écriture</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; rs <span style="color: #008000;">=</span> db.<span style="color: #0000FF;">OpenRecordset</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;contact&quot;</span>, <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; rs.<span style="color: #0000FF;">AddNew</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; rs<span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;lenom&quot;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">Value</span> <span style="color: #008000;">=</span> <span style="color: #FF8000;">Me</span>.<span style="color: #0000FF;">Nom</span>.<span style="color: #0000FF;">Text</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; rs<span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;prenom&quot;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">Value</span> <span style="color: #008000;">=</span> <span style="color: #FF8000;">Me</span>.<span style="color: #0000FF;">Prenom</span>.<span style="color: #0000FF;">Text</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0600FF;">MsgBox</span><span style="color: #000000;">&#40;</span>rs<span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;idc&quot;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">Value</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#41;</span> <span style="color: #008080; font-style: italic;">'réception du numéro auto</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; rs.<span style="color: #0000FF;">Update</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #008080; font-style: italic;">'validation vers la base</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Bases de données] présentation de SQL</title>
		<link>https://blog.developpez.com/alassanediakite/p11772/general/bases-de-donnees-presentation-de-sql</link>
		<comments>https://blog.developpez.com/alassanediakite/p11772/general/bases-de-donnees-presentation-de-sql#comments</comments>
		<pubDate>Fri, 08 Feb 2013 20:01:42 +0000</pubDate>
		<dc:creator><![CDATA[alassanediakite]]></dc:creator>
				<category><![CDATA[Général BD]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/alassanediakite/?p=8</guid>
		<description><![CDATA[Ceci est un avant goût pour ceux qui découvrent les bases de données. Il suppose que vous connaissez le concept de langage informatique et son objectif est de vous permettre seulement de noter les différents points à développer; de ce fait aucun lien ne vous sera donné. Les SGBD (Système de Gestion de Bases de Données) Oracle, SQL Server, PostgreSQL, MySQL, ACCESS&#8230; sont pilotés uniquement par le langage SQL (Structured Query Language). Présentons d&#8217;abord le [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Ceci est un avant goût pour ceux qui découvrent les bases de données. Il suppose que vous connaissez le concept de langage informatique et son objectif est de vous permettre seulement de noter les différents points à développer; de ce fait aucun lien ne vous sera donné.<br />
Les SGBD (Système de Gestion de Bases de Données) Oracle, SQL Server, PostgreSQL, MySQL, ACCESS&#8230; sont pilotés uniquement par le langage SQL (Structured Query Language).</p>
<p>Présentons d&rsquo;abord le contenu d&rsquo;une base de données.<br />
Une base de données contient des</p>
<ol>
<li>tables qui contiennent les données</li>
<li>index qui contiennent des copies de certaines données avec leurs adresses logiques. Ils sont utilisés pour accélérer l’accès aux données.</li>
<li>contraintes pour garantir l’intégrité et la cohérence des données (valeur, forme, interdépendance)</li>
<li>vues qui sont des requêtes de sélections enregistrées</li>
<li>fonctions et procédures qui sont des commandes en SQL procédurale, pour effectuer des taches répétitives et lourdes directement sur le serveur</li>
<li>déclencheurs qui définissent des actions à exécuter lors des opérations (ajout, suppression ou modification) sur les données de table ou vue</li>
<li>utilisateurs et groupes avec leurs droits d’accès.</li>
</ol>
<p><img src="http://blog.developpez.com/alassanediakite/files/2013/03/structureBD.png" alt="structureBD" width="680" height="257" class="alignnone size-medium wp-image-9" /></p>
<p>Pour chaque accès externe à chacun de ces éléments le SGBD reçoit une commande SQL qu&rsquo;il exécute à travers des modules en langage évolué (généralement en C++): <font color="red"><em>SQL est donc passé en paramètre à un autre langage qui accède physiquement à la base de données.</em></font></p>
<p>Présentons SQL.<br />
<img src="http://blog.developpez.com/alassanediakite/files/2013/02/structure-SQL.png" alt="structure SQL" width="670" height="850" class="alignnone size-medium wp-image-10" /></p>
<p>Une base de données standard contient : la structure de ses données, les données elles même et les utilisateurs avec leurs droits d’accès.<br />
SQL propose alors pour ces trois parties essentielles, trois groupes de commandes :</p>
<ol>
<li>LDD : langage de définition de données qui définit les structures (nom et type) des données est des contraintes de vérification des valeurs des données.</li>
<li>LMD : langage de manipulation de données. Ajout, modification, suppression et recherche de données.</li>
<li>LCD : langage de contrôle de données. Définition des utilisateurs et leurs droits (privilèges) d’accès aux données ou structures.</li>
</ol>
<p>A ces trois groupes, s&rsquo;ajoute un quatrième assurant un rôle très important des SGBD: <strong>assurer la cohérence des données suite à une transaction (un ou plusieurs opérations regroupées en une entité) réussit ou échoué</strong>.</p>
<p>SQL de par sa nature, est un langage ensembliste c&rsquo;est-à-dire qu’il travaille sur un ensemble de données à la fois (donnée tabulaire). De ce fait il manque des éléments de boucle, condition, traitement d’erreurs…<br />
Pour pallier à cette lacune, les Systèmes de types clients/serveur* se sont enrichit pour faire du procédural on parle alors de <strong>SQL procédural</strong>. Pour les systèmes de type fichier* on a recours aux langages du programme utilisé tel VBA pour ACCESS.</p>
<p><HR align="left" width="200"><br />
SGBD clients/serveur (un seul SGBD installé auquel des programmes accèdent via le réseau)<br />
SGBD fichier (chaque programme est couplé à un SGBD local et l&rsquo;ensemble accèdent à la base de données sur un partage réseau)</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Une explication du fenêtrage dans SQL</title>
		<link>https://blog.developpez.com/alassanediakite/p11088/general/une_explication_du_fenetrage_dans_sql</link>
		<comments>https://blog.developpez.com/alassanediakite/p11088/general/une_explication_du_fenetrage_dans_sql#comments</comments>
		<pubDate>Tue, 12 Jun 2012 20:37:12 +0000</pubDate>
		<dc:creator><![CDATA[alassanediakite]]></dc:creator>
				<category><![CDATA[Général BD]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Après quelques lectures et vue l&#8217;importance de la chose,je vous présente une manière d’expliquer le calcul sur des fenêtres de données avec SQL. Le schéma&#8230; La fenêtre est taillée sur la requête elle-même ou une autre fenêtre! Une fenêtre est définie par : • Un début • Une fin • Des exclusions La colonne «a» de la requête est obtenue sur les données de la fenêtre par une fonction d’agrégat ou d’ordonnancement. Ceci n&#8217;étant qu&#8217;une [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Après quelques lectures et vue l&rsquo;importance de la chose,je vous présente une manière d’expliquer le calcul sur des fenêtres de données avec SQL.<br />
Le schéma&#8230;<br />
<img src="http://blog.developpez.com/media/fenetrage.png" width="502" height="386" alt="le schema du fenêtrage" /></p>
<blockquote><p>La fenêtre est taillée sur la requête elle-même ou une autre fenêtre!<br />
Une fenêtre est définie par :<br />
• Un début<br />
• Une fin<br />
• Des exclusions<br />
La colonne «a» de la requête est obtenue sur les données de la fenêtre par une fonction d’agrégat ou d’ordonnancement.</p></blockquote>
<p>Ceci n&rsquo;étant qu&rsquo;une présentation caricaturale veuillez lire le <a href="http://sqlpro.developpez.com/article/olap-clause-window/">tuto de SQLpro</a> dont les dessins de fenêtres me sembles plus difficiles à comprendre.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Outils graphiques pour PostgreSQL</title>
		<link>https://blog.developpez.com/alassanediakite/p11029/postgresql/outils_graphiques_pour_postgresql</link>
		<comments>https://blog.developpez.com/alassanediakite/p11029/postgresql/outils_graphiques_pour_postgresql#comments</comments>
		<pubDate>Wed, 16 May 2012 10:53:08 +0000</pubDate>
		<dc:creator><![CDATA[alassanediakite]]></dc:creator>
				<category><![CDATA[PostgreSQL]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Salut à vous. Suite à mes récentes fouilles sur PostgreSQL, je partage avec vous ces liens assez intéressants sur les interfaces graphiques (administration, conception&#8230;). sur wiki de PostgreSQL sur postgresql.org Le meilleur aurait été l&#8217;intégration à PgAdmin, d&#8217;un module graphique pour manipuler le schéma des BD. Un peut comme dans Management studio de SQL server. Le projet (sous forme de plugin) est encours et PgAdmin possède déjà la construction graphique de requête. @+]]></description>
				<content:encoded><![CDATA[<p>Salut à vous.<br />
Suite à mes récentes fouilles sur PostgreSQL, je partage avec vous ces liens assez intéressants sur les interfaces graphiques (administration, conception&#8230;).</p>
<ol>
<li><a href="http://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools"> sur wiki de PostgreSQL</a></li>
<li><a href="http://www.postgresql.org/download/products/1-administrationdevelopment-tools/">sur postgresql.org</a></li>
</ol>
<p>Le meilleur aurait été l&rsquo;intégration à PgAdmin, d&rsquo;un module graphique pour manipuler le schéma des BD. Un peut comme dans Management studio de SQL server. Le projet (sous forme de plugin) est encours et PgAdmin possède déjà la construction graphique de requête.<br />
@+</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personnaliser la connexion d&#8217;un projet adp ACCESS</title>
		<link>https://blog.developpez.com/alassanediakite/p10414/access/personnaliser_la_connexion_d_un_projet_a</link>
		<comments>https://blog.developpez.com/alassanediakite/p10414/access/personnaliser_la_connexion_d_un_projet_a#comments</comments>
		<pubDate>Mon, 17 Oct 2011 21:11:02 +0000</pubDate>
		<dc:creator><![CDATA[alassanediakite]]></dc:creator>
				<category><![CDATA[ACCESS]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Je vous propose ici comment créer un formulaire de login d&#8217;une base de données ACCESS qui se connecte à SQL Server. A la fermeture du formulaire principal (ou menu général) il faut exécuter le code&#8230;. 12Application.CurrentProject.CloseConnection Application.CurrentProject.OpenConnection &#34;&#34;]]></description>
				<content:encoded><![CDATA[<p>Je vous propose <a href="http://alassane-diakite.ftp-developpez.com/blog/adventureworks.zip">ici</a> comment créer un formulaire de login d&rsquo;une base de données ACCESS qui se connecte à SQL Server.<br />
A la fermeture du formulaire principal (ou menu général) il faut exécuter le code&#8230;.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Application.CurrentProject.CloseConnection <br />
Application.CurrentProject.OpenConnection &quot;&quot;</div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[ACCESS] Numérotation automatique de courriers par an (janvier à décembre)</title>
		<link>https://blog.developpez.com/alassanediakite/p10262/access/numerotation_automatique_de_courriers_pa</link>
		<comments>https://blog.developpez.com/alassanediakite/p10262/access/numerotation_automatique_de_courriers_pa#comments</comments>
		<pubDate>Thu, 13 Oct 2011 13:25:49 +0000</pubDate>
		<dc:creator><![CDATA[alassanediakite]]></dc:creator>
				<category><![CDATA[ACCESS]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Problématique : Numéroter les courriers avec reprise à un (01) en janvier. La difficulté réside surtout dans un environnement multi-utilisateur ou lors de suppressions de courriers anciens. Solution proposée : Une table tnumero(idcourrier, annee) qui prend la clé auto-incrémentée du courrier puis on calcule son rang par rapport à l’année. Inconvénient de la solution : on ne doit pas changer l’année de la date du courrier. Mise en pratique]]></description>
				<content:encoded><![CDATA[<p>Problématique :<br />
Numéroter les courriers avec reprise à un (01) en janvier.<br />
La difficulté réside surtout dans un environnement multi-utilisateur ou lors de suppressions de courriers anciens.<br />
Solution proposée :<br />
Une table tnumero(idcourrier, annee) qui prend la clé auto-incrémentée du courrier puis on calcule son rang par rapport à l’année.<br />
Inconvénient de la solution : on ne doit pas changer l’année de la date du courrier.<br />
<a href="http://alassane-diakite.ftp-developpez.com/blog/numerotation.zip">Mise en pratique</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
