Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [MySQL] Structuur (https://forum.scholieren.com/showthread.php?t=1090811)

Syphon 31-01-2005 20:54

[MySQL] Structuur
 
Hallo

Voor school moet ik een webwinkel maken. Hier onder is de structuur van mijn MySQL database.

De pijlen zijn de links en waar een S achterstaat zijn de sleutels.
Nu is mijn vraag hoe moet ik het invoeren? Ik heb de codes voor de tabellen algeschreven maar de pijlen zijn relaties lijkt mij, hoe stel ik die vast in MySQL.

http://www.zorrie.nl/database.JPG

De codes zijn hieronder

MySQL Database aanmaken Creëren

1 Database aanmaken:
Create database database_webshop

2 Database openen
use database_webshop

2. Gegevens invoegen

Tabel artikel
create table artikel (
artikelnummer int(10)not null,
omschrijving varchar(40)not null,
fabrikantid int(10)not null,
primary key(artikelnummer));


Tabel groep
create table groep (
artikelnummer int(10)not null,
hoofdgroepid int(10)not null,
subgroepid int(10)not null,
primary key(artikelnummer));


Tabel hoofdgroep

create table hoofdgroep (
hoofdgroepid int(10)not null,
omschrijving varchar(20)not null,
);


Tabel subgroep

create table subgroep (
artikelnummer int(10)not null,
hoofdgroepid int(10)not null,
subgroepid int(10)not null,
);


Tabel fabrikant

create table fabrikant (
fabrikantid int(10)not null,
naam varchar(20)not null,
primary key(fabrikantid));


Tabel prijs

create table prijs (
artikelnummer int(10)not null,
verkoopprijs decimal(7,2)not null,
primary key(artikelnummer));

Fade of Light 31-01-2005 22:18

gewoon bij het invoeren ervoor zorgen dat de primaire keys/waarden gelijk zijn. Dus als je in tabel A een id=1 invoegt en die heeft een relatie met tabel B, dan daar ook de id=1 toevoegen.

Eigenlijk moet je een nieuwe tabel zetten met de keys van tabel A en keys van tabel B gecombineerd.

Stel:
Tabel A:
varA1(primaire sleutel), varA2,varA3,varA4 etc

Tabel B:
varB1(primaire sleutel),varB2,varB3,varB4, etc

Dan moet je een relatietabel hebben:
Tabel ArelatieB
varA1,varB1

en als een record in tabel A gerelateerd is aan een record in tabel B. Dan zet je de waarde van de variabele varA1 en die van varB1 van de records die aan elkaar gerelateerd zijn in tabel ArelatieB.

Maar als varA1 en varB1 toch id's zijn en altijd tegelijk oplopen, dan kan je die ArelatieB wegjassen en gewoon de id's direct synchroon laten lopen.

Als ik het goed heb...ben beetje moe nu :P

quotes are bad 31-01-2005 22:43

kan alleen bij InnoDB tabellen (in nieuwere MySQL versies)

http://dev.mysql.com/doc/mysql/en/ex...eign-keys.html

maar je hoeft relaties natuurlijk niet perse aan te geven bij het maken van je tabellen zoals fade of light zegt.. joinen kan altijd, maar de integriteit moet je dan zelf bewaken


Alle tijden zijn GMT +1. Het is nu 01:59.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.