PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 10/05/2013 12:42:05

MôMö13
Membre

IMEI déclaration et exploitation

Bonjour
Voila je travaille sur un sujet de stage MDM pour Mobile Device Management; dans se cas de figure je suis en train de essayer de normaliser la basse de donnée. pour La déclaration d’IMEI (International Mobile Equipment Identity)
Je doits faire :

1-CREATE TABLE imei( IMEI varchar(15) NOT NULL  );
2-rechercher un type telle-que « Types de données isn »
3- CREATE TYPE imei AS ( TAC varchar(8), SNR varchar(6), CR varchar(1)  ) ;
4- CREATE DOMAIN imei AS varchar(15)
CHECK (VALUE ~* E ' d {2} \ . \\d {2}\  . \\d {2}\ . \\d {2}\ . \\d {2}\ . \\d {2}\ . \\d {2}\ .  \\d {1}' );
Quelle option choisir ou autre solution ???

systeme ubuntu 12.04 sur VM et postgres 9.1
~100 appareil mobile

INFORMATION : L'IMEI est composé de 15 chiffres (14 chiffres utiles + 1 chiffre de contrôle). Depuis le 1eravril 2004, il contient les informations suivantes :
Le Type Allocation Code (TAC) fourni par l'autorité de certification. Il est codé sur huit chiffres, les deux premiers chiffres désignant le code pays où le mobile a été immatriculé.
Le numéro de série (SNR) de fabrication de cet appareil, codé sur six chiffres.Le chiffre de contrôle servant de somme de contrôle sur les 14 autres chiffres.

MERCI D'AVANCE

Dernière modification par MôMö13 (10/05/2013 12:43:41)

Hors ligne

#2 10/05/2013 13:36:20

gleu
Administrateur

Re : IMEI déclaration et exploitation

Je ne sais pas si ça correspond exactement à ce que vous voulez mais PostgreSQL dispose d'un module isn. Voir http://docs.postgresql.fr/9.2/isn.html pour les détails.


Guillaume.

Hors ligne

#3 10/05/2013 19:34:26

MôMö13
Membre

Re : IMEI déclaration et exploitation

non pas vraiment j'ai déjà utiliser pour la gestion de bibliothèque , pour la gestion des code bar et référencement des livre. dans mon cas c' pour l'IMEI c' est similaire mais pour la gestion des mobile.
je vous savoir comment les géré et normaliser ,  c'est pour se la que j'ai mes les 4 options, je suit novice en bdd

merci

Hors ligne

#4 12/05/2013 18:26:31

SQLpro
Membre

Re : IMEI déclaration et exploitation

Le plus performant sera sans doute :

CREATE DOMAIN D_IMEI 
   AS CHAR(15) --> pas de VARCHAR !
   CONSTRAINT CK_IMEI CHECK (CAST(VALUE AS DECIMAL(15,0)) > 0
                             AND CHARACTER_LENGTH(LTRIM(VALUE)) = 15);;
CREATE TABLE T_IMEI
(IMEI D_IMEI);

Tests :

Bon :

INSERT INTO T_IMEI VALUES ('123456789012345');

Faux et levée d'une exception :

INSERT INTO T_IMEI VALUES ('12345678901234')

Taille incorrecte.


INSERT INTO T_IMEI VALUES ('12345678901234a')

Lettre incorrecte.


INSERT INTO T_IMEI VALUES (' 23456789012345')

Blanc devant



Mais si pour vous les 3 zones de l'IMEI devront être requêtées séparément, alors mieux vaut atomiser dès le départ en 3 colonnes et vous pouvez faire une  vue donnant la concaténation.

A +

Dernière modification par SQLpro (12/05/2013 18:30:31)


Frédéric Brouard, alias SQLpro,  ARCHITECTE DE DONNÉES,  Expert langage SQL
Le site sur les SGBD relationnel et langage SQL   : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * *  Enseignant CNAM PACA, ISEN Toulon,  CESI Aix en Provence  * * * * *

Hors ligne

#5 15/05/2013 22:23:01

MôMö13
Membre

Re : IMEI déclaration et exploitation

merci beaucoup pour l'aide que vous m'avez apporte smile
bonne soirée
cordialement

Hors ligne

Pied de page des forums