Momenteel zit ik met een dilemma over de naamgeving van velden in mijn tabellen.
Aan de ene kant wil ik veldnamen niet onnodig lang maken om de SQL queries overzichtelijk te houden. Ean de andere kant wil ik wel dat de velden een duidelijke naam hebben, voornamelijk om velden uit elkaar te houden bij JOINS.
Nu heb ik de volgende varianten bedacht:
Variant 1: lange veldnamen
Variant 2: korte veldnamen in beide tabellen hetzelfde
Dit gaat helaas niet werken, omdat ik hier maar 1 veld terug krijg (in MySQL).
Een alternatieve oplossing:
Variant 3: velden prefixen
Welke naamgeving gebruik je zelf en zou je tevens kunnen beargumenteren waarom je die naamgeving gebruikt?
Aan de ene kant wil ik veldnamen niet onnodig lang maken om de SQL queries overzichtelijk te houden. Ean de andere kant wil ik wel dat de velden een duidelijke naam hebben, voornamelijk om velden uit elkaar te houden bij JOINS.
Nu heb ik de volgende varianten bedacht:
Variant 1: lange veldnamen
code:
1
2
3
4
5
6
7
8
9
10
11
12
| CREATE TABLE producten ( ProductID smallint UNSIGNED NOT NULL auto_increment, CategorieID smallint UNSIGNED NOT NULL, ProductNaam varchar(50) NOT NULL, PRIMARY KEY(ProductID) ); CREATE TABLE categorie ( CategorieID smallint UNSIGNED NOT NULL, CategorieNaam varchar(50) NOT NULL, PRIMARY KEY(CategorieID) ); |
code:
1
2
| SELECT ProductNaam,CategorieNaam FROM producten INNER JOIN categorie USING(CategorieID) |
Variant 2: korte veldnamen in beide tabellen hetzelfde
code:
1
2
3
4
5
6
7
8
9
10
11
12
| CREATE TABLE producten ( ProductID smallint UNSIGNED NOT NULL auto_increment, CategorieID smallint UNSIGNED NOT NULL, Naam varchar(50) NOT NULL, PRIMARY KEY(ProductID) ); CREATE TABLE categorie ( CategorieID smallint UNSIGNED NOT NULL, Naam varchar(50) NOT NULL, PRIMARY KEY(CategorieID) ); |
code:
1
2
| SELECT p.Naam,c.Naam FROM producten AS p INNER JOIN categorie AS c USING(CategorieID) |
Dit gaat helaas niet werken, omdat ik hier maar 1 veld terug krijg (in MySQL).
Een alternatieve oplossing:
code:
1
2
| SELECT p.Naam AS ProductNaam,c.Naam AS CategorieNaam FROM producten AS p INNER JOIN categorie AS c USING(CategorieID) |
Variant 3: velden prefixen
code:
1
2
3
4
5
6
7
8
9
10
11
12
| CREATE TABLE producten ( ProductID smallint UNSIGNED NOT NULL auto_increment, CategorieID smallint UNSIGNED NOT NULL, pdtNaam varchar(50) NOT NULL, PRIMARY KEY(ProductID) ); CREATE TABLE categorie ( CategorieID smallint UNSIGNED NOT NULL, ctgNaam varchar(50) NOT NULL, PRIMARY KEY(CategorieID) ); |
code:
1
2
| SELECT pdtNaam,ctgNaam FROM producten INNER JOIN categorie USING(CategorieID) |
Welke naamgeving gebruik je zelf en zou je tevens kunnen beargumenteren waarom je die naamgeving gebruikt?
It’s nice to be important but it’s more important to be nice