DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»Sous-ensemble de base de données avec tutoriel Jailer
    Uncategorized

    Sous-ensemble de base de données avec tutoriel Jailer

    février 16, 2023
    Sous-ensemble de base de données avec tutoriel Jailer
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Jailer est un outil de création de sous-ensembles de bases de données, de schémas et de navigation dans les données.

    Il crée de petites tranches à partir de votre base de données et vous permet de naviguer dans votre base de données en suivant les relations. Jailer est idéal pour créer de petits échantillons de données de test ou pour l’analyse de problèmes locaux avec des données de production pertinentes.

    Dans ce didacticiel, vous apprendrez à exporter des ensembles cohérents de lignes à partir de bases de données relationnelles vers un SQL-DML trié topologiquement, c’est-à-dire une séquence d’instructions INSERT ordonnées de manière à ce qu’aucune contrainte de clé étrangère ne soit violée lors de l’exécution.

    Objectif

    Exportation de toutes les données relatives à l’employé nommé ‘Scott’ dans un script SQL.

    Étape 1. Configurer la base de données

    Utiliser le modèle de données de démonstration « Démo Scott »

    Étape 2. Exporter l’employé Scott (sans restriction)

    Maintenant, essayons d’exporter l’employé nommé Scott. Pour ce faire, nous avons besoin d’un modèle d’extraction.

    Sélectionnez EMPLOYEE comme table à extraire et saisissez T. NAME = ‘SCOTT’ dans le champ Where :

    exporter l'employé nommé ScottCe modèle d’extraction décrit un ensemble d’entités contenant le(s) employé(s) nommé(s) « SCOTT », les entités associées à ces employés, les entités associées à ces entités, etc.

    Exportez cet ensemble (Export Data-Button ou Tools->Export Data). Jailer demande d’abord un nom de fichier pour le nouveau modèle d’extraction. Appelez-le scott.csv. Après cela, la boîte de dialogue Exportation de données apparaît :

    Dialogue d'exportation de données

    Tapez scott.sql dans le premier champ. Ceci définit le nom du fichier d’export à générer.

    Cliquez sur Exporter les données. Le panneau de progression affiche :
    Panneau de progression Jailer a généré un fichier scott.sql contenant des instructions d’insertion pour Scott, pour son patron, pour le président et pour le département, le niveau de salaire et les participations au projet de Scott.

    Mais pourquoi y a-t-il aussi des déclarations pour tous les autres employés ?

    Cliquez sur « EMPLOYÉ » dans la vue d’ensemble « Lignes par tableau ». Cela affiche toutes les étapes du processus menant à des enregistrements d’employés supplémentaires.
    Comme vous pouvez le voir, tous les employés affectés au même service que SCOTT sont exportés. De même, tous les salariés appartenant à la même classe salariale sont également exportés.

    Étape 3. Exporter l’employé Scott (restreint)

    Exporter un employé nécessite d’exporter également son patron et son département. Sinon, l’ensemble des entités exportées ne serait pas cohérent (en raison des dépendances basées sur les contraintes de clé étrangère). Aucune contrainte ne nous empêche d’exclure le grade salarial et la prime de l’export, mais nous ne le faisons pas car l’ensemble résultant serait incomplet.

    D’un autre côté, nous ne voulons pas exporter tous les subordonnés d’un employé ou tous les employés qui travaillent dans le même service que Scott.

    Pour exclure les subordonnés, les membres du service et les employés du même niveau de salaire, nous devons restreindre certaines associations.

    Une restriction est une extension de la condition de jointure d’association (dans la syntaxe SQL) pour une direction d’une association. disabled (ou false) représente une condition insatisfaisante.

    Définissez les restrictions :

    • du SERVICE à l’EMPLOYÉ
    • de EMPLOYEE à EMPLOYEE (inverse-BOSS)
    • de SALARYGRADE à EMPLOYEE
    • de PROJECT à PROJECT_PARTICIPATION
    • de ROLE à PROJECT_PARTICIPATION

    Avec restriction
    Utilisez à nouveau Outils-> Exporter les données. Jailer n’exportera désormais que les données relatives à Scott.

     
    -- generated by Jailer
    --
    -- extraction model: EMPLOYEE where NAME='SCOTT' (extractionmodel/scott.csv)
    -- database URL: jdbc:db2://localhost/wisser
    -- database user: scott
    -- Exported Entities: 13
    -- DEPARTMENT 2
    -- EMPLOYEE 3
    -- PROJECT 2
    -- PROJECT_PARTICIPATION 2
    -- ROLE 2
    -- SALARYGRADE 2
    
    
    
    Insert into SALARYGRADE(GRADE, LOSAL, HISAL) values (4, 2001, 3000), (5, 3001, 9999);
    Insert into ROLE(ROLE_ID, DESCRIPTION) values (100, 'Developer'), (102, 'Project manager');
    Insert into PROJECT(PROJECTNO, DESCRIPTION, START_DATE, END_DATE) values (1001, 'Development of Novel Magnetic Suspension System', '2006-01-01', '2007-08-13'), (1003, 'Foundation of Quantum Technology', '2007-02-24', '2008-07-31');
    Insert into DEPARTMENT(DEPTNO, NAME, LOCATION) values (20, 'RESEARCH', 'DALLAS'), (10, 'ACCOUNTING', 'NEW YORK');
    Insert into EMPLOYEE(EMPNO, NAME, JOB, BOSS, HIREDATE, SALARY, COMM, DEPTNO) values (7839, 'KING', 'PRESIDENT', null, '1981-11-17', 5000.00, null, 10);
    Insert into EMPLOYEE(EMPNO, NAME, JOB, BOSS, HIREDATE, SALARY, COMM, DEPTNO) values (7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975.00, null, 20);
    Insert into EMPLOYEE(EMPNO, NAME, JOB, BOSS, HIREDATE, SALARY, COMM, DEPTNO) values (7788, 'SCOTT', 'ANALYST', 7566, '1982-12-09', 3000.00, null, 20);
    Insert into PROJECT_PARTICIPATION(PROJECTNO, EMPNO, START_DATE, END_DATE, ROLE_ID) values (1003, 7566, '2007-02-24', '2008-07-31', 102);
    Insert into PROJECT_PARTICIPATION(PROJECTNO, EMPNO, START_DATE, END_DATE, ROLE_ID) values (1001, 7788, '2006-05-15', '2006-11-01', 100);

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.