Fragen zum erstellen einer Datenbank

Moderatoren: King of the road, sejuma, Adlerauge, Friedel

Fragen zum erstellen einer Datenbank

Beitragvon Markus am 15.07.2010, 08:35

Dann stelle ich hier gleich mal die ersten Fragen die mir so aufgekommen sind...

Also, um die Informationen aus dem "Entstehungs-Thread" hier einzubringen, greife noch mal kurz mein Vorhaben auf:
Ich möchte unseren zukünftigen Kunden eine Kundenkarte mit Kunden- und Karten-Nr. anbieten. Karteninhaber bekommen einen Rabatt auf Dienstleistungen der als Guthaben angespart wird. Hierfür möchte ich eine Datenbank errichten, in der alle Kartenkunden enthalten sind, diese sich über einen Login in Ihre Daten einloggen können und dort alle sich selbst betreffenden Vorgänge einsehen können. Ersichtlich soll sein:
- Rechnungsdatum
- Rechnungs-Nr.
- Rechnungsbetrag
- Gutschriftsbetrag
- Ein Link zu PDF-RG Kopie
- und der Gesamtbetrag des bisher angesparten Guthabens

Das Passwort vergebe ich und soll/muss auch nicht änderbar sein. Zur Bearbeitung der Datenbankeinträge soll eine Oberfläche in Form eines Formulars dienen über die ich die neuen DB-Einträge dazuschreiben kann!!

Ich habe gestern um 9:00 Uhr begonnen mich zum ersten mal mit MySQL, PHP und Xampp zu beschäftigen. Momentan noch sehr sehr kompliziert, aber auch sehr sehr interessant!

Ich habe jetzt nach einer kleinen Pause nochmal von ganz ganz ganz vorne Angefangen!
Drei Fragen kommen auf zum Thema Datenbank erstellen. Vllt. kann mir hier jemand helfen?

Ich nutze für die Erstellung der Datenbank das Programm "Xampp" sowie das darin enthaltene Programm "phpMyAdmin".

1) Ich vergebe dem ersten Feld die Kennung "ID". Ist diese ID mein Referenzwert, also die Nr. des jeweiligen Kundenkontos (?) oder ist das eine fortlaufende "Positionsnummer" die die Datenbank selber vergibt? Ich frage nach Möglichkeit 2, weil ich ja durch die Einstellung auto_increment die automatische Erhöhung um "1" anweise. Die Nummern der Kundenkonten erhöhen sich aber nicht jeweils um "1"!! Wenn es sich dabei um meinen Referenzwert (KD-Kto-Nr.) handelt dürfte ich auto_increment ja nicht setzen!?

2) Um das PDF-Icon mit der Verlinkung zur entsprechenden Rechnungskopie zu realisieren...brauche ich dafür ein Tabellenfeld? Ich denke nicht, oder kann man evtl. per Script auf die Angabe dieses Feldes (z.B. Dateiname des PDF-Dokuments) zugreifen um vllt. automatisch einen entsprechenden Link zu generieren?

3) Xampp arbeitet lokal. Wie bekomme ich den die jetzt angelegte Datenbank auf meinen Web-Server? (Anbieter: Evanzo, Server: Apache) Wird die über den FTP-Upload hochgeladen? Wenn ja, wohin da? httpdocs, oder woanders hin? Oder macht es evtl. mehr Sinn bei meinem Anbieter anzufragen ob bereits eine MySQL-Datenbank zur Verfügung steht???

Das wären die momentan ersten drei Fragen zum Datenbank erstellen... :wink:
Benutzeravatar
Markus
gehört zum Inventar
gehört zum Inventar
 
Beiträge: 621
Registriert: 10.01.2007, 18:07
Wohnort: Solingen

Diese Werbung wird von Google bereitgestellt. Wenn du ein Werbebanner anklickst, wird die Zielseite normalerweise statt meiner Homepage angezeigt. Wenn du sie lieber in einem neuen Fenster oder in einem neuen Tab sehen willst, kannst du in den meisen Browsern die Shift- bzw. die Strg-Taste gedrückt halten, während du die Werbung anklickst.

Re: Fragen zum erstellen einer Datenbank

Beitragvon Friedel am 15.07.2010, 12:34

Hallo.

3) Ich fange mit der letzten Frage an, denn die solltest du zuerst klären. Du gehst den falschen Weg. So wird das nichts. Du kannst nicht eine lokale Datenbank auf den Server deines Providers kopieren. (Jedenfalls normalerweise nicht.) Lege im Adminpanel (oder was auch immer dein Provider zum Administrieren anbietet) die Datenbank an. Dann erzeugst du auf deinem XAMPP-Homeserver eine gleichartige Datenbank. Du kannst normalerweise Art und Version der Datenbank bei deinem Provider nicht beeinflussen.

ich empfehle dir, ein entsprechendes Tutorial zum Thema zu lesen, bevor du anfängst, wenn du dich noch nie mit Datenbanken befasst hast. Ich kann dir PHP und MySQL auf der Homepage empfehlen, aber das ist offensichtlich z.Z. vergriffen. Ich gehe davon aus, dass das auch nicht nur "Vorübergehend nicht lieferbar" ist, denn als das Heft erschienen ist, gab es Php5 noch nicht. Es wird wohl irgendwann ein neues Heft zum selben Thema oder eine völlig überarbeitet Neuauflage geben. Auf der Website findest du zwar einigen Probeseiten als Pdf, aber darin geht es ausschließlich um Installation und Konfiguration von XAMP und um Php. Aber bestimmt gibt es auch andere gute und günstige Tutorials zum Thema. Online gibt's sowas bestimmt auch irgendwo kostenlos.

2) Ich gehe davon aus, dass sich diese Frage von selbst gelöst hat, wenn du soweit bist. Bis dahin kannst du dir ja mal http://www.friedels-home.de/Sonstiges/Objekte_tauschen/start.htm ansehen. Da siehst du, wie man mit JavaScript Eigenschaften bzw. Html-Attribute von Html-Elementen verändern kann. href ist so eine Eigenschaft des a-Elements...

1) Wie du deine Datenspalten nennst ist deine Sache. Und welche der Spalten als Schlüssel verwendet werden sollen auch. Du kannst eine Spalte "ID" nennen und dann z.B die Spalte "Kundennummer" als Schlüssel nehmen. Das kannst und musst du selbst bestimmen.

mfg Friedel
★ ★ ★ Ich beantworte grundsätzlich keine Supportanfragen per Email oder PN. ★ ★ ★
Benutzeravatar
Friedel
Administrator
Administrator
 
Beiträge: 4753
Registriert: 15.11.2004, 01:39
Wohnort: Weingarten/Pfalz

Re: Fragen zum erstellen einer Datenbank

Beitragvon Markus am 15.07.2010, 12:58

Gut...

Also, ich habe heute meinen Hoster angemailt mit der Frage ob wir evtl. schon eine DB dort haben!? Wenn nicht, kann ich dort 1-3 DB einrichten lassen. Ich warte leider immernoch auf Antwort... :roll:

Ich habe zweit Tutorials zum Thema PHP/MySQL gelesen...
Einmal wird auf Xampp eines angeboten - "PHP für Dich (incl. MySQL-Einführung) von Claudia Schaffarik" - und weiterhin habe ich unter http://www.php-einfach.de/einf_mysql.php ein Tutorial gelesen.

Für mich erschreckend:
In dessen Forum sind viele fähige Leute unterwegs die (meiner Ansicht nach) extrem fit sind in diesem Thema, allerdings sind die alle zwischen 15 und 17 Jahre alt...!! *frustrierend für mich "alten Sack"* :roll:


1) Wie du deine Datenspalten nennst ist deine Sache. Und welche der Spalten als Schlüssel verwendet werden sollen auch. Du kannst eine Spalte "ID" nennen und dann z.B die Spalte "Kundennummer" als Schlüssel nehmen. Das kannst und musst du selbst bestimmen.

Das habe ich leider immernoch nicht verstanden... :(
Mit der Angabe "ID" bestimme ich doch eine Spalte dieser Datenbanktabelle als "Identifikationsmerkmal", oder?
Wenn ich also gewährleisten kann, dass jede KD-Kto-Nr. nur ein einziges mal vorkommt, dann kann ich diese Tabelle doch als ID verwenden, oder??? *momentan etwas auf dem Schlauch steh*

EDIT:
Habe Antwort vom Hoster bekommen! Ich habe zwei Datenbanken dabei. Einer habe ich jetzt einen Namen, einen Benutzer und ein Passwort gegeben. Allerdings "weiss der Geier" wie ich jetzt zur "phpMyAdmin" bzw. zum Anlegen der Tabellen in dieser Dastenbank komme... :oops: :roll: *sch.... englische Menüführung* :ruhe:
Benutzeravatar
Markus
gehört zum Inventar
gehört zum Inventar
 
Beiträge: 621
Registriert: 10.01.2007, 18:07
Wohnort: Solingen

Re: Fragen zum erstellen einer Datenbank

Beitragvon Markus am 16.07.2010, 14:51

Nun bin ich in der freudigen Lage behaupten zu können: Soviel habe ich in 48 Stunden noch nie gelernt!!! :D:
Jetzt kann ich euch ein bissl was zur Datenbank erzählen/erklären:

Aufbau der Datenbank Struktur
Code: Alles auswählen
CREATE TABLE `kartenkunden` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`account` INT( 10 ) NOT NULL ,
`kd_pwd` VARCHAR( 32 ) NOT NULL ,
`rg_date` INT( 10 ) NOT NULL ,
`rg_number` INT( 10 ) NOT NULL ,
`rg_amount` VARCHAR( 10 ) NOT NULL ,
`rg_credit` VARCHAR( 10 ) NOT NULL ,
`rg_copy` VARCHAR( 50 ) NOT NULL
) ENGINE = MYISAM ;



Was bedeutet das jetzt alles?

Code: Alles auswählen
CREATE TABLE `kartenkunden`

= erstellt eine Tabelle in der Datenbank mit dem Namen “Kartenkunden”

Code: Alles auswählen
(

= definiert den Anfang der Vorgaben zu dieser Tabelle


Code: Alles auswählen
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,

Hier vergeben wir für jeden Datensatz eine feste ID. Durch die Attribute AUTO_INCREMENT & PRIMARY KEY wird die ID sozusagen die „Personalausweis-Nr. des Datensatzes“ Diese dient dann als Anlaufpunkt für die Verarbeitung des Datensatzes wie z.B. einzelne Einträge schreiben, sortieren oder löschen.


in Einzelteilen erklärt:

Code: Alles auswählen
`id`

= die Tabellenbezeichnung, sozusagen der Name mit dem diese Tabelle angesprochen wird

Code: Alles auswählen
INT

= ist die Kennzeichnung dafür, dass in dieser Tabelle nur Zahlen verwendet werden. Es taucht auch der Begriff „VARCHAR“ auf. Dieser steht für die Einstellung „Zahlen und Buchstaben“.

Code: Alles auswählen
( 10 )

= hier wird die Menge der maximal zu Verarbeitenden Zeichen festgelegt.

Code: Alles auswählen
NOT NULL

= diese Kennung steht dafür, dass der Wert nicht NULL sein darf. NOT NULL steht in diesem Fall für „Nicht Null Byte“ und stellt somit ein „Nichts“ dar. Diese Angabe ermöglicht die Verarbeitung eines Feldes ohne Eintrag denn ein leeres Feld ist aus Sicht der Informatik etwas anderes als Null!

Code: Alles auswählen
AUTO_INCREMENT

= sorgt für einen festen Wert in diesem Feld, der sich bei jedem Eintrag um „1“ erhöht

Code: Alles auswählen
PRIMARY KEY

= dieses Feld ist der Primärschlüssel. Das bedeutet, dass der Wert in diesem Feld nur einmal existiert und durch die Funktion AUTO_INCREMENT (jeweilige Erhöhung um „1“) auch einmalig bleibt! Dieses Feld ist also die „Personalausweis-Nr. des Datensatzes“ und somit der zwingende Anlaufpunkt für jegliche Verarbeitungsanfrage des Datensatzes.

Code: Alles auswählen
ENGINE = MYISAM

= MyISAM ist die Standard-Speicher-Engine. Kurz erklärt wird hier jede Tabelle in drei Dateien auf der Festplatte gespeichert. Die Namen der Dateien beginnen mit dem Tabellennamen und haben den Dateityp .frm-Datei, .MYD und.MYI! Mit dieser Angabe erfolgt die ausdrückliche Anweisung eine MYISAM-Tabelle zu erstellen.


Und schwupps...schon ist die Datenbank eingerichtet!!
Vorausgesetzt der Hoster stellt bereits eine DB zur Verfügung, kann man diese über das Programm "phpMyAdmin" einrichten.

Das eigentliche erstellen der Programmierung findet in PHP statt daher schlage ich vor, wenn alles funktioniert, poste ich die entsprechenden Codes mit Erklärungen im Thema PHP... :up: :catch:
Benutzeravatar
Markus
gehört zum Inventar
gehört zum Inventar
 
Beiträge: 621
Registriert: 10.01.2007, 18:07
Wohnort: Solingen


Zurück zu Datenbanken

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron