Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

zerc

Foren As

Dabei seit: 18.01.2004

Beiträge: 79

 

1 Zum Seitenanfang

Mittwoch, 6. Mai 2009, 22:36

Erstellen einer speziellen Datenbank

Hallo Leute, hab ein riesiges problem,
ich möchte eine datenbank erstellen, hört sich erstmal nicht so wild an,
aber ich möchte das so machen wie bei areamobile.de dass man diese nach bestimmten spalten oder zeilen absuchen kann, also
in diesem beispiel mit den handys , dass man nur nach akkulaufzeit suchen kann oder ob da ein radio drinne ist, sowas halt nur allgemein gehalten, mein problem ist es, erstmal überhaupt eine tabelle zu erstellen wo man die werte irgendwie festlegen kann und dann wieder abfragen kann, ich glaube nicht dass man für jedes teil(handy) eine eigene mysql tabelle erstellt wird.
das ding ist, ich habe keine ahnung nach was ich suchen soll überhaupt, hab mich die letzte zeit hier und da bei google umgeschaut aber mir fehlt ein anstoß in welche richtung ist suchen soll,
hat einer hier vll ne lösung? oder anleitungen links etc?
(da ich nicht weiß wie man sowas auch lösen sollte, hab ich es erstmal unter newbies gepostet)

also paar nebenangaben, es wird eine bikerpage mit motorrädern wo die technischen daten und bilder dazu stehen werden und man soll die möglichkeit haben nach erscheinungsjahr oder mindest ps oder hubraum suchen zu können
(nur so nebenbei)
:?:
 

MartyMcFly

Foren Gott

Dabei seit: 04.06.2003

Beiträge: 3 137

 

2 Zum Seitenanfang

Donnerstag, 7. Mai 2009, 08:44

Das ist eine ganz normale Datenbank, wo soll das Problem sein?

Marty
 

zerc

Foren As

Dabei seit: 18.01.2004

Beiträge: 79

 

3 Zum Seitenanfang

Donnerstag, 7. Mai 2009, 17:37

ich habe hier zwei arten von datenbanken, einmal die sammlungen der technischen daten und einmal wo das alles drinne ist, also und das wo das drinne ist, kann man das so einfach mit mysql realisieren?

ps, wie sieht es mit den anderen sachen as?
hast du auch irgendwelche vorschläge für tutorials ?
wäre dir sehr dankbar dafür

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »zerc« (7. Mai 2009, 17:37)

 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

4 Zum Seitenanfang

Donnerstag, 7. Mai 2009, 18:15

genau für soetwas sind Datenbanken da und natürlich kann man soetwas mit mysql realisieren.

ein recht umfassendes Tutorial: http://reeg.junetz.de/DSP/

ist zwar schon etwas älter, behandelt aber die Problematik relationale Datenbanken ausführlich und umfassend.
Du solltest dir speziell mal die Normalformen ansehen, denn ich glaube, darin liegt der Schlüssel zu deinem Verständnissproblem. einen Datenbankentwurf erstellen: http://reeg.junetz.de/DSP/node7.html#SEC…000000000000000

Die 5 Normalformen : http://reeg.junetz.de/DSP/node7.html#SEC…000000000000000

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »ospx« (7. Mai 2009, 18:15)

 

zerc

Foren As

Dabei seit: 18.01.2004

Beiträge: 79

 

5 Zum Seitenanfang

Freitag, 8. Mai 2009, 08:05

hmm, damit kann man schon ne menge anfangen, soweit ich das nun verstanden habe müsste ich folgendermaßen vorgehen, ich habe also die ganzen technischen daten die einem motorrad z.b. angehören, dh einen primärschlüssel haben

R1 | 1000ccm | so und so viel gewicht | und weitere angaben
R6 | 600ccm | ....
CBR 600 | 600ccm | blabla | ...
CB 500 | 500ccm | bla | ...

das wäre eine tabelle und eine zweite müsste ich haben um die motorradnamen der marke zuzuordnen, dh

yamaha | R1 | R6
honda | CBR 600 | CB500
(da ich hier denke dass hier die schlüssel in einer zeile alle den selben primärschlüssel haben, kann man die so zusammenfassen)

wäre das so ungefähr zu realisieren? und dann müsste ich "einfach" diese datenbank auslesen aus mysql tabelle in eine html tabelle (wahrscheinlich mittels php) et voila.
stimmt das so weit ?
 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 997

 

6 Zum Seitenanfang

Freitag, 8. Mai 2009, 08:18

ja du musst nur ein extra schlüssel defenieren in der ersten und der 2en tabelle und dann noch ein fremdschlüssel in der 2en tabelle. ungefair so:

Tabelle: technische daten
ID | Model | Hubraum | ....
1 | R1 | 1000ccm | ....

Tabelle: motorrad

ID| TechnickId | Marke | Typ
1 | 1(ist die id aus technischen daten) | yamaha |R1
2 | 2 | yamaha | R6

bei der erstellung der Tabellen musste aber drauf achten dass du nicht den Tabellentyp MyIsam benutzt sondern InnoDb da MyIsam keine Fremdschlüssel unterstützt.

mit diesem tabellengerüst kannste dann zb marke auswählen, den typ und dann kommen die technische daten zu dem typ

MFG
Mein kleines Projekt
-Cruel Online-
 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

7 Zum Seitenanfang

Freitag, 8. Mai 2009, 12:25

Ergänzung:
eine laufende Id kann sehr einfach über autoincrement eingefügt werden.

Es ist sicherlich möglich, irgendwelche eindeutigen Daten bei den Typeangaben zu finden, die du als primär-Schlüssel verwenden könntest, jedoch einfacher und vielleicht für den Anfang sicherer und übersichtlicher ist es eine eigene ID einzuführen. Wenn du eine Spalte als "autoincrement" in der Tabellendefinition festlegst, kümmert sich MYSQL später selbst darum, eine eindeutige Ganzzahl(Integer) einzufügen . (NOT NULL AUTO_INCREMENT PRIMARY KEY)

Man könnte auch die TechnikId ("r1", "r2", etc) als Primärschlüssel für das betreffende Mottorrad-Modell verwenden, wenn sie eindeutig ist. Aber dann mußt du dich später selbst darum kümmern, dass der Schlüssel tatsächlich eindeutig ist.
Außerdem können Integer-Werte (Ganzzahlen) vom Datenbanksystem schneller durchsucht werden, als Zeichenketten. Vorallem bei sehr großen Datenmengen ist es wahrscheinlich besser, Ganzzahlen(Integer) als Primärschlüssel zu haben.

Ich würde auch zusätzlich eine Kreuztabelle einführen, in der HerstellerId und Motorrad-Id einander zugeordnet werden. Das mag auf den ersten Blick kompliziert wirken, du verhinderst damit aber tausendmal "yamaha" in der Tabelle , in der Motorrad und Hersteller zusammengefügt werden. Stattdessen werden hier nur die relativ kleinen ID's zusammengebracht.

Außerdem könntest du nun zusätzliche Daten, die eben nur den Hersteller betreffen (Firmenhauptsitz (eigentlich schon wieder eine eigene Tabelle) , Gründerjahr, Anzahl Werke ) in der Hersteller-Tabelle unterbringen
Du hast dann Tabellen, die etwa so aussehen:

Hersteller:

ID | name

1 | yamaha
2| bmw
3 | suzuki


motorrad:
---------

ID | xx | xx | xx
1| (das Datenblatt des Mottorrads)
2| yy | yx | yc | ...
3| bla | bly| blub ...

relationHerstellerMotorrad:
-------------------

ID_modell | ID_hersteller

5| 8
5 | 3
1 | 9
1 | 12
1 | 13
1 | 14
2 | 32
2 | 5
2 | 6



SQL:

MySQL-Abfrage(n)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE TABLE `motorrad` (
ID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
technikId VARCHAR( 20 ) NOT NULL ,
Modell VARCHAR( 255 ) NOT NULL ,
HerstellerId INT( 12 ) NOT NULL ,
Hubraum INT( 12 ) NOT NULL DEFAULT '0',
blabla VARCHAR( 255 ) NOT NULL
) TYPE = MYISAM ;

CREATE TABLE `Hersteller` (
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
name VARCHAR( 255 ) NOT NULL
# .. noch andere Herstellerdaten 
) TYPE = MYISAM ;


CREATE TABLE relationHerstellerMotorrad (
ID_modell INT NOT NULL ,
ID_hersteller INT NOT NULL
) TYPE = MYISAM ;
 

zerc

Foren As

Dabei seit: 18.01.2004

Beiträge: 79

 

8 Zum Seitenanfang

Freitag, 8. Mai 2009, 15:30

wow, das bringt mich um einiges weiter, vielen dank für die hilfe,
also in dem letzten post , die letzte dabelle ist einfach nur dazu da um die maschienen den herstellern zuzuordnen, stimt das so weit ?
ich werde mir mal den kompletten tutorial von
http://reeg.junetz.de/DSP/

reinziehen, einfach damit ich nichts auslasse und weil ich denke es recht nützlich ist, aber nur eine frage vorweg,
also es reicht aus, die datenbank einmal zu speisen mit den daten und man kann sie dann immer wieder abrufen wie man will?
(also CREATETABLE gehe ich mal von aus)

und noch eine sache ist mir eingefallen, wie ist es eigentlich, kann man mehrere tabellen in einer mysql-tabelle haben oder muss man für jede tabelle eigene db erstellen? weil ich möchte auch nach herstellungsjahr ordnen und man kann bestimmt auch durch die IDs und so das machen aber ob das so einfach funktioniert?
?(
 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

9 Zum Seitenanfang

Freitag, 8. Mai 2009, 21:31

Grundlegende Begriffserklärung:
DatenbankManagementsystem = Datenbankserver --> verwaltet Datenbanken
Datenbank != Tabelle --> in einer Datenbank können nahezu beliebig viele (naja, jedenfalls sehr viele) Tabellen enthalten sein.

Zitat

...die letzte dabelle ist einfach nur dazu da um die maschienen den herstellern zuzuordnen...
Genauso ist das gemeint.

Zitat

...die datenbank einmal zu speisen mit den daten und man kann sie dann immer wieder abrufen wie man will...
Ja sicher, das ist ja der Sinn des Ganzen. Ansonsten wären DB's ja reichlich sinnlos.

Zitat

CREATE TABLE
= erzeuge/ erstelle Tabelle => wird nur einmalig ausgeführt. Danach existiert die Tabelle ja. Zum abfragen gibt es andere Anweisungen in sql (= structured query language (= strukturierte Abfragesprache))
siehe : http://de.wikipedia.org/wiki/SQL
oder eines der vielen Tutorials zu MYSQL z.B http://tut.php-quake.net/de/mysql-tables.html
 

zerc

Foren As

Dabei seit: 18.01.2004

Beiträge: 79

 

10 Zum Seitenanfang

Freitag, 8. Mai 2009, 23:08

so ich hab mich durch den größten teil des tutorials von DSP von ospx gearbeitet und hab schon bischen plan von den sachen, zwei fragen hab ich noch im sinn.

1 : wenn man das herstellerjahr mit einbezieht, wo kommt das am besten hin? lohnt es sich für jedes jahr eine eigene tabelle zu erstellen oder macht man das einfach so (beispiel von vorhin)

Hersteller:

ID | name

1 | yamaha
2| bmw
3 | suzuki


motorrad:
---------

ID | xx | xx | xx | jahr
1| (das Datenblatt des Mottorrads)
2| yy | yx | yc | 2003
3| bla | bly| blub | 1956 ...

relationHerstellerMotorrad:
-------------------

ID_modell | ID_hersteller

5| 8
5 | 3
1 | 9
1 | 12
1 | 13
1 | 14
2 | 32
2 | 5
2 | 6

_____________________________

und die zweite frage :
ich möchte ein kleines cms haben um die tabelle zu speisen bzw zu erstellen, da es ziehmlich viele daten sein werden (zumindest in planung)
So,
das ding ist, dass ich gelesen habe, dass es am besten ist ein vorhandenes cms zu benutzen da die meisten profesionellen (was relativ ist denk ich mal) viel gegen hacker mit einbauen etc.
wäre es sicherer, wenn man ein kleines php zeugs auf dem eigenen rechner (offline sozusagen) hat und damit die online mysql datenbank speist?
(ich hoffe, ich nerve hier nicht zu sehr mit meinen fragen, finde aber nicht so viele objektive informationen diesbezüglich)
 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

11 Zum Seitenanfang

Samstag, 9. Mai 2009, 01:22

Zitat

...lohnt es sich für jedes jahr eine eigene tabelle zu erstellen oder macht man das einfach so (beispiel von vorhin)...

Dafür würde ich keine neue Tabelle erstellen. So, wie du das da hast, ist das gut, denke ich. Die "xx" im Beispiel stehen hier als Platzhalter für solche Spalten .

Du wirst vermutlich kein CMS finden, welches mit deiner individuellen Datenbank umgehen kann. Aber um Tabellen/Datensätze/Daten anzulegen, zu ändern oder zu löschen etc gibt es Tools wie PhpMyAdmin (ist auf dem webspace hier auch installiert unter: webspace-->Webspace-Einstellungen-->phpMyAdmin . Man kann damit in gewissen Maßen auch Daten einfügen, ändern oder löschen. Ist halt nicht sonderlich komfortabel.

Bei großen Datenmengen lohnt es sich sicherlich, sich dafür ein paar (php-) -scripte zu erstellen.
Zum Auslesen und Anzeigen der Daten wirst du auf alle Fälle einen solchen Ansatz gehen müssen, da CMS jeweils ihre eigene individuelle Datenbank-Struktur haben und mit Sicherheit nicht mit der deinigen Datenbank klar kommen können.

ps: das Tutorial ist nicht von mir, ich habe nur den Link gepostet.

Zitat

...(ich hoffe...
Nein, das ist der Sinn eines solchen Forums. Wer genervt ist, muß es ja nicht lesen oder antworten.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »ospx« (9. Mai 2009, 01:22)

 

zerc

Foren As

Dabei seit: 18.01.2004

Beiträge: 79

 

12 Zum Seitenanfang

Samstag, 9. Mai 2009, 11:54

aller klar, dann werde ich das mal in die tat umsetzen,
hmm, aber wie sieht es denn mit dem sicherheitsaspekt aus?
 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 997

 

13 Zum Seitenanfang

Samstag, 9. Mai 2009, 18:12

aller klar, dann werde ich das mal in die tat umsetzen,
hmm, aber wie sieht es denn mit dem sicherheitsaspekt aus?


den musste via php regeln. in der datenbank stehen nur daten die aufgerufen werden.auf die man über ein script zugreift du kannst die wichtigen daten verschlüsseln oder den script so konstruieren dass jemand nur auf bestimmte daten zugreifen kann. auf jedenfall kannste es so sagen, sobald niemand deine datenbank struktur, deine datensätze, deine ordnerstruktur, deine verschlüsselungsmethoden kennt, kann dir nichts passieren und wenn dir was passiert, sind deine daten wirklich so wichtig dass du sie so extrem schützen musst?

MFG
Mein kleines Projekt
-Cruel Online-
 

zerc

Foren As

Dabei seit: 18.01.2004

Beiträge: 79

 

14 Zum Seitenanfang

Samstag, 9. Mai 2009, 19:07

mhh, das ist natürlich n argument,
ich lege einfach mal los, mal schauen wie sich das entwickelt,
danke an alle für eure hilfe, hat mich sehr weit gebracht.
:thumbsup:
 

Skittles

Moderator

Dabei seit: 14.02.2004

Beiträge: 3 014

 

15 Zum Seitenanfang

Samstag, 9. Mai 2009, 19:16

Sonst natürlich Augen auf beim programmieren. Man kann, wenn man dem Grundsatz "Traue keinen Daten, die vom Benutzer kommen" arbeitet, folgt, viele Sicherheitsprobleme ausschließen, auch wenn es einem meist nicht ganz gelingt. Überprüfung der Daten ist aber ein A und O.

~!__/
..o.o

This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
 

anjas

Tripel-As

Dabei seit: 14.10.2008

Beiträge: 237

 

16 Zum Seitenanfang

Dienstag, 12. Mai 2009, 10:38

Hallo,

aus meiner bescheidenen Erfahrung heraus ist es gerade zu Beginn einer DB-Karriere einfacher und übersichtlicher, wenn man zunächst die DB-Struktur (Tabellen, Felder, etc.) auf Paper entwirft und nicht direkt anfängt diese in der jeweiligen Programmumgebung zu realisieren.
Viele Grüße
Anja
 

zerc

Foren As

Dabei seit: 18.01.2004

Beiträge: 79

 

17 Zum Seitenanfang

Montag, 8. Juni 2009, 22:28

Hi,
danke für deinen tipp,
ich habe mich mitlerweile ein wenig eingearbeitet und hab auch ein wenig plan (wie ich finde)
auf jeden fall hab ich das ganze nun einigermaßen realisiert, arbeite gerade am feintuning, dh die tabellen werden vervollständigt, ein wenig die sicherheit verbessert etc. parallel erstelle ich auch das design der seite, ist aber auch schon fast fertig.
 

Norvares

unregistriert

18 Zum Seitenanfang

Mittwoch, 10. Juni 2009, 17:11


ich habe mich mitlerweile ein wenig eingearbeitet und hab auch ein wenig plan (wie ich finde)


Mal ganz von deine Lernfähigkeit abgesehen hast du längst noch nicht genug Plan um alles optimal, im 1. Ansatz, abzubilden. Als ich mit 3 Freunden (alles Wirtschaftsinformatiker mit etwas Erfahrung im DB Design) ein kleines Projekt aufgebaut habe brauchten wir 3-5 Anläufe bis wir ein optimales DB Schema auf dem Papier abgebildet hatten.
Ich würde dir auch empfehlen einen Ansatz auf Papier zu bringen, den evtl. mit Bekannten zu besprechen und einige Tage später das ganze nochmal kontrollieren. Du findest garantiert Verbesserungspotential!

MfG

Norvares
 

zerc

Foren As

Dabei seit: 18.01.2004

Beiträge: 79

 

19 Zum Seitenanfang

Mittwoch, 1. Juli 2009, 16:36

ja da hast du natürlich recht, mir geht es hierbei mehr um spaß,
ich habe keine direkten freunde, die mir bei sowas helfen können,
daher muss ich das alleine machen, ich habe diverse tutorials gelesen
und mache einfach try and error.
selbstverständlich gibt es viele dinge die nicht optimal sind,
denke das wird früher oder später auch auf mich zurückkommen
aber ich habe mein projekt auch auf dem papier entworfen und
geplant.
soweit läuft es einigermaßen,
design steht bereits, hab das auf basis von wordpress gemacht und
binde die datenbank mit ein als template
mal schauen wie sich das entwickelt ;)
 

Ähnliche Themen