WinFuture-Forum.de: Welche Datenbank? - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Welche Datenbank? Möglichst Freeware oder Open Source

#16 Mitglied ist offline   Sturmovik 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.776
  • Beigetreten: 10. Januar 08
  • Reputation: 445
  • Geschlecht:unbekannt
  • Wohnort:In Reichweite der Kaffeemaschine
  • Interessen:IT, Luftfahrt, historische Technik

geschrieben 17. Mai 2015 - 17:59

Beitrag anzeigenZitat (Sina: 17. Mai 2015 - 17:52)

Würde man als Beispiel *Nachname* - *Vorname* - *Postleitzahl mit Ort* - *Straße* nehmen, dann ist bei mir
eine Exel-Tabelle *Nachname - Vorname*, eine andere Exel-Tabelle *Postleitzahl mit Ort* und eine 3 Excel-Tabelle *Straße*.

Das sieht schon mal nicht schlecht aus. Zumindest vom Prinzip her. Ob die Aufteilung sinnvoll ist, kann ich von hier aus natürlich schwer sagen. Entsprechend der Auteilung müssen dann auch noch die Beziehungen zwischen den Tabellen eingebaut werden.
«Geschichte wiederholt sich nicht, aber sie reimt sich» (Mark Twain)

Unix won't hold your hand. You wanna shoot your foot, Unix reliably delivers the shot.

True Cloudstorage
0

Anzeige



#17 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 17. Mai 2015 - 19:08

Weil Adressdatenbanken immer so lusting sind, und alle möglichen Figuren alles Mögliche falsch machen und sogar falsch empfehlen, hier mal einen Entwurf dafür. :)

Der natürlich auch keinen Anspruch auf "perfekt" hat. :wink:

* DB: AdressDB
 * Tabelle: Adressen
   * addr_id INTEGER UNSIGNED NOT NULL PRIMARY KEY -- Primärschlüssel, unbedingt erforderlich und unbedingt *zusätzlich*
   * nachname VARCHAR(128) NOT NULL -- Zeichenbeschränkung so setzen, daß nicht nur "möglichst alle", sondern *tatsächlich alle* Namen reinpassen. Notfalls mehr als 128 Zeichen reservieren. Außerdem: der Nachname ist ebenso wie (nachname, vorname) KEIN potentieller Primärschlüssel!
   * vorname VARCHAR(64) NULL -- NOT NULL nur, wenn Vornamen *erforderlich* sind
   * vorname_plus VARCHAR(255) NULL -- Zusätzliche Vornamen oder Initialien. Der Spaltenname ist natürlich beliebig vergebbar
   * strasse VARCHAR(128) NOT NULL -- NUR der Straßenname
   * hausnr VARCHAR(5) NOT NULL -- NULL nur, wenn Hausnr auch unbekannt sein darf. Außerdem sind Hausnummern KEINE Zahlen zum Rechnen.
   * plz CHAR(5) CHECK(plz GLOB '[0-9][0-9][0-9][0-9][0-9]') -- Wie oben, plus Prüfung auf (halbwegs) gültige PLZ. NB: CHECKs werden nicht überall implementiert und die Syntax ist auch nicht zwangsläufig dieselbe.
   * ort CHAR(64) NOT NULL -- Nicht aus PLZ ableitbar, daher erforderlich.



Telefon, Email und dergleichen mehr sind KEINE Adressdaten und gehören daher NICHT in die Adresstabelle.

Außerdem ist diese Struktur *nur* für "allgemeine" Erreichbarkeit gedacht. Will heißen: es gibt eine fix zugeordnete Person für die Adresse.

Das macht den Ansatz *ungeeignet* für zB postalische Erreichbarkeit. Es gibt ja nur die bezeichnete Person.

In diesem Fall müßten daher die personenbezogenen Daten RAUS aus der Tabelle und eine weitere Tabelle für die Personen her, die dann eine Spalte "adresse" bekommt, welche Fremdschlüssel auf "adressen" wird und wo die addr_id der zugehörigen Adresse drinstehen.

Dieser Beitrag wurde von RalphS bearbeitet: 17. Mai 2015 - 19:14

"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#18 Mitglied ist offline   Sina 

  • Gruppe: aktive Mitglieder
  • Beiträge: 610
  • Beigetreten: 15. Mai 05
  • Reputation: 3
  • Geschlecht:Weiblich

geschrieben 17. Mai 2015 - 19:30

Lieber RalphS , bitte sag jetzt nicht, Datenbanken sehen so scheiße aus, wie in Deinem Bespiel, DB: AdressDB
* Tabelle: Adressen
* addr_id INTEGER UNSIGNED NOT NULL PRIMARY KEY -- Primärschlüssel, unbedingt erforderlich und unbedingt *zusätzlich*
* nachname VARCHAR(128) NOT NULL -- Zeichenbeschränkung so setzen, daß nicht nur "möglichst alle", sondern *tatsächlich alle* Namen reinpassen. Notfalls mehr als 128 Zeichen reservieren. Außerdem: der Nachname ist ebenso wie (nachname, vorname) KEIN potentieller Primärschlüssel!
* vorname VARCHAR(64) NULL -- NOT NULL nur, wenn Vornamen *erforderlich*
sind
*
Wäre ja dann ein ähnliches Gefrickel, wie bei meiner Homepage:
<body bgcolor="#FFFFFF" text="#FFFFFF" background="back-a.jpg" onLoad="preloadImages('nav-2.jpg','nav-2b.jpg','nav-2c. jpg','nav-2d.jpg','nav-2e.jpg','b-2.jpg','b-2b.jpg' ,'b-2c.jpg','b-2d.jpg','b-2e.jpg')" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<!-- #BeginEditable "Navigation" -->
<table width="800" border="0" cellspacing="0" cellpadding="0" height="102" bgcolor="#182810">
<tr>
<td width="119">
*
Gibt es denn keine Datenbank, die wenigstens optisch so wie eine Excel-Tabelle aussieht?

Dieser Beitrag wurde von Sina bearbeitet: 17. Mai 2015 - 19:52

Herzliche Grüße von Sina deren Englisch leider nicht der Hit ist
0

#19 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 17. Mai 2015 - 19:52

Datenbanken sehen "gar nicht" aus. Die sieht man nicht. Wenn man was sehen möchte, braucht man ein Frontend dazu - etwas, das die Daten aus der Datenbank holt und anzeigt.

Und nein, um das Gefrickel wirst Du nicht herumkommen. Auch wenn ich mich grad frage, aus welchem WYSIWYG-Editor Du dieses HTML-Fragment rauskopiert hast. :wink:
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#20 Mitglied ist offline   Sina 

  • Gruppe: aktive Mitglieder
  • Beiträge: 610
  • Beigetreten: 15. Mai 05
  • Reputation: 3
  • Geschlecht:Weiblich

geschrieben 17. Mai 2015 - 20:02

Beitrag anzeigenZitat (RalphS: 17. Mai 2015 - 19:52)

Datenbanken sehen "gar nicht" aus. Die sieht man nicht. Wenn man was sehen möchte, braucht man ein Frontend dazu - etwas, das die Daten aus der Datenbank holt und anzeigt.
Und nein, um das Gefrickel wirst Du nicht herumkommen.

Sch... Sch.... Sch...
*
Bittet, bitte findet für mich ein *Frontend *, welches ich nutzen kann ohne abzuheben.


Beitrag anzeigenZitat (RalphS: 17. Mai 2015 - 19:52)

Auch wenn ich mich grad frage, aus welchem WYSIWYG-Editor Du dieses HTML-Fragment rauskopiert hast. :wink:

Habe ich aus meiner Webseite kopiert, die ich gerade zusammenbauen . Die wird hübsch ;D

Angehängte Miniaturbilder

  • Angehängtes Bild: B_hierbinich.png

Herzliche Grüße von Sina deren Englisch leider nicht der Hit ist
0

#21 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.111
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 17. Mai 2015 - 20:27

Beitrag anzeigenZitat (Sina: 17. Mai 2015 - 20:02)


Bittet, bitte findet für mich ein *Frontend *, welches ich nutzen kann ohne abzuheben.



Also das Frontend ist doch dann deine Webseite, wenn du darüber auf die Datenbank zugreifen willst.
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#22 Mitglied ist offline   Sina 

  • Gruppe: aktive Mitglieder
  • Beiträge: 610
  • Beigetreten: 15. Mai 05
  • Reputation: 3
  • Geschlecht:Weiblich

geschrieben 17. Mai 2015 - 20:33

Beitrag anzeigenZitat (Holger_N: 17. Mai 2015 - 20:27)

Also das Frontend ist doch dann deine Webseite, wenn du darüber auf die Datenbank zugreifen willst.
Hä?
Ich muss doch die Daten der Excel-Tabelle irgendwo eingeben > und meine Homepage soll dann auf die Daten(bank) zugreifen.
Herzliche Grüße von Sina deren Englisch leider nicht der Hit ist
0

#23 Mitglied ist offline   Wiesel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.932
  • Beigetreten: 09. Mai 06
  • Reputation: 525
  • Geschlecht:unbekannt
  • Wohnort:Punxsutawney, 742 Evergreen Terrace
  • Interessen:Mein Schneckenhaus

geschrieben 17. Mai 2015 - 20:40

Das ist aber keine Einbahnstraße. Man kann ja lesen und schreiben. Hier im Forum sitzt ja auch niemand der die Posts per Hand in die Datenbank tippelt. Alles ganz automatisch.
around the world
0

#24 Mitglied ist offline   Sina 

  • Gruppe: aktive Mitglieder
  • Beiträge: 610
  • Beigetreten: 15. Mai 05
  • Reputation: 3
  • Geschlecht:Weiblich

geschrieben 17. Mai 2015 - 22:00

Ich dürft ruhig lachen, auch heutige Könner haben mal klein angefangen.
Nur auf dem Arm genommen werden möchte ich nicht, bin zu schwer.
Im Übrigen geht es mir Gott sei Dank nicht alleine so, einer von sehr vielen:
http://computer.wer-...l-datenbank-aus

*

Habe mir jetzt *Adminer* angesehen, sieht bei mir so aus, kann ich nichts mit anfangen.
http://www.adminer.org/de/
<?php
Ausschnitt von Adminer: /** Adminer - Compact database management
* @link http://www.adminer.org/
* @author Jakub Vrana, http://www.vrana.cz/
* @copyright 2007 Jakub Vrana
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
* @version 4.2.1
*/error_reporting(6135);$oc=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($oc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$yg=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($yg)$X=$yg;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");if(isset($_GET["file"])){if($_SERVER["HTTP_IF_MODIFIED_SINCE"]){header("HTTP/1.1 304 Not Modified");exit;}header("Expires: ".gmdate("D, d M Y H:i:s",time()+365*24*60*60)." GMT");header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");if($_GET["file"]=="favicon.ico"){header("Content-Type: image/x-icon");echo 

*
So was suche ich, aber eben ohne an einen bestimmten Anbieter gebunden zu sein:
http://www.bluetroni...nbankverwaltung




Herzliche Grüße von Sina deren Englisch leider nicht der Hit ist
0

#25 Mitglied ist offline   Wiesel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.932
  • Beigetreten: 09. Mai 06
  • Reputation: 525
  • Geschlecht:unbekannt
  • Wohnort:Punxsutawney, 742 Evergreen Terrace
  • Interessen:Mein Schneckenhaus

geschrieben 18. Mai 2015 - 04:21

Es nimmt dich keiner auf den Arm.

Das Problem ist nur dass man Datenbanken und deren Daten nicht mal eben mit einem Fingerschnipp verwaltet. Und über 500.000 Einträge mal eben so eintragen ohne die entsprechenden Kenntnisse wird ganz ganz schwer, da du eben alles selber erstellen musst.

Es gibt schon sehr viele fertige Scripte im Netz zu finden. Such doch mal danach. Das würde dir eine ganze Menge Arbeit ersparen. Ich meine jetzt nicht dass du nach Datenbankmanagement suchen sollst, nach komplett fertigen CM-Systemen (CMS). Die müssen nur auf dem Server entpackt werden, die Datenbank einmalig erstellt werden und alles was da in die Datenbank schreibend rein oder raus oder lesend raus soll macht das CMS, da brauchst du dich nicht drum kümmern.
around the world
0

#26 Mitglied ist offline   Sina 

  • Gruppe: aktive Mitglieder
  • Beiträge: 610
  • Beigetreten: 15. Mai 05
  • Reputation: 3
  • Geschlecht:Weiblich

geschrieben 18. Mai 2015 - 08:14

Habe etwas Geniales gefunden, wo genau erklärt wird, was man braucht, wo man es findet etc.*

PHP 5 Praxisbuch
http://www.selfphp.d...sbuch/index.php


*
Leider steht nicht dabei, wer es geschrieben hat, aber vielleicht war es
Damir Enseleit und Matthias Kennengiesser: PHP 5 Praxisbuch & Referenz ?
http://www.selfphp.d...extras/buch.php
http://www.amazon.de...2750545&sr=8-12

Dieser Beitrag wurde von Sina bearbeitet: 18. Mai 2015 - 09:18

Herzliche Grüße von Sina deren Englisch leider nicht der Hit ist
0

#27 Mitglied ist offline   Wiesel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.932
  • Beigetreten: 09. Mai 06
  • Reputation: 525
  • Geschlecht:unbekannt
  • Wohnort:Punxsutawney, 742 Evergreen Terrace
  • Interessen:Mein Schneckenhaus

geschrieben 18. Mai 2015 - 11:14

Lies mal #2...

Ich denke aber es ist fast unmöglich das ohne englisch Kenntnisse oder programmiert Kenntnisse umzusetzen. Meiner Meinung nach legst du den focus zu sehr auf die Datenbank anstatt auf das Frontend.
around the world
0

#28 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 18. Mai 2015 - 11:52

Irgendwie scheint mir hier ein bißchen arg viel zusammengewürfelt zu werden, was aber gar nicht zusammengehört. :huh: Daher teil ich das hier nochmal auf:

- Datenbanksystem: Das ist die Software, die Datenbanken bereitstellt und sich um deren Verwaltung kümmert. Gemeinhin "RDBMS" = "Relational Database Management System" = "Verwaltungssystem für relationale Datenbanken".
- Datenbank: Ein eher abstraktes Konzept. Eine Datenbank ist letztlich "nur" ein Container für eine Ansammlung von Daten. Analog: Das Haus, in dem Karteikästen mit Karteikarten stehen.

- Tabellen: Ebenfalls ein eher abstraktes Konzept und nicht mit "Excel-Tabellen" als solches vergleichbar. Eine Tabelle in diesem Kontext beschreibt einfach die Daten, die in ihr zu finden sind ("Schema"). Analog: Das Ordnungssystem in einem Schrank mit Karteikarten. Was ist was? Wo und wie finde ich es? Wie sind die Karteikarten strukturiert? Das beschreibt die Tabelle.


Das bedeutet praktisch:


[1] Ein Datenbankverwaltungssystem muß installiert und gestartet werden. Zum Beispiel MariaDB.

[2] Eine Datenbank muß angelegt werden (das ist ein banales "CREATE DATABASE name_der_datenbank"; es ist wirklich *nur* ein Container).

[3] In dieser Datenbank müssen Tabellen angelegt werden. Dieser Punkt ist kritisch:

[3-1] Bestehende Datensätze müssen analysiert werden

[3-2] Die Daten müssen in zusammenhängende Strukturen gebracht werden, und zwar so, daß sie die Realität möglichst genau abbilden. Am Einfachsten geht das, indem man sich seine Daten"pakete" als "Objekte" vorstellt. Beispiel von oben: Adressen. Ein Ansatz wäre, "Adressen" als Häuser in einer Stadt zu verstehen. Dann bekommt man recht schnell zusammen, was a) wichtig für die Zuordnung ist (das wird der Primärschlüssel) und was nicht (das werden zugehörige Daten) bzw was damit nur indirekt was zu tun hat (zB die Personen, die da drin wohnen). Außerdem gehören Daten, die berechnet werden können, NICHT mit in die Datenbank (zB die Anzahl der Personen, die da wohnen, wenn jede Person bereits anderswo aufgelistet ist).

[4] Die Datenbank ist jetzt insoweit fertig, daß sie "fertig beschrieben" ist. Daten befinden sich aber noch keine darin.

[5] Daten in die Datenbank. Hier kommt es darauf an, ob besagte Daten bereits in einer strukturierten Form irgendwo vorliegen oder nicht.
[5-1] In den allermeisten Fällen können Daten von fremden Programmen einfach importiert werden (notfalls mit ein bißchen Handanlegen). Beispiel: bestimmte Spalten aus Excel-Tabellen in eine CSV-Datei importieren und dann vom Datenbanksystem einlesen lassen. Hier muß man dann natürlich ein bißchen aufpassen, daß die Zuordnungen erhalten bleiben und nichts mehrfach importiert wird.
[5-2] Liegen noch keine importierbaren Daten vor, müssen sie zwangsläufig händisch in die Datenbank gefüttert werden. Das ist aber der absolut LETZTE Weg, den man gehen sollte. Wenn die fraglichen Daten *irgendwie* *irgendwo* bereits auf dem Rechner vorhanden sind, ist es sehr viel sinnvoller zu schauen, wie man diese Daten doch noch irgendwie importiert bekommt, als sie "händisch" in die Datenbank zu stecken.



Außerdem möchte ich nochmal darauf hinweisen: mit Klick-und-Klick und WYSIWYG-Editoren wird man hier nicht weit kommen. phpMyAdmin nimmt einem eine ganze Menge ab, aber die Strukturen (das erwähnte Schema) muß man sich selbst überlegen und das ist weitaus aufwendiger. Und wenn es dann an die eigentliche Abfrage geht, also die Präsentation der Daten nach außen, führt kein Weg an einer serverseitigen Programmiersprache vorbei -- und die gehen *grundsätzlich nicht* zusammenzuklicken.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
1

#29 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.111
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 23. Mai 2015 - 16:13

Beitrag anzeigenZitat (Sina: 17. Mai 2015 - 20:33)

Hä?
Ich muss doch die Daten der Excel-Tabelle irgendwo eingeben > und meine Homepage soll dann auf die Daten(bank) zugreifen.


Es sind ja Beides einfach nur ganz normale Datenbankzugriffe. Ob was reingeschrieben wird oder abgefragt wird, sind nur zwei unterschiedliche Befehle. Es ist ja vom Vorgang her fast nichts einfacher als die Dateneingabe auch über die Homepage zu machen. So mache ich das bei uns in der Firma. Die Auftragsdaten vom Drucker werden in einer CSV-Datei gespeichert und dann habe ich ein kleines Script geschrieben, welches diese CSV-Datei einliest und in die Datenbank der Firma schreibt. Und so eine reine Liste in Excel lässt sich ja auch problemlos als CSV speichern und in wenigen Sekunden sind alle Daten in der Datenbank.

Das ganze Ding läuft lokal in der Firma auf einem Server als einfache Webseite. Da können dann alle von überall mit jedem System einfach per Browser auf die Daten zugreifen. Und dieses Einlesen der Druckerdaten habe ich so gemacht, dass das nur ich kann.

Das wäre genau das Modell, nur eben mit anderen Daten.


Ich glaube aber du suchst keine Datenbank, sondern eher eine komplette fertige Verwaltungssoftware für deine Datensätze.

Dieser Beitrag wurde von Holger_N bearbeitet: 23. Mai 2015 - 16:16

Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0