Pages

Affichage des articles dont le libellé est Cours. Afficher tous les articles
Affichage des articles dont le libellé est Cours. Afficher tous les articles

[Modèle Relationnel] Questions concernant le cours de normalisation sujet

jeudi 27 mars 2014




Bonjour,
tirée du cours(plutôt Référence) de Monsieur Fsmrel sur la normalisation

Citation:





Du point de vue de la manipulation des données, on observera que dans le cas de la table Magasin_H, l'utilisation des opérateurs classiques d'agrégation, SUM, AVG, etc. est pour le moins remise en question.




je n'arrive pas a comprendre comment les classiques d'agrégation sont remise en question ?


Citation:





Du point de vue de la performance, dans les deux cas, une seule lecture d'un enregistrement physique suffira pour connaître le chiffre d'affaires hebdomadaire d'un magasin.




si je ne dis pas de bêtise, la lecture d'un enregistrement physique dans la table Magasin_V donne seulement le chiffre d'affaire quotidien ?
Mes salutations




[PHP/JS] récupérer la page en cours + l'envoyer vers une page javascript sujet




Bonjour,

Imaginez que j'ai une page php avec ce code:

test.php

Code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!doctype html>
<html>
<head>
<meta charset="iso-8859-1">
<title>test</title>
<?php
// url en cours d'exécution | exemple: http://www.site.com/test.php
$url_en_cours = 'http://'.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI].'';
?>
<script type="text/javascript" src="http://www.site.com/identify.php"></script>;
</head>

<body>
//mon code
</body>
</html>



dans la page javascript identify.php j'ai :


Code:


1
2
3
var url_en_cours = récuperer_$url_en_cours_de_la_page_test.php;

// mon code


Comment feriez vous pour récuperer $url_en_cours pour la mettre dans la variable url_en_cours de javascript ?

J'ai testé le code suivant dans la page javascript identify.php mais c'est pas bon car sa récupère "http://www.site.com/identify.php"; et c'est pas se que je veux

Code:


1
2
3
4
<?php 
// url en cours d'exécution | exemple: http://www.site.com/test.php
$url_en_cours = 'http://'.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI].'';
?>



Il faut envoyer "http://www.site.com/test.php" dans la page "http://www.site.com/identify.php".

Je pourrais mettre le code javascript directement dans la page "test.php" mais j'ai énormement de javascript dans identify.php et que donc je ne peux pas mettre tout ce code dans "test.php".


je pourrais aussi mettre ceci mais c'est moche:


Code:


<script type="text/javascript" src="http://www.site.com/identify.php?url=<?=$url_en_cours;?>"></script>;


j'aimerais aussi éviter les cookies


Merci d'avance pour votre aide.




Trigger pour fusionner et écrire 2 colonnes de la ligne en cours sujet

samedi 1 février 2014




Voilà,

j'utilise une station météo qui stocke les données dans une mysql.

J'ai donc une table appelée Meteo qui contient les colonnes suivantes (enfin, je ne recopie ici que les 3 premieres)

Code:


date                time                temperature
2014-02-01        17:07:00        4.2


Ma problématique est que je veux utiliser un deuxieme logiciel pour générer des graphiques qui viendrait donc piocher dans cette base de données.
Hors ce dernier n'arrive pas à reconnaitre le format date / heure de mysql.

Au lieu d'un champ date et d'un champ heure, ce programme souhaite un champ unique de la forme YYYYMMDDhhmmss

Au niveau du premier logiciel, je ne peux modifier sa façon dont il vient écrire la date et l'heure dans la base de données.


C'est là où je patauge, car je ne maitrise pas SQL....


La solution passerai par une colonne supplémentaire avec la date/heure au bon format (ex: 20140201183000)

J'ai donc ajouter une colonne supplémentaire nommée "datetime2"
Dans un premier temps, j'ai essayé un trigger qui va remplir cette nouvelle colonne à l'écriture des données.

Le Trigger utilisé:

Code:


DELIMITER //
DROP TRIGGER IF EXISTS `Test_insert_trigger`//
CREATE TRIGGER `Test_insert_trigger`
BEFORE INSERT ON `Meteo`
FOR EACH ROW
BEGIN
IF NEW.datetime2 = '0000-00-00 00:00:00' THEN
SET NEW.datetime2 = NOW();
END IF;
END;//


=> 2 problemes:
Le format de date n'est pas bon mais surtout, le plus important est qu'il note la date/heure du moment où la ligne s'écrit.
Dans mon cas ce n'est pas bon car il m'arrive d'injecter des données en retard. Elles ne seront donc pas horodaté correctement.


L'idéal est donc que je parte des deux premieres colonnes (date et time) pour en faire une seule.

J'ai fait cela:

Code:


SELECT CONCAT(YEAR(date),MONTH(date),DAY(date),HOUR(time),MINUTE(time),SECOND(time)) FROM Meteo

Avec pour but de l'inserer dans le trigger.

Le probleme est que cela fonctionne bien sur une ligne existante mais comment le faire sur une ligne en cours d'écriture ?

L'idéal serait que le trigger, à l'écriture de la ligne, recupere la date et l'heure des deux premieres colonnes pour ensuite venir l'ajouter en fin de ligne à la derniere colonne sous un format YYYYDDMMhhmmss.


Quel serait la solution à cette problématique ?

Merci beaucoup...