logo

Databaseschema

Een databaseschema is een structuur die de logische opslag van de gegevens in een database vertegenwoordigt . Het vertegenwoordigt de organisatie van gegevens en biedt informatie over de relaties tussen de tabellen in een bepaalde database. In dit onderwerp zullen we meer begrijpen over het databaseschema en de typen ervan. Voordat we het databaseschema begrijpen, moeten we eerst begrijpen wat een database is.

Wat is database?

A database is een plek om informatie op te slaan. Het kan de eenvoudigste gegevens opslaan, zoals een lijst met mensen, maar ook de meest complexe gegevens. De database slaat de informatie op in een goed gestructureerd formaat.

Wat is databaseschema?

  • Een databaseschema is de logische weergave van een database, die laat zien hoe de gegevens logisch in de gehele database zijn opgeslagen. Het bevat een lijst met attributen en instructies die de database-engine informeren over hoe de gegevens zijn georganiseerd en hoe de elementen aan elkaar gerelateerd zijn.
  • Een databaseschema bevat schemaobjecten die mogelijk het volgende bevatten: tabellen, velden, pakketten, weergaven, relaties, primaire sleutel, externe sleutel,
  • In werkelijkheid worden de gegevens fysiek opgeslagen in bestanden die mogelijk in ongestructureerde vorm zijn, maar om ze op te halen en te gebruiken, moeten we ze in een gestructureerde vorm plaatsen. Hiervoor wordt een databaseschema gebruikt. Het biedt kennis over hoe de gegevens in een database zijn georganiseerd en hoe deze met andere gegevens worden geassocieerd.
  • Het schema bevat fysiek de gegevens zelf niet; in plaats daarvan geeft het informatie over de vorm van gegevens en hoe deze gerelateerd kunnen worden aan andere tabellen of modellen.
  • Een databaseschemaobject omvat het volgende:
    • Consistente opmaak voor alle gegevensinvoer.
    • Databaseobjecten en unieke sleutels voor alle gegevensinvoer.
    • Tabellen met meerdere kolommen, en elke kolom bevat zijn naam en gegevenstype.
  • De complexiteit en de omvang van het schema variëren afhankelijk van de grootte van het project. Het helpt ontwikkelaars om de database eenvoudig te beheren en te structureren voordat deze wordt gecodeerd.
  • Het gegeven diagram is een voorbeeld van een databaseschema. Het bevat drie tabellen en hun gegevenstypen. Dit vertegenwoordigt ook de relaties tussen de tabellen en primaire sleutels, evenals externe sleutels.
Databaseschema

Typen databaseschema

Het databaseschema is onderverdeeld in drie typen, namelijk:

    Logisch schema Fysiek schema Bekijk schema
Databaseschema

1. Fysiek databaseschema

Een fysiek databaseschema specificeert hoe de gegevens fysiek worden opgeslagen op een opslagsysteem of schijfopslag in de vorm van bestanden en indexen. Het ontwerpen van een database op fysiek niveau wordt a genoemd fysieke schema .

2. Logisch databaseschema

Het logische databaseschema specificeert alle logische beperkingen die op de opgeslagen gegevens moeten worden toegepast. Het definieert de weergaven, integriteitsbeperkingen en de tabel. Hier de term integriteitsbeperkingen definieer de set regels die worden gebruikt door DBMS (databasebeheersysteem) om de kwaliteit voor het invoegen te behouden en de gegevens bij te werken. Het logische schema geeft weer hoe de gegevens worden opgeslagen in de vorm van tabellen en hoe de attributen van een tabel aan elkaar zijn gekoppeld.

Op dit niveau werken programmeurs en beheerders, en de implementatie van de datastructuur is op dit niveau verborgen.

Er worden verschillende tools gebruikt om een ​​logisch databaseschema te creëren, en deze tools demonstreren de relaties tussen de componenten van uw gegevens; dit proces wordt genoemd IS-modellering .

De ER-modellering staat voor entiteit-relatiemodellering, waarmee de relaties tussen verschillende entiteiten worden gespecificeerd.

We kunnen het begrijpen met een voorbeeld van een eenvoudige handelstoepassing. Hieronder ziet u het schemadiagram, het eenvoudige ER-model dat de logische transactiestroom in een commerciële toepassing weergeeft.

Databaseschema

In het gegeven voorbeeld worden de ID's in elke cirkel gegeven, en deze ID's zijn primaire sleutel en externe sleutels.

De primaire sleutel is gebruikt om de vermelding in een document of record uniek te identificeren. De ID's van de bovenste drie cirkels zijn de primaire sleutels.

De Vreemde sleutel wordt gebruikt als de primaire sleutel voor andere tabellen. De FK vertegenwoordigt de externe sleutel in het diagram. Het relateert de ene tabel aan de andere tabel.

3. Schema bekijken

Het ontwerp op weergaveniveau van een database staat bekend als schema bekijken . Dit schema beschrijft in het algemeen de interactie van de eindgebruiker met de databasesystemen.

Verschil tussen het fysieke en logische databaseschema

Fysiek databaseschema Logisch databaseschema
Het bevat niet de attributen. Het omvat de attributen.
Het bevat zowel primaire als secundaire sleutels. Het bevat ook zowel primaire als secundaire sleutels.
Het bevat de tabelnaam. Het bevat de namen van de tabellen.
Het bevat de kolomnamen en hun gegevenstypen. Het bevat geen kolomnaam of gegevenstype.

Database-instantie of databaseschema is hetzelfde?

De termen databaseschema en database-instances zijn aan elkaar gerelateerd en soms verwarrend omdat ze als hetzelfde worden gebruikt. Maar beide zijn verschillend van elkaar.

Databaseschema is een weergave van een geplande database en bevat niet daadwerkelijk de gegevens.

Aan de andere kant: een database-exemplaar is een soort momentopname van een daadwerkelijke database zoals deze op een bepaald moment bestond. Daarom varieert het of kan het worden gewijzigd afhankelijk van de tijd. Het databaseschema is daarentegen statisch en zeer complex om de structuur van een database te veranderen.

string omzetten in datum

Beide instanties en schema's zijn aan elkaar gerelateerd en beïnvloeden elkaar via het DBMS. DBMS zorgt ervoor dat elk database-exemplaar voldoet aan de beperkingen die de databaseontwerpers in het databaseschema hebben opgelegd.

Schema maken

Om een ​​schema te maken, worden in elk type database 'CREATE SCHEMA'-instructies gebruikt. Maar elk DBMS heeft hiervoor een andere betekenis. Hieronder leggen we uit hoe u een schema maakt in verschillende databasesystemen:

1. MySQL

In MySQL , de ' SCHEMA MAKEN '-instructie maakt de database. De reden hiervoor is dat in MySQL de instructie CREATE SCHEMA vergelijkbaar is met de instructie CREATE DATABASE, en dat schema een synoniem is voor de database.

2. Oracle-database

In Oracle Database is elk schema al aanwezig bij elke databasegebruiker. Daarom creëert CREATE SCHEMA niet daadwerkelijk een schema; het helpt eerder om het schema met tabellen en weergaven weer te geven en maakt het mogelijk toegang te krijgen tot die objecten zonder dat er meerdere SQL-instructies nodig zijn voor meerdere transacties. De instructie 'CREATE USER' wordt gebruikt om een ​​schema in Oracle te maken.

3. SQL-server

In de SQL server, creëert de instructie 'CREATE SCHEMA' een nieuw schema met de door de gebruiker opgegeven naam.

Ontwerpen van databaseschema's

Een schemaontwerp is de eerste stap in het leggen van een basis in databeheer. Ineffectieve schemaontwerpen zijn moeilijk te beheren en verbruiken meer geheugen en andere bronnen. Het hangt logischerwijs af van de zakelijke vereisten. Het is vereist om het juiste databaseschema-ontwerp te kiezen om de levenscyclus van het project te vergemakkelijken. Hieronder vindt u een lijst met enkele populaire databaseschema-ontwerpen:

    Plat model Hiërarchisch model Netwerkmodel Relationeel model Sterrenschema Sneeuwvlokschema

Plat model

Een plat modelschema is een type 2D-array waarin elke kolom hetzelfde type gegevens bevat en elementen binnen een rij aan elkaar gerelateerd zijn. Het kan worden opgevat als een enkele spreadsheet of een databasetabel zonder relaties. Dit schemaontwerp is het meest geschikt voor kleine applicaties die geen complexe gegevens bevatten.

Hiërarchisch model

Het hiërarchische modelontwerp bevat een boomachtige structuur. De boomstructuur bevat het hoofdknooppunt van gegevens en de onderliggende knooppunten. Tussen elk onderliggend knooppunt en bovenliggend knooppunt bestaat een één-op-veel-relatie. Een dergelijk type databaseschema's wordt gepresenteerd door XML- of JSON-bestanden, omdat deze bestanden de entiteiten met hun subentiteiten kunnen bevatten.

localdate java

De hiërarchische schemamodellen zijn het meest geschikt voor het opslaan van de geneste gegevens, zoals representatie Hominoïde classificatie.

Netwerkmodel

Het netwerkmodelontwerp is vergelijkbaar met het hiërarchische ontwerp, aangezien het een reeks knooppunten en hoekpunten vertegenwoordigt. Het belangrijkste verschil tussen het netwerkmodel en het hiërarchische model is dat het netwerkmodel een veel-op-veel-relatie mogelijk maakt. Het hiërarchische model daarentegen staat alleen een één-op-veel-relatie toe.

Het netwerkmodelontwerp is het meest geschikt voor toepassingen die ruimtelijke berekeningen vereisen. Het is ook geweldig voor het weergeven van workflows en vooral voor cases met meerdere paden naar hetzelfde resultaat.

Relationeel model

De relationele modellen worden gebruikt voor de relationele database, waarin gegevens worden opgeslagen als relaties van de tabel. Er zijn relationele operatoren die worden gebruikt om met gegevens te werken om er verschillende waarden uit te manipuleren en te berekenen.

Sterrenschema

Het sterschema is een andere manier van schemaontwerp om de gegevens te ordenen. Het is het meest geschikt voor het opslaan en analyseren van een grote hoeveelheid data, en het werkt op 'Feiten' en 'Dimensies'. Hier het feit is het numerieke gegevenspunt dat bedrijfsprocessen uitvoert, en Dimensie is een beschrijving van feiten. Met Star Schema kunnen we de gegevens van RDBMS .

Sneeuwvlokschema

Het sneeuwvlokschema is een aanpassing van een sterrenschema. Er is een hoofdtabel 'Feiten' in het sterrenschema die de belangrijkste gegevenspunten bevat en verwijst naar de dimensietabellen. Maar in Snowflake kunnen dimensietabellen hun eigen dimensietabellen hebben.