database vraag

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3

Wouter J

Wouter J

10/05/2013 01:50:44
Quote Anchor link
ozzie, in sqlite is dat resteicted: de query wil mislukken zodra je tegen fl in gaat. Voor mysql zijn die vast wel snel op te zoeken
 
PHP hulp

PHP hulp

17/11/2024 23:32:37
 
Ozzie PHP

Ozzie PHP

10/05/2013 01:54:08
Quote Anchor link
Reshad, dank voor je reactie. Er valt nog weinig in kaart te brengen omdat ik de boel nog aan het opbouwen ben :) Maar dit stukje databse kwam even tussendoor.

"voor hetzelfde geld heb je helemaal geen fk nodig."

Wanneer is het gebruik van FK's dan aan te raden? De koppeling tussen klant en domein, daar zouden FK's toch al van pas komen?

@Wouter: "de query wil mislukken zodra je tegen fl in gaat" Wat is fl? :$

Toevoeging op 10/05/2013 01:55:57:

Ik lees trouwens dat InnoDB geen "full-text indexing" ondersteunt en MyISAM wel. Heeft dat met de doorzoekbaarheid van je database te maken?
 
Wouter J

Wouter J

10/05/2013 01:57:46
Quote Anchor link
Bij de opbouw is het juist al te laat met in kaart brengen. Eerst moet de architect een bouwtekening maken voordat de bouwvakker aan het werk kan. Zo moet jij ook eerst je db uitpluizen, in kaart brengen en uml diagrammen tekenen voordat je begint met nadenken over queries.

Zodra 2 tabellen een relatie hebben zal ik altijd fk gebruiken.

enne fl, das gewoon fk maar dan snel getyped op een te kleine toetsenbord ;)
 
Ozzie PHP

Ozzie PHP

10/05/2013 02:01:07
Quote Anchor link
Wouter, je hebt helemaal gelijk... alleen in de praktijk gaat het soms even anders ;)

"enne fl, das gewoon fk maar dan snel getyped op een te kleine toetsenbord ;)"

Lol... vooruit dan ;)

Maar dan nogmaals:

"de query wil mislukken zodra je tegen fk in gaat."

Wat houdt dit in... zodra je tegen de fk in gaat??
 
Wouter J

Wouter J

10/05/2013 02:04:23
Quote Anchor link
zodra je een customer verwijderd die nog een domain heeft, zodra je een customer wijzigt en het domain niet en zodra je een domain linkt aan een niet bestaande customer.
 
Ozzie PHP

Ozzie PHP

10/05/2013 02:08:15
Quote Anchor link
Ah, op die fiets. Als ik het goed begrijp mag je dus niet de PK verwijderen als die nog een FK ergens heeft, maar moet je eerst de FK verwijderen en daarna de PK. Begrijp ik het dan goed?

Ozzie PHP op 10/05/2013 01:54:08:

Toevoeging op 10/05/2013 01:55:57:

Ik lees trouwens dat InnoDB geen "full-text indexing" ondersteunt en MyISAM wel. Heeft dat met de doorzoekbaarheid van je database te maken?

Weet jij wat dit inhoudt? (Later toegevoegd, dus waars. had je deze gemist.)
 
Wouter J

Wouter J

10/05/2013 08:53:22
Quote Anchor link
Quote:
Begrijp ik het dan goed?

Waarschijnlijk wel, maar je legt het verkeerd uit. Elke tabel heeft een pk en als je 2 pks met elkaar verbind krijg je er een fk bij. Je kan een item uit de reference tabel (customers) niet vrrwijderen zodra die nog gelinkt is aan een domain. Behalve als je in de constraint de ON DELETE op CASCADE zet, dan zal het domain verwijderd worden die aan de customer is gelinkt.

Quote:
Weet jij wat dit inhoudt?

Als je de fulltext index gebruikt kun je heel snel en goed een dv doorzoeken. Op phptuts.nl staat er een hele goede tut over. Vanaf MySQL 5.6.4 heeft InnoDB support voor fulltext indexes
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/05/2013 09:49:49
Quote Anchor link
Wouter J op 10/05/2013 01:50:44:
ozzie, in sqlite is dat resteicted: de query wil mislukken zodra je tegen fl in gaat. Voor mysql zijn die vast wel snel op te zoeken

Het is al even geleden dat ik met SQLite heb gewerkt, en in de versie die ik toen gebruikte bestonden er nog FK's, maar
sqlite.org:
The ON DELETE and ON UPDATE action associated with each foreign key in an SQLite database is one of "NO ACTION", "RESTRICT", "SET NULL", "SET DEFAULT" or "CASCADE". If an action is not explicitly specified, it defaults to "NO ACTION".
Gewijzigd op 10/05/2013 09:52:31 door Ger van Steenderen
 
Wouter J

Wouter J

10/05/2013 09:55:27
Quote Anchor link
Hmm, dat is in strijd met de voorbeelden die ze hier geven: http://www.sqlite.org/foreignkeys.html
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/05/2013 09:59:46
Quote Anchor link
Lol, daar haal ik het ook vandaan.

Toevoeging op 10/05/2013 10:04:56:

Even, om Ozzie niet in verwarring te brengen, in MySQL is er geen verschil tussen RESTRICT en NO ACTION, en daar is RESTRICT de default.
 
Wouter J

Wouter J

10/05/2013 10:30:30
Quote Anchor link
Ik zal het eens testen. Misschien dat het restricted is als je fk in de CREATE TABLE query gebruikt en no action als je icm de constraints gebruikt (sqlite is wel zo'n taal die daar andere dingen zal doen...)
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/05/2013 10:58:21
Quote Anchor link
Een FK is een constraint, ook in sqlite.
Je kan dat gewoon weglaten in de DDL, maar ik prefereer om mijn eigen benamingen aan een constraint mee te geven, en dan moet ik het wel meegeven.
 
Ozzie PHP

Ozzie PHP

10/05/2013 13:40:23
Quote Anchor link
Wouter J op 10/05/2013 08:53:22:
Quote:
Begrijp ik het dan goed?

Waarschijnlijk wel, maar je legt het verkeerd uit. Elke tabel heeft een pk en als je 2 pks met elkaar verbind krijg je er een fk bij.

Dan heb ik het misschien toch niet goed begrepen. In mijn eerdere voorbeeld met de domeinnamen tabel, als ik in die tabel "klant_id" toevoeg, dan dacht ik dat dat een FK was. Klopt dat of begrijp ik het verkeerd?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
id   domein           klant_id
1    www.mijnsite.nl     1

Ik dacht nu dat klant_id een FK is??

Wouter J op 10/05/2013 08:53:22:
Als je de fulltext index gebruikt kun je heel snel en goed een dv doorzoeken. Op phptuts.nl staat er een hele goede tut over. Vanaf MySQL 5.6.4 heeft InnoDB support voor fulltext indexes

Ah oké, vreemd... ik kan in Easy Apache nog niet upgraden naar versie 5.6 :(
 
Reshad F

Reshad F

10/05/2013 13:50:30
Quote Anchor link
Ozzie in jou laatste voorbeeld is ID een PK en klant_id de foreign key. klant_id is een primary key maar niet in dit tabelletje maar wel in de tabel klant. je moet het zo zien een foreign key betekent dat die waarde ergens in een andere tabel een primary key is.
 
Ozzie PHP

Ozzie PHP

10/05/2013 14:05:26
Quote Anchor link
Ah oké, dan had ik het wel goed begrepen. Thanks Reshad!
 

Pagina: « vorige 1 2 3



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.