Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Kurser för att lära mig webbutveckling

Tråden skapades och har fått 95 svar. Det senaste inlägget skrevs .
  • Medlem
  • Luleå
  • 2013-06-20 21:40

Hur ska jag nu tänka? Jag vill göra en databas över olika skateparker runt om i världen. Jag har tabellen skateparks som huvudtabell.

Tabellen skateparks :

  • skateparkId, som är primary key och autoincrement

  • skateparkname

  • size

  • buildyear

  • adress

  • postalcode

(kanske jag ska ha cityID och countryID också, men där är jag osäker)

Tabellen countries

  • skateparkId, som är primary key och autoincrement

  • countryname

  • capitalname

  • population

  • continent

  • mustsee

(kanske jag ska ha countryID också som autoincrement, men det funkade inte då skateparkID redan är autoincrement)

Tabellen cities

  • skateparkId, som är primary key och autoincrement

  • skateparkname

  • cityname

  • citypopulation

(kanske jag ska ha cityID också som autoincrement, men det funkade inte då skateparkID redan är autoincrement)

Jag tror jag måste ändra i tabellerna men är osäker på vad. Man ska ju joina dem så att de hänger ihop och nu hänger skateparkID ihop med både countries och cities. Vet inte om det är så bra. Vet någon hur jag ska tänka?

  • Medlem
  • Gällivare
  • 2013-06-22 21:16
Ursprungligen av KOL:

Hur ska jag nu tänka? Jag vill göra en databas över olika skateparker runt om i världen. Jag har tabellen skateparks som huvudtabell.

Tabellen skateparks :

  • skateparkId, som är primary key och autoincrement

  • skateparkname

  • size

  • buildyear

  • adress

  • postalcode

(kanske jag ska ha cityID och countryID också, men där är jag osäker)

Tabellen countries

  • skateparkId, som är primary key och autoincrement

  • countryname

  • capitalname

  • population

  • continent

  • mustsee

(kanske jag ska ha countryID också som autoincrement, men det funkade inte då skateparkID redan är autoincrement)

Tabellen cities

  • skateparkId, som är primary key och autoincrement

  • skateparkname

  • cityname

  • citypopulation

(kanske jag ska ha cityID också som autoincrement, men det funkade inte då skateparkID redan är autoincrement)

Jag tror jag måste ändra i tabellerna men är osäker på vad. Man ska ju joina dem så att de hänger ihop och nu hänger skateparkID ihop med både countries och cities. Vet inte om det är så bra. Vet någon hur jag ska tänka?

Jag skulle rekommendera att börja i liten skala. Börja med en bas databas som man får att fungera. Och sedan lägg till fler funktioner, som exempelvis, sökfunktion, bakup, editeringsmöjlighet (uppdatera data i tabellen , utan att vara inloggad i phpmysql...) pdf-funktion (få en automatiserad pdf-vy som kan skrivas ut) och annat som man vill ha. När jag gjorde databasen över Rakt Över Disc och DJ Clabbe , så gjorde jag först en liten bas som sedan utökades bit för bit. Den databasen kan man hitta på http://mh2.net63.net/

  • Medlem
  • Luleå
  • 2013-06-24 09:00

Japp, du har så rätt. Boken tog upp tre tabeller, authors, classics och customers i de 8 första kapitlen. Jag ville ju hänga med, så jag skapade också tre tabeller, de ovan. Det enda boken hittills har tagit upp angående hur man kopplar ihop de olika tabellerna är via koden

SELECT name,author,title from customers,classics
WHERE customers.isbn=classics.isbn

eller via natural join, join....on eller AS. Ingenting om foreign key, eller om det finns fler olika key´s att använda. Inte hittills i boken alltså. Däremot förklarar den normalisering ganska bra, och relationships. Känns som att det saknas några bitar. Någon som har tips om var jag kan läsa om hur man kopplar ihop tabeller i MySQL?

ps: Googlade på databasdesign och såg att det fanns en högskoleutbildning i just databasdesign på 7,5poäng. Hoppsan.

Jag vet ingenting om databaser så jag kanske bara krånglar till det, men...

Om du nu vill ha tre databaser för "skateparks", "countries" och "cities" så ska väl varje databas bara innehålla information om det som just den databasen är tänkt för? Och sen pekare till de andra databaserna.

Så om du har en skatepark som heter "LA Skate park" som ligger i Los Angeles så får du väl först se till att det finns en post i databasen "countries" för landet USA där du kan lägga in lite info om själva landet. Sen får du se till att det finns en post i databasen "cities" för staden Los Angeles där du lägger in lite info om själva staden, och har en pekare till USA. Och så en post i databasen "skateparks" för den specifika LA Skate park, med en pekare till staden Los Angeles. En hierarkisk uppbyggnad helt enkelt.

Varje bit information ska väl bara finnas på ett ställe. Om den informationen sen behövs någon annanstans så sker det genom pekare till andra databaser, inte genom att duplicera själva informationen.

Men jag kanske tänker helt fel.

  • Medlem
  • Luleå
  • 2013-06-24 11:15

Mm, jag tror det handlar om en databas och fler tabeller. Men jag kan ju också ha fel. Pekaren hoppas jag du menar med foreign key.

Jag har just raderat min databas för tredje gången och byggt upp den på nytt.(man lär sig faktiskt ganska mycket på sina egna misstag. Man börjar ju kunna vissa grejer som drop, insert OSV i sömnen). Nu har jag två tabeller och en foreign key däremellan. Sajten jag försökte använda mig av i den här övningen är
http://www.sitepoint.com/mysql-foreign-keys-quicker-database-development/

Bra på alla sätt och vis förutom att det inte nämndes något om hur man insertar information i de båda tabellerna. Här har jag ju naturligtvis fastnat igen då jag inte har den blekaste om hur jag får in information i kolumnen som är foreign key.
Det som i det här fallet är huvudtabellen måste ju vara employees, och där har man ett ID. Detta Id är sedan kopplat till tabellen borrowed som har kolumnen emplyeeid som foreign key.

När jag försöker inserta information i kolumnen med foreign key så får jag ett errormeddelande om "child", eller vad det nu var. Någon som har någon ide om hur man gör? Om jag först har fört in information i tabellen employees, huvudtabellen, hur i all-sin-dar ska då kolumnen som är foreign key i borrowed-tabellen kunna veta vem som lånat vad om jag inte får inserta information?

  • Medlem
  • Luleå
  • 2013-06-24 11:44

Nu gick det. Phu, jag skrev nog fel. Ber hemskt mycket om ursäkt.

Bevaka tråden