<?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>SQL - Etienne ZINZINDOHOUE &#187; SGBD</title>
	<atom:link href="https://blog.developpez.com/zinzineti/pcategory/sgbd/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/zinzineti</link>
	<description>Bases de données</description>
	<lastBuildDate>Thu, 09 Aug 2012 13:57:35 +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>SQL Three-Valued Logic (3VL)</title>
		<link>https://blog.developpez.com/zinzineti/p11209/sgbd/sql_three_valued_logic_3vl</link>
		<comments>https://blog.developpez.com/zinzineti/p11209/sgbd/sql_three_valued_logic_3vl#comments</comments>
		<pubDate>Wed, 08 Aug 2012 21:52:40 +0000</pubDate>
		<dc:creator><![CDATA[zinzineti]]></dc:creator>
				<category><![CDATA[SGBD]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Soit les tables T1 et T2 suivantes : create table T1 (col1 int) create table T2 (col2 int) insert into T1 select 1 union select 2 union select 3 union select null insert into T2 select 4 union select 2 union select 5 union select null Pourquoi la requête SELECT * FROM T1 WHERE col1 NOT IN (SELECT col2 FROM T2) ne renvoie aucune valeur alors que SELECT * FROM T1 WHERE col1 IN (SELECT [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Soit les tables T1 et T2 suivantes :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">create table T1 (col1 int) <br />
create table T2 (col2 int) <br />
insert into T1 select 1 union select 2 union select 3 union select null <br />
insert into T2 select 4 union select 2 union select 5 union select null</div></div>
<p>Pourquoi la requête <code class="codecolorer text default"><span class="text">SELECT * FROM T1 WHERE col1 NOT IN (SELECT col2 FROM T2)</span></code> ne renvoie aucune valeur alors que<br />
<code class="codecolorer text default"><span class="text">SELECT * FROM T1 WHERE col1 IN (SELECT col2 FROM T2)</span></code> renvoie la valeur 2 ? <span id="more-121"></span><br />
Rappelons qu&rsquo;une colonne affiche NULL lorsqu&rsquo;elle ne contient pas de valeur. En SQL une opération de comparaison peut être avoir l&rsquo;une des trois valeurs logiques suivantes : TRUE (vrai) ou FALSE (faux) ou UNKNOWN (inconnu). C&rsquo;est ce qu&rsquo;on a appelle &laquo;&nbsp;Three-Valued Logic&nbsp;&raquo; (3VL). Signalons qu&rsquo;en mathématiques, l&rsquo;algèbre de Boole est 2VL et ne connait donc que deux valeurs (VRAI ou FAUX). En SQL la valeur logique UNKNOWN est due à la présence de NULL dans une opération de comparaison.<br />
Exemple :</p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">p</font></font><font size="2"><font size="2"> </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">         </font></font><span style="color: #ffa500"><font size="2"><font size="2">condition </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">                 &eacute;tat logique</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">2</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">            </font></font><span style="color: #ffa500"><font size="2"><font size="2">p IS NULL</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">               FALSE</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">2 </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">          </font></font><span style="color: #ffa500"><font size="2"><font size="2"> p IS NOT NULL</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">       TRUE</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">NULL</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">      </font></font><span style="color: #ffa500"><font size="2"><font size="2">p IS NULL </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">             TRUE</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">NULL </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">    </font></font><span style="color: #ffa500"><font size="2"><font size="2"> p IS NOT NULL</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">       FALSE</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">2 </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">           </font></font><span style="color: #ffa500"><font size="2"><font size="2"> p = NULL </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">             UNKNOWN</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">2 </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">           </font></font><span style="color: #ffa500"><font size="2"><font size="2"> p <> NULL </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">           UNKNOWN</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">NULL</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">      </font></font><span style="color: #ffa500"><font size="2"><font size="2">p = NULL</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">              UNKNOWN (pour SQL standard)</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">NULL </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">     </font></font><span style="color: #ffa500"><font size="2"><font size="2">p <> NULL</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">           UNKNOWN</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">NULL</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">      </font></font><span style="color: #ffa500"><font size="2"><font size="2"> p = 2</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">                  UNKNOWN</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><span style="color: #000080"><font size="2"><font size="2">NULL</font></font></span><font color="#008000" size="2"><font color="#008000" size="2">       </font></font><span style="color: #ffa500"><font size="2"><font size="2">p <> 2 </font></font></span><font color="#008000" size="2"><font color="#008000" size="2">               UNKNOWN</font></font></span></p>
<p>
	<span style="font-family: arial, helvetica, sans-serif"><font color="#008000" size="2"><font color="#008000" size="2">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</font></font></span></p>
<p>avec le tableau ci-dessus on peut constater que si l&rsquo;un des opérandes est NULL alors l&rsquo;opération de comparaison prend la valeur logique UNKNOWN. Pour déterminer si une expression est NULL (ou pas) il faut utiliser IS NULL (ou IS NOT NULL)</p>
<p>=> <strong>Algèbre Three-Valued Logic (3VL) et les opérateurs NOT, AND et OR</strong><br />
&#8211;> avec l&rsquo;<strong>opérateur NOT</strong><br />
NOT TRUE = FALSE<br />
NOT FALSE = TRUE<br />
NOT UNKNOWN = UNKNOWN</p>
<p>&#8211;> avec l&rsquo;<strong>opérateur AND</strong><br />
TRUE AND TRUE = TRUE<br />
TRUE AND FALSE = FALSE<br />
TRUE AND UNKNOWN = UNKNOWN</p>
<p>FALSE AND TRUE = FALSE<br />
FALSE AND FALSE = FALSE<br />
FALSE AND UNKNOWN = FALSE</p>
<p>UNKNOWN AND TRUE = UNKNOWN<br />
UNKNOWN AND FALSE = FALSE<br />
UNKNOWN AND UNKNOWN = UNKNOWN</p>
<p>&#8211;> avec l&rsquo;<strong>opérateur OR</strong><br />
TRUE OR TRUE = TRUE<br />
TRUE OR FALSE = TRUE<br />
TRUE OR UNKNOWN = TRUE</p>
<p>FALSE OR TRUE = TRUE<br />
FALSE OR FALSE = FALSE<br />
FALSE OR UNKNOWN = UNKNOWN</p>
<p>UNKNOWN OR TRUE = TRUE<br />
UNKNOWN OR FALSE = UNKNOWN<br />
UNKNOWN OR UNKNOWN = UNKNOWN</p>
<p>=> <strong>UNKNOWN avec les clauses WHERE et CHECK</strong><br />
Dans une clause WHERE une expression évaluée comme UNKNOWN se comporte comme FALSE et dans ce cas aucune ligne n&rsquo;est renvoyée.<br />
Exemple :<br />
<code class="codecolorer text default"><span class="text">select * from T1 where col1 not in (select col2 from T2)</span></code><br />
Par contre dans une clause CHECK une expression évaluée comme UNKNOWN se comporte comme TRUE et l&rsquo;expression est considérée comme valide<br />
Exemple</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">create table T2 (col2 int , CONSTRAINT CHK CHECK (col2 &lt; 10)) <br />
insert into T2 select 4 union select 2 union select null</div></div>
<p>&#8212; insertion réalisée</p>
<p>=> <strong>opération arithmétique avec NULL renvoie NULL</strong> et peut donc provoquer un état logique UNKNOWN lors d&rsquo;une comparaison</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">SELECT 3 + null &nbsp; <br />
SELECT 3 - null <br />
SELECT 3 * null <br />
SELECT 3 /null</div></div>
<p>=> <strong>La plupart des fonctions d&rsquo;agregation ignorent NULL</strong></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">select AVG(col2) from T2 &nbsp;-- donne (4+2)/2 = 3 &nbsp;ici null est ignoré <br />
select COUNT(*) from T2 &nbsp;-- donne 4 : ici null n'est pas ignoré <br />
select COUNT(col2) from T2 -- donne 3 : ici null est ignoré</div></div>
<p>=> Les opérateurs ensemblistes <strong>UNION,INTERSECT,EXCEPT n&rsquo;ignorent pas NULL</strong></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">select * from T1 &nbsp;UNION &nbsp;select * from T2 <br />
select * from T1 &nbsp;EXCEPT &nbsp;select * from T2 <br />
select * from T1 &nbsp;INTERSECT &nbsp;select * from T2</div></div>
<p>=> <strong>CASE expression </strong>: attention lorsque la clause ELSE n&rsquo;est pas explicite ELSE NULL est rajouté !<br />
Exemple</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">SELECT case col1 &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; when 1 then 1 <br />
&nbsp; &nbsp; &nbsp; &nbsp; when 2 then 2 <br />
&nbsp; &nbsp; &nbsp; &nbsp; when 3 then 3 <br />
&nbsp; &nbsp; &nbsp; &nbsp; END <br />
FROM T1</div></div>
<p>Les fonctions CASE, COALESCE, &#8230; permettent de traiter les NULLs afin d&rsquo;obtenir les résultats escomptés. </p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Etienne ZINZINDOHOUE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>SGBD CACHé</title>
		<link>https://blog.developpez.com/zinzineti/p10125/sgbd/sgbd_cache</link>
		<comments>https://blog.developpez.com/zinzineti/p10125/sgbd/sgbd_cache#comments</comments>
		<pubDate>Tue, 12 Jul 2011 21:35:56 +0000</pubDate>
		<dc:creator><![CDATA[zinzineti]]></dc:creator>
				<category><![CDATA[SGBD]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Cette semaine, lors de la présentation d&#8217;un produit (nouveau né du rachat de Nortel par AVAYA), j&#8217;ai posé la question suivante à la personne qui anime la séance : Quel est le SGBD sur lequel repose le produit ? elle me répond : c&#8217;est caché. Je réplique en disant&#8230;. mais c&#8217;est caché et vous ne pouvez même pas nous donner le nom ? Et elle dit : c&#8217;est ce que je viens de vous dire [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Cette semaine, lors de la présentation d&rsquo;un produit (nouveau né du rachat de Nortel par AVAYA), j&rsquo;ai posé la question suivante à la personne qui anime la séance  :<br />
<span id="more-120"></span><br />
Quel est le SGBD sur lequel repose le produit ?</p>
<p>elle me répond : c&rsquo;est caché.</p>
<p>Je réplique en disant&#8230;. mais c&rsquo;est caché et vous ne pouvez même pas nous donner le nom ? </p>
<p>Et elle dit : c&rsquo;est ce que je viens de vous dire &#8230; c&rsquo;est caché !</p>
<p>C&rsquo;est à partir de ce moment que j&rsquo;ai compris qu&rsquo;il existe un SGBD qui a pour nom CACHé !</p>
<p>Un tour rapide sur internet m&rsquo;a permis d&rsquo;en savoir plus.</p>
<p><a href="http://www.youtube.com/watch?v=9a-VPHTNnYg">Voici une démo sur CACHé </a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Etienne ZINZINDOHOUE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Schema mal présenté dans SSMS</title>
		<link>https://blog.developpez.com/zinzineti/p10132/sql-server-2005/schema_mal_presente_dans_ssms</link>
		<comments>https://blog.developpez.com/zinzineti/p10132/sql-server-2005/schema_mal_presente_dans_ssms#comments</comments>
		<pubDate>Thu, 14 Jul 2011 20:13:32 +0000</pubDate>
		<dc:creator><![CDATA[zinzineti]]></dc:creator>
				<category><![CDATA[SGBD]]></category>
		<category><![CDATA[SQL SERVER 2005]]></category>
		<category><![CDATA[SQL SERVER 2008]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Depuis SQL SERVER 2005 la notion de schema de base de données a changé. Un schema est devenu donc un &#171;&#160;namespace&#160;&#187;, un conteneur des objets de la base de données : Tables, Vues, Procédures, Fonctions, Triggers, Users,&#8230; Malgré cette définition claire de Microsoft on n&#8217;en voit pas la traduction dans la représentation affichée par SQL SERVER Management Studio (SSMS 2005, SSMS 2008, SSMS 2008R2). Une image est souvent plus parlant que de belles définitions&#8230; Mettons [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Depuis SQL SERVER 2005 la notion de schema de base de données a changé. Un schema est devenu donc un &laquo;&nbsp;namespace&nbsp;&raquo;, un conteneur des objets de la base de données : <strong>Tables, Vues, Procédures, Fonctions, Triggers, Users,&#8230;</strong> Malgré cette définition claire de Microsoft on n&rsquo;en voit pas la traduction dans la représentation affichée par SQL SERVER Management Studio (SSMS 2005, SSMS 2008, SSMS 2008R2). Une image est souvent plus parlant que de belles définitions&#8230; <span id="more-76"></span></p>
<p>Mettons en perspective les représentations de la notion de schema par SSMS et par RazorSQL</p>
<p>=> Pour une base système <strong>master </strong>vu par SSMS et RazorSQL</p>
<p><img src="http://zinzineti.ftp-developpez.com/images/schema/Master_SSMS_RazorSQL.jpg" alt="Master vu par SSMS et par RazorSQL" title="Base master vu par SSMS et RazorSQL" /></p>
<p>=> Pour une base &laquo;&nbsp;utilisateur&nbsp;&raquo; <strong>Adventureworks </strong> vu par SSMS et par RazorSQL</p>
<p><img src="http://zinzineti.ftp-developpez.com/images/schema/Adventure_ssms_razorsql.jpg" alt="Adventureworks  vu par SSMS et par RazorSQL" title="Base Adventureworks vu par SSMS et RazorSQL" /></p>
<p>Avec cette représentation de schema par SSMS on comprend donc la confusion et le désordre dans l&rsquo;écriture des requêtes, des procédures stockées, &#8230; désordre aussi dans l&rsquo;écriture des DDLs. </p>
<p>Et le schema  dbo (schema poubelle) est là pour qui aime le désordre et la confusion &#8230;</p>
<p>Je n&rsquo;ai pas encore installé SQL11 (Denali), j&rsquo;espère que la présentation de la notion de schema par SSMS Denali va être différente ?</p>
<p>=> Pour une base &laquo;&nbsp;utilisateur&nbsp;&raquo; <strong>Adventureworks </strong> vu par EMS SQL Manager</p>
<p><img src="http://zinzineti.ftp-developpez.com/images/schema/schema_emsql.jpg" alt="Adventureworks  vu par EMS SQL Manager" title="Base Adventureworks vu par EMS SQL Manager" /></p>
<p>Cette présentation de la notion de schema par EMS SQL Manager (ou par SQLRazor) est plus réaliste que celle de SSMS de Microsoft.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Etienne ZINZINDOHOUE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
