it-swarm.com.de

datenbankerstellung mit c-Programmierung

Ich möchte eine Datenbank mit C-Programmierung erstellen.

Ich möchte das Mitarbeiterdatenbanksystem erstellen und dynamisch aktualisieren. Bitte führe mich, wie ich vorgehen kann.

Ich muss es für eingebettete Systeme tun, die als Flash-Speicher dienen. Die Datenbank muss auf diesem Flash gespeichert werden, und ich muss sie dynamisch aktualisieren können. Dokument und Vorschläge sind wertvoll.

7
amar

Sie können structs und file operations verwenden, um aus der Datei zu schreiben und zu lesen. Die Operationen sind jedoch möglicherweise nicht zu schnell und effizient wie bei MYSQL oder einer anderen Datenbank. 

Beispielcode:

/*  employee database program       */

#include <stdio.h>
#include <string.h>

typedef struct vehicle
{
    char name[100];
    int roll;
    int salary;
    char address[100];
    int join_year;
}record;

int main(void)
{
    int i , choice;
    FILE *fp1,*fp2;
    char oname[100];
    record det;
    int recsize;
    char c;

    fp1 = fopen("record.dat" , "r+");
    if(fp1 == NULL)
    {
        fp1 = fopen("record.dat" , "w+");
        if(fp1 == NULL)
        {
            printf("error in opening file : \n");
            return -1;
        }
    }
    recsize = sizeof(det);

    fseek(fp1 , 0 ,SEEK_END);
    printf("Enter employee Name : ");
    scanf("%[^\n]" , det.name);
    printf("Enter roll number   : ");
    scanf("%d" , &det.roll);
    printf("Enter the salary    : ");
    scanf("%d" , &det.salary);
    scanf("%c" , &c);
    printf("Enter address   : ");
    scanf("%[^\n]" , det.address);
    printf("Enter joining year  : ");
    scanf("%d" , &det.join_year);
    fwrite(&det,recsize,1,fp1);
}

Weitere Informationen zum Erstellen einer Datenbank in c finden Sie in den folgenden Anleitungen. video

6
tusharmakkar08

Hast du dort ein Betriebssystem? Linux, QNX? Wenn Sie dies tun, prüfen Sie, ob native Lösungen verfügbar sind. Z.B. mysql, postgresql, sqlite. Wenn dort etwas ist, lesen Sie die Dokumente. 

Wenn Sie auf blankem Metall sind, lesen Sie weiter. 

Ich denke, der beste Weg, um zu beginnen, ist die Verwendung einer einfachen Hash-Tabelle, so dass Sie kurze Abfragezeiten haben. 

Die Hashtabelle von U-boot kann Ihnen als guter Start dienen. 

https://github.com/lentinj/u-boot/blob/master/lib/hashtable.c

Als Nächstes müssen Sie das in Flash speichern. Ich bewahre mindestens zwei Kopien Ihrer Daten auf, um den Schutz vor Stromausfällen während des Schreibens zu gewährleisten. Um dies zu erreichen, benötigen Sie einige Prüfsummen, um Ihre Datenstruktur zu erweitern, z. crc32. Sieh dir das an: 

http://www.barrgroup.com/Embedded-Systems/How-To/CRC-Calculation-C-Code

Schließlich, wenn Sie viele Daten und (nicht so viel) Flash haben, möchten Sie die Daten irgendwie komprimieren. Ich empfehle wirklich den Schrumpfungs-Algorithmus. Es ist einfach und funktioniert sogar auf atmel avrs

1
Andy

Es ist möglich, eine Datenbank in c zu erstellen, sie ist jedoch sehr ineffizient und um sie effizient auszuführen, ist ein erheblicher Aufwand erforderlich. Es ist daher besser, wenn Sie mysql oder postgres für die Datenbankverwaltung verwenden.

0
Vasu Dev Garg