De architectuur van de database omvat de volgende niveaus. Structuur van een moderne subd. Databasebestanden

Geïntegreerde schakeling (chip)- een miniatuur elektronisch apparaat bestaande uit grote hoeveelheid radio-elektronische elementen, structureel en elektrisch met elkaar verbonden. Typisch is een geïntegreerd circuit ontworpen om een ​​specifieke functie uit te voeren. In wezen combineert de microschakeling een soort van elektronisch circuit, waarbij alle elementen ( transistors , diodes, weerstanden, condensatoren) en de elektrische verbindingen daartussen zijn structureel op één chip gemaakt. Sinds de afmetingen individuele onderdelen heel klein (micro- en nanometers), dan op één kristal moderne ontwikkeling technologieën kunnen meer dan een miljoen elektronische componenten worden geplaatst.

Het concept van geïntegreerde schakeling heeft verschillende synoniemen: microschakeling, microchip, chip. Ondanks enkele eigenaardigheden in de definitie van deze termen en het verschil ertussen, worden ze in het dagelijks leven allemaal gebruikt om naar een geïntegreerd circuit te verwijzen. In het moderne elektronische apparaten een breed scala aan toepassingen, variërend van huishoudelijke apparaten voor complexe medische en wetenschappelijke elektrische apparaten is het moeilijk om een ​​apparaat te vinden dat geen gebruik maakt van geïntegreerde schakelingen. Soms vervult één chip bijna alle functies in een elektronisch apparaat.

Geïntegreerde schakelingen zijn op basis van verschillende criteria in groepen verdeeld. Door de mate van integratie: het aantal elementen dat op de chip is geplaatst. Op type signaal dat wordt verwerkt: digitaal, analoog en analoog-naar-digitaal. Afhankelijk van de technologie van hun productie en de gebruikte materialen - halfgeleider, film, enz.

Tegenwoordig is het niveau van technologische ontwikkeling in de productie geïntegreerde schakelingen bevindt zich op een zeer hoog niveau. Het verhogen van de mate van integratie en het verbeteren van de parameters van geïntegreerde schakelingen wordt niet belemmerd door technologische beperkingen, maar door processen die plaatsvinden op moleculair niveau in de materialen die voor de productie worden gebruikt (meestal halfgeleiders). Daarom wordt er onderzoek gedaan door fabrikanten en ontwikkelaars van microchips in de richting van het zoeken naar nieuwe materialen die deze zouden kunnen vervangen

Bezig wetenschappelijk onderzoek gewijd aan hoe een DBMS precies moet worden gestructureerd, werd voorgesteld verschillende manieren implementatie. De meest haalbare daarvan bleek het database-organisatiesysteem met drie niveaus te zijn, voorgesteld door het American Standards Committee ANSI (American National Standards Institute), weergegeven in figuur 1. 1:

Rijst. 1. ANSI-databasebeheersysteemmodel met drie niveaus

De architectuur omvat drie niveaus: intern, conceptueel en extern. IN algemeen overzicht ze zijn als volgt:

Interieur- dit is het niveau dat het dichtst bij de fysieke opslag ligt, d.w.z. geassocieerd met methoden voor het opslaan van informatie op fysieke apparaten opslag

Extern- het dichtst bij gebruikers, d.w.z. het houdt zich bezig met de manieren waarop gegevens aan individuele gebruikers worden gepresenteerd.

Conceptueel niveau- Dit gemiddeld niveau tussen de eerste twee; met andere woorden, dit is de centrale controlelink, waar de database het meest vertegenwoordigd is algemeen beeld, dat gegevens combineert die worden gebruikt door alle toepassingen die met een bepaalde database werken.

1. Niveau externe modellen- meest hoogste niveau, waarbij elk model zijn eigen ‘visie’ op de gegevens heeft. Dit niveau definieert het gezichtspunt van individuele gebruikers (applicaties) op de database. Elke applicatie ziet en verwerkt alleen de gegevens die die specifieke applicatie nodig heeft. Een werkverdelingssysteem maakt bijvoorbeeld gebruik van informatie over de kwalificaties van een werknemer, maar is niet geïnteresseerd in informatie over het salaris, het woonadres en het telefoonnummer van de werknemer, en omgekeerd: het is deze informatie die wordt gebruikt in het HR-subsysteem.

2. Conceptueel niveau - de centrale besturingslink, hier wordt de database gepresenteerd in de meest algemene vorm, die de gegevens combineert die worden gebruikt door alle applicaties die met deze database werken. In feite weerspiegelt het conceptuele niveau een gegeneraliseerd model van het onderwerpgebied (objecten uit de echte wereld) waarvoor de database is gemaakt. Zoals elk model, conceptueel model weerspiegelt alleen de significante, vanuit het oogpunt van verwerking, kenmerken van objecten in de echte wereld. Een conceptueel diagram is een definitie van een conceptuele representatie. In de meerderheid bestaande systemen een conceptueel diagram is eigenlijk weinig meer dan een simpele samenvoeging van het hele individu externe circuits Met extra fondsen veiligheids- en integriteitsregels.

3. Interne representatie is een representatie lager niveau de gehele databank. De interne representatie is, net als de externe en conceptuele, niet gerelateerd aan het fysieke niveau. Deze representatie gaat uit van een oneindige lineaire adresruimte. De interne representatie wordt beschreven met behulp van een intern schema, dat niet alleen definieert Verschillende types opgeslagen records, maar ook bestaande indexen, manieren om opgeslagen velden weer te geven, fysieke volgorde van opgeslagen records, enz.

Deze architectuur maakt logische (tussen lagen 1 en 2) en fysieke (tussen lagen 2 en 3) onafhankelijkheid mogelijk bij het werken met data. Logische onafhankelijkheid impliceert de mogelijkheid om één applicatie te veranderen zonder andere applicaties die met dezelfde database werken aan te passen. Fysieke onafhankelijkheid impliceert de mogelijkheid om opgeslagen informatie van het ene medium naar het andere over te dragen, terwijl de functionaliteit van alle applicaties die met een bepaalde database werken behouden blijft. Dit is precies wat er ontbrak bij het gebruik van bestandssystemen.

9. Relationeel databasemodel.

Theoretische basis Dit model was de relatietheorie, waarvan de basis werd gelegd door twee logici: de Amerikaan Charles Souders Peirce (1839-1914) en de Duitser Ernst Schroeder (1841-1902). In leerboeken over de theorie van relaties werd aangetoond dat de reeks relaties onder bepaalde speciale operaties gesloten is, dat wil zeggen dat het samen met deze operaties een abstracte algebra vormt. Deze belangrijkste eigenschap van relaties werd gebruikt relationeel model een taal voor gegevensmanipulatie ontwikkelen die verband houdt met de oorspronkelijke algebra. De Amerikaanse wiskundige E.F. Codd formuleerde in 1970 voor het eerst de basisconcepten en beperkingen van het relationele model, waarbij hij de reeks bewerkingen daarin beperkte tot zeven basisbewerkingen en één aanvullende bewerking.

De belangrijkste datastructuur in het model is een relatie. Daarom wordt het model relationeel genoemd (van de Engelse relatie).

Alle gegevens die bij het programmeren worden gebruikt, hebben hun eigen gegevens gegevenstypen.

Het relationele model vereist dat de gebruikte gegevenstypen eenvoudig zijn.

Laten we, om deze verklaring te verduidelijken, eens kijken met welke soorten gegevens gewoonlijk rekening wordt gehouden bij het programmeren. Normaal gesproken worden gegevenstypen in drie groepen verdeeld:

Eenvoudige gegevenstypen.

Gestructureerde gegevenstypen.

Referentiegegevenstypen.

Eenvoudige of atomaire gegevenstypen hebben geen interne structuur. Gegevens van dit type worden scalairen genoemd. Eenvoudige gegevenstypen omvatten de volgende typen: Logisch, String, Numeriek.

Verschillende programmeertalen kunnen deze lijst uitbreiden en verfijnen door typen toe te voegen zoals:

Echt.

Monetair.

Telbaar.

Interval.

Natuurlijk is het concept van atomiciteit vrij relatief. Dus, tekenreekstype gegevens kunnen worden gezien als een eendimensionale karakterarray, en hele soort gegevens - als een set bits. Het enige belangrijke is dat wanneer u hierop overschakelt laag niveau de semantiek (betekenis) van de gegevens gaat verloren. Als een string, die bijvoorbeeld de achternaam van een werknemer uitdrukt, wordt ontleed in een array van tekens, dan gaat de betekenis van zo'n string als geheel verloren.

Gestructureerde gegevenstypen zijn ontworpen om te specificeren complexe structuren gegevens. Gestructureerde gegevenstypen zijn opgebouwd uit samenstellende elementen, componenten genaamd, die op hun beurt structuur kunnen hebben. De volgende gegevenstypen kunnen als gestructureerde gegevenstypen worden beschouwd:

Arrays

Records (structuren)

Vanuit wiskundig oogpunt is een array een functie met een eindig domein. Beschouw bijvoorbeeld een eindige reeks natuurlijke getallen

een indexset genoemd. Weergave

van set tot set van reële getallen definieert eendimensionaal echte array. De waarde van deze functie voor een bepaalde indexwaarde wordt het overeenkomstige array-element genoemd. Multidimensionale arrays kunnen op dezelfde manier worden gedefinieerd.

Een record (of structuur) is een tupel van een of ander Cartesisch product van sets. Een record is in feite een benoemde, geordende reeks elementen, die elk tot een type behoren. Een record is dus een onderdeel van een set. Door nieuwe recordtypen te declareren op basis van bestaande typen, kan de gebruiker willekeurig complexe gegevenstypen construeren.

Wat gestructureerde datatypen gemeen hebben, is dat ze een interne structuur hebben die op hetzelfde abstractieniveau wordt gebruikt als de datatypen zelf.

Wanneer u met arrays of records werkt, kunt u de array of record zowel als één geheel manipuleren (volledige arrays of records maken, verwijderen, kopiëren) als element voor element. Voor gestructureerde gegevenstypen zijn er wel speciale functies- typeconstructors waarmee u arrays of records kunt maken van elementen van eenvoudiger typen.

Wanneer we met eenvoudige gegevenstypen werken, bijvoorbeeld numerieke, manipuleren we ze als ondeelbare hele objecten. Om te ‘zien’ dat een numeriek gegevenstype feitelijk complex is (een verzameling bits), moeten we naar een lager abstractieniveau gaan. Op het niveau programmacode het zal eruitzien als assemblage-inserts in de code in de taal hoog niveau of het gebruik van speciale bitsgewijze bewerkingen.

Een referentiegegevenstype (pointers) is ontworpen om de mogelijkheid te bieden om naar andere gegevens te verwijzen. Pointers zijn typisch voor proceduretalen, die het concept hebben van een geheugengebied voor het opslaan van gegevens. Een referentiegegevenstype is ontworpen voor het verwerken van complexe veranderende structuren, zoals bomen, grafieken en recursieve structuren.

Voor een relationeel datamodel is het type data dat gebruikt wordt niet belangrijk. De eis dat het gegevenstype eenvoudig moet zijn, moet zo worden opgevat dat in relationele operaties mag geen rekening mee worden gehouden interne structuur gegevens. Uiteraard moeten de handelingen die met de data als één geheel kunnen worden uitgevoerd beschreven worden, bijvoorbeeld data numeriek type kan worden toegevoegd, aaneenschakeling is mogelijk voor strings, enz.

Als we vanuit dit oogpunt bijvoorbeeld een array als één geheel beschouwen en geen element-voor-element-bewerkingen gebruiken, kan de array als een eenvoudig gegevenstype worden beschouwd. Bovendien kunt u uw eigen, hoe complex gegevenstype ook beschrijven mogelijke acties met dit soort gegevens, en als de operaties geen kennis vereisen van de interne structuur van de gegevens, dan zullen dit soort gegevens ook eenvoudig zijn vanuit het oogpunt van de relationele theorie. U kunt bijvoorbeeld creëren nieuw type - complexe getallen als een record van het formulier waar. Je kunt de functies van optellen, vermenigvuldigen, aftrekken en delen en alle bewerkingen met componenten beschrijven en deze alleen binnen deze bewerkingen uitvoeren. Als vervolgens alleen de beschreven bewerkingen worden gebruikt in acties met dit type, speelt de interne structuur geen rol en ziet het gegevenstype er van buitenaf uit als atomair.

Dit is precies hoe sommige post-relationele DBMS'en werken met willekeurig complexe gegevenstypen die door gebruikers zijn gemaakt.

Domeinen

In het relationele datamodel is het concept van datatype nauw verwant aan het concept van domein, dat kan worden beschouwd als een verduidelijking van het datatype.

Domein is semantisch concept. Een domein kan worden gezien als een subset van waarden van een bepaald gegevenstype die een specifieke betekenis hebben. Het domein kenmerkt zich door de volgende eigenschappen:

Een domein heeft een unieke naam (binnen de database).

Het domein is op sommige plekken gedefinieerd eenvoudig soort gegevens of op een ander domein.

Een domein kan een logische voorwaarde hebben die het mogelijk maakt een subset van gegevens te beschrijven die geldig zijn voor dat domein.

Het domein heeft een bepaalde semantische lading.

Een domein dat 'leeftijd van de werknemer' betekent, kan bijvoorbeeld worden omschreven als de volgende subset van de reeks natuurlijke getallen:

Het verschil tussen een domein en het concept van een subset is juist dat het domein de semantiek weerspiegelt die door het vakgebied wordt gedefinieerd. Er kunnen verschillende domeinen zijn die als subsets samenvallen, maar verschillende betekenissen hebben. De domeinen "Deelgewicht" en "Beschikbare hoeveelheid" kunnen bijvoorbeeld evengoed worden beschreven als een reeks niet-negatieve gehele getallen, maar de betekenis van deze domeinen zal anders zijn, en het zullen verschillende domeinen zijn.

De belangrijkste betekenis van domeinen is dat domeinen vergelijkingen beperken. Vanuit logisch oogpunt is het onjuist om waarden met elkaar te vergelijken verschillende domeinen, ook al zijn ze van hetzelfde type. Dit legt de semantische beperking van domeinen bloot. Het syntactisch correcte verzoek “geef een lijst van alle onderdelen waarvan het stukgewicht groter is dan de beschikbare hoeveelheid” komt niet overeen met de betekenis van de begrippen “hoeveelheid” en “gewicht”.

Het concept van een domein helpt bij het correct modelleren gebied. Bij het werken met echt systeem In principe is er een situatie mogelijk waarin het nodig is om op het hierboven gegeven verzoek te reageren. Het systeem zal een antwoord geven, maar het zal waarschijnlijk zinloos zijn.

Niet alle domeinen hebben een logische voorwaarde die de mogelijke waarden van het domein beperkt. In dit geval is de set mogelijke waarden voor het domein hetzelfde als de set mogelijke waarden voor het gegevenstype.

Concept. Een databasemanagementsysteem (DBMS) is een set taal- en softwaretools die zijn ontworpen voor het creëren, onderhouden en delen DB door veel gebruikers.

Een modern DBMS bevat software het creëren van databases (taal voor het beschrijven en manipuleren van gegevens, visuele hulpmiddelen, debuggers), hulpmiddelen voor het werken met gegevens en servicetools. Functies van DBMS-elementen: - de beschrijvingstaal wordt gebruikt om te transformeren logisch model naar fysiek; - de manipulatietaal implementeert bewerkingen op gegevens; - visuele middelen zijn betrokken bij het ontwerpproces van grafische objecten; - foutopsporingsprogramma's verbinden en testen blokken van het besturingsprogramma dat door de database is gemaakt; - hulpmiddelen voor het werken met de database bieden gebruiksvriendelijke interface met de gebruiker; servicetools omvatten andere programma's (Excel) om met de database te werken.

Architectuur. In de DBMS-omgeving kan het volgende worden onderscheiden. vijf hoofdcomponenten:

Hardware. Sommige DBMS'en zijn ontworpen om alleen met specifieke typen besturingssystemen of hardware te werken, terwijl andere met een breed scala aan besturingssystemen kunnen werken hardware en verschillende besturingssystemen. Om een ​​DBMS te kunnen exploiteren, is een bepaald minimum aan operationele en schijf geheugen, maar het is mogelijk niet voldoende om aanvaardbare systeemprestaties te bereiken.

Software. Dit onderdeel omvat het besturingssysteem, de software van het DBMS zelf, applicatieprogramma's, inclusief netwerksoftware als het DBMS op een netwerk wordt gebruikt. Meestal worden applicaties geschreven in talen van de derde generatie, zoals C, COBOL, Fortran, Ada of Pascal, of in talen vierde generatie, zoals SQL, waarvan de operators zijn ingebed in programma's in talen van de derde generatie.

Gegevens zijn het meest belangrijk onderdeel vanuit oogpunt eindgebruikers. De database bevat zowel operationele gegevens als metadata, d.w.z. "gegevens over gegevens".

Procedures, waaronder instructies en regels waarmee rekening moet worden gehouden bij het ontwerpen en gebruiken van een database: registratie in het DBMS; gebruik apart gereedschap DBMS of applicaties; het starten en stoppen van het DBMS; Creatie reservekopieën DBMS; het afhandelen van hardwarestoringen en software, inclusief procedures voor het identificeren van het defecte onderdeel, het corrigeren van het defecte onderdeel (bijvoorbeeld door een hardwarereparatietechnicus te bellen) en het herstellen van de database nadat de fout is opgelost; het veranderen van de tabelstructuur, het reorganiseren van een database die zich op meerdere schijven bevindt, manieren om de prestaties te verbeteren en methoden voor het archiveren van gegevens op secundaire opslagapparaten.

Gebruikers: databaseclients, databasebeheerder, applicatieprogrammeurs. Dit onderdeel wordt in meer detail besproken in hoorcollege nr. 9 (Databasebeheer)

Het subsysteem ontwerptools is een set tools die het ontwerp en de implementatie van databases en hun toepassingen vereenvoudigen. Normaal gesproken bevat deze set hulpmiddelen voor het maken van tabellen, formulieren, query's en rapporten.

Het verwerkingssubsysteem zorgt voor de verwerking van applicatiecomponenten die zijn gemaakt met behulp van ontwerptools. Access 2003 heeft bijvoorbeeld een component die een formulier bouwt en formulierelementen verbindt met tabelgegevens.

Het derde onderdeel van het DBMS, de kern ervan (DBMS Engine), fungeert als intermediair tussen het subsysteem van ontwerp- en verwerkingstools en gegevens. De database-engine ontvangt vragen van de andere twee componenten, uitgedrukt in tabellen, rijen en kolommen, en vertaalt deze vragen in opdrachten van het besturingssysteem die gegevens van het fysieke apparaat schrijven en lezen.

Microsoft introduceert twee verschillende motoren voor Access 2003: Jet Engine en SQL-server. De Jet Engine wordt gebruikt voor kleine persoonlijke en collectieve databases. De SQL Server-engine is ontworpen om grote bases gegevens.

35. Mogelijkheden die het DBMS biedt aan gebruikers. DBMS-prestaties.

De belangrijkste functies van een DBMS zijn onder meer: ​​Het onderhouden van een systeemcatalogus. De systeemcatalogus, of datadictionary, is een opslagplaats van informatie die de gegevens in de database beschrijft (in feite zijn het ‘gegevens over gegevens’ of metagegevens). Meestal binnen systeemmap De volgende informatie wordt opgeslagen: namen, soorten en maten van data-elementen; verbindingsnamen; integopgelegd aan de gegevens; namen van geautoriseerde gebruikers die toegang krijgen tot gegevens; extern, conceptueel en interne circuits en mappings daartussen; Statistieken zoals transactiepercentages en toegangstellingen tot databaseobjecten.

¨ Transactieondersteuning. Een transactie is een reeks acties die door een individuele gebruiker of applicatieprogramma worden uitgevoerd om toegang te krijgen tot de inhoud van een database of deze te wijzigen. Voorbeelden van transacties zijn onder meer het toevoegen aan de database, het bijwerken of verwijderen van informatie.

¨ Ondersteunt parallelle werking.

¨ Databaseherstel na storingen. Het tijdschrift is een speciaal onderdeel van de database, niet beschikbaar voor gebruikers DBMS en met speciale zorg onderhouden (soms worden twee exemplaren van het logboek ondersteund, die zich op verschillende fysieke schijven), dat records ontvangt van alle wijzigingen in het hoofdgedeelte van de database.

¨ Gegevenstoegangscontrole. Het DBMS moet over een mechanisme beschikken dat ervoor zorgt dat alleen geautoriseerde gebruikers toegang hebben tot de database.

¨ Ondersteunt gegevensuitwisseling. DBMS moet het werk in lokaal netwerk zodat in plaats van meerdere afzonderlijke databases voor elk individuele gebruiker men zou één gecentraliseerde database kunnen installeren en deze kunnen gebruiken als gedeelde bron voor alle bestaande gebruikers. Deze topologie wordt gedistribueerde verwerking genoemd.

¨ Ondersteuning van gegevensintegriteit. Database-integriteit betekent de juistheid en consistentie van de opgeslagen gegevens. Het kan worden beschouwd als een ander type databasebeveiliging.

¨ Ondersteunt data-onafhankelijkheid. Gegevensonafhankelijkheid wordt doorgaans bereikt door het implementeren van een ondersteuningsmechanisme voor weergaven of subschema's. Onafhankelijkheid van fysieke gegevens wordt vrij eenvoudig bereikt, omdat er meestal verschillende soorten toegestane wijzigingen zijn fysieke eigenschappen databases die op geen enkele manier de weergaven beïnvloeden.

Secundaire functies. ontworpen voor databasebeheer, database-import en -export, monitoring van de prestatiekenmerken en het gebruik van de database, statistische analyse, indexreorganisatie, herverdeling van geheugen.

Applicaties vervullen vijf hoofdfuncties: 1. Weergaven maken, lezen, bijwerken en verwijderen. 2. Weergaven opmaken. 3. Implementatie van beperkingen. 4. Het bieden van beveiligings- en controlemechanismen. 5. Implementatie van informatieverwerkingslogica. DBMS-prestaties worden beoordeeld:

Uitvoeringstermijn aanvragen; snelheid van zoeken naar informatie in niet-geïndexeerde velden; uitvoeringstijd van database-importbewerkingen vanuit andere formaten; snelheid van het maken van indexen en het uitvoeren van massabewerkingen zoals het bijwerken, invoegen en verwijderen van gegevens; Maximaal nummer parallelle toegang tot gegevens in multi-user-modus; tijd voor het genereren van rapporten. De prestaties van een DBMS worden beïnvloed door twee factoren: DBMS'en die de gegevensintegriteit bewaken, dragen extra belasting met zich mee die andere programma's niet ervaren; prestatie van eigen applicatieprogramma's sterk afhankelijk van een goed databaseontwerp en -constructie.

Wat is de naam van de reeks fundamentele structurele, functionele componenten verschillende databases, Dit complex in informatie wetenschap Het is gebruikelijk om architectuur te noemen, we nodigen u uit om dit concept, de soorten dergelijke complexen en hun indeling op drie niveaus grondig te analyseren.

Wat is dit?

Databasearchitectuur is een reeks structurele componenten van een database, evenals tools die zorgen voor hun interactie, zowel met elkaar als met de eindgebruiker en systeempersoneel.

Deze definitie weerspiegelt een van essentiële functies informatieopslagplaatsen - die de mogelijkheid bieden om database-informatie te abstraheren. Het vormt de huidige benadering van data-architectuur.

Vandaar ontstaat nieuwe vraag: wat is de essentie en het doel van data-abstractie? Deze (abstracties) worden door het systeem geleverd en zullen het belangrijkste middel zijn om de onafhankelijkheid van het onderhouden van informatieopslagplaatsen (met andere woorden: databases) te ondersteunen. verschillende groepen eindgebruikers. Dit wordt ook wel de data-onafhankelijkheid van het systeem genoemd.

Soorten databases

Het databasebeheer zal verschillend zijn, afhankelijk van het type van de laatste. Tegenwoordig zijn er twee soorten databases:

  • gecentraliseerd;
  • gedistribueerd.

We nodigen de lezer uit om vertrouwd te raken met de kenmerken van elke onderstaande variëteit.

Gecentraliseerde databases

Het belangrijkste verschil tussen deze databases: ze worden opgeslagen in het geheugen van één computersysteem. Maar als de database op zijn beurt een onderdeel is van computernetwerken, wordt gedistribueerde toegang tot databases mogelijk. Dat wil zeggen dat de database open zal staan ​​voor gebruikers van elektronische computers die op dit netwerk zijn aangesloten. Dergelijk gebruik is typisch voor lokale computersystemen die zijn gemaakt op basis van organisaties en bedrijven.

Gedistribueerde databases

Wat is belangrijk om te weten over gedistribueerde databasearchitectuur? Dergelijke databases bestaan ​​uit verschillende onderdelen die zijn opgeslagen in diverse computerséén netwerk. Misschien wordt de informatie hier gedupliceerd en overlapt. Handig genoeg hoeft de gebruiker van een gedistribueerde database niet te weten hoe de informatieopslagelementen zich in knooppunten bevinden vergelijkbaar netwerk. Meestal beschouwt hij dit informatiecomplex als één geheel.

Hoe werk je met zo’n database? Een gedistribueerd databasebeheersysteem (RDBMS) gebruiken. De systeemreferentie beschrijft de informatie in het datawarehouse en de basisprincipes van de plaatsing ervan op het netwerk. Op zijn beurt kan de map zelf worden ontleed en in verschillende knooppunten worden geplaatst gedeeld netwerk.

De componenten van een gedistribueerde database bevinden zich op afzonderlijke computers die ermee zijn verbonden. Ze worden bestuurd door hun eigen (lokale) DBMS van elektronische computerapparatuur. Wat belangrijk is om op te merken is dat lokale systemen het beheer van informatieopslagplaatsen hoeft niet hetzelfde te zijn in verschillende knooppunten van het gemeenschappelijke netwerk. De combinatie hiervan is echter verschillend lokale databases gegevens binnen uniform systeem- een zeer complex wetenschappelijk en technisch probleem. Om dit met succes op te lossen was een hele reeks experimentele maatregelen nodig, theoretische ontwikkelingen.

Typen databases, op basis van de manier waarop u er toegang toe krijgt

De database-architectuur zal ook verschillen in de manier waarop toegang wordt verkregen tot de informatie die in de repository is opgeslagen:

  • Lokale toegang.
  • Toegang op afstand (netwerk).

Bij het laatste type toegang wordt de architectuur van dergelijke systemen in nog twee varianten verdeeld:

  • Type bestandsserver.
  • Type client-server.

Nogmaals, we nodigen de lezer uit om de gepresenteerde variëteiten in meer detail te begrijpen.

DB "bestandsserver"

Een dergelijke architectuur van databasecomplexen omvat de selectie van een van de computernetwerkapparaten als centraal apparaat. Het wordt beschouwd als een bestandsserver. Op hoofd auto er wordt een gedeelde gecentraliseerde database opgeslagen. Andere netwerkapparaten fungeren als werkstations die gebruikerstoegang tot de hoofddatabase ondersteunen.

In een bestandsserversysteem heeft elke gebruiker de mogelijkheid om een ​​applicatie uit te voeren die zich op de hostmachine bevindt. Bovendien wordt alleen een kopie van dit programma op zijn apparaat geopend.

Op basis van gebruikersverzoeken worden bestanden uit de centrale database (die zich op de server bevindt) overgebracht naar computerwerkstations. Hier vindt de informatieverwerking plaats. Gebruikers die met een gedeelde database werken, hebben er een lokale kopie van op hun computer. Deze laatste wordt periodiek bijgewerkt omdat de hoofdopslag op de server wordt gevuld met nieuwe informatie.

Deze architectuur van databasesystemen is het meest typerend voor netwerken waarnaar klein getal gebruikers. Voor de implementatie ervan wordt het typische gebruik van persoonlijke DBMS (bijvoorbeeld Paradox, DBase) gebruikt. Het nadeel van de architectuur is van cruciaal belang lage prestatie systemen bij gelijktijdige toegang meerdere gebruikers naar dezelfde gegevens.

Client-server-database

Er wordt ook van uitgegaan dat er een machine op het netwerk is die de belangrijkste machine zal zijn. De client-server-databasearchitectuur heeft echter zijn eigen bijzonderheid. Hoofdcomputer slaat niet alleen een gecentraliseerde database op, maar verzorgt ook het grootste deel van de verwerking van de door de gebruiker vereiste gegevens.

De technologie verdeelt het systeem in twee delen: server en client. Deze laatste zal voorzien interactieve dienst en de serverruimte: informatiescheiding, gegevensbeheer, beveiliging en administratie.

Wat houdt architectuur in? client-server-databases gegevens? Klanttoepassing hier invullen en een verzoek versturen naar een externe servercomputer, waar de gecentraliseerde informatieopslag zich bevindt. Het (het verzoek) staat op een special geschreven SQL-taal- standaard voor servertoegang bij gebruik van relationele databases.

Na ontvangst van het verzoek wordt het doorgestuurd naar de SQL-server. Dit is de naam van het programma dat verantwoordelijk is voor het beheer van de externe database. Het zorgt voor de uitvoering van het verzoek en levert de klant daarvoor de benodigde resultaten.

Alle aanvraagverwerking hier vindt dus plaats op externe server. Om een ​​dergelijke architectuur te implementeren, is het noodzakelijk om DBMS op meerdere niveaus te gebruiken. Hun tweede naam is industrieel. Dergelijke DBMS'en zijn in staat een grootschalig informatiesysteem te organiseren dat bestaat uit: groot nummer gebruikers.

Drie niveaus van databasearchitectuur

De databasearchitectuur is verdeeld in drie hoofdniveaus - drie graden van beschrijving van database-elementen:

  • Extern. Op dit niveau informatie wordt waargenomen door gebruikers.
  • Interieur. Op dit niveau wordt informatie waargenomen door besturingssystemen en DBMS (databasebeheersystemen).
  • Conceptueel. Hier wordt het externe niveau van de databasesysteemarchitectuur in kaart gebracht met het interne niveau, waardoor de noodzakelijke onafhankelijkheid van elkaar wordt gewaarborgd.

We nodigen de lezer uit om meer in detail kennis te maken met elk van de bovengenoemde graden.

Extern niveau

Het externe niveau van de architectuur van databasesystemen is de informatievoorziening vanuit het perspectief van menselijke gebruikers.

Wat volgt hieruit? Het niveau beschrijft de gebruikerskant van de databases (met betrekking tot elke gebruiker). Het zal op zijn beurt bestaan ​​​​uit verschillende externe weergaven van informatieopslagplaatsen en databases.

Het handige is dat elke gebruiker hier te maken heeft met een beeld van de ‘echte wereld’ dat het meest bij hem past. De externe representatie zal alleen die entiteiten, verbindingen en attributen bevatten die interessant en nuttig zijn voor een bepaalde “gebruiker”.

U moet er niet van uitgaan dat attributen, entiteiten en relaties die niet nodig zijn voor de gebruiker, niet in de database voorkomen. Ze bestaan, maar de ‘gebruiker’ vermoedt meestal niet dat ze bestaan.

Met behulp van ANSI/SPARC-terminologie (American National Standards Institute) wordt de weergave van elke individuele gebruiker een externe weergave genoemd. Het zal de inhoud van de database bevatten - zoals een specifieke "gebruiker" deze ziet. Elke dergelijke externe representatie wordt gedefinieerd door extern systeem. Het bestaat ook uit het definiëren van een record van elk type dat aanwezig is in de externe representatie.

Conceptueel niveau

We blijven de architectuur van de server en databases analyseren. Het volgende niveau is conceptueel. Het bevat een algemeen overzicht van de informatieopslagplaats. Het beschrijft precies welke informatie in de database is opgeslagen, en wat de verbindingen zijn die deze verenigen.

Vanuit het oogpunt van de beheerder bevat de repository logische structuur DB. Dit niveau van databasearchitectuur is eigenlijk volledig zicht informatiebehoeften van de onderneming, die niet afhankelijk zullen zijn van enige overweging met betrekking tot de wijze of methodologie van de (informatie)opslag ervan.

Conceptuele niveau-elementen

We vermelden de componenten die op het conceptuele niveau van de architectuur worden gepresenteerd:

  • Een reeks entiteiten, hun attributen en verbindingen daartussen.
  • Beperkingen die aan de gegevens kunnen worden gesteld.
  • Semantische informatie over informatie in de database (gerelateerd aan de betekenis en betekenis ervan).
  • Informatie over maatregelen om de veiligheid van gegevensopslag te waarborgen en algemene ondersteuning van de integriteit ervan.

Het conceptuele niveau is ontworpen om elk van de externe representaties te ondersteunen. Elk toegankelijk voor de gebruiker informatie uit de database moet op dit niveau aanwezig zijn (of berekend kunnen worden). Houd er echter rekening mee dat informatie over gegevensopslagmethoden in het systeem hier niet wordt opgeslagen.

Intern niveau

En de laatste fase van de drielaagse databasearchitectuur. Hier is de fysieke weergave in de databasecomputer. Wat betekent het? De laag is bedoeld om de fysieke implementatie van de database te beschrijven. Bovendien bereikt het optimale prestaties en zorgt het voor een zuinig gebruik schijfruimte computer systeem.

Bevat een beschrijving van datastructuren, de organisatie van specifieke bestanden die worden gebruikt om informatieopslag op schijfruimten en opslagapparaten te implementeren. Hier, op intern niveau, werkt het DBMS samen met methoden, toegangsmethoden van besturingssystemen en hulpfunctionaliteit voor het opslaan en ophalen van informatierecords. Het doel van al het bovenstaande is om informatie op opslagapparaten te plaatsen, gegevens op te halen, indexen te maken, enz.

Hieronder zal dit zijn fysieke laag. Hij wordt al gecontroleerd besturingssysteem, echter nog steeds onder controle van het DBMS.

Interne niveau-elementen

Het interne niveau van de database slaat op de volgende informatie:

  • Over de verdeling van schijfruimte voor het opslaan van indexen en informatie.
  • Gedetailleerde beschrijving het opslaan van de record (waarbij de daadwerkelijke gegevensvolumes die worden opgeslagen worden aangegeven).
  • Informatie over het posten van posten.
  • Informatie over datacompressie en geselecteerde encryptietechnieken.

Je hebt kennis gemaakt met veelvoorkomende soorten en typen databasesysteemarchitecturen. We presenteerden ook de niveaus van DBMS-architectuur - extern, intern en conceptueel, hun kenmerken en elementen.