Outils logiciels pour les cours Paris II

Cours Paris II

Stages/ Thèses/ Séminaires

Laboratoire

edit SideBar

BI 4

Schémas Entité-Relation et relationnels

  • Rappel de schémas de mots et d'arbres
    • Expressions régulières et automates
  • Schémas Entité-relations
    • Représentation graphiques: Entités= rectangles, Attributs= cercles, Relations= losanges.
  • Schemas Relationnels
    • Dépendences fonctionnelles
    • Clés d'une relation
  • Insertion de tuples
    • par formulaire
    • par insertion: Insert into T values (.....)
    • par insertion avec PHP dans une table R1(A,B) à partir d'un formulaire:
      • HTML f.html

<h1> Enregistrement </h1><BR><BR>

<form name= " f1" method=post action="m-ins.php">

<hr><BR> <BR>Votre nom : <input type= " text" name="nom"> <BR><BR>Votre email: <input type= " text" name="email"> <BR><BR>

 <input type="submit" name= b" value="O.K.">

</form>

  • PHP programme m-ins.php

<html><head><title>PHP Test</title></head>

     <body>

<?php

$nom=$_POST['nom'] ; $email=$_POST['email'];

$connexion=mysql_pconnect("mysql_student","test1","xxxxxxx);

 if (!$connexion){ echo "Probleme de connexion"; exit; }

if (!mysql_select_db("test1",$connexion)){ echo "Probleme d'acces a la base"; exit; } $resultat=mysql_query("INSERT INTO R1 VALUES('$nom', '$email')",$connexion);

if (!$resultat){ echo "Erreur dans l'execution de la requete"; echo mysql_error($connexion); exit;} else echo "Votre tuple est enregistré"; ?>

          <br>

</body> </html>

  • par génération aléatoire: exemple 1
  • Sur la base test1, avec la table t1(A,B).
          <?php 
$connexion=mysql_pconnect("mysql_student","test","xxxxxxx"); if (!$connexion){ echo "Probleme de connexion"; exit; }
	if (!mysql_select_db("test",$connexion))
         {echo "Probleme d'acces a la base"; exit; }

	for ($i=1;$i<10;$i++){
		$i1=rand(1,100);
		if ($i1 >75) $B="bb"; else $B="b";
		$A="a";
		$resultat=mysql_query
                  ("INSERT INTO t1 VALUES( '$A', '$B')",$connexion);
		}
	if (!$resultat){ echo "Erreur dans l'execution de la requete";
	echo mysql_error($connexion); exit;} else echo "Bien enregistré";
	 ?> 

 

  • par génération aléatoire: exemple 2 (magasin.sql)
  • Sur la base locale "test", table achats(NumSecu,Numprod,date,qualite,prixUnitaire).
          <?php 
$connexion=mysql_pconnect("mysql_student","test","xxxxxxx");
 if (!$connexion){ echo "Probleme de connexion"; exit; }
 if (!mysql_select_db("test",$connexion)){ echo "Probleme d'acces a la base"; exit; }

 for ($i=1;$i<100;$i++){
	$i1=rand(1,12);
	$date=date("y-m-d");
	if ($i1<3){$q=0;$p=20;}
	if ($i1<7 && $i1>=3){$q=0;$p=30;}
	if ($i1<12 && $i1>=7){$q=1;$p=40;}
	if ($i1==12){$q=1;$p=50;}

	$resultat=mysql_query("INSERT INTO achats VALUES   ('$i1', '1', '$date', '$q','$p')",$connexion);
	}

 if (!$resultat){ echo "Erreur dans l'execution de la requete";
 echo mysql_error($connexion); exit;} else echo "Bien enregistré";
 ?> 

 

  • Dans cet exemple, $i1 (identifiant du client) détermine la valeur de $q et de $p.

Si ($i1<3) alors $q=0;$p=20;

Pour déterminer une distribution, on peut utiliser l'exemple 1: Par exemple pour obtenir $q=0;$p=20; avec probabilité 0.75 et $q=1;$p=20; avec probabilité 0.25, on peut écrire:

$i2=rand(1,100);

if ($i1<3) { if ($i2<75){$q=0;$p=20;} else ){$q=1;$p=20;} }

UP2