LA CLOCHE

Il y en a qui ont lu cette news avant vous.
Abonnez-vous pour recevoir les derniers articles.
E-mail
Nom
Nom de famille
Aimeriez-vous lire The Bell
Pas de spam

Les bases de données en Delphi sont écrites pour automatiser le travail dans divers domaines d'activité de l'entreprise, par exemple, pour organiser les systèmes d'information et de référence. Dans l'industrie, les programmes en Delphi permettent de s'éloigner du travail routinier avec les supports papier. Et, comme vous le savez, lorsque l'information est stockée sur papier, alors le tri, la recherche, ou toute autre opération prend beaucoup de temps, puisqu'il faut tout réviser manuellement.

Lorsqu'il existe une base de données prête à l'emploi dans Delphi, vous n'avez pas besoin de passer votre temps à étudier et à écrire du code de programme pour des cours ou thèse programmation de la base de données. Il existe de nombreux projets de base de données mis en œuvre qui vous permettent d'écrire votre travail pour une bonne note. Grand choix des projets sur sous-accès dans Delphi 7 vous permettra de choisir le projet le plus approprié pour la protection, comme les codes sources tels que la comptabilité des marchandises, la comptabilité des programmes, etc. Il existe également des projets avec une base de données Données MySQL et Interbase.

Domaines d'utilisation des bases de données

  • les établissements d'enseignement publics ;
  • Recensement de la population. Une telle base de données permet aux autorités spéciales de calculer rapidement des statistiques sur la population du pays. Par exemple, vous pouvez comparer le nombre d'habitants à différentes années de la ville sélectionnée. Maintenir une base de données des employés qui effectuent des tournées aux adresses assignées.
  • Organisations commerciales. Il s'agit notamment des entreprises municipales (unitaire), coopératives de production, entreprises commerciales et exploitations agricoles.
  • Entreprises commerciales;
  • Agence immobilière;
  • Agence de voyages;
  • et d'autres entreprises.
  • Développement Androïd,
  • SQLiteName
    • Didacticiel
    • mode de récupération

    Salut tout le monde! Je m'appelle Oleg et je suis un programmeur Android amateur. Amant parce que dans ce moment Je gagne de l'argent en programmant dans une direction complètement différente. Et c'est un passe-temps auquel je consacre mon temps libre. Malheureusement, je ne connais pas les programmeurs Android et je puise toutes mes connaissances de base soit dans des livres, soit sur Internet. Dans tous ces livres et articles sur Internet que j'ai lus, très peu d'espace est alloué à la création d'une base de données pour une application, et en fait toute la description revient à créer une classe qui est une héritière SQLiteOpenHelper et incorporation ultérieure du code SQL dans le code Java. Si nous ne considérons pas que nous obtenons un code peu lisible (et si plus de 10 tables apparaissent dans notre application, alors se souvenir de toutes ces relations entre les tables est toujours un enfer), alors en principe, vous pouvez vivre, bien sûr, mais d'une manière ou d'une autre, vous ne Je ne veux pas du tout.
    J'ai oublié de dire le plus important, on peut dire que c'est mon pen test ici. Et donc nous sommes allés.

    A propos de l'éternelle question : pourquoi ?

    Pourquoi les livres et articles sur la programmation Android ne décrivent pas les outils de conception d'architecture de base de données et les modèles de travail avec les bases de données au stade de leur création, honnêtement, je ne le sais pas. Il semblerait qu'ajouter seulement quelques pages à un livre ou écrire un article séparé (comme je le fais maintenant) est aussi simple que d'égrener des poires - mais non. Dans cet article, je passerai brièvement en revue les outils que j'utilise dans mon travail et plus en détail sur le code responsable de la création initiale de la base de données, qui de mon point de vue semble plus lisible et pratique.


    Si notre application a plus de 5 tables, il ne serait pas mauvais d'utiliser un outil de conception visuelle de l'architecture de la base de données. Comme c'est un passe-temps pour moi, j'utilise un outil entièrement gratuit appelé Oracle SQL Developer Data Modeler (vous pouvez le télécharger).

    Ce programme vous permet de dessiner visuellement des tableaux et d'établir des relations avec eux. De nombreuses erreurs de conception d'architecture de base de données peuvent être évitées avec cette approche de conception (je vous le dis déjà en tant que programmeur de base de données professionnel). Cela ressemble à ceci :

    Après avoir conçu l'architecture elle-même, nous passons à la partie la plus fastidieuse, qui consiste à créer du code sql pour créer des tables. Pour résoudre ce problème, j'utilise déjà un outil appelé SQLiteStudio (qui peut être téléchargé ici).

    Cet outil est un analogue de produits bien connus tels que SQL Navigator, Toad, etc. Mais comme son nom l'indique, il est conçu pour fonctionner avec SQLite. Il vous permet de créer visuellement une base de données et d'obtenir le code DDL des tables en cours de création. Au passage, il vous permet également de créer des vues (View), que vous pourrez également utiliser dans votre application si vous le souhaitez. je ne sais pas comment la bonne approche en utilisant des vues dans des programmes Android, mais dans l'une de mes applications, je les ai utilisées.

    En fait, je n'utilise plus aucun outil tiers, et puis la magie commence avec Android Studio. Comme je l'ai écrit ci-dessus, si nous commençons à intégrer du code SQL dans du code Java, nous obtiendrons à la sortie un code peu lisible, et donc peu extensible. Par conséquent, je mets toutes les instructions SQL dans des fichiers externes que j'ai dans le répertoire des atouts. Dans Android Studio, cela ressemble à ceci :


    À propos des répertoires db et data

    A l'intérieur d'un répertoire des atouts j'ai créé deux répertoires db_01 et data_01. Les numéros dans les noms de répertoire correspondent au numéro de version de ma base de données avec laquelle je travaille. Dans le répertoire db chez moi on stocke les scripts SQL de la création des tables. Et dans le répertoire Les données les données nécessaires au remplissage initial des tables sont stockées.


    Regardons maintenant le code à l'intérieur de mon DBHelper que j'utilise dans mes projets. Tout d'abord, les variables de classe et le constructeur (pas de surprises ici) :

    Chaîne finale statique privée TAG = "RoadMap4.DBHelper" ; Chaîne mDb = "db_" ; Chaîne mData = "data_" ; Contexte mContext ; int mVersion; public DBHelper(Context context, String name, int version) ( super(context, name, null, version); mContext = context; mVersion = version; )
    Maintenant la méthode surCréer et c'est là que les choses deviennent intéressantes :

    @Override public void onCreate(SQLiteDatabase db) ( ArrayList tables = getSQLTables(); for (String table: tables)( db.execSQL(table); ) ArrayList > dataSQL = getSQLData(); pour(HashMap hm: dataSQL)( for (String table: hm.keySet())( Log.d(TAG, "insert into " + table + " " + hm.get(table)); long rowId = db.insert(table, null, hm.get(table)); ) ) )
    Logiquement, il est divisé en deux cycles, dans le premier cycle je reçois une liste d'instructions SQL pour créer une base de données puis les exécute, dans le deuxième cycle je remplis déjà les tables précédemment créées avec les données initiales. Alors, première étape :

    Liste de tableaux privés getSQLTables() ( ArrayList tables = nouvelle ArrayList<>(); Liste des tableaux fichiers = nouvelle ArrayList<>(); AssetManager assetManager = mContext.getAssets(); String dir = mDb + mVersion ; try ( String listFiles = assetManager.list(dir); for (String file: listFiles)( files.add(file); ) Collections.sort(files, new QueryFilesComparator()); BufferedReader bufferedReader; String query; String line; for (Fichier de chaîne : files)( Log.d(TAG, "file db is " + file); bufferedReader = new BufferedReader(new InputStreamReader(assetManager.open(dir + "/" + file))); query = ""; while ((line = bufferedReader.readLine()) != null)( query = query + line; ) bufferedReader.close(); tables.add(query); ) ) catch (IOException e) ( e.printStackTrace(); ) tables de retour ; )
    Tout est assez simple ici, nous lisons simplement le contenu des fichiers et concaténons le contenu de chaque fichier dans un élément de tableau. Veuillez noter que je trie la liste des fichiers, car les tables peuvent avoir des clés étrangères, ce qui signifie que les tables doivent être créées dans un certain ordre. J'utilise la numérotation dans le nom du fichier et, à l'aide de celle-ci, je trie.

    La classe privée QueryFilesComparator implémente Comparator ( @Override public int compare(String file1, String file2) ( Integer f2 = Integer.parseInt(file1.substring(0, 2)); Integer f1 = Integer.parseInt(file2.substring(0, 2)); return f2 .comparerÀ(f1); ) )
    Avec le remplissage des tableaux, tout est plus amusant. Mes tables sont remplies non seulement de valeurs codées en dur, mais aussi de valeurs provenant de ressources et de clés UUID (j'espère arriver un jour à une version réseau de mon programme afin que mes utilisateurs puissent travailler avec des données partagées). La structure même des fichiers avec les données initiales ressemble à ceci :


    Malgré le fait que mes fichiers ont l'extension sql, il n'y a pas de code sql à l'intérieur, mais cette chose :

    Priorités
    pri_id:UUID:UUID

    nom_pri:chaîne:normal
    pri_color:couleur:couleurVert
    pri_default:int:1
    priorités
    pri_id:UUID:UUID
    objet_pri:chaîne:tâche_objet
    nom_pri:chaîne:maintenir
    pri_color:couleur:couleurBleu
    pri_default:int:0
    priorités
    pri_id:UUID:UUID
    objet_pri:chaîne:tâche_objet
    nom_pri:chaîne:important
    pri_color:couleur:couleurRouge
    pri_default:int:0
    priorités
    pri_id:UUID:UUID

    nom_pri:chaîne:normal
    pri_color:couleur:couleurVert
    pri_default:int:1
    priorités
    pri_id:UUID:UUID
    objet_pri:chaîne:projet_objet
    nom_pri:chaîne:maintenir
    pri_color:couleur:couleurBleu
    pri_default:int:0
    priorités
    pri_id:UUID:UUID
    objet_pri:chaîne:projet_objet
    nom_pri:chaîne:important
    pri_color:couleur:couleurRouge
    pri_default:int:0

    La structure du fichier ressemble à ceci : je fais un appel de fonction diviser(":") par rapport à la ligne et si j'obtiens que sa taille est de 1, alors c'est le nom de la table où les données doivent être écrites. Sinon, ce sont les données elles-mêmes. Le premier champ est le nom du champ dans la table. Le deuxième champ est le type par lequel je détermine ce que j'ai besoin d'écrire dans ce champ même. S'il s'agit d'un UUID, je dois générer une valeur UUID unique. Si chaîne signifie pour moi qu'il est nécessaire d'extraire la valeur de chaîne des ressources. Si couleur, encore une fois, vous devez extraire le code couleur des ressources. Si int ou text alors je viens de convertir valeur donnéeà int ou String sans aucun geste. Le code lui-même ressemble à ceci :

    Liste de tableaux privés > getSQLData() ( ArrayList > data = nouvelle ArrayList<>(); Liste des tableaux fichiers = nouvelle ArrayList<>(); AssetManager assetManager = mContext.getAssets(); String dir = mData + mVersion ; try ( String listFiles = assetManager.list(dir); for (String file: listFiles)( files.add(file); ) Collections.sort(files, new QueryFilesComparator()); BufferedReader bufferedReader; String line; int separator = 0 ; ContentValues cv = null ; Champs de chaîne ; String nameTable = null ; String packageName = mContext.getPackageName(); indicateur booléen = false ; HashMap hum ; for (String file: files)( Log.d(TAG, "file db is " + file); bufferedReader = new BufferedReader(new InputStreamReader(assetManager.open(dir + "/" + file))); while ((line = bufferedReader.readLine()) != null)( fields = line.trim().split(":"); if (fields.length == 1)( if (flag == true)( hm = new HashMap<>(); hm put(nameTable, cv); data.add(hm); ) // nom de la table nameTable = line.trim(); cv = new ContentValues(); Continuez; ) else ( if (fields.equals("UUID"))( cv.put(fields, UUID.randomUUID().toString()); ) else if (fields.equals("color") || fields.equals( "string"))( int resId = mContext.getResources().getIdentifier(fields, fields, packageName); Log.d(TAG, fields + " " + resId); switch (fields)( case "color": cv. put(fields, resId); break; case "string": cv.put(fields, mContext.getString(resId)); break; default: break; ) ) else if (fields.equals("text"))( cv .put(fields, fields); ) else if (fields.equals("int"))( cv.put(fields, Integer.parseInt(fields)); ) ) flag = true; ) bufferedReader.close(); ) ) catch (IOException e) ( e.printStackTrace(); ) return data; )

    De nombreuses entreprises créent diverses applications riches pour faciliter la gestion, le développement et l'administration des bases de données.

    La plupart des bases de données relationnelles, à l'exception de MS Access, se composent de deux composants distincts : le "back-end" où les données sont stockées et le "front-end" l'interface utilisateur pour interagir avec les données. Ce type de construction est assez intelligent, car il met en parallèle le modèle de programmation à deux niveaux qui sépare la couche de données de interface utilisateur et vous permet de concentrer le marché du logiciel directement sur l'amélioration de vos produits. Ce modèle ouvre la porte à des tiers pour créer leurs applications afin d'interagir avec diverses bases de données.

    Sur Internet, on trouve de nombreux produits pour développer et administrer des bases de données MySQL. Nous avons décidé de rassembler les 10 outils les plus populaires dans un seul article afin que vous puissiez gagner du temps.

    1. Établi

    La première place revient de plein droit à l'outil Workbench (développé par Sun Systems / Oracle), qui peut fonctionner sur des plateformes Microsoft Windows, Mac OS X et Linux. Workbench combine le développement et l'administration de bases de données et est le successeur de DBDesigner4.

    Atelier MySQL distribué sous une licence gratuite - Community Edition et avec un abonnement annuel payant - Standard Edition. Ce dernier comprend caractéristiques supplémentaires, ce qui peut améliorer considérablement la productivité des développeurs et des administrateurs de bases de données.

    Le coût est gratuit.

    Qu'est-ce qui rend Workbench populaire ?

    • la possibilité de représenter le modèle de base de données dans forme graphique, ainsi que la modification des données dans le tableau ;
    • la présence d'un mécanisme simple et fonctionnel de création de liens entre les champs des tables, parmi lesquels un lien "many-to-many" est mis en place avec la possibilité de créer une table de liens ;
    • la fonction Reverse Engineering permet de restaurer la structure des tables et des relations à partir de celle qui a été implémentée précédemment et qui est stockée sur le serveur de base de données ;
    • la présence d'un éditeur de requêtes SQL, qui permet, lorsqu'il est envoyé au serveur, de recevoir une réponse sous forme de tableau et d'autres fonctionnalités.

    2.Navicat

    La deuxième place est Navicat(développé par PremiumSoft CyberTech Ltd) est un outil de développement et d'administration de base de données qui s'exécute sur n'importe quel serveur MySQL à partir de la version 3.21. Pour MySQL, Navicat est disponible pour fonctionner sur les plates-formes Microsoft Windows, Mac OS X et Linux.

    Le coût du produit varie de 199 $ à 379 $.

    Qu'est-ce qui rend Navicat populaire ?

    • la présence d'un concepteur visuel de requêtes ;
    • possibilité d'importer, d'exporter et Réserver une copie Les données;
    • la possibilité de créer des rapports ;
    • Tunnellisation SSH et HTTP ;
    • migration et synchronisation des données et de la structure ;
    • outil de planification des tâches et autres fonctionnalités.

    3. PHPMyAdmin

    PHPMyAdmin - application gratuite Avec Open source, conçu pour administrer le SGBD MySQL. PHPMyAdmin est une interface Web avec laquelle vous pouvez administrer le serveur MySQL, exécuter des commandes et afficher le contenu des tables et des bases de données via un navigateur.

    Le coût est gratuit.

    Qu'est-ce qui rend PHPMyAdmin populaire ?

    • la possibilité de gérer le SGBD MySQL sans saisir directement les commandes SQL ;
    • comment le panneau de contrôle PHPMyAdmin offre la possibilité d'administrer des bases de données dédiées ;
    • développement intensif;
    • possibilité d'intégrer PHPMyAdmin dans propres développements grâce à la licence publique générale GNU et à d'autres fonctionnalités.

    4. dbForge Studio pour MySQL

    dbForge Studio pour MySQL- un instrument d'intérêt à la fois pour Utilisateurs MySQL et pour les développeurs de bases de données. Avec lui, vous pouvez facilement automatiser le travail de routine et gagner du temps. Aujourd'hui, dbForge Studio for MySQL est disponible en trois éditions : Express, Standard et Professional, ce qui vous permet de choisir l'outil dont vous avez besoin. Vous pouvez utiliser dbForge Studio pour MySQL dans les versions commerciales et gratuites.

    Il existe à la fois une version gratuite et une version payante, cette dernière au prix de 49,95 $ (édition standard) et 99,99 $ (édition Pro).

    Qu'est-ce qui rend dbForge Studio populaire ?

    • disponibilité de fonds pour l'administration centralisée;
    • outils de comparaison de bases de données ;
    • profileur visuel de requête ;
    • la possibilité de gérer les privilèges des utilisateurs ;
    • la présence du Database Designer, qui permet de construire des diagrammes visuels ;
    • amélioration du travail avec les projets de base de données et d'autres fonctionnalités.

    5. HeidiSQL

    HeidiSQL est un outil de gestion de base de données gratuit. Digne alternative PHPMyAdmin, qui vous permet de créer et de modifier des tables, des vues, des déclencheurs, des procédures, ainsi que de visualiser et de modifier des données. HeidiSQL offre également la possibilité d'exporter des données à la fois vers un fichier SQL et vers le presse-papiers sur d'autres serveurs.

    Le coût est gratuit.

    Qu'est-ce qui rend HeidiSQL populaire ?

    • la possibilité de se connecter au serveur à l'aide de la ligne de commande ;
    • la possibilité d'optimiser et de restaurer des tables par lots ;
    • la possibilité de modifier les colonnes, les index et les clés étrangères des tables, en modifiant le corps et les paramètres Procédures SQL, déclencheurs, etc. ;
    • formatage simple du SQL non ordonné ;
    • synchronisation des tables entre bases différentes données et autres fonctionnalités.

    6. SQL Maestro pour MySQL

    SQL Maestro pour MySQL- un outil d'administration, de développement et de gestion des SGBD les plus populaires. Une interface graphique pratique vous permet d'exécuter des requêtes et des scripts SQL, de gérer les privilèges des utilisateurs, d'exporter et de créer sauvegardes Les données.

    Selon la licence choisie et le cas d'utilisation, le coût de cet outil varie de 99 $ à 1949 $.

    Qu'est-ce qui rend SQL Maestro pour MySQL populaire ?

    • prise en charge des versions de serveur MySQL à partir de la version 3.23 ;
    • la présence d'un concepteur de bases de données ;
    • la possibilité de modifier, regrouper, trier et filtrer les données ;
    • générateur de requêtes visuel ;
    • Tunnellisation SSH et HTTP ;
    • Éditeur BLOB et autres fonctionnalités.

    7. Gestionnaire SQL EMS pour MySQL

    Gestionnaire SQL EMS pour MySQL- un outil de développement et d'administration de base de données qui prend en charge diverses fonctions MySQL et fonctionne avec toutes les versions de MySQL antérieures à la 3.23. Avec lui, vous avez la possibilité de modifier visuellement, d'importer et d'exporter des bases de données, d'exécuter des scripts SQL, de gérer les privilèges des utilisateurs, de concevoir visuellement des bases de données MySQL.

    Il y a un payant et version gratuite applications. Ce dernier présente un certain nombre de limitations fonctionnelles. Prix version payante varie entre 95 et 245 dollars américains.

    Qu'est-ce qui rend EMS SQL Manager pour MySQL populaire ?

    • prise en charge des données UTF8 ;
    • gestion facile de divers objets MySQL ;
    • compatibilité avec toutes les versions de 3.23 à 6.0 inclus ;
    • la présence d'outils graphiques et textuels pour générer des requêtes ;
    • Tunnellisation SSH et HTTP ;
    • concepteur de rapport pratique et autres fonctionnalités.

    8.SQLyog

    SQLyog- l'un des outils les plus puissants qui combine les capacités de MySQL Administrator, PHPMyAdmin et d'autres outils d'administration et de développement de bases de données. SQLyog fonctionne sur les plates-formes Microsoft Windows, Windows NT. et Linux avec Wine.

    Des versions gratuites et payantes de SQLyog sont disponibles. Le coût de la version payante - de 99 à 1499 USD (varie en fonction du nombre d'utilisateurs et de la licence, avec ou sans support).

    Qu'est-ce qui rend SQLyog populaire ?

    • générateur de requêtes pratique ;
    • possibilité de synchronisation des données ;
    • prise en charge unicode ;
    • Tunnellisation SSH et HTTP, HTTPS ;
    • auto-complétion "intelligente" ;
    • complétion de code intelligente et autres fonctionnalités.

    9. Gestionnaire d'outils de base de données

    Gestionnaire d'outils de base de données- application de gestion de données, avec prise en charge intégrée de MySQL, PostgreSQL, MSAccess, MSSQL Server, Oracle et d'autres bases de données. Plates-formes prises en charge : Windows 2000, XP, Vista, 7.

    DBTools Manager est disponible en version gratuite (Standard) et option payante(Entreprise). Le coût est de 69,90 $ par licence, avec des remises pour plusieurs licences.

    Vous pouvez en savoir plus sur et acheter DBTools Manager ici

    EMS Database Management Solutions offre une suite complète de programmes gratuits pour la gestion de la base de données, ce qui vous permettra d'augmenter la productivité du travail avec les données et l'efficacité de l'administration de la base de données. Ces logiciels de gestion de base de données gratuits peuvent vous aider dans la plupart des tâches administratives en fournissant des fonctionnalités essentielles aux développeurs de bases de données et d'applications de données, tout en éliminant le besoin de plusieurs utilitaires SQL polyvalents.

    Le logiciel gratuit EMS SQL Manager convient aux développeurs débutants et expérimentés. il vous permettra de contrôler facilement l'infrastructure de données grâce à la présence de tous les outils nécessaires pour organiser le fonctionnement efficace des systèmes de bases de données. Notre outils gratuits vous donne la possibilité d'effectuer l'administration du serveur et le développement de la base de données, de gérer les utilisateurs et la sécurité, d'afficher et de modifier les données et d'effectuer de nombreuses autres tâches à partir d'une application puissante avec une interface graphique claire.

    À l'aide du logiciel gratuit EMS SQL Manager, vous pouvez travailler avec des serveurs, des bases de données et des schémas, afficher, modifier, rechercher, grouper, trier et filtrer des données, créer et exécuter Requêtes SQL en utilisant éditeur puissant SQL, travaillez avec plusieurs objets sélectionnés en même temps et bien plus encore.

    Nous proposons une large gamme de logiciels d'administration de base de données gratuits pour les serveurs les plus populaires. EMS SQL Manager Freeware prend en charge tous les objets de serveur, de base de données et de table, ainsi que dernières versions serveurs et Fonctionnalité SGBDR correspondant.

    LA CLOCHE

    Il y en a qui ont lu cette news avant vous.
    Abonnez-vous pour recevoir les derniers articles.
    E-mail
    Nom
    Nom de famille
    Aimeriez-vous lire The Bell
    Pas de spam