REFERENCE MYSQL
dernière mise à jour de la documentation : janvier 2013Preface | Informations générales | Installer MySQL | Tutoriels d'introduction | Utiliser les programmes MySQL | Administration du serveur | Réplication de MySQL | Optimisation de MySQL | MySQL Scripts clients et utilitaires | Structure du langage | Jeux de caractères et Unicode | Types de colonnes | Fonctions à utiliser dans les clauses SELECT et WHERE | . Syntaxe des commandes SQL | . Moteurs de tables MySQL et types de table | Le moteur de tables InnoDB | Introduction à MySQL Cluster | Introduction à MaxDB | Données spatiales avec MySQL | . Procédures stockées et fonctions | Déclencheurs | La base de données d'informations INFORMATION_SCHEMA | Mathématiques de précision | API MySQL | Pilotes MySQL | Gestion des erreurs avec MySQL | Etendre MySQL | Problèmes et erreurs communes | Port vers d'autres systèmes | Variables d'environnement | Expressions régulières MySQL | Index
Chapitre 17. Introduction à MaxDB | ||
---|---|---|
Précédent | Suivant |
Table des matières
MaxDB est une base de donnée au niveau de l'entreprise. MaxDB est le nouveau nom d'un système de gestion de bases de données, anciennement appelé SAP DB.
L'histoire de SAP DB
commence au début des
années 1980 lorsqu'il était développé en tant que produit
commercial (Adabas
). La base de données a
changé de nom plusieurs fois durant sa vie. Lorsque SAP AG, une
société allemande de Walldorf, a pris en main le développement
de ce système de base de données, il portait le nom SAP
DB
.
SAP a développé ce système de base de données pour servir de
système de stockage pour toutes les application SAP lourdes, à
savoir SAP R/3. SAP DB avait pour objectif de fournir une
alternative aux systèmes de bases de données d'éditeurs tiers,
comme Oracle, Microsoft SQL Server, ou DB2 d'IBM. En octobre 2000,
SAP a publié SAP DB sous licence GNU GPL (see
Annexe G, Licence Publique Générale GNU), et en a fait ainsi un logiciel
Open Source. En octobre 2003, plus de 2 000 clients l'utilisaient
comme système de base de données séparé, en dehors de leur
base de donnée principale, faisant partie de la solution
APO/LiveCache
.
En mai 2003, un partenariat technologique a été conclu entre
MySQL AB et SAP AG. Ce partenariat autorise MySQL AB à
développer davantage SAP DB, à changer son nom et à vendre des
licences commerciales de SAP DB aux clients qui ne veulent pas
être limités par les restrictions découlant de la licence GNU
GPL (see Annexe G, Licence Publique Générale GNU). En août 2003, MySQL AB a
rebaptisé SAP DB : MaxDB
.
MaxDB peut être utilisé sous les mêmes licences que celles qui
sont disponibles pour les autres produits distribués par MySQL
AB. Par conséquent MaxDB
est disponible sous
licence GNU General Public
, et sous licence
commerciale. Pour plus d'informations sur les licences, voyez
http://www.mysql.com/company/legal/licensing/.
MySQL fournira un support sur MaxDB à ceux qui ne sont pas clients de SAP.
La première version sous bannière MySQL AB, est MaxDB 7.5.00, qui sortira à la fin 2003.
Le site officiel où trouver des informations sur MaxDB est http://www.mysql.com/maxdb. A terme, toutes les informations disponibles sur http://www.sapdb.org y seront placées.
MaxDB
agit en mode client/serveur. Il a été
développé pour répondre aux exigences d'installations
répondant à un grand nombre de transactions en ligne. Il
supporte à la fois la sauvegarde en ligne et l'extension de base
de données. Microsoft Clustered Server
est
supporté directement pour les implémentations à serveurs
multiples; les autres solutions de cluster doivent être
programmées manuellement. Les outils d'administration de base de
données sont fournis à la fois en version native Windows et en
version navigateur web.
La liste suivante est un court résumé des principales différences entre MaxDB et MySQL. Elle n'est pas complète.
MaxDB fonctionne comme un système client/serveur. MySQL peut fonctionner comme un système client/serveur ou comme un système intégré.
Il est possible que MaxDB ne fonctionne pas sur toutes les plates-formes supportées par MySQL. Par exemple, MaxDB ne fonctionne pas sur OS/2 d'IBM.
MaxDB utilise un protocole réseau propriétaire pour la communication client/serveur alors que MySQL utilise soit TCP/IP (avec ou sans chiffrage SSL), soit des interfaces de connexion, ou des canaux de communication nommés (sous les systèmes de la famille Windows NT).
MaxDB supporte les procédures stockées. Avec MySQL, les procédures stockées sont implémentées en version 5.0. Max DB supporte aussi les triggers par une extension SQL, qui est prévue pour MySQL 5.1. MaxDB contient un débogueur pour les langages de procédure stockée, peut déclencher sous-programmes imbriqués en cascade, et supporte les triggers multiples sur action et par ligne.
MaxDB est livré avec des interfaces utilisateur en mode texte ou graphique, ou encore sur le web. MySQL est livré avec des interfaces utilisateurs en mode texte uniquement; une interface utilisateur graphique (
MySQL Control Center
) est distribué séparément. Les interfaces utilisateur sur le web pour MySQL sont offerts par des éditeurs tiers.MaxDB supporte un certain nombre d'interfaces de programmation qui sont aussi supportées par MySQL. Toutefois, MaxDB ne supporte pas RDO, ADO, ni .NET, qui sont toutes supportées par MySQL. MaxDB peut uniquement être intégré dans des applications C/C++.
MaxDB contient des fonctionnalités administratives que MySQL n'a pas : la planification de tâches, les événements et alerte, et l'envoi de messages à une base de données administrateur sur signal d'alerte.
Les fonctionnalités suivantes seront incluses dans les versions
MaxDB
qui doivent sortir peu après la
première version 7.5.00. Ces fonctionnalités assureront
l'interopérabilité entre MaxDB
et MySQL :
Il y aura un proxy MySQL qui permettra de se connecter à
MaxDB
en utilisant le protocole MySQL. Ceci rend possible l'utilisation de programmes clients MySQL avecMaxDB
, comme le client en ligne de commandemysql
, l'utilitaire d'exportation ou le programme d'importmysqlimport
. En utilisantmysqldump
, on peut facilement exporter des données d'une base de donnée vers un autre système de base de données.La réplication entre MySQL et
MaxDB
sera supportée dans les deux sens. C'est à dire que MySQL ouMaxDB
pourra être utilisé comme serveur maître de réplication. Le but à long terme est de faire converger et d'étendre la syntaxe de réplication de fa¸on à ce que les deux systèmes de base de données utilisent la même syntaxe.
Comme MySQL, MaxDB
a un certain nombre de mots
réservés, qui ont une signification particulière. Normalement,
ils ne peuvent pas être utilisés comme noms d'identifiants,
comme les noms de tables ou de bases de donnés. Le tableau
suivant liste les mots réservés dans MaxDB
,
et indique le contexte dans lequel ces mots sont utilisés. Il
indique aussi s'ils ont une équivalence en MySQL ou non. Si une
telle équivalence existe, la signification avec MySQL peut être
identique ou différente par certains aspects. L'objectif
principal est de montrer dans quelle mesure
MaxDB
diffère de MySQL; par conséquent cette
liste n'est pas complète.
Pour la liste de mots réservés dans MySQL, consultez Section 9.6, « Cas des mots réservés MySQL ».
Réservé par MaxDB | Contexte d'utilisation dans
MaxDB | équivalent MySQL |
@ | Peut être préfixe à un identifiant, comme ``@table'' | Non autorisé |
ADDDATE() | fonction SQL | ADDDATE() ; nouveau en MySQL version 4.1.1 |
ADDTIME() | fonction SQL | ADDTIME() ; nouveau en MySQL version 4.1.1 |
ALPHA | fonction SQL | Rien de comparable |
ARRAY | Type de donnée | Non implémenté |
ASCII() | fonction SQL | ASCII() , mais implémenté avec une signification
différente |
AUTOCOMMIT | Transactions; ON par défaut | Transactions; OFF par défaut |
BOOLEAN | types colonne; BOOLEAN n'accepte comme valeur que
TRUE , FALSE , et
NULL | BOOLEAN a été ajouté en MySQL version 4.1.0; c'est
un synonyme de BOOL qui équivaut à
TINYINT(1) . Il accepte les valeurs
entières dans la même plage que
TINYINT ainsi que la valeur
NULL . TRUE et
FALSE peuvent être utilisés comme
alias de 1 et 0 . |
CHECK | CHECK TABLE | CHECK TABLE ; similaire mais utilisation différente |
COLUMN | type colonne | COLUMN ; mot parasite |
CHAR() | fonction SQL | CHAR() ; syntaxe identique ; similaire, utilisation
différente |
COMMIT | Des validations implicites de transactions se produisent quand les requêtes de définition de données sont publiées | Des validations implicites de transactions se produisent quand les requêtes de définition de données sont publiées mais aussi avec d'autres commandes |
COSH() | fonction SQL | Rien de comparable |
COT() | fonction SQL | COT() ; syntaxe et implémentation identiques |
CREATE | SQL, langage de définition des données | CREATE |
DATABASE | fonction SQL | DATABASE() ; DATABASE est utilisé
dans un contexte différent, par exemple CREATE
DATABASE |
DATE() | fonction SQL | CURRENT_DATE |
DATEDIFF() | fonction SQL | DATEDIFF() ; nouveau en MySQL version 4.1.1 |
DAY() | fonction SQL | rien de comparable |
DAYOFWEEK() | fonction SQL | DAYOFWEEK() ; le premier jour (1 )
par défaut est lundi avec MaxDB , et
dimanche avec MySQL |
DISTINCT | fonctions SQL AVG , MAX ,
MIN , SUM | DISTINCT ; mais utilisé dans un contexte
différent : SELECT DISTINCT |
DROP | alias de DROP INDEX | DROP INDEX ; similaire mais utilisation différente |
EBCDIC() | fonction SQL | Rien de comparable |
EXPAND() | fonction SQL | Rien de comparable |
EXPLAIN | Optimisation | EXPLAIN ; similaire mais utilisation différente |
FIXED() | fonction SQL | rien de comparable |
FLOAT() | fonction SQL | Rien de comparable |
HEX() | fonction SQL | HEX() ; similaire mais utilisation différente |
INDEX() | fonction SQL | INSTR() ou LOCATE() ; similaire
mais syntaxe et signification différentes |
INDEX | USE INDEX , IGNORE INDEX et des
optimisations similaires sont utilisées juste après
SELECT , comme SELECT ... USE
INDEX | USE INDEX , IGNORE INDEX et des
optimisations similaires sont utilisées dans la clause
FROM d'une requête
SELECT , comme dans SELECT ...
FROM ... USE INDEX |
INITCAP() | fonction SQL | Rien de comparable |
LENGTH() | fonction SQL | LENGTH() ; syntaxe identique mais implémentation
légèrement différente |
LFILL() | fonction SQL | Rien de comparable |
LIKE | Comparaisons | LIKE ; mais LIKE que
MaxDB fournit se rapproche plutôt du
REGEX de MySQL |
LIKE caractères de rapprochement | MaxDB supporte ``%'', ``_'', ``contrôle+souligné'',
``contrôle+flèche vers le haut'', ``*'', et ``?'' comme
caractères de remplacement dans une comparaison
LIKE | MySQL supporte ``%'', et ``_'' comme caractères de remplacement dans
une comparaison LIKE |
LPAD() | fonction SQL | LPAD() ; implémentation légèrement différente |
LTRIM() | fonction SQL | LTRIM() ; implémentation légèrement différente |
MAKEDATE() | fonction SQL | MAKEDATE() ; nouveau en MySQL version 4.1.1 |
MAKETIME() | fonction SQL | MAKETIME() ; nouveau en MySQL version 4.1.1 |
MAPCHAR() | fonction SQL | Rien de comparable |
MICROSECOND() | fonction SQL | MICROSECOND() ; nouveau en MySQL version 4.1.1 |
NOROUND() | fonction SQL | Rien de comparable |
NULL | types colonnes; comparaisons | NULL ; MaxDB supporte les valeurs
spéciales NULL qui sont renvoyées par
des opérations arithmétiques lors de dépassement de
capacité ou lors des divisions par zéro; MySQL ne
supporte pas de telles valeurs spéciales |
PI | fonction SQL | PI() ; syntaxe et implémentation identiques, mais les
parenthèses sont obligatoires |
REF | type de donnée | Rien de comparable |
RFILL() | fonction SQL | Rien de comparable |
ROWNO | Prédicat dans la clause WHERE | Similaire à la clause LIMIT |
RPAD() | fonction SQL | RPAD() ; implémentation légèrement différente |
RTRIM() | fonction SQL | RTRIM() ; implémentation légèrement différente |
SEQUENCE | CREATE SEQUENCE , DROP SEQUENCE | AUTO_INCREMENT ; concept similaire mais
implémentation différente |
SINH() | fonction SQL | Rien de comparable |
SOUNDS() | fonction SQL | SOUNDEX() ; syntaxe légèrement différente |
STATISTICS | UPDATE STATISTICS | ANALYZE ; concept similaire, mais implémentation
différente |
SUBSTR() | fonction SQL | SUBSTRING() ; implémentation légèrement différente |
SUBTIME() | fonction SQL | SUBTIME() ; nouveau en MySQL version 4.1.1 |
SYNONYM | langage de définition de données: CREATE [PUBLIC]
SYNONYM , RENAME SYNONYM ,
DROP SYNONYM | Rien de comparable |
TANH() | fonction SQL | Rien de comparable |
TIME() | fonction SQL | CURRENT_TIME |
TIMEDIFF() | fonction SQL | TIMEDIFF() ; nouveau en MySQL version 4.1.1 |
TIMESTAMP() | fonction SQL | TIMESTAMP() ; nouveau en MySQL version 4.1.1 |
TIMESTAMP() comme argument de
DAYOFMONTH() et
DAYOFYEAR() | fonction SQL | Rien de comparable |
TIMEZONE() | fonction SQL | Rien de comparable |
TRANSACTION() | Renvoie l'identité de la transaction en cours | Rien de comparable |
TRANSLATE() | fonction SQL | REPLACE() ; syntaxe et implémentation identiques |
TRIM() | fonction SQL | TRIM() ; implémentation légèrement différente |
TRUNC() | fonction SQL | TRUNCATE() ; syntaxe et implémentation légèrement
différentes |
USE | mysql interface en ligne de commande | USE |
USER | fonction SQL | USER() ; syntaxe identique, mais implémentation
légèrement différente, et les parenthèses sont
obligatoires |
UTC_DIFF() | fonction SQL | UTC_DATE() ; fournit un moyen de calculer le résultat
de UTC_DIFF() |
VALUE() | fonction SQL, alias pour COALESCE() | COALESCE() ; syntaxe et implémentation identiques |
VARIANCE() | fonction SQL | Rien de comparable |
WEEKOFYEAR() | fonction SQL | WEEKOFYEAR() ; nouveau en MySQL version 4.1.1 |
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.