/ / Relationella databaser. Konceptet för en relationsdatabas

Databaser är relationella. Begreppet relationell databas

Framväxten av datateknik i vårModernitet markerade en informationsrevolution inom alla områden av mänsklig verksamhet. Men för att all information inte ska bli onödigt skräp på det globala Internet, har ett databasystem uppfunnits i vilket material sorteras och systematiseras, vilket gör dem lätta att hitta och skicka till efterföljande bearbetning. Det finns tre huvudtyper - allokera relationella, hierarkiska, nätverksdatabaser.

Grundläggande modeller

Återkommande till framväxten av databaser är det värtatt säga att denna process var ganska komplicerad, det tar sitt ursprung tillsammans med utvecklingen av programmerbar informationsbehandlingsutrustning. Därför är det inte förvånande att antalet modeller nu når mer än 50, men huvuddelen av dem anses vara hierarkiska, relationella och nätverk, som fortfarande används i stor utsträckning i praktiken. Vad representerar de?

Den hierarkiska databasen har ett trädstruktur och består av data av olika nivåer, mellan vilka det finns anslutningar. Nätverksdatabasmodellen är ett mer komplext mönster. Dess struktur påminner om en hierarkisk, och systemet utökas och förbättras. Skillnaden mellan dem är att den hierarkiska modellens ärftliga data kan förknippas med endast en förfader, och nätverket kan ha flera. Strukturen i en relationsdatabas är mycket mer komplicerad. Därför bör den demonteras mer detaljerat.

relationell databasstruktur

Det grundläggande begreppet relationsdatabas

Denna modell utvecklades på 1970-talet.Doktor i naturvetenskap Edgar Codd. Det är en logiskt strukturerad tabell med fält som beskriver data, deras relationer med varandra, de operationer som utförs på dem, och viktigast av allt - de regler som garanterar deras integritet. Varför heter modellen relationell? Det är baserat på förhållandet (från Lat. Relatio) mellan data. Det finns många definitioner av denna typ av databas. Relationstabeller med information är mycket enklare att organisera och injicera i bearbetning än i ett nätverk eller en hierarkisk modell. Hur man gör det? Det är tillräckligt att känna till funktionerna, modellens struktur och egenskaperna hos relationella tabeller.

begrepp av relationell databas

Processen för modellering och utarbetande av grundelementen

För att skapa egna DBMS, borde duanvänd ett av modelleringsverktygen, tänk igenom vilken information du behöver arbeta med, design tabeller och relationella enkla och multipla relationer mellan data, fyll i enhetceller och skapa primära, främmande nycklar.

Tabellmodellering och relationell designdatabaser görs med hjälp av gratisverktyg som Workbench, PhpMyAdmin, Case Studio, dbForge Studio. Efter en detaljerad design borde du spara den grafiskt färdiga relationsmodellen och översätta den till en färdig SQL-kod. I detta skede kan du börja arbeta med datasortering, bearbetning och systematisering.

relationell databasdesign

Funktioner, struktur och termer som är associerade med relationsmodellen

Varje källa beskriver dess element på egen väg, så för mindre förvirring skulle jag vilja ge en liten ledtråd:

  • relationell etikett = enhet;
  • Layout = Attribut = Fältnamn = Enhets kolumnrubrik;
  • entitet instans = tuple = rekord = rad av bordet;
  • attributvärde = entitetscell = fält.

relationell databasinmatning

För att navigera till egenskaperna hos en relationsdatabas måste du veta vilka grundläggande komponenter den består av och vad de är avsedda för.

  1. Essence. En relationsdatabasstabell kan vara en, eller det kan finnas en hel uppsättning tabeller som karakteriserar objekten som beskrivs på grund av de data som lagras i dem. De har ett fast antal fält och ett varierande antal poster. Tabellen i relationsdatabasmodellen består av rader, attribut och layout.
  2. En post är ett variabelt antal linjer som visar data som karaktäriserar objektet som beskrivs. Numreringen av inmatningar görs automatiskt av systemet.
  3. Attribut - Data som visar beskrivningen av enhetens kolumner.
  4. Field. Representerar en enhetskolumn. Deras nummer är ett fast värde som fastställts under skapandet eller modifieringen av ett bord.

relationell databas tabell

Nu, när du känner till de ingående elementen i tabellen, kan du gå till egenskaperna hos relationsdatabasmodellen:

  • Entiteterna i en relationsdatabas är tvådimensionella. På grund av den här egenskapen är det lätt att göra olika logiska och matematiska operationer med dem.
  • Ordningen av attributvärdena och -tecknen i ett relationsbord kan vara godtyckligt.
  • En kolumn inom ett enda relationstabell måste ha sitt eget individuella namn.
  • Alla data i en enhetskolumn har en fast längd och samma typ.
  • Varje post i huvudsak betraktas som ett dataelement.
  • Strängarnas beståndsdelar är unika. Det finns inga identiska rader i relationsenheten.

Baserat på egenskaperna hos ett relationellt DBMS är det tydligt att värdena på attribut måste vara av samma typ, längd. Tänk på egenskaperna hos attributvärdena.

Huvudegenskaper hos relationella databasfält

Fältnamn måste vara unika inomen enhet. De typer av attribut eller fält i relationsdatabaser beskriver vilken kategori av data som lagras i enhetsfält. Relationsdatabasfältet måste ha en fast storlek, beräknad i tecken. Parametrarna och formatet för attributvärdena bestämmer hur data korrigeras. Det finns också en sådan sak som "mask" eller "input template". Det är avsett att definiera ingångsdata-konfigurationen för ett attributvärde. Visst när du skriver fel typ av data i fältet ska du få ett felmeddelande. Även på fältelementen finns några begränsningar - villkoren för att kontrollera noggrannheten och noggrannheten i datainmatningen. Det finns ett obligatoriskt attributvärde som måste vara unikt fylld med data. Vissa attributsträngar kan fyllas med NULL-värden. Det är tillåtet att ange tomma data i fältattributen. Liksom felmeddelandet finns värden som automatiskt fylls i av systemet - det här är standarddatan. För att påskynda sökningen efter data, är ett indexerat fält ämnat.

relationsdatabasfälttyper

Diagram över en tvådimensionell relationell databastabell

Relationsdatabasschema
Attributnamn 1Attributnamn 2Attributnamn 3Attributnamn 4Attributnamn 5
Element_1_1Element_1_2Element_1_3Element_1_4Element_1_5
Element_2_1Element_2_2Element_2_3Element_2_4Element_2_5
Element_3_1Element_3_2Element_3_3Element_3_4Element_3_5

För en detaljerad förståelse av styrsystemetmodeller som använder SQL är bäst att överväga schemat genom exempel. Vi vet redan vad en relationsdatabas är. Posten i varje tabell är en dataobjekt. För att förhindra dataöverskridande är det nödvändigt att utföra normaliseringsoperationer.

Grundläggande regler för normalisering av relativ enhet

1. Värdet på fältnamnet för ett relationsbord måste vara unikt, ett av ett slag (den första normala formen är 1NF).

2. För en tabell som redan har konverterats till 1NF måste namnet på någon icke-identifierande kolumn vara beroende av tabellens unika identifierare (2NF).

3. För hela tabellen, som redan finns i 2NF, kan varje icke-identifierande fält inte bero på elementet i ett annat okänt värde (3NF-enhet).

Databaser: relationella relationer mellan tabeller

Det finns två huvudtyper av relationer av relationella tabletter:

  • "En till många." Det inträffar när en nyckelpost i tabell nr 1 motsvarar flera instanser av den andra enheten. Nyckelsymbolen i en av ändarna på den ritade linjen indikerar att enheten är på "en" sidan, den andra änden av linjen markeras ofta med en oändlighetssymbol.

relationella databaser

  • Ett "många-många" förhållande bildas om en uppenbar logisk interaktion med ett antal poster i ett annat bord uppstår mellan flera rader av en enhet.
  • Om mellan två enheter uppstårkonkatenering är "en till en", vilket innebär att nyckelbeteckningen för ett bord är närvarande i en annan enhet, då ska en av tabellerna tas bort, den är överflödig. Men ibland separerar programmerare medvetet två enheter uteslutande av säkerhetsskäl. Därför kan det hypotetiskt föreligga ett ett-till-ett-förhållande.

Förekomsten av nycklar i en relationsdatabas

Primär och sekundär nycklar definierarpotentiella databasrelationer. Relativrelationerna i datamodellen kan bara ha en potentiell nyckel, det här blir den primära nyckeln. Hur är han En primär nyckel är en enhetskolumn eller uppsättning attribut som låter dig komma åt data från en viss rad. Det måste vara unikt, unikt, och dess fält kan inte innehålla tomma värden. Om den primära nyckeln består av endast ett attribut, så kallas det enkelt, annars kommer det att vara en komponent.

Förutom den primära nyckeln finns det också en extern(främmande nyckel). Många förstår inte vad skillnaden är mellan dem. Låt oss analysera dem mer i detalj med ett exempel. Så det finns 2 bord: "Dekan kontor" och "Studenter". Enheten "Dekan Office" innehåller följande fält: "Student ID", "Full Name" och "Group". Tabellen "Elever" har sådana attributvärden som "Fullständigt namn", "Grupp" och "Genomsnittlig boll". Eftersom studenten ID inte kan vara samma för flera studenter, kommer detta fält att vara den primära nyckeln. "Fullständigt namn" och "Grupp" från "Student" -tabellen kan vara desamma för flera personer, de hänvisar till studenten ID-nummer från entiteten "Dean Entity", därför kan de användas som utländsk nyckel.

Provrelationsdatabasmodell

För tydligheten presenterar vi ett enkelt exempel på en relationsdatabasmodell bestående av två enheter. Det finns ett bord med namnet "Dean".

Essens "Dean"

Student ID

Fullständigt namn

Gruppen

111

Ivanov Oleg Petrovich

IN-41

222

Lazarev Ilya Aleksandrovich

IN-72

333

Konoplev Peter Vasilyevich

IN-41

444

Kushnereva Nataliya Igorevna

IN-72

Du måste hålla en anslutning för att fåfullständig relationell databas. Ingången "IN-41" och "IN-72" kan vara närvarande mer än en gång i skylten "Dekan Office", liksom efternamnet, namn och patronymik av elever i sällsynta fall kan sammanfalla, därför kan dessa fält inte utgöra en primär nyckel. Vi visar essensen av "studenter".

"Student" bordet

Fullständigt namn

Gruppen

Genomsnittlig boll

Telefonnummer

Ivanov Oleg Petrovich

IN-41

3,0

2-27-36

Lazarev Ilya Aleksandrovich

IN-72

3,8

2-36-82

Konoplev Peter Vasilyevich

IN-41

3,9

2-54-78

Kushnereva Nataliya Igorevna

IN-72

4,7

2-65-25

Som vi kan se, fälttyper av relationsdatabaserhelt annorlunda. Det finns både digitala poster och tecken. Därför ska du i attributinställningarna ange värdena heltal, char, vachar, datum och andra. I "Dean" -tabellen är endast student ID ett unikt värde. Detta fält kan tas som den primära nyckeln. Det fullständiga namnet, gruppen och telefonnumret för "Student" -enheten kan tas som en utländsk nyckel som refererar till student-id. Anslutning upprättad. Detta är ett exempel på en-till-en-modell. Hypotetiskt är en av tabellerna överflödig, de kan enkelt kombineras till en enhet. För att förhindra att student-IDer blir universellt kända är förekomsten av två tabeller ganska realistisk.

Läs mer: