Een database bestaat uit tabellen, die elk kolommen en rijen hebben. Elke rij (een tuple genoemd) is een gegevensset die van toepassing is op een enkel item, en elke kolom bevat kenmerken die de rijen beschrijven. In databasejargon worden deze kolommen attributen genoemd. Een databaseattribuut is een kolomnaam en de inhoud van de velden eronder in een tabel.
Attributen beschrijven entiteiten
Als u producten verkoopt en deze invoert in een tabel met kolommen voor ProductName, Price en ProductID, is elk van die koppen een attribuut. In elk veld onder die kopjes voert u respectievelijk de productnamen, prijzen en product-ID’s in. Elk van de veldinvoeren is ook een attribuut. Dit is logisch, aangezien de niet-technische definitie van een attribuut is dat het een kenmerk of kwaliteit van iets beschrijft. Hier is een voorbeeld van de vaak geciteerde Northwinds-database. Deze database bevat tabellen (ook wel entiteiten genoemd door databaseontwerpers) voor onder meer Klanten, Werknemers en Producten. De tabel Producten definieert de kenmerken van elk product. Deze omvatten een product-ID, naam, leveranciers-ID (gebruikt als een externe sleutel), hoeveelheid en prijs. Elk van deze kenmerken is een attribuut van de tabel (of entiteit) met de naam Producten. Een attribuut is een enkel gegeven in de tupel waartoe het behoort. Elke tupel is een dataset die van toepassing is op één item. De kolomnamen zijn de kenmerken van een product en vermeldingen in de kolommen zijn ook kenmerken van een product. Kant-en-klare voorbeelddatabases, zoals MySQL Sample Database van MySQL, zijn gratis te downloaden op internet. Werken met een van deze is een geweldige manier om te leren hoe databases werken.
Is een attribuut een veld?
Soms worden de termen “veld” en “attribuut” door elkaar gebruikt, en voor de meeste doeleinden zijn ze hetzelfde. Veld beschrijft echter een bepaalde cel in een tabel die op een rij wordt gevonden, en attribuut beschrijft een entiteitskenmerk in ontwerpzin. In de bovenstaande tabel is de Productnaam in de tweede rij: Chang. Dit is een veld. Bij het bespreken van producten in het algemeen is ProductName de productkolom. Dit is het attribuut.
Attributen definiëren
Attributen worden gedefinieerd in termen van hun domein. Een domein definieert de toegestane waarden die een attribuut kan bevatten. Dit omvat het gegevenstype, de lengte, waarden en andere details. Bijvoorbeeld het domein voor een attribuut ProductID kan een numeriek gegevenstype specificeren. Het attribuut kan verder worden gedefinieerd om een specifieke lengte te vereisen of om te specificeren of een lege of onbekende waarde is toegestaan. Meer weten over de essentie van databases? Onze gids Databases voor beginners is een goede plek om te beginnen.