background preloader

Base de donnees

Facebook Twitter

Comprendre PDO. I.a.

Comprendre PDO

Tous ne sont qu'extensions▲ Saviez-vous que les fonctions ayant le préfixe mysql_ font partie d'une extension nommée mysql ? Eh oui, il en va de même avec mysqli_... et PDO aussi d'ailleurs ! À l'heure actuelle, ce sont les trois API disponibles pour établir une connexion à un serveur MySQL avec PHP. Maintenant que vous avez bien compris qu'il existe trois extensions permettant à PHP de se connecter à MySQL, voici un tableau comparatif : Source : Ce tableau démontre principalement une chose : l'extension MySQL a fait son temps.

I.b. PDO signifie Php Data Object. Ainsi, il est temps de casser le mythe laissant sous-entendre que PDO permet une compatibilité entre plusieurs types de bases de données ; PDO n'a pas pour but que d'interpréter vos requêtes et de les traduire pour tous les SGBD. En somme, lorsque vous démarrez une connexion PDO, il faudra indiquer quel est le type de SGDB à utiliser. Requêtes préparées. Les requêtes préparées avec PDO en PHP- (PHP, JavaScript, HTML, CSS) Le principe des requêtes préparées est de créer un modèle de requête et de l'enregistrer sur notre SGBD.

Les requêtes préparées avec PDO en PHP- (PHP, JavaScript, HTML, CSS)

Le modèle est supprimé à chaque fermeture de la connexion avec la base de données. Lorsqu'on exécute une requête, la base de données va l'analyser, la compiler, l'optimiser puis l'exécuter. Le but des requêtes préparées est de ne pas répéter toutes ces actions lorsqu'on exécute des requêtes identiques. Pour mieux comprendre, prenons un exemple. Je souhaite exécuter une requête d'insertion afin d'ajouter le client « Jean Dupont » dans la base de données. 1-Remplacer les paramètres Pour construire un modèle de requête, il faut remplacer chaque paramètre par un paramètre précédé de « : » ou d'un point d'interrogation. 2-Préparer la requête Il faut maintenant préparer la requête En cas d'échec, la méthode prepare retourne FALSE.

Dept-info.labri.fr/~couvreur/BD1/3_Relationnel4.pdf. Eric.univ-lyon2.fr/~jdarmont/docs/old/6-ea.pdf. Lagis-vi.univ-lille1.fr/~lo/ens/commun/bd/bd_cours_poly.pdf. Univ.ency-education.com/uploads/1/3/1/0/13102001/esi-le_model_relationnel.pdf. 7. Utilisation de MySQL en ligne de commande. Cours SQL et Algebre Relationnelle - D. BOULLE. Il n'existe pas en SQL d'équivalent direct à la division.

Cours SQL et Algebre Relationnelle - D. BOULLE

Cependant il est toujours possible de trouver une autre solution, notamment par l'intermédiaire des opérations de calcul et de regroupement. Dans l'exemple présenté, on souhaite trouver les athlètes qui participent à toutes les épreuves. En algèbre relationnelle une autre solution que la division pourrait être : N=CALCULER(EPREUVE, Comptage()) R1=REGROUPER_ET_CALCULER(PARTICIPER, Athlète, Nb:Comptage()) R2=SELECTION(R1, Nb=N) R3=PROJECTION(R2, Athlète) et en SQL : SELECT Athlète FROM PARTICIPER GROUP BY Athlète HAVING COUNT(*) = (SELECT COUNT(*) FROM EPREUVE) ; On pourra trouver cette solution imparfaite par rapport aux solutions plus "propres" généralement données pour la division, solutions souvent basées sur une double négation et mettant en oeuvre plusieurs SELECT imbriqués et corrélés (très coûteux en temps d'exécution).

Dans le 1er cas, la solution n'est guère plus compliquée : Cours SQL et Algebre Relationnelle - D. BOULLE. Algebre relationelle. Cours SQL et Algebre Relationnelle - D. BOULLE. Calculs dans une base de données MySQL. Cet article présente les différentes façon de faire des calculs dans le langage MySQL.

Calculs dans une base de données MySQL

Ces fonctions de calcul sont appelées agrégation des données. Ainsi, une commande permet de connaître le nombre de valeurs dans une colonne spécifiée, la moyenne (par exemple sur une colonne de commande, la moyenne des commandes), la somme, l’écart-type… Les principaux calculs en langage MySQL : 1 – Moyenne2 – Effectifs3 – Écart-type4 – Minimum5 – Maximum6 – Somme Avant de commencer, vous devez vous connecter sur la base de données dans laquelle vous souhaitez effectuer les opérations. Comprendre les jointures avec MySQL. Pré-requis pour ce tutoriel Un serveur web (local ou en ligne) avec MySQL et dans le meilleur des cas phpMyAdminUn navigateur webQuelques connaissances en requêtage SQL et modélisation de base de données Une base de données ?

Comprendre les jointures avec MySQL

Je ne vais pas entreprendre ici un cours de base de données (sinon il me faudrait plus d’un tuto) mais je vais juste vous rafraîchir la mémoire et vous mettre les idées au clair. Si je devais schématiser à l’extrême, je dirais qu’une base de données c’est comme un fichier Excel mais en beaucoup beaucoup plus puissant (c’est pour cela que j’illustrerais souvent mes exemples à partir de grilles Excel aussi ). La puissance d’une base de données et du langage SQL réside dans la possibilité de filtrer les données en leur donnant une cohérence entres elles, notamment grâce à des jointures. Des quoi ? Jointures de tables en SQL. Le SQL de A à Z - le SELECT sur plusieurs tables. Fonctions d'agrégation. Comme la plupart des bases relationnel PostgreSQL supporte les fonctions d'agrégation.

Fonctions d'agrégation

Une fonction d'agrégation est un résultat unique à partir de multiples entrées-lignes. Par exemple les agrégats pour calculer les count, sum, avg (moyenne), max (maximum) et min (minimum) sur un ensemble de lignes. Ainsi, nous pouvons trouver les plus hautes low-temperature avec : Si nous voulons savoir dans quelle ville (ou villes) apparaissent ces occurences, essayons : mais ça ne marchera pas car l'agrégation max n'a pas été utilisée dans la clause WHERE. Les jointures - INNER JOIN, LEFT, RIGHT et FULL OUTER JOIN. Souvent, dans une base de données, les données sont reparties entre plusieurs tables.

Les jointures - INNER JOIN, LEFT, RIGHT et FULL OUTER JOIN

On peut très bien imaginer une table contenant un clé étrangère vers une autre table. A ce moment là, comment faire pour récupérer les informations de cette table et de la table vers laquelle pointe la clé étrangère en une seule requête ? Si vous ne voyez pas ce que je veux dire, vous allez tout de suite comprendre. Imaginez ce schéma de base de données. Nous allons partir du fait que ces tables contiennent déjà les données suivantes : Nous allons maintenant voir des techniques permettant en une requête de récupérer des données qu'il serait impossible de récupérer facilement avec un SELECT. Jointure interne. Les jointures - INNER JOIN, LEFT, RIGHT et FULL OUTER JOIN. Le SQL de A à Z - le SELECT sur plusieurs tables. Perso.univ-lr.fr/pboursie/BD_NotesCours_Niv1.PDF.

Tutoriel de Bases de Données Relationnelles - Corrigés des exercices de dépendances fonctionnelles et normalisation. Exercice 1 1- Fermeture transitive de E occupant --> adresse et occupant --> noapt donc occupant --> adresse, noapt Par transitivité on a donc :occupant --> propriétaireoccupant --> nbpièces On a donc :occupant --> adresse, noapt, nbpersonnes, propriétaire, nbpiècesadresse, noapt --> propriétaire, occupant, nbpièces, nbpersonnesLa DF adresse, noapt --> nbpersonnes est obtenue par transitivité avec occupant 2- Clés potentielles de R?

Tutoriel de Bases de Données Relationnelles - Corrigés des exercices de dépendances fonctionnelles et normalisation

Une clé est un (ensemble d') attribut qui dérive tous les autres. Occupant ainsi que adresse, noapt sont dans ce cas. 3- Forme normale de R Pour déterminer la forme normale de R, il faut d'abord distinguer les attributs clés des attributs non clés : Attributs clés : adresse, occupant, noapt. Georges.gardarin.free.fr/Livre_BD_Contenu/XX-TotalBD.pdf.

Normalisation