# Bases de donnes > Langage SQL > Livres >  Exemples du livre SQL Tte la premire

## ernestomaja

Bonjour,
J'ai achet le livre "SQL Tte la premire" de O'REILLY. Le livre fait rfrence  un site "tetelapremiere.fr" qui offre les fichiers d'exercices en tlchargement. Ce site n'existe plus.
Quelqu'un pourrait-il me transmettre ces fichiers ? Merci d'avance ...

----------


## SQLpro

O'Reilly france ayant arrt ses activits il est probable que vous ayez beaucoup de mal  trouver ce que vous cherchez...

Mieux vaudrait vous rabattre sur un diteur et un livre un peu plus srieux...  comme le mien !

A +

----------


## johnny3

> O'Reilly france ayant arrt ses activits il est probable que vous ayez beaucoup de mal  trouver ce que vous cherchez...
> 
> Mieux vaudrait vous rabattre sur un diteur et un livre un peu plus srieux...  comme le mien !
> 
> A +


Je ne trouve pas sympa de dnigrer un livre de cette qualit (ni mme un diteur de la qualit d'Oreilly). J'ai achet votre livre, mais j'ai trouv des choses trs agrables dans le livre de tte la premire que je n'ai pas retrouves dans le vtre. Heureusement, la plupart des ouvrages sont complmentaires

----------


## johnny3

> Bonjour,
> J'ai achet le livre "SQL Tte la premire" de O'REILLY. Le livre fait rfrence  un site "tetelapremiere.fr" qui offre les fichiers d'exercices en tlchargement. Ce site n'existe plus.
> Quelqu'un pourrait-il me transmettre ces fichiers ? Merci d'avance ...


Facile, il suffit d'aller sur le site O'Reilly amricain pour les tlcharger en anglais. Sinon, si vous attendez un peu, ellypse les mettra srement en ligne (ils ont acquis les droits pour publier 200 ouvrages O'Reilly. Esprons que des livres de la qualit tte la premire en feront partie)

Et, sinon... j'avais tlcharg tous les fichiers  l'poque, quand la nouvelle est tombe. Je peux vous les envoyer.

----------


## SQLpro

> Je ne trouve pas sympa de dnigrer un livre de cette qualit


Je ne pense pas l'avoir dnigr. En effet la srie tte la premire propose une approche ludique, c'est  dire amusante... Je ne dnigre donc pas du tout quand je parle de mon livre en disant qu'il est srieux, en effet mon ouvrage n'est ni ludique, ni amusant et je suppose que vous ne l'avez pas lu puisque vous affirmez des choses fausses....
Quant  la cessation d'activit de O'Reilly France, je n'y suis pour rien. Il y a partout dans le monde des entreprises qui arrtent parce que l'on a beau tre de trs haut niveau, ce niveau de fait pas vendre (exemple Rolls Royce). Pour gagner des sous dans cet univers (celui du livre franais d'informatique) il faut soit avoir un mcne (cas des ditions MS Press par exemple), soit publier des collections de plus bas niveau (comme le font Eyrolles ou Dunod).

A +

----------


## MaitrePylos

> En effet la srie tte la premire propose une approche ludique, c'est  dire amusante...


Je pousserais mme jusqu'a parler de pdagogie par projet.

Ce qu'il ne faut pas confondre dans les deux livres qui vous occupent, c'est que l'un est une introduction au langage SQL pour dbutant, et l'autre un ouvrage de rfrence en la matire.

Ayant lu les deux livres et travaillant quotidiennement avec DB2, je vous laissent deviner quel est le livre que je parcours tous les jours  ::aie::

----------


## ernestomaja

Merci pour vos ractions. J'ai demand par mp les fichiers  johnny3.
Pour ma part, ayant dj achet quelques livres sur SQL, je trouve que le "Tete la premire" est trs pdagogique ... et c'est ce qui me convient, pour le moment.

----------


## Nonoleplongeur

merci Johny pour les infos, voici le lien sur le site Amricain , malheureusement le code ne correspond pas  celui de la version Franaise tant sur les exemples en Anglais sur les portions de code. Voici quand mme le lien pour ceux que a intresse ( valable le 15/02/09)

http://www.headfirstlabs.com/books/hfsql/

Pour ma part, je trouve ce livre excellent pour une introduction en la matire et pour ce forcer un peu  travailler. Une simple lecture ne suffit pas pour ce type d'apprentissage, il faut de la pratique et c'est exactement ce que ce livre propose.

Bon dv  tous,  :;): 

Arnaud

----------


## zorglub1970

> merci Johny pour les infos, voici le lien sur le site Amricain , malheureusement le code ne correspond pas  celui de la version Franaise tant sur les exemples en Anglais sur les portions de code. Voici quand mme le lien pour ceux que a intresse ( valable le 15/02/09)
> 
> http://www.headfirstlabs.com/books/hfsql/
> 
> Pour ma part, je trouve ce livre excellent pour une introduction en la matire et pour ce forcer un peu  travailler. Une simple lecture ne suffit pas pour ce type d'apprentissage, il faut de la pratique et c'est exactement ce que ce livre propose.
> 
> Bon dv  tous, 
> 
> Arnaud


pour information les livres oreilly sont disponibles en pdf sur le site 
http://librairie.immateriel.fr/fr/eb...-premi%C3%A8re

----------


## vduvernet

un peu de ncro-posting ^^

Le sujet tombe  pic (avec 4 ans d'avance en fait ;p)

Je lis actuellement Tte la premire - Analyse et Conception OO histoire de se remettre  un peu  jour. (Dunod semble avoir acquis certains droits  en juger leur site mais pas sur cet ouvrage).
(Je ne dis pas que je n'irais pas jeter un oeil  celui d'SQLPro plus tard mais je n'en suis pas l pour le moment).
Comme je viens de finir C# 5, j'essaye de faire des parallles entre les 2 bouquins.

Et justement dans tte la premire, page 31 (voir topic http://www.developpez.net/forums/d88...tete-premiere/), l'auteur prfre sortir de la classe Guitare des critres de recherche de guitare (comme le fabriquant, modle, type...).
En gros, il encapsule toute caractristique dans une classe ddie afin de pouvoir ajouter des critres par la suite, pourquoi pas.

Mais d'un point de vue BDD, cela veut-il dire qu'il faut aussi avoir 2 tables distinctes ? une T_Guitare et une T_PrefGuitare avec un lien entre les 2 deux ? (surtout si on veut utiliser EntityFramework par la suite (pas encore test mais cela a l'air sympa) 

Qu'en disent les gourous des BDDs ?

Merci.

----------


## SQLpro

> Et justement ... l'auteur prfre sortir de la classe Guitare des critres de recherche de guitare (comme le fabriquant, modle, type...).
> En gros, il encapsule toute caractristique dans une classe ddie afin de pouvoir ajouter des critres par la suite, pourquoi pas.
> 
> Mais d'un point de vue BDD, cela veut-il dire qu'il faut aussi avoir 2 tables distinctes ? une T_Guitare et une T_PrefGuitare avec un lien entre les 2 deux ? (surtout si on veut utiliser EntityFramework par la suite (pas encore test mais cela a l'air sympa) 
> 
> Qu'en disent les gourous des BDDs ?
> 
> Merci.


En matire de modlisation de bases de donnes, il n'y a pas de classes ! Mais des relations, qui sont des objets *porteurs* de donnes (*et non comme on le voir trop souvent crit par des imbciles, des liens entre les table !!!*)  (voir la dfinition du Larousse sur le terme RELATION : "_Action de rapporter en dtail ce dont on a t le tmoin ou dont on a eu connaissance ; rcit qu'on en fait : Faire la relation des vnements auxquels on a particip_." )

Le but de la modlisation est d'obtenir globalement les meilleurs performance en appliquant des rgles strictes (formes normales), qui peuvent tre globalement rsumes par :
1) viter toute redondance (sinon : augmentation du volume des donnes, multiplication du cot des mises  jour, possibilit de ddoublement d'information...)
2) viter du stockage inutile, donc viter le NULL (sinon : augmentation du volume des donnes pour des donnes non significative)
3) viter que la mise  jour d'une information impacte plus d'une ligne (sinon multiplication ... du cot des mises  jour, de la dure des blocages, etc)
4) viter de stocker des donnes non atomique (leur dcomposition nuit aux performances  tous les niveaux : lectures comme critures, car il est difficile voire impossible d'y poser des index)
ETC.

On peut alors parfaitement comprendre que certaines guitares n'aient pas de fabriquant, modle ou type...
On peut aussi comprendre qu'alourdir une table avec des colonnes qui ne seront utilise que par 3% des requtes, face  une table qui aura 97% des requtes concernant les guitares pose immanquablement le problme des performances. En effet, toute augmentation de degr (nombre de colonnes d'une table) entraine fatalement une diminution des performances, car les accs aux donnes se font par des pages contenant des lignes, c'est  dire TOUTES les colonnes de la table (mme si je dois n'en lire qu'une seule !!!)....

A +

----------


## vduvernet

Ok, je vois ton point de vue sur les performances lies aux Lignes / Colonnes.
Mon projet envisage 50 000 enregistrements, ce n'est pas forcment norme mais ce n'est pas une raison pour coder comme un gruiccckkkk.

Le fait de sortir des critres 'optionnels', a pousse  dcomposer encore davantage. Par exemple, si on remplit l'anne de cration, on peut avoir envie de fournir l'anne de fin de production. Par contre, on peut ne pas forcment avoir l'information sur le type de cordes d'origine. Donc il faudrait dcomposer cela en 2 ?

Concernant la modlisation, justement, c'est le lien entre les 2 qui m'interroge. Entity Framework semble tre sympa pour mapper des donnes dans des classes C#.
Comme mon projet perso n'en est qu' l'tude pralable afin d'adapter une pr-version faites en Access 2013 trop limite, je voudrais bien partir dans la bonne direction au dbut du chemin ;p

Vincent

----------


## MaitrePylos

La lecture de l'article suivant http://fsmrel.developpez.com/basesre...normalisation/ te permettras de comprendre au mieux ce que te dis @SqlPro.
Je pense que tu pourrais assimiler jusqu'a la 3FN, tu auras dj un bon point de dpart.

De plus tu ne dois pas confondre les outils que t'offre C# et le SQL Pure, une bonne modlisation sans passer par une abstraction de la db (Entity), te garantiras de meilleurs perfs.

----------


## vduvernet

Yop,

bon j'avoue, j'ai fini par dcrocher en cours de lecture. C'est un norme travail de rdaction et de recherche de sources. (Parfois, j'ai trouv des sections assez imbuvables  se demander si un excs de cafine n'avait pas engendr la rdaction de phrases peu parlantes pour une majorit d'humanodes).

J'y ai trouv des parties intressantes sur l'espace allou, les benchmarks qui sont des retours intressants et bien entendu toute la partie redondance.
Pour le moment, c'est encore flou pour adapter la thorie  la pratique. 

Ah si, j'ai bien aim les retours d'exprience sur les banques. ^^

J'ai not une question tout de mme :
page 52 du PDF  : pourquoi le chque a l'ID de remise et l'ID de lot alors que par transitivit, on choppe l'id du lot par la remise ? N'est ce pas une redondance ?

(je vais refaire le tour de mon analyse de BDD pour vrifier. J'utilise beaucoup d'ID un peu partout donc j'ai peut-tre viter les redondances spontanment.)

----------

