Domeinobjecten en verbindingen daartussen. Objecten en relaties daartussen

Alle objecten zijn actief.

Gebruikerscontrole van venstergroepen.

Taakgerichte venstertypen.

Onmiddellijke vastlegging van wijzigingen.

Dynamische pictogrammen die de staat van het object weergeven.

Directe manipulatie.

Objecten combineren.

Samenstelling van objecten en containers.

Meerdere consistente weergave van objecten.

De hierboven besproken kenmerken van grafische interfaces, evenals de DCD-technologie die ten grondslag ligt aan hun implementatie, vereisen het gebruik van een objectgeoriënteerde benadering voor GUI-ontwerp. Deze benadering omvat het gebruik van analogieën tussen softwareobjecten en objecten in de echte wereld. Vanuit het oogpunt van de gebruikersinterface zijn objecten niet alleen bestanden of pictogrammen, maar ook elk apparaat voor het opslaan en verwerken van informatie, inclusief cellen, alinea's, symbolen, enz., Evenals de documenten waarin ze zich bevinden.

Objecten, ongeacht of ze tot de echte wereld behoren of een computeruitvoering hebben, hebben bepaalde kenmerken die ons helpen begrijpen wat ze zijn en hoe ze zich in bepaalde situaties gedragen. De volgende concepten beschrijven de belangrijkste aspecten en kenmerken van objecten die een computeruitvoering hebben.

Objecteigenschappen... Objecten hebben bepaalde kenmerken of attributen die eigenschappen worden genoemd en die hun presentatie of mogelijke toestanden bepalen (bijvoorbeeld kleur, grootte, wijzigingsdatum). Eigenschappen zijn niet beperkt tot de uiterlijke of zichtbare kenmerken van het object. Ze kunnen hun interne organisatie of de huidige staat van het object weerspiegelen.

Bewerkingen op objecten... Alle acties die op (of op) een object kunnen worden uitgevoerd, worden als geldige bewerkingen beschouwd. Het verplaatsen of kopiëren van een object zijn voorbeelden van bewerkingen. De gebruiker kan bewerkingen op objecten uitvoeren met behulp van een of ander mechanisme dat door de interface wordt geboden (opdrachtbesturing of directe manipulatie).

Communicatie (relatie) tussen objecten... Elk object interageert op de een of andere manier met andere objecten. In veel gevallen kan de relatie tussen objecten worden beschreven als een relatie van een bepaald type.

Soorten koppelingen tussen objecten.

De meest voorkomende typen relaties zijn verzamelingen, beperkingen en composities.

Kit is het eenvoudigste type relatie, dat de aanwezigheid van enkele gemeenschappelijke eigenschappen van objecten weerspiegelt. De resultaten van een zoekopdracht (zoeken op patroon) of bewerking van meervoudige selectie van objecten zijn voorbeelden van het gebruik van dit type relatie. Een belangrijk voordeel van dit type relatie is dat u bewerkingen kunt specificeren die naar een specifieke set objecten moeten verwijzen.

Unie weerspiegelt een nauwere relatie tussen objecten waarbij het veranderen van een object een ander object in de set beïnvloedt. Het eenvoudigste voorbeeld van een dergelijke relatie is het wijzigen van het formaat van een aangrenzende pagina bij het toevoegen van tekst op de vorige pagina.

Samenstelling vindt plaats wanneer de aggregatie van verschillende objecten kan worden beschouwd als een nieuw object met zijn eigen set eigenschappen en toegestane bewerkingen. Een kolom met cellen in een tabel en een alinea in een tekst zijn voorbeelden van composities.

Een ander veelvoorkomend type relatie tussen objecten is een container.

container is een object dat andere objecten bevat (een afbeelding in een document of een document in een map kan bijvoorbeeld worden beschouwd als onderdeel van de inhoud van de bijbehorende container). De eigenschappen van een container hebben vaak invloed op het gedrag van de inhoud. Deze invloed kan bestaan ​​uit het uitbreiden of onderdrukken van bepaalde eigenschappen van de objecten die het bevat, of uit het wijzigen van de lijst met toegestane bewerkingen. Bovendien regelt de container de toegang tot de inhoud en het type (formaat) conversie van het object dat het bevat. Dit kan met name het resultaat van het overbrengen van een object van de ene container naar de andere beïnvloeden.

De hierboven overwogen aspecten maken het noodzakelijk dat elk object wordt toegewezen aan een of ander type (klasse) objecten. Objecten van hetzelfde type hebben vergelijkbare eigenschappen en gedrag.

De basistypen interface-objecten vormen de fundamentele klassen van alle objecten die door het besturingssysteem worden geleverd. Er zijn drie hoofdtypen objecten: gegevensobjecten, containerobjecten en apparaatobjecten.

Veel objecten hebben kenmerken die tot meer dan één klasse behoren (bijvoorbeeld de Inbox: container- en apparaateigenschappen). Daarom moet u een goed begrip hebben van de klassen van interface-objecten en hun gedrag. Objecten moeten voldoen aan de verwachtingen van gebruikers met betrekking tot de acties die ze uitvoeren, dat wil zeggen bepalen welke weergaven deze kunnen weergeven en wijzigen. Containerobjecten moeten weergaven bieden die overeenkomen met andere containers, apparaatobjecten moeten weergaven bieden die inherent zijn aan een bepaald apparaat en compatibel zijn met andere.

Data-objecten geven informatie aan gebruikers. Ze kunnen elk type informatie vertegenwoordigen, zoals tekst, spreadsheets, afbeeldingen, muziek, opgenomen spraak, video, animatie of een combinatie hiervan. Omdat data-objecten over het algemeen productgericht zijn, definiëren ontwerpgidsen geen specifieke data-objecten. Dit is de taak van softwareontwerpers.

Grondbeginselen van informatiesystemen. Gegevensbestand.

Plan.

1. Basisconcepten.

2. Classificatie van databases.

3. Gegevensmodellen.

4. Informatieobjecten en verbindingen.

5. Databases ontwerpen.

6. Samenstelling van het databasebestand. DBMS-architectuur.

7. Tabellen koppelen. Data-integriteit.

8. Soorten verzoeken. Structuur van verzoeken.

Basisconcepten.

In de geschiedenis van de ontwikkeling van computertechnologie waren er twee hoofdrichtingen voor de toepassing ervan.

De eerste omvat het uitvoeren van grote numerieke berekeningen die handmatig moeilijk of onmogelijk zijn. De ontwikkeling van dit gebied heeft bijgedragen aan de versnelling van de ontwikkeling van methoden voor wiskundige modellering, numerieke methoden, programmeertalen op hoog niveau die zijn ontworpen voor een gemakkelijke weergave van computationele algoritmen.

De tweede richting hangt samen met het gebruik van computertechnologie voor het creëren, opslaan en verwerken van grote hoeveelheden gegevens. Dergelijke taken zijn opgelost Informatie Systemen(IS). Deze omvatten zoek-, referentie-, banksystemen, geautomatiseerde bedrijfsbeheersystemen.

Het eerste type taken wordt gekenmerkt door grote hoeveelheden rekenwerk met relatief kleine geheugenvereisten. Integendeel, taken van het tweede type vereisen grote hoeveelheden extern geheugen met relatief kleine berekeningen. Het tweede toepassingsgebied ontstond iets later dan het eerste. Dit komt door het feit dat in de eerste stadia het externe geheugen van computersystemen onvolmaakt was, d.w.z. betrouwbare opslag van grote hoeveelheden data was niet mogelijk.

Om de verwerking van informatie te vergemakkelijken, worden informatiesystemen in het leven geroepen. Informatie Systeem is een hardware- en softwarecomplex dat de volgende functies biedt:

· Invoer van gegevens over objecten van een bepaald vakgebied;

· Betrouwbare opslag en bescherming van gegevens in het externe geheugen van het computersysteem;

· Toevoeging, verwijdering, wijziging van gegevens;

· Sorteren, gegevensselectie volgens gebruikersverzoeken;

· Implementatie van informatietransformaties specifiek voor een bepaald vakgebied;

· Gebruikers een gebruiksvriendelijke interface bieden; gegevensverzameling en rapportage.

De hoeveelheid gegevens in een IC kan in de miljarden bytes lopen. Vandaar de behoefte aan apparaten die grote hoeveelheden gegevens in een extern geheugen opslaan. Het aantal IS-gebruikers kan oplopen tot tienduizenden, wat veel problemen oplevert bij de implementatie van efficiënte algoritmen voor het functioneren van IS. Deze taken worden met succes opgelost als de gegevens in het informatiesysteem gestructureerd.

Voorbeeld gestructureerde gegevens - studentengroep. Elk lid van de groep is in veel opzichten individueel en kan van verschillende kanten worden gekarakteriseerd. Maar het decanaat zal hoogstwaarschijnlijk geïnteresseerd zijn in de volgende gegevens (vakgebied): achternaam van de student, voornaam, patroniem, cursus, groepsnaam, een reeks cijfers in de bestudeerde disciplines. Dus uit de hele verscheidenheid aan gegevens worden er slechts enkele geselecteerd, d.w.z. er wordt een informatiemodel van het object gemaakt. De gegevens worden op volgorde gesorteerd, volgens de soorten (formaten) gegevens die worden gebruikt, waarna ze kunnen worden verwerkt door een automatische machine, een computer.

Een verzameling van onderling gerelateerde gegevens wordt genoemd data structuur... Een reeks gestructureerde gegevens met betrekking tot één vakgebied wordt genoemd databank (DB) ... De reeks programma's die IS-functies in een gebruiksvriendelijke vorm in de database implementeren, wordt genoemd databasebeheersysteem (DBMS)... Programma's die specifieke verwerkingen van gegevens in een database uitvoeren, vormen een applicatiepakket (APP). Dus we kunnen concluderen dat: IK P is een organisatorische combinatie van hardware (AO), een of meer databases (DB), een databasebeheersysteem (DBMS) en applicatiepakketten (PPP).

Databaseclassificatie.

Door verwerkingstechnologie DB-gegevens zijn onderverdeeld in gecentraliseerd en gedistribueerd.

gecentraliseerd De database wordt volledig opgeslagen in het geheugen van één computersysteem. Als het systeem onderdeel is van een netwerk, is toegang tot deze database van andere systemen mogelijk.

Verdeeld Een database bestaat uit meerdere, elkaar mogelijk overlappende of duplicerende databases die zijn opgeslagen in het geheugen van verschillende computersystemen die op een netwerk zijn aangesloten.

Volgens de methode van toegang tot de gegevens zijn de databases onderverdeeld in lokale en externe (netwerk)toegang.

Lokale toegang gaat ervan uit dat het DBMS de DB verwerkt die op hetzelfde computersysteem is opgeslagen.

Toegang op afstand- dit is een beroep op de database, die is opgeslagen op een van de in het computernetwerk opgenomen systemen. Toegang op afstand kan worden uitgevoerd op een file-server of client-server basis.

Bestandsserver-architectuur omvat de toewijzing van een van de computers in het netwerk (server) voor het opslaan van een gecentraliseerde database. Alle andere computers op het netwerk (clients) spelen de rol van werkstations die het vereiste deel van de gecentraliseerde database naar hun geheugen kopiëren, waar de verwerking plaatsvindt. Met een hoge intensiteit van verzoeken aan de gecentraliseerde database neemt de belasting van de netwerkkanalen echter toe, wat leidt tot een afname van de prestaties van de IS als geheel.

Client-server-architectuur gaat ervan uit dat de server die is bedoeld voor het opslaan van de gecentraliseerde database, bovendien clientverzoeken verwerkt. Klanten ontvangen reeds verwerkte gegevens via het netwerk. Rekening houdend met het wijdverbreide gebruik van databases op verschillende gebieden, is de client-server-architectuur recentelijk ook gebruikt op afzonderlijke computersystemen. In dit geval stuurt het clientprogramma, dat gegevens uit de database nodig heeft, een verzoek naar de server - het programma dat het databaseonderhoud beheert, in een speciale universele querytaal. De server stuurt op zijn verzoek de programmagegevens die het resultaat zijn van een zoekopdracht in de database. Deze methode is handig omdat het clientprogramma niet verplicht is om alle functies van het onderhouden en onderhouden van de database te bevatten, dit; de server heeft de leiding. Hierdoor is het eenvoudiger om clientprogramma's te schrijven en kan een willekeurig aantal clients toegang krijgen tot de server.

Gegevens modellen.

Voor de implementatie van de belangrijkste functies in de IS worden verschillende principes van databeschrijving gebruikt. De kern van elke database is: gegevenspresentatiemodel.

Gegevensmodel definieert de logische structuur van gegevens die zijn opgeslagen in de database (dat wil zeggen, de introductie van enkele conventies over hoe gegevens worden gepresenteerd) en de relatie daartussen.

De belangrijkste modellen voor gegevenspresentatie zijn onder meer:

hiërarchisch

Netwerk

relationeel

Post-relationeel

multidimensionaal

Objectgericht

Het meest wijdverbreide is het relationele datamodel, het is het meest universele en andere modellen kunnen ertoe worden herleid. Het relationele datamodel is gericht op het organiseren van gegevens in de vorm van tweedimensionale tabellen.

Het belangrijkste concept van relationele datamodellen is: essence. De essentie is een object van welke aard dan ook, waarvan gegevens in de database worden opgeslagen. Gegevens over entiteiten worden opgeslagen in tweedimensionale tabellen, die worden genoemd relationeel.

Elke relationele tabel moet de volgende eigenschappen hebben:

· Eén tabelelement - één gegevenselement;

· Elke kolom van de tabel bevat gegevens van hetzelfde type (geheel getal, numeriek, tekst, enz.);

· Elke kolom heeft een unieke naam;

· Het aantal kolommen wordt ingesteld bij het maken van een tabel;

· De volgorde van records ten opzichte van elkaar kan willekeurig zijn;

· Records mogen niet worden herhaald;

· Het aantal records in verband is niet beperkt.

Objecten, hun onderlinge verbanden en relaties worden gepresenteerd in de vorm tafels... Formele constructie van tabellen is gerelateerd aan het fundamentele concept houding(termijn relationeel komt van het engelse woord relatie- houding).

Voor gegeven willekeurige eindige verzamelingen М 1, М 2, ..., MN, de verzameling van alle mogelijke verzamelingen van de vorm (μ 1, μ 2, ..., μ Ν), waarbij μ 1 Є М 1, μ 2 Є М 2, ..., μ Ν Є MN noem ze het cartesiaanse product М 1 × М 2 × ... × MN. de relatie R gedefinieerd op de verzameling M 1, M 2, ..., M N is een deelverzameling van het cartesiaanse product M 1 × M 2 × ... × M N. Bovendien worden de verzamelingen М 1, М 2, ..., M N genoemd domeinen relaties, en de elementen van het cartesiaanse product zijn: tupels relatie. Het getal N bepaalt rang relaties, het aantal tupels is zijn stroom.

In een relationele tabel is elke kolom een ​​domein (de alternatieve naam veld), en de verzameling elementen van elke rij is een tupel (of opnemen).

De titelbalk heet relatieschema.

Bijvoorbeeld, kan het STUDENT-relatiediagram er als volgt uitzien:

STUDENT (VOORNAAM, VOORNAAM, FACULTEIT, CURSUS, GROEP), hier is STUDENT een houding, en ACHTERNAAM, NAAM, enz. - attributen.

In een relatie wordt elke specifieke instantie van een entiteit vertegenwoordigd door een tekenreeks met de naam door een tupel(of opname).

De volgende tabel geeft de relatie STUDENT . weer

ACHTERNAAM NAAM PATRONIEM FACULTEIT GOED
Ivanov Ivan Ivanovitsj IEF
Petrov Peter Petrovitsj RTF
Sidorov Anton egorovitsj VT

Hoofdsleutel een relatie is een veld of een groep velden die een record op unieke wijze identificeert. Met betrekking tot STUDENT kan de primaire sleutel het veld ACHTERNAAM zijn, als er geen naamgenoten in alles staan, is dit eenvoudig toets. Als er naamgenoten zijn, wordt een reeks velden - achternaam, voornaam, patroniem - gemaakt composiet hoofdsleutel. In de praktijk wordt meestal het veld gekozen als het sleutelveld waarin toevalligheden bewust worden uitgesloten.

Voor het beschouwde voorbeeld kan een dergelijk veld het cijferboeknummer van de student zijn.

Eigendommen hoofdsleutel:

· Uniekheid - er kan slechts één primaire sleutel worden toegewezen in de tabel, de velden van een samengestelde sleutel kunnen worden herhaald, maar niet allemaal;

· Niet-redundantie - er mogen geen velden zijn die, als ze uit de primaire sleutel worden verwijderd, de uniciteit ervan niet schenden;

· De primaire sleutel mag geen velden van type, commentaar en afbeelding bevatten.

Ga naar het koppelen van tabellen om dubbele records te voorkomen. Als het bijvoorbeeld met betrekking tot een STUDENT nodig is om de universiteit te beschrijven waaraan hij studeert, dan zouden op het eerste gezicht de volgende velden STUDENT in de relatie kunnen worden opgenomen (NAAM, NAAM, PATROON, FACULTEIT, CURSUS, GROEP , NAAM VAN DE UNIVERSITEIT, ADRES). Maar bij het invullen van zo'n tabel moet elke student een vrij lange naam van de universiteit en het adres opgeven, wat onhandig is. Bovendien zal elke kleine fout bij het invoeren van deze velden de consistentie van de database verstoren. Zo zal een fout in het adres van een universiteit ertoe leiden dat er twee universiteiten met dezelfde naam en verschillende adressen in de database verschijnen. In dit geval handelen ze als volgt: typ het veld "universiteitscode" (een geheel getal) in de STUDENT-relatie en voeg een andere universiteitsrelatie toe (universiteitscode, naam, adres). Dan worden de relaties tussen de STUDENT en de UNIVERSITEIT gekoppeld door het veld "universiteitscode".

STUDENT (Achternaam, Voornaam, Patroniem, FACULTEIT, CURSUS, GROEP, UNIVERSITEITSCODE)

UNIVERSITEIT (UNIVERSITEITSCODE, NAAM, ADRES, TELEFOON)

Bij het werken met dergelijke tabellen kunnen alleen de gegevens in het veld "CODE van de universiteit" worden herhaald en kan alle benodigde informatie over de universiteit uit de relatie van de universiteit worden gehaald. Merk op dat het invoeren van een geheel getal in plaats van een lange naam in het veld "Universiteitscode" tot veel minder fouten zal leiden. Voor HEI is het HEI CODE-veld de primaire sleutel en voor de STUDENT is het HEI CODE-veld de externe sleutel.

Om relationele tabellen te koppelen, moet u in beide tabellen velden van hetzelfde type invoeren, die de relatie tussen de records van beide tabellen bepalen. Er zijn verschillende soorten relaties: één-op-één, één-op-veel en veel-op-veel. In het bovenstaande voorbeeld is een een-op-veel-relatie tot stand gebracht; één record in de tabel UNIVERSITY komt overeen met veel records in de tabel STUDENT.

Informatieobjecten en verbindingen.

Informatie object is de beschrijving van een echt object, proces of fenomeen in de vorm van een reeks kenmerken (informatie-elementen), genaamd benodigdheden... Een informatieobject met een bepaalde structuur (vereiste samenstelling) vormt een type (klasse), dat een unieke naam krijgt. Een informatie-object met specifieke kenmerken wordt een instantie genoemd. Elke instantie wordt geïdentificeerd door een sleutelkenmerk (sleutel) op te geven. Dezelfde attributen in verschillende informatieobjecten kunnen zowel belangrijk als beschrijvend zijn. Een informatieobject kan meerdere sleutels hebben.

Voorbeeld... Het informatieobject STUDENT heeft de volgende eigenschappen: Kamer(cijferboeknummer - sleutel vereist), achternaam, naam, patroniem, Geboortedatum, plaats van studie code... Informatie object PERSONAL AFFAIR: studenten nummer, thuisadres, certificaat nummer O voortgezet onderwijs, burgerlijke staat, kinderen... Het informatieobject PLAATS VAN LEREN bevat rekwisieten, code(sleutel rekwisieten), universiteitsnaam, faculteit, groep... Informatie object LERAAR: code(sleutel rekwisieten), stoel, achternaam, naam, patroniem, academische graad, academische titel, positie.

De relaties die bestaan ​​tussen reële objecten worden in informatiemodellen gedefinieerd als: verbindingen ... Er zijn drie soorten relaties: een op een (1:1), een te veel(1: ) en veel te veel (∞:∞).

Verbinding een op een definieert de overeenkomst met één instantie van het informatieobject X met niet meer dan één instantie van het informatieobject Y, en vice versa.

Voorbeeld... De informatieobjecten STUDENT en PERSONAL AFFAIR worden één-op-één aan elkaar gekoppeld. Elke student heeft bepaalde unieke gegevens in zijn persoonlijk dossier.

Bij het communiceren een te veel Een willekeurig aantal instanties van het Y-informatieobject kan overeenkomen met één instantie van het X-informatieobject, maar elke instantie van het Y-informatieobject is geassocieerd met maximaal één instantie van het X-object.

Voorbeeld... Tussen de informatieobjecten LOCATION en STUDENT moet een één-op-veel-relatie worden gelegd. Een en dezelfde studieplek kan vele malen worden herhaald voor verschillende studenten.

Verbinding veel te veel gaat ervan uit dat een willekeurig aantal instanties van Y kan corresponderen met één instantie van het X-informatieobject, en vice versa.

Voorbeeld... De informatieobjecten STUDENT en LERAAR hebben een veel-op-veel-relatie. Elke student leert van veel leraren en elke leraar geeft les aan veel studenten.

In Access kunt u drie soorten relaties tussen tabellen definiëren: een te veel, veel te veel en een op een... Verbinding een te veel is het meest gebruikte type relatie tussen tabellen. verbindingen veel te veel wordt alleen geïmplementeerd met behulp van een derde (koppelings)tabel, waarvan de sleutel uit ten minste twee velden bestaat, waarvan er één gemeenschappelijk is met tabel X en de andere gemeenschappelijk is met tabel Y. Relatie een op een ze worden niet vaak gebruikt, omdat dergelijke gegevens in één tabel kunnen worden geplaatst. Verbinding met houding een op een worden gebruikt om zeer brede tabellen te scheiden, om veiligheidsredenen delen van een tabel te scheiden en om informatie met betrekking tot een subset van records in de hoofdtabel op te slaan.


Gelijkaardige informatie.


Bij het ontwikkelen van een database wordt eerst het vakgebied verkend (bijvoorbeeld "Universiteit"). De belangrijkste objecten worden erin gemarkeerd. Ze kunnen echt ("Student") of abstract ("Discipline") zijn. Elk object wordt gekenmerkt door een reeks eigenschappen - objectattributen (gegevensvelden)... Voor elk object zijn de attributen gevuld met specifieke waarden. Attributen kunnen eenvoudig en belangrijk zijn.

Sleutelkenmerk (sleutel)- dit zijn afzonderlijke data-elementen waarmee alle andere data-elementen kunnen worden bepaald ("Gradebook number"). De sleutel kan enkelvoudig of samengesteld zijn ("Achternaam", "Voornaam", "Patroniem").

Na het definiëren van de belangrijkste objecten van het onderwerpgebied met behulp van hun belangrijkste attributen, worden koppelingen gemaakt tussen deze objecten:

a) 1: 1 ("één op één") - elke instantie van object A komt overeen met slechts één instantie van object B en vice versa (Figuur 17).

Afbeelding 17 - Een-op-een-relatie

b) 1: M ("één-op-veel") - elke instantie van object A kan overeenkomen met 0, 1 of meerdere instanties van object B, maar elke instantie van object B komt overeen met slechts 1 instantie van object A (Figuur 18 ).

Afbeelding 18 - Een-op-veel-relatie

c) M: M ("veel op veel") - elke instantie van object A komt overeen met 0, 1 of meerdere instanties van object B en vice versa (Figuur 19).

Afbeelding 19 - Veel-op-veel-relatie

De geselecteerde hoofdobjecten van het onderwerpgebied met gevestigde verbindingen daartussen vertegenwoordigen infologisch model .

Relatie

Een onderwerpgebiedobject kan worden weergegeven in de vorm van een tabelrelatie - een tabel van een speciaal soort, waarin:

Elke regel bevat informatie over één instantie van een object (relatieregel - stoet);

· Alle kolommen zijn homogeen, dat wil zeggen dat alle elementen in een kolom hetzelfde type en dezelfde lengte hebben, een naam hebben en informatie bevatten over een afzonderlijk attribuut van een object;

· Elk item vertegenwoordigt één item met gegevens over het object;

· Alle rijen en kolommen zijn uniek (geen herhalingen);

· Er zijn geen lege cellen in tabellen.

Databases op basis van relatietabellen heten relationeel (relatie). Een set relaties (tabellen) wordt in een database gebruikt om informatie over objecten in de echte wereld op te slaan en om verbindingen daartussen te modelleren. Om bijvoorbeeld het object "student" op te slaan, gebruikt u de relatie STUDENT, waarin de eigenschappen van het object zich bevinden in de kolommen van de tabel, die de attributen van het object zijn (tabel 8):

Tabel 8 - Verhouding STUDENT


De lijst met namen van relatieattributen heet relatieschema... Relatiediagram STUDENT kan als volgt worden geschreven: STUDENT = (Achternaam, Leeftijdsgroep ).

Een relationele database is een set van onderling gerelateerde relaties. Elke relatie (tabel) in de computer wordt weergegeven in de vorm van een bestand met records.

Acht verschillende bewerkingen van verzamelingenleer en relationele algebra (vereniging, selectie, projectie, snijpunt, optellen, vermenigvuldigen, verschil, delen) kunnen worden uitgevoerd op tabellen - relaties. Hierdoor kunnen veel nieuwe (berekende) tabellen - relaties (rapporten, selecties, queries, etc.) worden verkregen uit de geïntroduceerde (basis)relaties.

Omdat informatie in databases in twee vormen wordt gepresenteerd - opgeslagen informatie (originele, ingevoerde tabellen) en berekende informatie (tabellen verkregen op basis van de eerste), kunt u aanzienlijk geheugen besparen en de verwerking van deze informatie versnellen .

Om een ​​eenvoudige en betrouwbare database te maken, moet u relaties normaliseren. Normalisatie van relaties- een stapsgewijs proces om relaties op te splitsen in kleinere en eenvoudigere. Ondanks de toename van het aantal relaties tegelijkertijd, worden datatoegangsoperaties aanzienlijk versneld door verbeterde correctheid, eliminatie van duplicatie en het waarborgen van de consistentie van gegevens in de database.

Er zijn meerdere normale vormen:

1e normaalvorm. De relatie wordt beschouwd als in de eerste normaalvorm als al zijn attributen ondeelbaar zijn (eenvoudig). De relatie die wordt weergegeven in Afbeelding 20 hieronder is bijvoorbeeld niet genormaliseerd omdat deze een complex attribuut bevat Sport... Om deze relatie naar een genormaliseerde vorm te brengen, moet je dit complexe attribuut verwijderen.


Figuur 20 - Reductie tot de eerste normaalvorm

In de resulterende relatie is de sleutel samengesteld, bestaande uit attributen Achternaam en Soort van sport.

2e normaalvorm. Een relatie wordt geacht in de tweede normaalvorm te zijn als al zijn attributen afhankelijk zijn van de samengestelde sleutel als geheel, en niet van zijn delen. Daarom, als een relatie in de eerste normaalvorm is en een eenvoudige in plaats van een samengestelde sleutel heeft, dan is deze automatisch in zowel de eerste als de tweede normaalvorm.

Bijvoorbeeld met betrekking tot UITSPRAAK(Figuur 21), die een samengestelde sleutel heeft " Student, Discipline", attribuut Docent hangt alleen af ​​van Disciplines in plaats van van de hele sleutel. Deze relatie kan worden genormaliseerd door deze in twee relaties te "breken" VOORTGANG en DOCENT:

VERKLARING = (Student, Discipline, Docent, Beoordeling)


VOORTGANG = (Student, Discipline, Cijfer) LERAAR = (Discipline, Docent)

Figuur 21 - Reductie tot tweede normaalvorm

3e normaalvorm. Een relatie wordt geacht in de derde normaalvorm te zijn als afhankelijkheden tussen niet-sleutelattributen (transitieve afhankelijkheden) worden verwijderd. Bijvoorbeeld met betrekking tot ONDERWERP = (Naam, Docent, voorzitter, telefoon) is geen hoofdattribuut Telefoon hangt af van een niet-sleutelattribuut afdeling.

Om de transitieve afhankelijkheid te elimineren, is het noodzakelijk om de oorspronkelijke relatie in tweeën te "splitsen" DISCIPLINE = (Naam, Docent, Afdeling) en AFDELINGSGEGEVENS: = (afdeling, Telefoon).

Verdere vereenvoudiging van tabellen gaat gepaard met verdere beperking van de soorten afhankelijkheden tussen relatieattributen.

Na het normaliseren van relaties en het leggen van verbanden daartussen, wordt een infologisch model van het vakgebied gevormd. Hieronder (in figuur 22) staat een voorbeeld van een infologisch model van een bedrijf dat via haar medewerkers-managers transacties aangaat met klanten:


Klant Achternaam I.O. Transactienr. Achternaam I.O. Positie datum Adres Beleven Achternaam van de voornaam van de manager Telefoon Achternaam, I.O. van de klant

Figuur 22 - Model van het bedrijf

Op basis van het infologische model wordt een datamodel ontwikkeld dat de logische opbouw van de database op databeschrijvingstaal (DL), - datalogisch model (DM).

Om de DM aan het opslagmedium te binden, wordt het fysieke laaggegevensmodel gebruikt - fysiek model (FM). In deze fase van het fysieke ontwerp van de database wordt het type media geselecteerd, het formaat van de opgeslagen records ontwikkeld en de methoden voor toegang tot de gegevens ontworpen.

DBMS

Daarna is het al mogelijk om de database te vormen (vullen) en er direct mee aan de slag te gaan. Het werken met databases is beperkt tot het uitvoeren van de volgende bewerkingen:

1) opname (het vullen van de database);

2) bekijken;

3) bewerken (toevoegen, verwijderen, corrigeren);

4) voorbeeld (vragen, rapporten).

Deze bewerkingen van accumulatie en manipulatie van gegevens worden uitgevoerd door een speciaal programma - databasebeheersysteem (DBMS).

Volgens de technologie voor het oplossen van problemen die door het DBMS wordt uitgevoerd, kunnen databases in twee typen worden verdeeld:

Centrale database (volledig opgeslagen op de OVC van één computersysteem en als het systeem onderdeel is van een netwerk is toegang tot deze database van andere systemen mogelijk);

Gedistribueerde database (bestaat uit meerdere, soms overlappende of duplicerende databases die zijn opgeslagen op de OVC van verschillende netwerkknooppunten).

Het DBMS biedt op twee manieren toegang tot databasegegevens:

Lokale toegang (ervan uitgaande dat het DBMS de DB verwerkt, die is opgeslagen op de OVC van dezelfde computer);

Toegang op afstand (dit is toegang tot de database, die is opgeslagen op een van de netwerkknooppunten).

Toegang op afstand kan worden uitgevoerd met behulp van bestandsserver- of client-servertechnologie. De bestandsservertechnologie gaat uit van de toewijzing van een van de computersystemen, de server genaamd, voor het opslaan van de database. Alle andere computers op het netwerk (clients) spelen de rol van werkstations die het vereiste deel van de gecentraliseerde database naar hun geheugen kopiëren, waar de verwerking plaatsvindt. Client-servertechnologie gaat ervan uit dat een server die speciaal is bedoeld voor het opslaan van een gecentraliseerde database, bovendien verzoeken van clientwerkstations verwerkt. De client stuurt een verzoek naar de server. De server stuurt op zijn verzoek de gegevens die het resultaat zijn van een zoekopdracht in de database naar de klant.

Databasebeheersysteem - een set software en taalhulpmiddelen.

Software zorgen voor de organisatie van invoer, verwerking en opslag van gegevens, evenals zorgen voor de interactie van alle onderdelen van het systeem tijdens de werking ervan (afstemmen, testen, herstellen).

Taalhulpmiddelen bieden gebruikersinteractie met de database. Waaronder:

  • talen voor gegevensmanipulatie(YAMD) - talen van zoekopdrachten naar de database, een systeem van opdrachten voor het werken met gegevens (selectie, zoekopdracht, invoegen, verwijderen, enz.);
  • talen voor gegevensdefinitie(YOD) - talen die zijn ontworpen om een ​​databaseschema te maken (beschrijvingen van gegevenstypen, databasestructuur, interactie en relaties tussen elementen).


Afbeelding 22 - Schema van gebruikersinteractie met de database

Moderne DBMS- een applicatieprogramma dat is ontworpen om het werk van een onervaren gebruiker met een database te vergemakkelijken. Hij werkt ermee in natuurlijke taal zonder de datamanipulatietaal en datadefinitietaal te kennen (Figuur 22). Een van de voorbeelden van zo'n DBMS is het alom bekende Microsoft-product - de Access DBMS.


Structurele elementen van de database

In de beschrijving van een data-object moet je 2 componenten benadrukken: een structuur en een instantie.

Structuur- een lijst van objectattributen en kenmerken van attributen.

Voorbeeld- een set attribuutwaarden.

De structuur verandert zeer zelden. De instantie kan worden gewijzigd.

Wanneer opgeslagen op een computer, komt een database overeen met een groep bestanden en mappen, een bestand komt overeen met een reeks objecten. Elk object heeft een corresponderend item in het bestand. Elk attribuut heeft een bijbehorend recordveld.

De volgende kenmerken worden gebruikt om het attribuut te beschrijven:

1.name, bijvoorbeeld nContract, cStudent;

2. typ bijvoorbeeld karakter, numeriek;

3. lengte, bijvoorbeeld 15 bytes;

4. precisie, voor numerieke gegevens.

5. beschrijving, commentaar;

6. formaat van het beeld op het scherm en papier;

7. wenk;

8. invoerformaat;

9. beginwaarde;

10. bereik van waarden.

Toets Is een middel om objecten in een set te ordenen. De sleutel bevat: sleutel uitdrukking, samengesteld uit objectattributen. Oplopende sleutelexpressiewaarden worden gepresenteerd voor weergave en verwerking.

Er kunnen meerdere sleutels worden opgegeven voor één set. Voor de set Werknemers kunt u bijvoorbeeld een sleutel in alfabetische volgorde van achternamen opgeven, werknemers worden in alfabetische volgorde weergegeven.

De sleutel heet primair als 0 of 1 object is geselecteerd uit de set met één waarde van zijn uitdrukking. Voor de werving van werknemers is bijvoorbeeld de sleutel "Per personeelsnummer" primair, aangezien voor één waarde van het personeelsnummer ofwel geen werknemer of slechts één werknemer wordt toegewezen.

De sleutel heet ondergeschikt als 0 of meer objecten uit de set worden geselecteerd door één waarde van zijn uitdrukking. Zo is de sleutel voor het werven van medewerkers, de sleutel "Alfabetische achternamen" secundair, aangezien er onder de medewerkers naamgenoten kunnen zijn.

Volgens het axioma van verschil heeft elke verzameling een primaire sleutel. Als laatste redmiddel bevat de uitdrukking alle attributen van het object in de set.

Het is een goede gewoonte om een ​​kunstmatig attribuut "Sequence No. in Set" voor een gegevensobject in te voeren, dat automatisch wordt toegewezen en uniek is. De sleutel voor dit attribuut heet surrogaat.

Merk op dat de concepten van primaire en secundaire sleutels onafhankelijk zijn van het aantal en de waarden van objecten in de set. Er zijn primaire en secundaire sleutels voor lege sets.

Laat er n verzamelingen objecten zijn Е 1, Е 2, ..., Е n.

Communicatie is de reeks reeksen objecten (e i 1, e i 2,…, e i n), waarbij e i 1 E 1, e i 2 Î E 2,…, e i n Î E n.

Met behulp van koppelingen worden verzamelingen objecten gecombineerd tot één informatiestructuur.

Er zijn drie soorten koppelingen tussen twee verzamelingen objecten (n = 2):

1. één op één (1: 1);



2. een op veel (1: M);

3. veel op veel (M: N).

"een op een", als je voor elk object uit de eerste set kunt specificeren 0 of 1 een object uit de tweede set en voor elk object uit de tweede set kunt u specificeren 0 of 1 een object uit de eerste set.

Voorbeelden van 1: 1 relaties zijn relaties tussen:

Studenten en cijferboeken,

Tussen staten en valuta,

Tussen officieren en dienstwapens,

· Tussen burgers en buitenlandse paspoorten. Elke student heeft geen cijferlijst, of slechts één.

Voor elke student wordt ofwel de student niet vermeld, ofwel is er slechts één.

De verbinding tussen de twee sets E 1 en E 2 is van het type Een te veel 0 of meer 0 of 1 een object uit de eerste set.

Voorbeelden van links 1: M zijn links tussen

Banken en deposito's,

Deposito's en bijdragen,

Tussen groepen en studenten,

Tussen afdelingen en medewerkers,

Tussen verklaringen en regels van verklaringen,

· Tussen klanten en verzoeken.

Elke bank heeft geen deposito's (de bank is nog niet geopend) of er kunnen veel deposito's zijn. Voor elke storting wordt ofwel de bank niet gespecificeerd, ofwel is er slechts één.

De verbinding tussen de twee sets E 1 en E 2 is van het type Veel te veel als je voor elk object uit de eerste set kunt specificeren 0 of meer objecten uit de tweede set en voor elk object uit de tweede set kunt u specificeren 0 of meer objecten uit de eerste set.

Voorbeelden van M:N relaties zijn relaties tussen

Producten en landen,

Tussen studenten en disciplines,

Tussen medewerkers en projecten,

Tussen bestellingen en goederen,

· Tussen winkels en klanten.

Elk product kan vanuit veel landen worden verzonden en wordt helemaal niet verzonden. Elk land kan veel producten leveren en geen.

Links worden grafisch weergegeven door pijlen (Figuur 4.5).

In echte DBMS wordt slechts één type relatie geïmplementeerd - één op veel.

Een 1: 1 relatie wordt verkregen uit een 1: M-relatie door deze te beperken.

Om de M:N-relatie te implementeren, wordt een nieuwe set objecten geïntroduceerd en worden twee 1:M-relaties gebruikt.

De relatie tussen landen en M:N-producten wordt bijvoorbeeld verkregen met behulp van de dataset 'zendingen' (Figuur 4.6).

ER-type diagram:

vereenvoudigingen:

1. Alleen de bewoners die een appartement hebben komen in aanmerking.

2. Een bewoner kan slechts in één appartement worden ingeschreven.

3. Alleen bewoonde appartementen waarin bewoners staan ​​ingeschreven worden in aanmerking genomen.

4. In één appartement kunnen meerdere bewoners worden ingeschreven.

5. Eén telefoonnummer voor één appartement.

6. Niet elk appartement kan een telefoon hebben.

7. Er zijn bewoners zonder bron van inkomsten (kinderen).

8. Eén bewoner kan meerdere inkomstenbronnen hebben.

9. Verschillende soorten inkomsten voor verschillende bewoners.

10. Er zijn soorten inkomsten die niet worden gebruikt.

Einde van het werk -

Dit onderwerp hoort bij de sectie:

Vergelijking van single-table en multi-table databases

Lees op de site: "vergelijking van single-table en multi-table databases"

Als u aanvullend materiaal over dit onderwerp nodig heeft, of u heeft niet gevonden wat u zocht, raden we u aan de zoekopdracht in onze database te gebruiken:

Wat doen we met het ontvangen materiaal:

Als dit materiaal nuttig voor u bleek te zijn, kunt u het opslaan op uw pagina op sociale netwerken:

Alle onderwerpen in deze sectie:

BnD-componenten
Een datadictionary is een "opslagplaats" van meta-informatie. Meta-informatie - informatie

Subcircuitdefinitiefase
In sommige DBMS is het mogelijk om de logische structuur van de database te beschrijven vanuit het oogpunt van een specifieke gebruikersgroep. Zo'n model wordt extern genoemd en de beschrijving ervan is subschema

Infologische modellering van het vakgebied. De samenstelling van het infologisch model (ILM)
1-2. De beschrijving van het vakgebied wordt gepresenteerd met behulp van een soort tekensysteem, dus in

Beschrijving van objecten en hun eigenschappen. Soorten objecteigenschappen
Een objectklasse is een verzameling objecten met dezelfde set eigenschappen. Objectklassen kunnen zowel materieel als abstract zijn (bijvoorbeeld objecten die

ER-type diagram
Koppelingstype 1 tot 1. Klasse van objecten behorend tot zowel P als K optioneel

Verschillende complexe objecten
1. Samengesteld voorwerp. 2. Gegeneraliseerd object. 3. Geaggregeerd object. Samengesteld object

Bepaling van de database samenstelling
Een van de manieren om de samenstelling van een database te bepalen is het syntheseprincipe. Waar het op neerkomt: alleen de eerste indicatoren moeten in de database worden opgeslagen. Alle afgeleide indicatoren moeten

Soorten datalogische modellen (DLM)
De volgende modellen onderscheiden zich door de manier waarop gegevens worden gekoppeld: Relationeel model, Hiërarchisch model, Netwerkmodel, Objectgeoriënteerd model. relationeel

Indexeren van bestanden (tabellen) in de database. Indexbestanden en indexsleutels
Om de toegang tot informatie in een bestand te versnellen, wordt het bestand geïndexeerd. Een attribuut of set attributen gedefinieerd in een relatie wordt gebruikt als indexsleutel tijdens het indexeren. Gedeeltelijk

Ontwerpmethode van RDB op basis van ILM (regels 1-12)
1. Voor elk eenvoudig object en zijn eenheidseigenschappen wordt een relatie gebouwd, waarvan de attributen object-ID's zijn en de details corresponderen met elk van de eenheidseigenschappen

Bepaling van databasesamenstelling en relaties
Syntheseprincipe: De database bevat de attributen van alle entiteiten + het berekende inkomen SumD. De database bestaat uit 5 relaties: PERSON (Nom, FIO, Rdate, Pol, S

Vergelijking van single-table en multi-table databases
Er kunnen problemen zijn met het invoegen, bijwerken, verwijderen. Invoegprobleem Elke database mag geen velden hebben met null- of lege waarden. Bijvoorbeeld: voor od

Structured Query Language
Specifieke SQL-implementaties houden rekening met de vereisten van de standaard, maar bieden extra mogelijkheden (SQL1, SQL2 (1992), SQL3 (1999)) SQL kan in 2 modi worden gebruikt: 1. Int

Selecteer clausule
Aangezien TPK een kolomnaam, constante, uitdrukking kan zijn. De kolomnaam identificeert een van de kolommen in de tabel die is opgegeven in de FROM-clausule. Het kan worden gespecificeerd


Geeft aan welke regels moeten worden geselecteerd. De zoekvoorwaarde wordt ingesteld als selectiecriterium. Soorten zoektermen: 1. Vergelijking. =,<>, <, >, <=, >=. 2. Bewijs

Samengestelde zoektermen. Waarheidstabellen
EN waar onwaar null OF waar

SQL-aggregatiefuncties
Samenvattende zoekopdrachten kunnen worden samengesteld uit verschillende operators en geaggregeerde functies van de taal. Alle functies nemen als argument elke gegevenskolom in zijn geheel als argument en retourneren één samengevatte waarde

Gegroepeerde zoekopdrachten en beperkingen daarop
Selecteer ADR, AVG (SUMD) UIT PERSOONGROEP DOOR ADR 1. Informatie over bewoners in de Persoonstabel is verdeeld in groepen - één groep voor elk appartement. In elke groep hebben alle appartementen 1

Beperking op de lijst met geretourneerde kolommen
In een gegroepeerde query moeten alle items in de lijst met geretourneerde kolommen dezelfde waarde hebben voor elke groep woorden. => Als elementen van de lijst met geretourneerde kolommen kunt u gebruik maken van

Procedure voor het uitvoeren van een query die een gerelateerde subquery bevat
1) Selecteer een rij uit de tabel waarvan de naam is opgegeven in de hoofdquery. 2) Voer de subquery uit, rekening houdend met de waarden in de geselecteerde rij 3) Bereken de zoektermen d

Controleren op subqueryresultaten op bestaan
SELECTEER * VAN PERSOON WAAR BESTAAT (SELECT ID VAN HAVE_D, PROVIT WHERE PROVIT.ID

Nieuwe elementen toevoegen
De kleinste informatie-eenheid die aan de database kan worden toegevoegd, is één regel. Er zijn 2 manieren om nieuwe rijen toe te voegen: 1) een éénregelige INSERT-instructie inclusief:

Bestaande gegevens verwijderen
De kleinste informatie-eenheid die uit de database kan worden verwijderd, is 1 rij. De DELETE-instructie wordt gebruikt om rijen uit de 1e tabel te verwijderen. VERWIJDER UIT - tabelnaam -------------------

Voorwaarden voor uniekheid van gegevens
Neem de tabel PERSON, beschrijf de structuur ervan: CREATE TABLE PERSON (INTERBASE) (NOM INTEGER NOT N

Tabeldefinitie wijzigen
ALTER TABLE wordt gebruikt om: 1. een nieuwe kolomdefinitie toe te voegen. 2. verander de standaard. 3. verander of verwijder de primaire sleutel van de tabel.

Indexen
Index is een tool die snelle toegang biedt tot tabelrijen op basis van de waarde van 1 of meer kolommen. De index slaat gegevenswaarden en verwijzingen naar rijen op