-
Compteur de contenus
64 -
Inscription
-
Dernière visite
-
Jours gagnés
1
Activité de réputation
-
Reivax a reçu une réaction de Brumere dans Revo Uninstaller : Le désinstalleur
Bonjour,
J'ai vu qu'il n'y avait pas de poste sur le logiciel RevoUninstaller ! Or ce logiciel est juste fantastique pour désinstaller des logiciels proprement et complétement. Surtout quand vous vous êtes fait avoir en installant une barre google/yahoo autre dans votre navigateur et qu'elle a tendance à revenir sans qu'on sache pourquoi !
En gros RevoUninstaller va scanner le pc à la recherche de tous les logiciels installés et vous pourrez les désinstaller. La désinstallation s'occupe aussi bien des clés registres que des fichiers qui restent généralement dans les arborescences ! La suppression est donc totale. Bien sur vous avez le choix de supprimer (ou pas) les fichiers que Revo aura détecter. Il existe aussi un mode chasseur (bon ou mauvais je ne sais pas !) qui est très pratique. Enclencher ce mode, viser sur la fenêtre qui vous embête et là revounisntaller peut détecter quel logiciel est relié à la fenêtre.
Lien de download : (prendre le free, c'est suffisant)
http://www.revouninstaller.com/revo_uninstaller_free_download.html
-
Reivax a reçu une réaction de Gameuse Foxy Kooky dans Revo Uninstaller : Le désinstalleur
Bonjour,
J'ai vu qu'il n'y avait pas de poste sur le logiciel RevoUninstaller ! Or ce logiciel est juste fantastique pour désinstaller des logiciels proprement et complétement. Surtout quand vous vous êtes fait avoir en installant une barre google/yahoo autre dans votre navigateur et qu'elle a tendance à revenir sans qu'on sache pourquoi !
En gros RevoUninstaller va scanner le pc à la recherche de tous les logiciels installés et vous pourrez les désinstaller. La désinstallation s'occupe aussi bien des clés registres que des fichiers qui restent généralement dans les arborescences ! La suppression est donc totale. Bien sur vous avez le choix de supprimer (ou pas) les fichiers que Revo aura détecter. Il existe aussi un mode chasseur (bon ou mauvais je ne sais pas !) qui est très pratique. Enclencher ce mode, viser sur la fenêtre qui vous embête et là revounisntaller peut détecter quel logiciel est relié à la fenêtre.
Lien de download : (prendre le free, c'est suffisant)
http://www.revouninstaller.com/revo_uninstaller_free_download.html
-
Reivax a reçu une réaction de xkiller dans SQL(2) : LDD et Wamp
Voici la deuxième partie du tutoriel sur le SQL. Dans cette partie nous allons installer Wamp pour tester et pratiquer un peu de MySQL et ensuite je vous montrerai quelques requêtes qui nous permettrons de créer des tables ! J'irai parfois assez rapidement sur la création de table car il est généralement possible de générer très facilement sans SQL les tables et autres objets.
1) Installation de WampServer.
WampServer est un ensemble de logiciel qui contient entre autre un serveur Apache, PhpMyadmin et une base de donnée MySQL. L'installation de celui ci nous permettra de tester nos requêtes et de créer nos différentes tables grâce à phpmyadmin. Il existe d'autre requêteur bien plus pratique que phpmyadmin mais celui ci est l'un des plus utilisés pour le net. (Sinon vous avez par exemple Toad, mais celui ci est payant pour les bases Oracles (gratuit pour Mysql normalement mais je n'aime pas trop !)).
Pour télécharger Wampserver, rien de plus simple : allez sur l'adresse suivante : http://www.wampserver.com/
Il faut installer la version correspondant à votre windows.
Pour ceux qui n'ont pas windows il existe d'autre installation comme Xamp, Mamp etc. Je ne vous les détaillerai pas car je ne les connais pas du tout ! La suite du tuto sera valide pour n'importe quel système d'exploitation. En effet le SQL n'est pas dépendant de votre OS.
Une fois Wampserver installé, il faudra le lancer et aller dans phpmyadmin comme indiqué dans la capture d'écran suivante :
Lorsque vous aurez cliquer sur phpmyadmin, votre navigateur préféré s'ouvrira (Pas IE s'il vous plaît !) avec l'interface de phpmyadmin. Vous avez alors accès à un ensemble de base de donné MySQL.
2)Création de la DataBase
Dans phpmyadmin, vous pouvez créer une nouvelle Database en cliquant sur SQL et en entrant la requête suivante :
CREATE DATABASE FACTURATION; Nous avons donc lancé une opération de création (CREATE) d'une base de donnée (DATABASE) et nous avons nommé notre nouvelle database facturation.
Si nous voulions supprimer cette base il faudrait rentrer :
DROP DATABASE FACTURATION; Cependant il est fort probable que la dernière requête ne passe pas pour des raisons de droit. De toute manière nous ne voulons pas détruire la base. La différence entre cette requête et la précédente est que nous ne faisons pas une création mais une suppression (DROP).
3)Création de la table facture.
Pour créer une table nous allons faire de nouveau un CREATE mais d'une TABLE. Il faudra que nous définissions la clé primaire, le format des champs, leurs noms et si la valeur NULL est possible.
CREATE TABLE Client ( IdClient INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY, Name VARCHAR(50) NOT NULL ); La table que nous créons contient donc deux champs. Le champ IdClient est un nombre entier (INTEGER), qui s'autoincrémente (AUTO_INCREMENT), qui n'accepte pas la valeur NULL (NOT NULL) et est clé primaire (PRIMARY_KEY). Le seconde champ est le champ Name, qui est une chaîne de caractères (VARCHAR) de 50 caractères et qui n'accepte pas la valeur NULL (NOT NULL).
Si vous deviez ajouter d'autres champs il suffirait d'ajouter d'autre champ avec leurs caractéristiques, les champs étant séparés par des virgules.
Les principaux formats de champ possibles sont les suivants :
INTEGER : nombre entier VARCHAR : chaîne de caractère, il prend entre parenthèse le nombre de caractère maximum. DATE : une date. DECIMAL : un nombre décimal avec entre parenthèse le nombre de chiffre total puis le nombre de chiffre après la virgule. Pour avoir une liste plus complète, vous pouvez aller consulter la documentation suivante : http://dev.mysql.com/doc/refman/5.6/en/data-types.html.
Pour supprimer la table nous pourrions utiliser la commande suivante :
DROP TABLE Client; 4) Création d'un index
Avant de créer un index, nous allons créer une table sans index avec le code suivant :
CREATE TABLE Facture ( IdFacture Integer NOT NULL, IdClient Integer NOT NULL, Descr Varchar(254) NOT NULL ); Comme avant nous allons créer un index mais cette fois ci avec une deuxième requête CREATE mais cette fois ci d'un objet INDEX. Nous allons créer un index sur IdClient pour faire une recherche plus efficace sur ce champ.
CREATE INDEX Idx_A_facture ON facture (IdClient); Nous avons donc créer (CREATE) un index (INDEX) nommé Idx_A_facture sur la table facture et la colonne IdClient. Nous aurions pu ajouter d'autre colonne à l'index en ajoutant d'autre colonne après IdClient séparé par des virgules.
5/Modification d'une table
Il est aussi possible de modifier une table. Dans l'exemple précèdent nous avons créer une table Facture mais sans clé primaire. Nous allons remédier à ce problème et ajouter un index primaire sur la table. Les index primaire dans MySQL ne sont modifiable que par la commande ALTER.
ALTER TABLE Facture MODIFY IdFacture Integer auto_increment Not null primary key; Cette requête nous permet de modifier (ALTER) la table (TABLE) facture et de modifier (MODIFY) le champ IdFacture en un entier (Integer), qui s'auto incrémente (AUTO_INCREMENT), n'est jamais null (not null) et est une clé primaire.
Il est aussi possible de renommer la table :
ALTER TABLE Facture RENAME Facture2; de supprimer une colonne :
ALTER TABLE Facture DROP Descr; Ou encore d'ajouter une colonne :
ALTER TABLE Facture ADD Descr2 VARCHAR(254); Si vous voulez modifier un INDEX il suffit de faire les même requête que pour les tables mais en remplaçant TABLE par INDEX :).
Voici ce qui termine ce petit tutoriel sur les LDD (Langage de définition de donnée). Je n'ai pas présenté toutes les requêtes possibles mais vous avez les principales. Je ferai peut être un autre tuto sur ces requêtes mais plus tard quand nous aurons appris les requêtes de LMD (langage de manipulation de donnée) Select, Insert et Update ! Et peut être après l'utilisation des hints qui vous permettrons d'optimiser vos requêtes.
En résumé nous avons appris les requêtes CREATE, DROP et ALTER. Vous êtes donc capable désormais de créer des tables, database, index ainsi que de les supprimer ou encore de les modifier !
-
Reivax a reçu une réaction de Gameuse OctaviaXCV dans Recrutement - Minecraft Jeu.video
Il n'y a pas encore de serveur. Ce post sert justement à recruter une personne pour s'en occuper !
-
Reivax a reçu une réaction de TheBreakerr dans Team Overwatch
Je l'ai aussi depuis peu (en même temps c'est pas étonnant vu qu'il vient de sortir !)
Donc why not ?
-
Reivax a reçu une réaction de Gameuse Foxy Kooky dans SQL(3) LMD : Insert basique et Select
Aujourd'hui nous allons apprendre à utiliser des requêtes dites LMD (langage de manipulation de donnée). Dans un premier temps nous allons ajotuer des lignes dans nos tables pour travailler dessus plus tard. Pour cela nous utiliserons des INSERT. Ensuite nous allons récupérer ces informations avec des requêtes de sélection (SELECT).
1/ INSERT basique
Dans cette partie nous allons faire des insertions de ligne dans nos deux tables clients et factures. Ces INSERT seront basiques, je vous montrerai dans un autre tutoriel d'autres façon d'écrire un insert.
Pour rappel voici le schéma de la base de donnée que nous avons créer dans le Tuto 2 jusqu'à maintenant :
Maintenant nous allons jouer les requêtes suivantes :
INSERT INTO `client`(`IdClient`, `Name`) VALUES (1,'SARAH CROCHE'); INSERT INTO `client`(`IdClient`, `Name`) VALUES (2,'SAM VIMAIRE'); INSERT INTO `client`(`IdClient`, `Name`) VALUES (3,'PRINCESSE MONONOKE'); INSERT INTO `client`(`IdClient`, `Name`) VALUES (4,'CAROTTE FONDEURENFERSSON'); Ces 4 lignes nous permettent d'insérer 4 nouveaux clients. Nous insérons (INSERT) dans (INTO) la table client, et dans chaque champ IdClient et Name les valeurs (VALUE) 1 et Sarah Croche etc. Vous remarquerez que cette fois ci j'ai protéger le nom des tables et objets avec un ` (alt + 7). Cette protection n'est pas obligatoire et je la met assez rarement, mais il peut arriver qu'elle soit obligatoire. En effet si j'avais créer une table client-2, la protection aurait été obligatoire à cause du tiret dans le nom de la table.
Nous allons maintenant rajouter un autre client :
INSERT INTO `client`(`Name`) VALUES ('ESME CIREDUTEMPS'); Quelle est la différence avec mes autres INSERT ?.Je n'ai pas renseigné le champ IdClient, pourtant si nous vérifions, une ligne dans la table client a été créé ! En effet rappelez vous notre requête de création de la table client, nous avions mis pour le champ IdClient comme quoi il devait être en AUTO_INCREMENT. Donc nous n'avons pas besoin de renseigner le numéro de IdClient, MySQL sait automatiquement le remplir !
Nous allons maintenant compléter la table facture avec d'autres insert :
INSERT INTO `facture`( `IdClient`, `Descr`) VALUES (5,'Facture de bottine'); INSERT INTO `facture`( `IdClient`, `Descr`) VALUES (1,'Téléphone'); INSERT INTO `facture`( `IdClient`, `Descr`) VALUES (4,'Plastron'); INSERT INTO `facture`( `IdClient`, `Descr`) VALUES (4,'Croquettes pour loup'); INSERT INTO `facture`( `IdClient`, `Descr`) VALUES (2,'Bottes usées'); Vous remarquerez que je n'ai pas renseigné ni l'idfacture (car il est en auto_increment) ni la descr2. En effet la descr2 peut être null et donc il est autorisé de ne rien mettre dans cette colonne.
2/Requête de sélection
Dans cette partie nous allons apprendre à sélectionner et retrouver les informations que nous avons insérer précédemment. Cette partie risque d'être assez longue et nous irons d'un cas simple à des cas de plus en plus compliqués.
A/Sélection de toutes les lignes d'une table
La requête SELECT la plus simple possible est celle ci :
SELECT * FROM `client`
Cette requête permet de sélectionner (SELECT) toutes les colonnes (*) qui proviennent (FROM) de la table client.
Nous avons donc obtenu un tableau avec l'idclient et le Name de toutes les lignes de la table client :
Imaginons maintenant que je n'ai besoin que de la colonne Name, je peux dire dans ma requête que je ne veux que la colonne Name.
SELECT `Name` FROM `client`
Nous avons remplacer l'étoile par le nom du champ. Le résultat est donc le même mais sans la colonne IdClient. Il est possible d'ajouter plusieurs nom de colonne en les séparant par des virgules. Nous aurons l'occasion de voir d'autres cas plus tard.
B/Les conditions
Jusqu'ici nous avons sélectionner toutes les lignes de la table. Or la plupart des temps nous n'aurons pas besoin de toutes les lignes mais juste de quelques unes ! Pour cela nous allons utiliser les clauses WHERE à la fin de la requête pour diminuer le nombre de ligne que nous récupérons.
SELECT * FROM `client` WHERE name = 'SAM VIMAIRE'
Nous avons donc rajouté une clause WHERE à la fin de notre requête, et nous n'avons ramené qu'une seule ligne, celle où (WHERE) le nom (name) est égal à (=) SAM VIMAIRE. Nous avons donc ramené toutes les lignes correspondant à ce cas, ici nous n'avons qu'un seul Sam Vimaire.
Il existe d'autres comparateur que le égal. Par exemple nous pouvons récupérer tous les numéro de client supérieur ou égal à 3 :
SELECT * FROM `client` WHERE idclient >= 3
Les autres comparateurs peuvent aussi être utilisés. Il existe d'autres opérations comme le LIKE. Le LIKE permet de retrouver des lignes à partir d'un morceau du champ. Dans l'exemple suivant nous allons chercher tous les clients commençant par S :
SELECT * FROM `client` WHERE name like 'S%'
Nous avons bien récupéré les deux noms commençant par un S. Le % sert de joker dans la chaîne de caractère ! Il est donc aussi possible de retrouver les noms contenant un S puis plus loin un M par exemple. Ainsi nous pourrions écrire '%S%M%'. Essayez pour voir ce que cela donne ! Et surtout essayer de faire d'autre cas et voir les résultats.
Il est aussi possible de faire une liste de valeur avec le mot clé IN. Par exemple dans l'exemple suivant nous allons chercher PRINCESSE MONONOKE et ESME CIREDUTEMPS dans la liste de nom.
SELECT * FROM `client` WHERE name IN ('ESME CIREDUTEMPS','PRINCESSE MONONOKE')
Le mot clé NOT va nous permettre d'inverser les sélections. Ainsi un NOT LIKE fera l'inverse d'un LIKE. Un NOT IN fera que vous allez exclure les valeurs que vous avez mentionné dans la liste. Voici quelques exemple par rapport à ce que nous avons fait précèdemment :
SELECT * FROM `client` WHERE name NOT IN ('ESME CIREDUTEMPS','PRINCESSE MONONOKE')
SELECT * FROM `client` WHERE name NOT LIKE 'S%'
Ce tuto est fini :). Vous avez désormais les bases pour écrire des SELECT ! Mais attention il nous reste encore à voir pas mal de choses sur les SELECT. Notamment les sous requêtes et les EXISTS (Qui sont liés au sous requête). Mais comme c'est un peu plus compliqué je pense qu'il est préférable de faire une autre partie ! De plus nous allons devoir voir aussi les jointures; c'est à dire comment relier deux tables entre elles !
-
Reivax a reçu une réaction de Petit Pingouin dans Influent
J'ai la version russe et elle est pas mal. ça permet de confirmer un peu la lecture de l'alphabet et sa prononciation. Maintenant je peux lire les russes sur CSGO et les panneaux dans les jeux tel que DayZ :D.
Sinon oui je crois que c'est pas top pour les version japonaise, chinois etc. En gros tous ce qui se fait avec des symboles autres qu'un alphabet assez classique (le russe reste très proche de l'alphabet latin, mais il faut quand même se renseigner avant pour pouvoir le lire car influent ne le permet pas ! Il n'y a aucun équivalent russe / alphabet latin dans mes souvenirs !
-
Reivax a reçu une réaction de Gameuse Foxy Kooky dans Influent
Influent est un petit jeu que je qualifierai d'éducatif !
Ce jeu vous permettra d'apprendre du vocabulaire dans une langue de manière ludique ! Le nombre de langue disponible est tout simplement énorme et s'enrichit tous les jours. Par exemple vous pourrez avoir le japonais, le russe ou encore plein d'autre langue.
Ah et y'a un petit avion qui permet de tirer sur les objets inscrit en dessous !! Sinon c'est un peu comme un point en click, il existe différents modes de jeu. Ainsi dans un mode de jeu, vous allez devoir le plus rapidement trouver les objets indiqués dans la langue que vous essayez d'apprendre.
Pour l'avoir, je le trouve pas mal mais ça ne vous permettra pas d'apprendre réellement une langue. Par contre ceci vous permettra d'enrichir votre vocabulaire !
-
Reivax a reçu une réaction de Gameuse Shinoa dans Influent
Influent est un petit jeu que je qualifierai d'éducatif !
Ce jeu vous permettra d'apprendre du vocabulaire dans une langue de manière ludique ! Le nombre de langue disponible est tout simplement énorme et s'enrichit tous les jours. Par exemple vous pourrez avoir le japonais, le russe ou encore plein d'autre langue.
Ah et y'a un petit avion qui permet de tirer sur les objets inscrit en dessous !! Sinon c'est un peu comme un point en click, il existe différents modes de jeu. Ainsi dans un mode de jeu, vous allez devoir le plus rapidement trouver les objets indiqués dans la langue que vous essayez d'apprendre.
Pour l'avoir, je le trouve pas mal mais ça ne vous permettra pas d'apprendre réellement une langue. Par contre ceci vous permettra d'enrichir votre vocabulaire !
-
Reivax a reçu une réaction de Gameuse Foxy Kooky dans Paper Please
Connaissez vous Paper Please ?
Ce petit jeu pixellisé est un petit chef d'oeuvre d'originalité ! Vous êtes un douanier dans un pays communiste fictif dans une ambiance guerre froide. Comment en tant que petit douanier allez vous gérer les entrées et les différentes restrictions de pire en pire du régime communiste ? Allez vous laisser passer ce bonhomme avec un faux passeport fait maison ou le repousser ? Allez vous aider les résistants ou provoquer leurs arrestations ? Allez vous mettre le poster de sport ou mettre le cadre du partie ? Qu'allez vous faire pour sauver votre famille de cette dictature ?
Les fins sont nombreuses, toutes vos actions auront des répercussions très importante ! Allez vous finir au Goulag ou vous échapper ? Provoquer la fin du régime ou en faire partie ? Il y a tellement de fin différentes ! Tellement de manières de mal finir !
Les graphismes payent pas de mine mais on se prend rapidement au jeu :).
Apparemment il est aussi disponible sur smartphone !
-
Reivax a reçu une réaction de Gameuse Shinoa dans Paper Please
Connaissez vous Paper Please ?
Ce petit jeu pixellisé est un petit chef d'oeuvre d'originalité ! Vous êtes un douanier dans un pays communiste fictif dans une ambiance guerre froide. Comment en tant que petit douanier allez vous gérer les entrées et les différentes restrictions de pire en pire du régime communiste ? Allez vous laisser passer ce bonhomme avec un faux passeport fait maison ou le repousser ? Allez vous aider les résistants ou provoquer leurs arrestations ? Allez vous mettre le poster de sport ou mettre le cadre du partie ? Qu'allez vous faire pour sauver votre famille de cette dictature ?
Les fins sont nombreuses, toutes vos actions auront des répercussions très importante ! Allez vous finir au Goulag ou vous échapper ? Provoquer la fin du régime ou en faire partie ? Il y a tellement de fin différentes ! Tellement de manières de mal finir !
Les graphismes payent pas de mine mais on se prend rapidement au jeu :).
Apparemment il est aussi disponible sur smartphone !
-
Reivax a reçu une réaction de Spira-angel dans Paper Please
Connaissez vous Paper Please ?
Ce petit jeu pixellisé est un petit chef d'oeuvre d'originalité ! Vous êtes un douanier dans un pays communiste fictif dans une ambiance guerre froide. Comment en tant que petit douanier allez vous gérer les entrées et les différentes restrictions de pire en pire du régime communiste ? Allez vous laisser passer ce bonhomme avec un faux passeport fait maison ou le repousser ? Allez vous aider les résistants ou provoquer leurs arrestations ? Allez vous mettre le poster de sport ou mettre le cadre du partie ? Qu'allez vous faire pour sauver votre famille de cette dictature ?
Les fins sont nombreuses, toutes vos actions auront des répercussions très importante ! Allez vous finir au Goulag ou vous échapper ? Provoquer la fin du régime ou en faire partie ? Il y a tellement de fin différentes ! Tellement de manières de mal finir !
Les graphismes payent pas de mine mais on se prend rapidement au jeu :).
Apparemment il est aussi disponible sur smartphone !
-
Reivax a reçu une réaction de Patouf dans Paper Please
Connaissez vous Paper Please ?
Ce petit jeu pixellisé est un petit chef d'oeuvre d'originalité ! Vous êtes un douanier dans un pays communiste fictif dans une ambiance guerre froide. Comment en tant que petit douanier allez vous gérer les entrées et les différentes restrictions de pire en pire du régime communiste ? Allez vous laisser passer ce bonhomme avec un faux passeport fait maison ou le repousser ? Allez vous aider les résistants ou provoquer leurs arrestations ? Allez vous mettre le poster de sport ou mettre le cadre du partie ? Qu'allez vous faire pour sauver votre famille de cette dictature ?
Les fins sont nombreuses, toutes vos actions auront des répercussions très importante ! Allez vous finir au Goulag ou vous échapper ? Provoquer la fin du régime ou en faire partie ? Il y a tellement de fin différentes ! Tellement de manières de mal finir !
Les graphismes payent pas de mine mais on se prend rapidement au jeu :).
Apparemment il est aussi disponible sur smartphone !
-
Reivax a reçu une réaction de Momoroxxor dans Recrutement - Minecraft Jeu.video
Hello !
Eventuellement volontaire :). J'ai envoyé un petit message à Gameuse Skitty pour détailler plus en détail.
Par contre pas tous seul, il faut une équipe. Déjà il faut un Backup pour remplacer le pauvre admin serveur qui a besoin de vacances et qui en a marre de voir la console !
Je suis dispo pour discuter sur un discord !
-
Reivax a reçu une réaction de Starck dans SQL(1) : Base de donnée
Bonjour !
Ce petit tutoriel a pour but de vous expliquer le fonctionnement d'une base de donnée et plus particulièrement MySQL. Cependant le but est aussi de vous d'appliquer ces explications à d'autres types de bases de données comme postGreSQL, Access ou encore Oracle. Ces différentes bases de données (ou SGBD) sont plus ou moins accessible au grand public, par exemple Oracle est une base de donnée extrêmement coûteuse en terme de licence et ne se rencontre donc que dans le milieu professionnel alors que MySQL est gratuit et sert énormément dans tous ce qui touche au net. Il est fort probable que le forum jeu.video soit sous MySQL (mais je peux me tromper !) :).
Qu'est ce qu'une base de donnée ?
Une base de donnée est un rassemblement d'informations qui sont ordonnées sous forme de différents "tableaux" appelé tables. Ces tableaux contiennent des colonnes appelées "Champ" et les lignes de ces tableaux sont appelées "Tuple". Dans la base de donnée les tables sont reliées entre elle par des relations. Ainsi si vous avez deux tables, une table facture et une table client. La table client contient les informations sur votre client avec un numéro d'identifiant du client et la table facture contient les informations sur les factures dont le client facturé et donc le numéro client. La liaison entre les deux tables se fera grâce à l'identifiant client.
Le schéma suivant montre notre base de donnée sommaire :
Cette base de donnée nous permet donc de retrouver les factures et leur clients associés.
Les types de champs et la valeur null
Le type d'un champ est son format. Dans l'exemple précédent j'ai mis que le Id_Client était un Integer, ceci signifie que IdClient est un entier naturel. Name est quand à lui un VarChar, c'est à dire une chaîne de caractère. Il existe de nombreux types différents pour les champs, ceux ci définissent le format de votre champ et sont très important car ils indiquent à la base de donnée comment stocker les informations. Vous ne pourrez donc mettre dans un champ Integer que des entiers et dans un champ decimal que des nombres décimaux. etc !
Il existe une valeur particulière dans une base de donnée qui est la valeur "inconnu" c'est à dire null. Cette valeur permet de remplir grosso modo un champ à vide. Dans notre base de donnée d'exemple précédente nous n'avons pas de valeur null possible. Effectivement il est possible d'interdire la valeur null dans un champ d'une table. Par exemple une facture sans client étant totalement illogique, nous pouvons obliger ce champ à être renseigné.
Les clés primaires et secondaires :
Les clés primaires d'une table sont généralement le moyen d'obtenir de manière unique une information. Dans notre exemple précédent les champ qui sont soulignés sont des clés primaires. Ainsi si vous utilisez un idFacture, par exemple le "1", alors vous aurez accès qu'à une seule facture. De même pour l'idClient, si vous cherchez le "2", vous n'aurez alors accès qu'à une seule ligne de la table Client.
Les clés secondaires sont des clés primaires d'une table mais présente dans une autre table. Prenons notre champ IdClient, celui ci est clé primaire dans la table Client mais il est aussi présent en tant que champ normal dans la table Facture. La liaison entre les deux tables étant donnée par ce champ IdClient alors le champ IdClient est une clé secondaire dans la table Facture. Attention il arrive que l'on ne déclaré pas la clé secondaire dans la base de donnée malgré le fait qu'elle soit dans le modèle, et ceci pour simplifier et éviter quelques problèmes dans l'utilisation de la base de donnée. En effet, si vous aviez créer une facture sur le client 1, vous ne pourrez pas supprimer le client 1 sans supprimer cette facture ! (L'exemple n'est pas très bon car dans ce cas là nous perdrions toutes cohérence pour la facture mais il existe des cas où ce genre de chose peut exister et est nécessaire).
Les clés composées
Une clé de table n'est pas forcément composée que d'un seul champ. Elle peut être composé de plusieurs champs. Rajoutons des lignes à notre factures !
La table Ligne Facture contient deux clés primaires ! Dont une est même clé secondaire ! Ainsi à partir d'une facture vous pouvez retrouver toutes les lignes associés à celle ci grâce au champ IdFacture. Quel est l'intérêt d'avoir une clé composé ? Car nous aurions pu créer une clé primaire simple IdLigneFact et mettre en clé secondaire la facture ?
Déjà si vous allez consulter la table LigneFact ce sera plus clair d'avoir deux clés primaires, la vision de la facture associée est directe.
Ensuite si vous aviez utilisé qu'une seule clé primaire, vous auriez alors un numéro incrémental commun à toutes les factures. Dans notre cas ici la facture 1 aura un idligne 1 et 2 et la facture 2 un idligne 1 et 2 aussi alors que sinon vous auriez eu les numéro allant de 1 à 4. Pour retrouver les numéros de lignes vous auriez du ajouter un autre champ numeroLigne. Or dans ce cas là vous perdez l'unicité entre le numéro de facture et le numéro de ligne. En effet la facture 1 aurais pu avoir deux lignes 1 ! Avec la clé primaire unique composé c'est impossible car l'ensemble facture 1 ligne 1 existe déjà !
La dernière raison est une raison de performance. Lorsque vous allez faire la jointure entre la table Facture et LigneFact ce sera plus rapide avec la clé composé. Je vous expliquerai pourquoi avec les index tout de suite !
Les index :
Les index sont des objets SQL ressemblant aux tables mais n'ont d'existence qu'associé à une table. Nous avons déjà vu quelques index depuis le début de ce tutoriel. En effet les clé primaire sont des index !
Qu'est ce qu'un index ? C'est en fait une table trié dans un ordre précis. Ainsi dans notre exemple la table facture possède un index dit primaire qui stocke et trie tous les IdFacture dans l'ordre. Il est aussi possible d'avoir des index sur d'autre champ que les clé primaires, ce sont alors des index secondaires. Nous pourrions ainsi créer un index sur l'idClient de la table Facture.
Un index n'a pas non plus forcément qu'une seule colonne, il peut en avoir deux comme dans le cas de la table LigneFacture. Dans ce cas l'index contient les deux colonne IdFacture et IdLigne. L'index est d'abord trié dans l'ordre croissant sur le numéro de facture et ensuite dans l'ordre croissant du numéro de client.
Mais à quoi ça sert ?
Imaginez l'annuaire téléphonique, vous l'avez entre les mains et vous êtes en train de chercher le numéro de Toto. Manque de bol, l'annuaire a été fait au fur et à mesure et donc les numéros des gens apparaît dans l'ordre dans lequel ils se sont abonnés aux téléphone. En gros pour aller chercher Toto il va vous falloir parcourir tous l'annuaire ! Bon courage ! Surtout si Toto a plusieurs numéros et qu'il vous les faut tous, vous allez devoir vraiment tous parcourir ! En gros ça va être long !
En fait l'index va vous aider à parcourir votre annuaire, il l'a trié par ordre alphabétique ! Au lieu de faire page par page il va ouvrir l'annuaire trié au milieu voir si Toto est après ou avant cette page, puis de nouveau il va ouvrir une page au milieu de ce qui reste et ainsi de suite. Il va donc opérer par dichotomie (j'en ai perdu quelques uns là ?) et ne fera qu'un nombre très limité d'opération pour trouver tous les numéros de Toto ! L'index est donc un outil de performance incroyable !
Mais attention ! Cet index est aussi un gros gourmand ! Parfois un index ou trop d'index tue l'index ! Comme je vous l'ai expliqué l'index est une table trié ! Quand vous allez ajouter un tuple dans votre table facture, il va aussi devoir le faire dans l'index. Vous dédoublez donc l'information sur IdFacture mais aussi le temps d'insertion d'une ligne ! Alors si vous n'avez qu'un index dans une petite table ça va ! Mais imaginez si vous avez des centaines de millions de lignes ? Et 40 Index ? Votre recherche sera rapide mais l'insertion sera devenu super lente !
Les index sont donc à utiliser, il faut les utiliser mais il faut bien choisir les champs à indexer. Dans notre exemple précédent il est par exemple totalement inutile d'indexer les champs Descr. Personne ne fera de recherche sur la description d'une ligne de facture ! Par contre, nous pourrions faire un index sur le champ name de la table client, il est possible que dans notre logiciel qui utilisera cette base de donnée veuille retrouver les clients par nom d'utilisateur et non par idClient.
C'est fini !
Voilà je vous ai expliqué ce qu'est une base de donnée SQL dans les grandes lignes. Il existe plein d'autres choses à connaître tel que les tablespaces (lieu où sont stockés les tables). Mais ceci n'est pas très utile à ce niveau. Si vous voyez une boulette n'hésitez pas à me le dire que je corrige. Je n'ai rien expliqué sur le SQL car avant d'expliquer le SQL ben il faut savoir ce qu'est une base de donnée !
-
Reivax a reçu une réaction de Spira-angel dans Reivax
Bonjour !
C'est moi Reivax :).
Que dire sur moi ? Ben pas grand chose, je suis un grand fan de Doctor Who, un peu Geek mais pas allergique au soleil... enfin pas trop :).
Je suis Concepteur/Développeur et j'aime bien toucher à un peu tous les domaines comme java, linux, C, SQL, Php, etc. Par contre je suis une bille en graphisme :).
Je joue pas mal à Damned, Rocket League, CSGO et pas mal de RPG (tous ce qui ressemble à Baldur's Gate j'adore). Vous me trouverez sous le nom Reivax sur steam, je suis toujours partant pour une partie ou presque ! Bon je suis mauvais mais bon !
-
Reivax a reçu une réaction de StickLerros dans Site RomStation
Ah super logiciel ! Surtout quand quelqu'un est premium et peux lancer une partie multijoueur.
J'ai joué à MicroMachine sur Snes en multijoueur grâce à ce logiciel et c'est top ! (Et très marrant !). Pareil pour jouer au jeu CrashBandicoot avec plein d'épreuve différente (je ne me souviens plus du nom )
-
Reivax a reçu une réaction de Kal57 dans Reivax
Bonjour !
C'est moi Reivax :).
Que dire sur moi ? Ben pas grand chose, je suis un grand fan de Doctor Who, un peu Geek mais pas allergique au soleil... enfin pas trop :).
Je suis Concepteur/Développeur et j'aime bien toucher à un peu tous les domaines comme java, linux, C, SQL, Php, etc. Par contre je suis une bille en graphisme :).
Je joue pas mal à Damned, Rocket League, CSGO et pas mal de RPG (tous ce qui ressemble à Baldur's Gate j'adore). Vous me trouverez sous le nom Reivax sur steam, je suis toujours partant pour une partie ou presque ! Bon je suis mauvais mais bon !
-
Reivax a reçu une réaction de StickLerros dans Reivax
Bonjour !
C'est moi Reivax :).
Que dire sur moi ? Ben pas grand chose, je suis un grand fan de Doctor Who, un peu Geek mais pas allergique au soleil... enfin pas trop :).
Je suis Concepteur/Développeur et j'aime bien toucher à un peu tous les domaines comme java, linux, C, SQL, Php, etc. Par contre je suis une bille en graphisme :).
Je joue pas mal à Damned, Rocket League, CSGO et pas mal de RPG (tous ce qui ressemble à Baldur's Gate j'adore). Vous me trouverez sous le nom Reivax sur steam, je suis toujours partant pour une partie ou presque ! Bon je suis mauvais mais bon !
-
Reivax a reçu une réaction de Gameuse Skitty dans Reivax
Bonjour !
C'est moi Reivax :).
Que dire sur moi ? Ben pas grand chose, je suis un grand fan de Doctor Who, un peu Geek mais pas allergique au soleil... enfin pas trop :).
Je suis Concepteur/Développeur et j'aime bien toucher à un peu tous les domaines comme java, linux, C, SQL, Php, etc. Par contre je suis une bille en graphisme :).
Je joue pas mal à Damned, Rocket League, CSGO et pas mal de RPG (tous ce qui ressemble à Baldur's Gate j'adore). Vous me trouverez sous le nom Reivax sur steam, je suis toujours partant pour une partie ou presque ! Bon je suis mauvais mais bon !
-
Reivax a reçu une réaction de Gameuse Skitty dans Linux : distribution Gentoo
Un petit post pour une distribution linux assez particulière. Gentoo est une distribution linux minimaliste, vraiment minimaliste ! Vous avez besoin d'une interface graphique ? Ne prenez pas une Gentoo, Cette distribution c'est de la pure ligne de commande, que du bash :).
Mais alors pourquoi utiliser une Gentoo ? Une Gentoo sert principalement pour les serveurs dédiés. L'avantage c'est qu'étant minimaliste, vous allez pouvoir installer que l'essentiel, que ce qui est nécessaire à votre machine et donc optimiser les performances de celle ci ! Pas besoin de ressource pour gérer les graphisme, il n'y en a pas ! Et vous n'en avez pas besoin pour un serveur dédié !
De plus la gentoo est compilé (au moins partiellement) sur votre serveur/machine lors de son installation (je ne saurai pas non plus trop l'expliquer). Mais en gros l'installation d'une Gentoo permet d'utiliser au maximum les capacités du processeur.
Bref utiliser une gentoo demande un minimum de connaissance en informatique dans le domaine de linux. Car tous se fait en ligne de commande. Le langage bash possède quelques différences par rapport à Ubuntu mais rien d'insurmontable avec une bonne recherche google. C'est l'idéal pour lancer un serveur :) (après il faut apprendre à faire les cron (automatisation des tâches) et autres scripts de lancement ainsi que gérer la sécurité. Mais c'est encore un autre sujet !)
-
Reivax a reçu une réaction de Gameuse Shinoa dans Revo Uninstaller : Le désinstalleur
Bonjour,
J'ai vu qu'il n'y avait pas de poste sur le logiciel RevoUninstaller ! Or ce logiciel est juste fantastique pour désinstaller des logiciels proprement et complétement. Surtout quand vous vous êtes fait avoir en installant une barre google/yahoo autre dans votre navigateur et qu'elle a tendance à revenir sans qu'on sache pourquoi !
En gros RevoUninstaller va scanner le pc à la recherche de tous les logiciels installés et vous pourrez les désinstaller. La désinstallation s'occupe aussi bien des clés registres que des fichiers qui restent généralement dans les arborescences ! La suppression est donc totale. Bien sur vous avez le choix de supprimer (ou pas) les fichiers que Revo aura détecter. Il existe aussi un mode chasseur (bon ou mauvais je ne sais pas !) qui est très pratique. Enclencher ce mode, viser sur la fenêtre qui vous embête et là revounisntaller peut détecter quel logiciel est relié à la fenêtre.
Lien de download : (prendre le free, c'est suffisant)
http://www.revouninstaller.com/revo_uninstaller_free_download.html
-
Reivax a reçu une réaction de Joey Logano dans Recrutement - Minecraft Jeu.video
Hello !
Eventuellement volontaire :). J'ai envoyé un petit message à Gameuse Skitty pour détailler plus en détail.
Par contre pas tous seul, il faut une équipe. Déjà il faut un Backup pour remplacer le pauvre admin serveur qui a besoin de vacances et qui en a marre de voir la console !
Je suis dispo pour discuter sur un discord !