introduction
L'hétérogénéité des systèmes de bases de données hétérogènes se reflète principalement dans les aspects suivants :
Hétérogénéité de l'architecture informatique
Chaque base de données participante peut fonctionner sur des ordinateurs centraux, des mini-ordinateurs, des postes de travail, des PC ou des systèmes embarqués.
Système d'exploitation de base hétérogène
Le système d'exploitation de base de chaque système de base de données peut être Unix, Windows NT, Linux, etc.
Le SGBD hétérogène lui-même
Il peut s'agir d'Oracle, de SQL Server, etc., qui sont tous deux des systèmes de bases de données relationnelles ou des bases de données avec des modèles de données différents. Tels que les relations, les modèles, les niveaux, les réseaux, les bases de données fonctionnelles orientées objet, forment ensemble un système de base de données hétérogène.
----L'objectif d'un système de base de données hétérogène est de réaliser l'intégration et le partage des ressources d'informations de données, des ressources d'équipement matériel et des ressources humaines entre différentes bases de données. L'un des points clés est d'établir un modèle de données global ou une vue externe globale basée sur le modèle de base de données locale. Ce modèle global est particulièrement important pour la mise en place de systèmes avancés d'aide à la décision.
----Les grandes organisations ont des succursales dans de nombreux endroits, et chaque sous-organisation a ses propres informations et données dans la base de données, et les décideurs ne se soucient généralement que de l'information macroscopique et de la description du modèle global. La description du modèle global de bases de données hétérogènes basé sur la technologie d'entrepôt de données est une bonne solution. L'entrepôt de données peut collecter des informations à partir de plusieurs bases de données dans un système de base de données hétérogène et établir un modèle global unifié. Dans le même temps, les données collectées prennent également en charge l'accès aux données historiques. Les utilisateurs peuvent prendre des décisions grâce à l'interface de données unifiée fournie par l'entrepôt de données. Mettre en doute.
Opération
Importer et exporter des données entre les bases de données SQL Server
Utilisez SELECT INTO pour exporter des données
Utilisez le plus dans SQL Server Le plus courant consiste à exporter des données via l'instruction SELECT INTO. L'instruction SELECT INTO a deux fonctions à la fois : créer une table vide basée sur les champs suivis de SELECT et le nom de la table suivi de INTO (si le SELECT est *, la structure de la table vide et à quoi FROM fait référence La structure du tableau est le même); insérer les données trouvées par SELECT dans cette table vide. Lors de l'utilisation de l'instruction SELECT INTO, la table qui suit INTO ne doit pas exister dans la base de données, sinon une erreur se produit. Ce qui suit est un exemple d'utilisation de SELECT INTO.
Supposons qu'il existe une table table1 avec les champs f1(int) et f2(varchar(50)).
SELECT * INTO table2 FROM table1
Cette instruction SQL insère toutes les données de table1 dans table1 après la création de table2, et vous pouvez également changer * en f1 ou f2 afin d'insérer des données dans les champs appropriés.
SELECT INTO peut non seulement créer des tables dans les mêmes données, mais également dans différentes bases de données SQL Server.
UTILISER db1
SELECT * DANS db2.dbo.table2 FROM table1
L'instruction ci-dessus crée une table table2 dont le propriétaire est dbo dans la base de données db2, lors de la création d'une table dans db2, l'utilisateur actuellement connecté doit avoir l'autorisation de créer une table dans db2 pour créer table2. Une chose à noter lors de l'utilisation de SELECT INTO est que SELECT INTO ne peut pas être utilisé avec COMPUTE, car COMPUTE renvoie un ensemble d'enregistrements, ce qui entraînera une ambiguïté (c'est-à-dire que vous ne savez pas sur quelle table créer une table vide basée).
Partage de données
----Pour les systèmes de bases de données hétérogènes, le partage des données doit atteindre deux points : l'un consiste à réaliser la conversion de la base de données ; l'autre est d'obtenir un accès transparent aux données. Le système DM3, un système commercial de gestion de base de données avec droit d'auteur indépendant, développé par l'Université des sciences et technologies de Huazhong, réalise ces deux points grâce à l'outil de conversion de base de données et à l'interface API fournis.
----DM3 fournit un outil de conversion de base de données, qui peut convertir un modèle défini dans un système de base de données en un modèle dans une autre base de données, puis charger les données selon les besoins, puis l'utilisateur Vous pouvez utiliser votre système de base de données familier et votre langage de requête familier pour atteindre l'objectif de partage des données. L'outil de conversion de base de données effectue d'abord une conversion de type, accède au système de base de données source, convertit le modèle de définition de données de la base de données source en modèle de définition de données de la base de données cible, puis effectue une réorganisation des données, c'est-à-dire charge les données dans la base de données source système dans la base de données cible.
----Dans le processus de conversion, il est parfois plus difficile d'obtenir une conversion équivalente stricte. Tout d'abord, déterminez les différents conflits grammaticaux et sémantiques dans les deux modèles. Ces conflits peuvent inclure :
conflits de noms
c'est-à-dire que l'identifiant dans le modèle source peut être le but. Les mots réservés dans le modèle doivent être renommés à ce moment.
Conflit de format
Le même type de données peut avoir des méthodes de représentation et des différences sémantiques différentes. A ce stade, il est nécessaire de définir la fonction de transformation entre les deux modèles.
Conflit structurel
Si les modèles de définition de données entre les deux systèmes de base de données sont différents, tels que le modèle relationnel et le modèle hiérarchique, les attributs d'entité et les connexions doivent être redéfinis pour éviter les attributs ou la perte d'informations de contact.
----En résumé, après conversion des données, d'une part, toutes les informations qui doivent être partagées dans le modèle de base de données source sont converties dans la base de données de destination, et d'autre part, cette conversion ne peut pas contenir d'associations redondantes. Informations.
---- L'outil de conversion de base de données peut réaliser la conversion de modèle de données entre différents systèmes de base de données. Le problème qui nécessite des recherches supplémentaires est le suivant : si la conversion de la base de données est effectuée en même temps que la conversion du mode de définition des données et la conversion des données, cela peut entraîner la même chose. Il existe plusieurs copies de collections de données dans des systèmes de bases de données hétérogènes, donc un nouvel accès des mécanismes de contrôle doivent être mis en place. Sur la base d'assurer l'autonomie de chaque base de données participante et de maintenir son intégrité et sa sécurité, il fournit un contrôle d'accès global, un mécanisme de concurrence et un contrôle de sécurité pour les systèmes de bases de données hétérogènes.
----Si la conversion de base de données n'effectue qu'une conversion de définition de données et ne produit pas de copie des données, alors l'accès aux données dans le cadre du nouveau modèle de définition de base de données cible, la réalisation est toujours les données dans le système de base de données source Visite. À l'heure actuelle, les transactions mises en œuvre à l'aide du langage de traitement des données dans le nouveau système de base de données ne peuvent pas accéder directement à la base de données source et doivent être traduites au niveau de la transaction avant de pouvoir être exécutées.
Système de base de données
---- L'accès transparent aux données est réalisé dans un système de données hétérogène, les utilisateurs peuvent considérer le système de base de données distribué hétérogène comme une base de données distribuée ordinaire. Le système utilise le langage de traitement de données que vous connaissez pour accéder à la base de données, tout comme pour accéder à un système de base de données. Cependant, il n'existe pas de modèle de définition de données et de langage de requête de données largement utilisés. Pour obtenir un accès transparent aux données, des technologies telles que la conversion plusieurs-à-un et l'intergiciel bidirectionnel peuvent être utilisées. Open Database Connectivity (ODBC) est une interface de programme d'application (API) standard utilisée pour accéder aux données dans des systèmes de gestion de base de données liés ou non. ODBC fournit un ensemble de spécifications d'interface d'appel de haut niveau et un environnement de support d'exploitation basé sur une bibliothèque de liens dynamiques pour les applications. Les outils frontaux couramment utilisés pour le développement d'applications de base de données, tels que Power Builder, Delphi, etc., se connectent à divers systèmes de base de données via l'interface Open Database Interconnection (ODBC). Et la plupart des systèmes de gestion de bases de données (tels que : Oracle, Sybase, SQL Server, etc.) fournissent le pilote ODBC correspondant, de sorte que le système de base de données a une très bonne ouverture. Le plus grand avantage de l'interface ODBC est son interopérabilité. Idéalement, chaque pilote et source de données doit prendre en charge exactement les mêmes appels de fonction ODBC et instructions SQL, afin que les applications ODBC puissent exploiter tous les systèmes de base de données. Cependant, en fait, différentes bases de données ont différents niveaux de prise en charge de la syntaxe SQL. Par conséquent, la spécification ODBC définit le niveau de cohérence du pilote. La cohérence de l'API ODBC détermine les types de fonctions ODBC que l'application peut appeler. ODBC 2.0 stipule qu'il existe trois niveaux de fonctions. L'API ODBC DM3 prend en charge toutes les fonctions de l'extension de deuxième niveau dans la spécification ODBC 2.0.
Application
Avec la vulgarisation continue des applications Internet, les systèmes d'information distribués hétérogènes Internet se développent rapidement. Java est indépendant de la plate-forme, hautement portable, hautement sécurisé, une bonne stabilité, distribué, orienté objet et d'autres avantages sont devenus le langage de choix pour le développement d'applications Internet. Dans l'environnement Internet, pour réaliser des applications de base de données basées sur des plates-formes système hétérogènes, une interface de programmation unifiée indépendante du système de gestion de base de données spécifique et une méthode générale d'accès à la base de données basée sur SQL doivent être fournies. La spécification d'interface Java et base de données JDBC (Java Database Connectivity) est une interface de programmation d'application universelle qui prend en charge les fonctions SQL de base. Il fournit une interface utilisateur unifiée au niveau des différents modules fonctionnels de la base de données et est utilisé pour l'analyse directe de bases de données hétérogènes. L'accès Web offre une nouvelle solution. JDBC est pris en charge par de plus en plus de fournisseurs de bases de données, de connexions, de services Internet et de programmeurs d'applications.