login  Naam:   Wachtwoord: 
Registreer je!
 Forum

database optimalizatie

Offline Ultimatum - 26/12/2006 05:12
Avatar van UltimatumPHP expert Ey,

Ik ben bezig met een site voor me vader en omdat hij nu alles met de hand invoert wil ik dat gaan vermakkelijken met een database. Alleen hij zit nu al tegen de 250 boeken en dat kan 3x zoveel worden dus wil niet over een half jaar tegen het probleem lopen dat er iets fout is met mijn tabllen 

Nu heb ik een paar vragen. Is het verstandig om een veld category in mijn tabel te hebben waar elke keer de categorie staat of een aparte tabel maken en daar alle categorieën en dan met een join werken?

Ook heb ik een veld prijs, maar welk veldtype kan je daar het best bij gebruiken? Had al wat geprobeerd (int, float ect..) maar dan pakte hij soms de punt niet of dan maakte hij van 3.50 > 3.5 etc..

En wat is het grote verschil tussen text en longtext? Heb gekeken om mysql.com en daar stond het aantal bytes (dacht ik) maar verder kon ik er niet wijs uitworden hoeveel meer/minder gegevens je nou in bijvoorbeeld een textveld kan stoppen ten opzichte van een longtextveld

Dit is de tabel.. graag reacties die mij verder op weg kunnen helpen 

  1. CREATE TABLE `books` (
  2. `bookid` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. `title` TEXT NOT NULL ,
  4. `publisher` TEXT NOT NULL ,
  5. `date` DATE NOT NULL ,
  6. `isbn` VARCHAR( 13 ) NOT NULL ,
  7. `description` LONGTEXT NOT NULL ,
  8. `numer` INT( 25 ) NOT NULL ,
  9. `price` VARCHAR( 50 ) NOT NULL
  10. ) ENGINE = MYISAM ;


bvd 

6 antwoorden

Gesponsorde links
Offline compudoc - 26/12/2006 08:28
Avatar van compudoc PHP beginner Het maakt niet uit of je de categorie elke keer gewoon in de tabel hebt staan. je zegt gewoon: select * from tabel where categorie = categorie

en het verschil tussen tekst longtext is het aantal tekens/bytes wat er in 1 rij kan worden opgeslagen. Ik raad longtext alleen aan als je heel erg lange berichten af en toe wilt typen anders gewoon text of mediumtext.
Offline marten - 26/12/2006 10:13
Avatar van marten Beheerder Ik zou voor de publisher een aparte tabel maken. En vervolgens je publisher_id in je boeken tabel verwerken. Verder moet je je prijs gewoon double doen. Die nul op het einde kan je wel met php doen.

Offline Stijn - 26/12/2006 11:12
Avatar van Stijn PHP expert een boek heeft toch ook een auteur en ik zie dat veld niet staan...
publish_year hetzelfde. De hoeveelste druk misschien ook. Deze tabel moet uitgebreider zijn hé want een boek bevat meer informatie.

Vervolgens zou ik dingen zoals categorie , publisher en andere dingen die meestal hetzelfde zijn aan een andere tabel linken. (zie JOINS)

stijn
Offline Ultimatum - 26/12/2006 11:36 (laatste wijziging 26/12/2006 11:37)
Avatar van Ultimatum PHP expert Stijn, het staat er niet bij vermeld maar het is allemaal van dezelfde schrijver maar zal het er bij zetten mocht het later weer andere schrijvers bij komen. En jij zegt dus 2 of meer tabellen minstens als ik het goed begrijp?

marten, is er niet een speciaal veld voor prijs dan, want soms kunnen er 2 maar soms ook maar 1 nul achter moeten bij de prijs (bijvoorbeeld) hoe...

compudoc, dat begrijp ik ook nog wel maar het het kan later verschil uitmaken qua snelheid met ongeveer 500 records nietwaar..
Offline marten - 26/12/2006 12:50
Avatar van marten Beheerder
Citaat:
marten, is er niet een speciaal veld voor prijs dan, want soms kunnen er 2 maar soms ook maar 1 nul achter moeten bij de prijs (bijvoorbeeld) hoe...


Double opslaan en dan later met sprintf(); de nullen erachter zetten voor op de site.
Offline Ibrahim - 26/12/2006 19:50
Avatar van Ibrahim PHP expert 250 boeken van dezelfde schrijver 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.208s