Inhoudsopgave:
Definitie - Wat betekent Codd's Rules?
De regels van Codd verwijzen naar een set van 13 regels voor databasebeheersystemen (0-12) ontwikkeld door EF Codd in 1969-1970. Hij ontwierp deze regels als de vereisten om een databasebeheersysteem (DBMS) te beschouwen als een relationeel databasebeheersysteem (RDBMS). Hoewel de regels aanvankelijk niet erg populair waren in commercieel gebruik, waren latere DBMS's gebaseerd op de regels van Codd. De regels van Codd worden ook wel de wet van Codd, de 12 regels van Codd of de 12 geboden van Codd genoemd.
Techopedia legt de regels van Codd uit
De 12 regels van CODD definiëren een ideale relationele database die tegenwoordig wordt gebruikt als richtlijn voor het ontwerpen van relationele databasesystemen. Hoewel geen enkel commercieel databasesysteem volledig voldoet aan alle 12 regels, interpreteren ze wel de relationele benadering. Hier zijn de 12 regels van de CODD: Regel 0: Funderingsregel: het systeem moet als relationeel worden gekwalificeerd, zowel als een database als als een beheersysteem. Regel 1: De informatieregel: Alle informatie in de database moet op één manier worden weergegeven (dat wil zeggen, als waarden in een tabel). Regel 2: De gegarandeerde toegangsregel: alle gegevens moeten logisch toegankelijk zijn via een combinatie van tabelnaam, primaire sleutelwaarde en kolomnaam. Regel 3: Systematische behandeling van null-waarden: een DBMS moet Null-waarden ondersteunen om ontbrekende informatie en niet-toepasselijke informatie op een systematische manier weer te geven, onafhankelijk van gegevenstypen. Regel 4: Actieve online catalogus op basis van het relationele model: de database moet de online relationele catalogus ondersteunen die toegankelijk is voor geautoriseerde gebruikers via hun reguliere querytaal. Regel 5: De uitgebreide subtaaltaalregel: de database moet ten minste één taal ondersteunen die lineaire syntaxisfunctionaliteit definieert, gegevensdefinitie en manipulatie, gegevensintegriteit en databasetransactiecontrole ondersteunt. Regel 6: De regel voor het bijwerken van de weergave: Gegevens kunnen worden weergegeven met behulp van verschillende logische combinaties die Weergaven worden genoemd. Alle weergaven die theoretisch kunnen worden bijgewerkt, moeten ook door het systeem kunnen worden bijgewerkt. Regel 7: Invoegen, bijwerken en verwijderen op hoog niveau: het systeem moet operators tegelijk inschakelen, bijwerken en verwijderen ondersteunen. Regel 8: Fysieke gegevensonafhankelijkheid: wijzigingen op fysiek niveau mogen geen impact hebben en vereisen dat een wijziging in het aanvraagprogramma wordt aangebracht. Regel 9: Logische gegevensonafhankelijkheid: wijzigingen in logisch niveau mogen geen invloed hebben en vereisen dat een wijziging in het applicatieprogramma wordt aangebracht. Regel 10: Integriteitsonafhankelijkheid: integriteitsbeperkingen moeten worden gedefinieerd en gescheiden van de applicatieprogramma's. Veranderende beperkingen moeten worden toegestaan zonder de applicaties te beïnvloeden. Regel 11: Distributieonafhankelijkheid: de gebruiker moet zich niet bewust zijn van de databaselocatie, dwz of de database al dan niet op meerdere locaties wordt gedistribueerd. Regel 12: De niet-subversieregel: als een systeem een taal op laag niveau biedt, mag er geen manier zijn om de integriteitsregels van taal op hoog niveau te ondermijnen of te omzeilen. Van alle regels is regel 3 de meest controversiële. Dit komt door een debat over driewaardige of ternaire, logica. De regels en SQL van Codd maken gebruik van ternaire logica, waarbij null wordt gebruikt om ontbrekende gegevens weer te geven en het vergelijken van alles met null resulteert in een onbekende waarheidsstatus. Wanneer echter beide booleans of operanden onwaar zijn, is de bewerking onwaar; daarom zijn niet alle ontbrekende gegevens onbekend, vandaar de controverse.