Tabellenaufbau SQL Datenbank

CyberGuard

Komplett-PC-Käufer(in)
Hallo zusammen,

ich bin kompletter Noob in dem Bereich Datenbank, Websites etc. Nun gibt es reichlich Tutorials für die Bereiche an verschiedener Stelle, jedoch bekomme ich eine Frage nicht geklärt.

Ich muss für den Verein eine Datenbank haben in der ca. 100 Mitglieder erfasst sind und was sie jeweils an jedem der 365 Tage im Jahr machen. Hintergrund sind die Gemeinschaftsarbeitsdienste.
Bisher lief das über Excel, wo es meiner Meinung nach auch hingehört, aber es soll jetzt webbasierend werden damit sich das jeder am Handy angucken kann wie er für die Tag/Woche eingeteilt ist.
Wie gesagt für das meiste finde ich Tutorials, aber ich frage mich halt wie ich die Datenbank(en) sinnvoll aufbaue.

Da ich hauptsächlich mit Excel arbeite ist mein erster Gedanke natürlich 100 Zeilen (Namen) und 365 Spalten (Tage)

Jetzt frage ich mich ob das bei so einer DB genau so gemacht wird oder ob es effizientere Wege gibt und ein solcher Aufbau nicht eine viel zu lange Abfragezeit hervorrufen würde.

Muss ich gar 100 Tabellen mit einem Namen und 365 Spalten erstellen oder die Zeilen/ Spalten tauschen?

Ausgegeben werden soll quasi eine Tages/ Wochenübersicht.

Ihr seht da ist viel Hilflosigkeit im Raum. Trotzdem ich hoffe, das habe mich einigermaßen verständlich ausgedrückt habe.
 
Eine Datenbank arbeitet nicht mit Zeilen und Spalten wie du dir das vor stellst. Die GIBT es zwar in der Entwurfsansicht und im allgemeinen Aufbau, was damit dann GEMACHT wird hängt aber immer von der Abfrage/dem Programm ab das darauf zugreift.

Es ist auf jeden Fall deutlich aufwändiger zu erstellen als eine einfache Excel-Sheet, das kann ich gleich sagen, denn du "darfst" auch ein entspechendes Tool zum ABFRAGEN des ganzen "Bereit stellen". Das kann btw. auch sowas "einfaches" wie Access sein.

Für deine Zwecke wäre das dann z.B. ne Datenbank wo die Felder Name / Datum / Aktivität mindestens nötig wären um damit zu arbeiten. Name wäre hierbei dann auch gleich der "Indexwert" welcher je nur einmal vorkommen dar/kann. Wie man da dann tatsächlich mit ARBEITET ..... das ist ein ganz anderes Thema .... Ich selbst habe nur eine Datenbank in Access am laufen welche aber Prinzipiell 1:1 in SQL übertragbar wäre (für den reinen Datenbank-Teil).

Du solltest auch noch eines bedenken : SQL braucht einen aktiven Datenbank-Server ! Du könntest das selbe aber auch mit Access realisieren wo "nur" lese-Rechte für die reinen Abfrager nötig wären (was jeder Website-Speicher bietet). Für Access hätte ich dir auch ein nettes Tut mit dem ich gelernt habe MEINE Datenbank zu bauen welch eich seit 3 Jahren aktiv auf Arbeit nutze : KLICK


EDIT : Noch einfachere Möglichkeit für dich : Stell dein Excel-Sheet einfach per Teams online und bring die Leute die darauf zugreifen müßen in die Gruppe -> JEDER kann es online öffnen dank Web-Based Excel (Unabhängig vom Gerät). Dann musst du nicht lernen mit Access oder SQL um zu gehen :-)
 
Das Problem mit Spalten = Tage ist, dass man Kalender fortlaufend führt, was in diesem Sinne auf Zeilen hinauslaufen würde.

Ich würde:
Wichtig: Feldertypen sinnvoll vorgeben, alle Tabellen Indizieren.

Abgefragt werden würde das dann per Query und Vorgabe von Kalenderwoche + MemberID

So einfache Abfragen und kleine Tabellen sind performance-technisch irrelevant, da kann man mehr in Richtung Übersichtlichkeit strukturieren. Ich denke man kann auch eine Ansicht/View erstellen und die dann Abfragen, obwohl das 'langsamer' wäre.

Wenn man was sparen möchte, kannst ja alle paar Jahre den Kalender updaten und ältere Daten rauskicken ;-)
 
gibt es für sowas nicht fertige Apps oder Software, die man einfach einkaufen kann? :)
oder ein Schrebergarten-Forum wo man mal fragen könnte? ;-)
 
Mit MariaDb unter Linux kann man so eine Tabelle schnell erstellen und auch auf einem PC (Server deiner Wahl hosten) Dann legt man noch user auf dem System an mit den nötigen Datenbank rechten und schon ist auch der zugriff über ssh oder anders möglich. Über einen Appache Webserver eine Website erstellen und diese ist dann auch falls vorhanden und konfiguriert über eine URL erreichbar (Weltweit) .Lässt sich auch so konfigurieren das erst nach dem Anmelden mit einem usernamen und Passwort erst deine Tabelle Anzeigt.
 
Da lässt du irgendwo eine MySQL Instanz laufen oder legst auf einer existierenden eine Datenbank an, auf die kommt eine Tabelle für die Mitglieder und eine für Aufgaben. Verbunden werden die dann über eine Tabelle, die die beiden Primärschlüssel und ein Datum hält. Bei 100 Mitgliedern und nur einem Datensatz pro Tag läuft das auf einem raspi mit kleinerer Karte für Jahrzehnte.
 
Zurück