Post-relationeel subd. objectdatabases

De structuur van een relationele database.

Databasetypen.

Basisfuncties van het DBMS.

Het concept van een database, DBMS.

Plan

VOORWAARDEN: database, databasebeheersysteem (DBMS),

relationele database, databaserecord, databaseveld, databasesleutelveld, databasetabel, databasequery, databaseformulier, databaserapport, databasemacro, databasemodule.

Een van de belangrijkste gebieden van computergebruik in de moderne informatiemaatschappij is de opslag en verwerking van grote hoeveelheden informatie.

Database (DB ) is een gesystematiseerde opslagplaats van informatie op een bepaald vakgebied, waartoe verschillende gebruikers toegang kunnen krijgen om hun problemen op te lossen.

Hieronder ziet u een voorbeeld van een van de meest voorkomende databasebeheersystemen: Microsoft-toegang maakt deel uit van het populaire Microsoft Office-pakket - we maken kennis met de belangrijkste soorten gegevens, methoden voor het maken van databases en technieken voor het werken met databases.

Database- een georganiseerde verzameling gegevens bedoeld voor langdurige opslag in extern computergeheugen en permanent gebruik. Om de database op te slaan, kan één computer of meerdere onderling verbonden computers worden gebruikt.

Als verschillende delen van één database zijn opgeslagen op veel computers die met elkaar zijn verbonden door een netwerk, wordt zo'n database aangeroepen gedistribueerde database.

Databasebeheersysteem(DBMS ) is software waarmee u een database kunt maken, de daarin opgeslagen informatie kunt bijwerken en er gemakkelijk toegang toe kunt krijgen om deze te bekijken en te doorzoeken.

Momenteel worden DBMS'en het meest gebruikt Microsoft Access, FoxPro, dBase. DBMS zijn onderverdeeld volgens manier van organiseren databases op netwerk, hiërarchisch En relationele DBMS.

Belangrijkste kenmerken van het DBMS:

ü Updaten, aanvullen en uitbreiden van de database.

ü Hoge betrouwbaarheid van informatieopslag.

ü Output van volledige en betrouwbare informatie over verzoeken.

ü Informatiebeveiligingstools in de database.

Er zijn databanken feitelijk en documentair.

Feitelijke databases bevatten korte informatie over de objecten die worden beschreven, gepresenteerd in een strikt gedefinieerd formaat. De bibliotheekdatabase bewaart bibliografische informatie over elk boek: jaar van publicatie, auteur, titel, enz. De database van de personeelsafdeling van de instelling bewaart persoonlijke gegevens van werknemers: volledige naam, e, o, jaar en geboorteplaats, enz. Database van wetgevingshandelingen op het gebied van het strafrecht zullen bijvoorbeeld de teksten van wetten worden opgenomen; DB moderne muziek - tests en aantekeningen van liedjes, achtergrondinformatie over componisten, dichters, artiesten, geluidsopnamen en videoclips. Bijgevolg bevat de documentairedatabank uitgebreide informatie van verschillende soorten: tekst, audio, multimedia.

Om de database op te slaan, kan één computer of meerdere onderling verbonden computers worden gebruikt.

Als verschillende delen van één database zijn opgeslagen op veel computers die met elkaar zijn verbonden door een netwerk, wordt zo'n database aangeroepen gedistribueerde database.

Bekend drie hoofdtypen het organiseren van gegevens in DB en verbindingen daartussen:

· hiërarchisch (in de vorm van een boom),

· netwerk,

· relationeel .

In een hiërarchische database er is een volgorde van elementen in het record, één element wordt als het belangrijkste beschouwd, de rest is ondergeschikt. Het zoeken naar welk gegevenselement dan ook in een dergelijk systeem kan tijdrovend zijn vanwege de noodzaak om achtereenvolgens verschillende hiërarchische niveaus te doorlopen.

Voorbeeld: Een hiërarchische database wordt gevormd door een map met bestanden die op schijf zijn opgeslagen.

Dezelfde database is de stamboom van de familie.

Netwerkdatabase Het is flexibeler; het is mogelijk om naast verticale verbindingen ook horizontale verbindingen aan te brengen.

Relationele databases(van de Engelse relatie - "relatie") worden databases genoemd die informatie bevatten in de vorm van rechthoekige tabellen. Volgens deze benadering wordt zo'n tabel een relatie genoemd. Elk tabel rij bevat informatie over één ding apart voorwerp onderwerpgebied dat in de database wordt beschreven , en iedereen kolom – bepaalde kenmerken (eigenschappen, attributen) deze objecten . relationeel de database is in wezen tweedimensionaal tafel. Er zijn vier hoofdtypen velden die in een relationele database worden gebruikt:

· Numeriek,

· Symbolisch (woorden, teksten, codes, etc.),

· Datum (kalenderdata in de vorm “dag/maand/jaar”),

· Logisch (neemt twee waarden aan: "ja" - "nee" of "waar" - "onwaar").

Het databasevenster bevat de volgende elementen:

ü Knoppen: "CREËREN", "OPEN", "CONSTRUCTEUR" etc. Knoppen openen een object in een specifiek venster of modus.

ü Objectknoppen. (Objectselectie-stekels, labels.) "Tafel", "Formulier" enz. Objectknoppen geven een lijst met objecten weer die kunnen worden geopend of gesloten.

ü Lijst met objecten. Toont een lijst met objecten die door de gebruiker zijn geselecteerd. In onze versie is de lijst nog leeg.

Belangrijkste databaseobjecten:

· Tafel is een object dat is ontworpen om gegevens op te slaan in de vorm van records (rijen) en velden (kolommen). Normaal gesproken wordt elke tabel gebruikt om informatie over één specifiek probleem op te slaan.

· Formulier is een Microsoft Access-object dat voornamelijk is ontworpen voor gegevensinvoer. Het formulier kan besturingselementen bevatten die worden gebruikt om gegevens in tabelvelden in te voeren, weer te geven en te wijzigen.

· Verzoek – een object waarmee u de benodigde gegevens uit één of meerdere tabellen kunt halen.

· Rapport – een Microsoft Access-databaseobject bedoeld voor het afdrukken van gegevens.

· Macro's – standaardacties automatiseren.

· Modules – automatiseer complexe bewerkingen die niet door macro's kunnen worden beschreven.

In dit hoofdstuk zullen we de belangrijkste klassen van het DBMS belichten en karakteriseren.

De hoofdclassificatie van DBMS is gebaseerd op het gebruikte databasemodel. Op basis van dit criterium worden verschillende klassen DBMS onderscheiden: hiërarchisch, netwerk, relationeel, object en andere. Sommige DBMS'en kunnen tegelijkertijd meerdere datamodellen ondersteunen.

Eerdere DBMS'en, zoals hiërarchische en netwerksystemen, hebben een boomstructuur en zijn gebouwd op het principe "Ancestor - Descendant". Maar dergelijke systemen zijn al verouderd en worden steeds minder gebruikt.

Relationele DBMS'en vervingen hiërarchische en netwerk-DBMS'en.

Kenmerken van relationele DBMS

De eerste theoretische ontwikkelingen op het gebied van relationele DBMS'en ontstonden in de jaren '70, terwijl tegelijkertijd de eerste prototypes van relationele DBMS'en verschenen. Lange tijd werd het onmogelijk geacht om dergelijke systemen effectief te implementeren. De geleidelijke opeenstapeling van methoden en algoritmen voor het organiseren en beheren van relationele databases leidde er echter toe dat relationele systemen al halverwege de jaren tachtig de vroege DBMS'en praktisch van de wereldmarkt vervingen.

De relationele benadering van het organiseren van een DBMS gaat uit van de aanwezigheid van een reeks onderling verbonden relaties (tweedimensionale tabellen). Een relatie is in dit geval de associatie van twee of meer relaties (tabellen). Een database die geen verbindingen tussen relaties heeft, heeft een zeer beperkte structuur en kan niet relationeel worden genoemd. Query's naar dergelijke databases retourneren een tabel die in de volgende query opnieuw kan worden gebruikt. De gegevens in sommige tabellen zijn, zoals we al zeiden, gerelateerd aan de gegevens in andere tabellen, en daar komt de naam ‘relationeel’ vandaan.

De relationele benadering van het bouwen van een DBMS heeft een aantal voordelen. Baydak A.Ya., Boelgakov A.A. Moderne DBMS en hun toepassing in de energiesector [Elektronische hulpbron]. - Toegangsmodus: http: //masters. donntu.edu.ua/2010/etf/baydak/library/article2. htm. - Kap. vanaf het scherm:

De aanwezigheid van een kleine reeks abstracties die het mogelijk maken om de meest voorkomende probleemdomeinen op een relatief eenvoudige manier te modelleren en nauwkeurige formele definities mogelijk te maken terwijl ze intuïtief blijven;

De aanwezigheid van een eenvoudig en tegelijkertijd krachtig wiskundig apparaat, voornamelijk gebaseerd op verzamelingenleer en wiskundige logica, en dat de theoretische basis levert voor de relationele benadering van het organiseren van databases;

Mogelijkheid tot niet-navigatiegegevensmanipulatie zonder de noodzaak om de specifieke fysieke organisatie van databases in het externe geheugen te kennen.

Het relationele model heeft een strikte theoretische basis. Deze theorie heeft bijgedragen aan de creatie van de declaratieve taal SQL, die nu de standaardtaal is geworden voor het definiëren en manipuleren van relationele databases. Andere sterke punten van het relationele model zijn de eenvoud, geschiktheid voor online transactieverwerkingssystemen (OLTP) en gegevensonafhankelijkheid. Vooral het relationele datamodel en het relationele DBMS hebben echter bepaalde nadelen.

Het belangrijkste nadeel van relationele DBMS's is het inherent beperkte gebruik van deze systemen in gebieden die tamelijk complexe datastructuren vereisen. Een van de belangrijkste aspecten van het traditionele relationele datamodel is de atomiciteit (uniciteit en ondeelbaarheid) van gegevens, die worden opgeslagen op het snijpunt van rijen en kolommen van een tabel. Deze regel vormde de basis van de relationele algebra toen deze werd ontwikkeld als een wiskundig datamodel. Bovendien staat de specifieke implementatie van het relationele model ons niet toe om de werkelijke verbindingen tussen objecten in het beschreven vakgebied adequaat weer te geven. Deze beperkingen vormen een aanzienlijke belemmering voor de effectieve implementatie van moderne toepassingen, die een iets andere benadering van de gegevensorganisatie vereisen.

Het kernprincipe van het relationele model is het elimineren van dubbele velden en groepen via een proces dat normalisatie wordt genoemd. Platte genormaliseerde tabellen zijn universeel, gemakkelijk te begrijpen en theoretisch voldoende voor het presenteren van gegevens in elk vakgebied. Ze zijn zeer geschikt voor gegevensopslag en weergavetoepassingen in traditionele industrieën zoals bank- of boekhoudsystemen, maar het gebruik ervan in systemen die zijn gebaseerd op complexere datastructuren is vaak moeilijk. Dit komt voornamelijk door de primitiviteit van de gegevensopslagmechanismen die ten grondslag liggen aan het relationele model Nikitin M. Is het tijdperk van relationele DBMS'en voorbij? [Elektronische hulpbron]. - Toegangsmodus: http: //www.cnews.ru/reviews/free/marketBD/articles/articles2. shtml. - Kap. vanaf het scherm.

Tegenwoordig zijn bekende fabrikanten van relationele DBMS de volgende: ORACLE, Informix, IBM (DB2), Sybase, Microsoft (MS SQL Server), Progress en anderen. DBMS-fabrikanten richten zich in hun producten op het werken op verschillende soorten computers (van mainframes tot laptops) en op verschillende besturingssystemen (OS). Ook hebben DBMS-fabrikanten producten die op desktopcomputers draaien, zoals dBase, FoxPro, Access en dergelijke, niet genegeerd. Deze DBMS'en zijn ontworpen om op een pc te werken en lokale problemen op één pc of een kleine groep pc's op te lossen. Vaak worden DBMS-gegevens gebruikt als spiegelbeeld van een klein deel van het algehele DBMS van het bedrijf, om de benodigde hardware- en resourcekosten voor het oplossen van kleine problemen te minimaliseren.

Verschillende DBMS'en draaien onder verschillende besturingssystemen en hardware. De bekendste van deze besturingssystemen zijn UNIX, VAX, Solaris, Windows. Afhankelijk van de hoeveelheid gegevensopslag, het aantal gebruikers dat tegelijkertijd toegang heeft tot de gegevens en de complexiteit van de taken, worden verschillende DBMS'en op verschillende platforms gebruikt. Met Oracle DBMS op Unix, geïnstalleerd op een multiprocessorserver, kunt u bijvoorbeeld problemen oplossen bij het verstrekken van gegevens aan honderdduizenden gebruikers Ponomarev I.S. Databasebeheersystemen [Elektronische hulpbron]. - Toegangsmodus: http: //mathmod. aspu.ru/images/File/Ponomareva/TM10_About%20BD. pdf. - P. 2.

Momenteel zijn DBMS's gericht op het Windows-besturingssysteem met behulp van het Intel-platform van het grootste belang.

Belangrijkste functies van een DBMS Applicatiesoftware Software, gebruikers Databasebeheersysteem Besturingssysteem Database Softwaretoegang verlenen tot de database Hardwaredatabasebeheer

DBMS Softwarecomponenten van een DBMS omvatten de kernel en servicetools (hulpprogramma's). ØDe DBMS-kern is een reeks softwaremodules die nodig en voldoende zijn om een ​​database te creëren en te onderhouden, dat wil zeggen een universeel onderdeel dat standaardproblemen van informatiediensten voor gebruikers oplost. ØServiceprogramma's bieden gebruikers een aantal extra mogelijkheden en diensten, afhankelijk van het beschreven onderwerpgebied en de behoeften van een bepaalde gebruiker. Een databasebeheersysteem is een softwaresysteem dat is ontworpen om voor veel toepassingen een gemeenschappelijke database op een computer aan te maken, deze actueel te houden en effectieve gebruikerstoegang tot de gegevens daarin te garanderen, binnen het kader van de bevoegdheden die aan hen zijn verleend.

Classificatie van DBMS Op basis van de mate van universaliteit worden DBMS onderverdeeld in twee klassen: 1. DBMS voor algemene doeleinden (ON DBMS) 2. gespecialiseerde DBMS (Sp. DBMS). Gespecialiseerde DBMS'en worden gemaakt in gevallen waarin geen van de bestaande DBMS'en voor algemeen gebruik de problemen waarmee ontwikkelaars worden geconfronteerd op bevredigende wijze kan oplossen. Er kunnen verschillende redenen zijn: de vereiste gegevensverwerkingssnelheid wordt niet bereikt; het is noodzakelijk om het DBMS te gebruiken onder omstandigheden met ernstige hardwarebeperkingen; ondersteuning voor specifieke gegevensverwerkingsfuncties is vereist. Sp. DBMS zijn ontworpen om een ​​specifiek probleem op te lossen, en acceptabele parameters voor deze oplossing worden als volgt bereikt: 1. door kennis van de kenmerken van een specifiek vakgebied, 2. door het verminderen van de functionele volledigheid van het systeem.

Classificatie van DBMS Op basis van de methoden voor het organiseren van gegevensopslag en -verwerking worden DBMS's onderverdeeld in Ø Gecentraliseerd Ø Gedistribueerd. De eerste werken met een database die fysiek op één plek (op één computer) is opgeslagen. Dit betekent niet dat de gebruiker alleen op dezelfde computer met de database kan werken: de toegang kan op afstand plaatsvinden (in client-server-modus). De meeste gecentraliseerde DBMS'en verschuiven de taak van het organiseren van externe toegang tot gegevens naar netwerkondersteuning, waarbij ze alleen hun standaardfuncties uitvoeren, die ingewikkelder worden vanwege de gelijktijdige toegang van veel gebruikers tot gegevens. Op basis van het datamodel zijn er hiërarchische, netwerk-, relationele, object-relationele en objectgeoriënteerde DBMS'en.

Vereisten voor relationeel DBMS (volgens Codd) 1. 2. 3. Expliciete presentatie van gegevens (de informatieregel). Informatie moet worden gepresenteerd in de vorm van gegevens die in cellen zijn opgeslagen. Gegevens die in cellen zijn opgeslagen, moeten atomair zijn. De volgorde van de rijen in een relationele tabel mag de betekenis van de gegevens niet beïnvloeden. Gegarandeerde toegangsregel. Elk gegevenselement moet gegarandeerd toegankelijk zijn met behulp van een combinatie van de tabelnaam, de primaire rijsleutel en de kolomnaam. Systematische behandeling van nulwaarden. Onbekende waarden (NULL's) anders dan een bekende waarde moeten worden ondersteund voor alle gegevenstypen bij alle bewerkingen.

Vereisten voor relationeel DBMS (volgens Codd) 4. 5. Toegang tot de data dictionary in termen van het relationele model (Dynamic On-Line Catalog Based on the Relational Model). De datadictionary moet worden opgeslagen in de vorm van relationele tabellen, en het DBMS moet de toegang daartoe ondersteunen met behulp van standaardtaalhulpmiddelen. Volledigheid van een taalsubset (Comprehensive Data Sublingual Rule). Een relationeel databasebeheersysteem moet één enkele querytaal ondersteunen waarmee u alle gegevensbewerkingen kunt uitvoeren: gegevensdefinitiebewerkingen, gegevensmanipulatiebewerkingen, gegevenstoegangscontrole, transactiebeheer.

Vereisten voor relationeel DBMS (volgens Codd) 6. 7. Ondersteuning voor bijgewerkte weergaven (View Update Rule). De weergave die wordt bijgewerkt, moet alle gegevensmanipulatiebewerkingen ondersteunen die relationele tabellen ondersteunen: gegevens selecteren, invoegen, wijzigen en verwijderen. Beschikbaarheid van gegevensbeheerbewerkingen op hoog niveau (invoegen, bijwerken en verwijderen op hoog niveau). Bewerkingen voor het invoegen, wijzigen en verwijderen van gegevens moeten niet alleen worden ondersteund met betrekking tot één rij van de relationele tabel, maar ook met betrekking tot elke reeks rijen.

Vereisten voor relationeel DBMS (volgens Codd) 8. Onafhankelijkheid van fysieke gegevens. Toepassingen mogen niet afhankelijk zijn van de methoden die worden gebruikt voor het opslaan van gegevens op media, of van de hardware van de computers waarop de relationele database zich bevindt. 9. Onafhankelijkheid van logische gegevens. De presentatie van gegevens in een toepassing mag niet afhankelijk zijn van de structuur van relationele tabellen.

Vereisten voor relationeel DBMS (volgens Codd) 10. Onafhankelijkheid van integriteit. Alle informatie die nodig is om de integriteit te behouden, moet in de datadictionary zijn opgenomen. Het DBMS moet de gespecificeerde integriteitsbeperkingen controleren en de gegevensintegriteit automatisch handhaven. 11. Distributie-onafhankelijkheid. De database kan worden gedistribueerd, kan zich op meerdere computers bevinden en dit mag geen impact hebben op applicaties. 12. Coördinatie van taalniveaus (Non-Subversion Rule). Er mag geen andere manier zijn om toegang te krijgen tot gegevens dan de standaardtaal voor het werken met gegevens. Als een taal voor gegevenstoegang op een laag niveau wordt gebruikt, mag deze de beveiligings- en integriteitsregels die worden ondersteund door de taal op een hoger niveau niet negeren.

Eisen aan de samenstelling en functies van het DBMS 1. Opslaan, ophalen en actualiseren van gegevens. 2. Directory (SSD), toegankelijk voor eindgebruikers. Normaal gesproken slaat de systeemcatalogus de volgende informatie op: namen, typen en groottes van gegevensitems; verbindingsnamen; integopgelegd aan de gegevens; namen van gebruikers aan wie toegangsrechten tot de gegevens worden verleend; externe, conceptuele en interne schema's en mappings daartussen; Statistieken zoals transactiepercentages en toegangstellingen tot databaseobjecten.

Voordelen van het hebben van een DSS ØInformatie over gegevens kan centraal worden verzameld en opgeslagen, waardoor u de toegang tot deze gegevens kunt controleren. ØU kunt de betekenis van de gegevens definiëren, zodat andere gebruikers het doel ervan kunnen begrijpen. ØCommunicatie wordt vereenvoudigd omdat er nauwkeurige definities zijn van de betekenis van de gegevens. ØDe systeemcatalogus kan ook een of meer gebruikers vermelden die eigenaar zijn van de gegevens of er recht op toegang toe hebben. ØDankzij de gecentraliseerde opslag kunnen redundantie en inconsistentie in de beschrijving van individuele gegevenselementen eenvoudig worden gedetecteerd. ØWijzigingen in de database kunnen worden geregistreerd. ØDe gevolgen van eventuele wijzigingen kunnen worden bepaald voordat ze worden doorgevoerd, aangezien de systeemcatalogus alle bestaande gegevenselementen registreert, de relaties die daartussen zijn gelegd, evenals al hun gebruikers. ØVeiligheidsmaatregelen kunnen verder worden versterkt. ØEr ontstaan ​​nieuwe mogelijkheden voor het organiseren van ondersteuning voor gegevensintegriteit. ØEr kan een audit van opgeslagen informatie worden uitgevoerd.

Oracle System Data Dictionary Slaat alle informatie op over de structuur, informatieobjecten en relaties in een bepaalde database. Een datadictionary is een set tabellen en hulpobjecten (indexen, clusters, synoniemen, views, reeksen), waarvan informatie ook wordt opgeslagen in woordenboektabellen. Logischerwijs is de datadictionary onderverdeeld in: basistabellen; üweergaven van basistabellen; Dynamische tabellen en hun representaties. In totaal bevat de datadictionary meer dan 100 basistabellen, die zich in de tabelruimte SYSTEM bevinden en nergens anders. Hun namen bevatten het symbool "$" (daarom wordt het niet aanbevolen om dit te gebruiken in de namen van niet-basisobjecten), bijvoorbeeld: AUD$ – tabel met auditinformatie; FILE$ – bestandstabel; USER$ – gebruikerstabel; IND$ – indextabel; OBJ$ – objecttabel; SEG$ – segmenttabel; SYN$ – synoniementabel; TAB$ – tabel met tabellen; TS$ – tabel met tafelgebieden; VIEW$ – tabel met weergaven.

Werken met de systeemwoordenlijst Om informatie uit de datadictionary te verkrijgen, worden gebruikers voorzien van basistabelweergaven. Ze zijn onderverdeeld in drie groepen: DBA - weergaven bedoeld voor gebruikers die DBA's zijn, dat wil zeggen aan wie de DBA-rol is toegewezen. Deze weergaven bieden de meest volledige informatie uit de datadictionary; GEBRUIKER – weergaven waarmee elke gebruiker informatie ontvangt over de objecten die hij bezit; ALLES – weergaven die elke gebruiker alle informatie geven over de objecten waartoe hij toegang heeft. Bijvoorbeeld: DBA/ALL/USER_INDEXES – alle/beschikbare/gebruikersindexen; DBA/ALL/USER_IND_COLUMNS – alle/beschikbare/gebruikersindexkolommen; DBA/ALL/USER_OBJECTS – alle/beschikbare/gebruikersobjecten; DBA/ALL/USER_SYNONYMS – alle/beschikbare/gebruikerssynoniemen; DBA/ALL/USER_TABLES – alle/beschikbare/gebruikerstabellen; DBA/ALL/USER_TAB_COLUMNS – alle/beschikbare/gebruikerskolommen met tabellen; DBA/ALL/USER_TAB_PRIVS – alle/beschikbare/gebruikersrechten op tabellen; DBA/ALL/USER_VIEWS – alle/beschikbare/gebruikersweergaven.

Werken met het systeemwoordenboek Sommige representaties (afhankelijk van de betekenis van hun toepassing) zijn slechts in een of twee groepen aanwezig. Dit is het meest typerend voor DBA-weergaven, bijvoorbeeld: DBA_DATA_FILES – gegevens over de fysieke bestanden van de database en logs; DBA/USER_FREE_SPACE – vrij geheugen in tabelruimten (allemaal en beschikbaar voor een specifieke gebruiker); DBA_PROFILES – lijst met opties voor de “kosten” van systeembronnen; DBA_ROLES – lijst met rollen die in de database zijn gedefinieerd. Voorbeelden van het ophalen van gegevens van de SSD: selecteer tabelnaam uit gebruikerstabellen; selecteer * uit alle_views; selecteer view_name uit dba_views;

Werken met het systeemwoordenboek Het DICT-synoniem voor de DICTIONARY-weergave is belangrijk. Het wordt gebruikt om de namen van tabellen, views, data dictionary-synoniemen met beschrijvingen, indien aanwezig, in de database te selecteren. Hier is een klein fragment: selecteer * uit dictaat; ALL_CATALOG Alle tabellen, views, synoniemen, reeksen die beschikbaar zijn voor de gebruiker ALL_DB_LINKS Databasekoppelingen beschikbaar voor de gebruiker DBA_OBJECTS Alle objecten in de database DBA_ROLES Alle rollen die in de database bestaan ​​USER_EXTENTS Extensies die eigendom zijn van de gebruiker USER_VIEWS Definities van views die eigendom zijn van de gebruiker DUAL A speciale tabel met één kolom DUMMY en één rij DICT Synoniem voor DICTIONARY TABS Synoniem voor USER_TABLES

Als u met het DBA-systeemwoordenboek werkt, is de toegang tot deze tabellen open, maar werken op dit niveau, behalve in noodgevallen, wordt NOOIT aanbevolen: alle datadictionary-informatie is beschikbaar via weergaven van de basistabellen; gegevens in de basistabellen worden zonder duplicatie gepresenteerd volgens de regels binnen de systeemordening, zonder decodering; het aantal, de namen, de afmetingen van de tabelkolommen zijn gemaakt zonder rekening te houden met voldoende duidelijkheid; per ongeluk, opzettelijk of om welke andere reden dan ook, CORRECTIE van de inhoud van basistabellen (zelfs in voor de hand liggende gevallen, bijvoorbeeld het opslaan van gegevens in lang verwijderde tabelruimten), leidt in de regel tot SCHADE aan de datadictionary, dat wil zeggen , tot VERLIES van de gehele database. De zeldzaamste uitzondering is AUD$ (auditinformatietabel), waaruit onnodige gegevens periodiek moeten worden verwijderd, omdat wanneer de auditmodus is ingeschakeld, deze tabel snel vol raakt en de SYSTEM-tabelruimte kan overstromen.

Eisen aan de samenstelling en functies van het DBMS 3. 4. 5. 6. 7. 8. 9. Transactieondersteuning. Parallelle werkbeheerservice. Hersteldiensten. Diensten voor controle van gegevenstoegang. Diensten voor gegevensintegriteit. Ondersteunende diensten voor gegevensonafhankelijkheid. Ondersteunende diensten.

Ondersteunende diensten Meestal ontworpen om de DBA te helpen bij het efficiënt beheren van de database. Enkele voorbeelden van dergelijke hulpprogramma's. Importeer hulpprogramma's voor het laden van een database vanuit platte bestanden, en exporteer hulpprogramma's voor het exporteren van een database naar platte bestanden. Monitoringtools ontworpen om de prestaties en het gebruik van de database te volgen. Statistische analyseprogramma's waarmee u de prestaties of het gebruik van een database kunt evalueren. Hulpmiddelen voor indexreorganisatie die zijn ontworpen om indexen opnieuw op te bouwen wanneer ze vol zijn. Tools voor het verzamelen van afval en het opnieuw toewijzen van geheugen om verwijderde records fysiek van opslagapparaten te verwijderen, vrijgekomen ruimte te consolideren en geheugen opnieuw toe te wijzen als dat nodig is.

Belangrijkste softwarecomponenten van de DBMS Query-processor. Converteert query's naar een reeks opdrachten op laag niveau voor de databasemanager. Databasebeheerder. Accepteert verzoeken en beoordeelt externe en conceptuele schema's om de conceptuele records te bepalen die nodig zijn om aan de vereisten van het verzoek te voldoen. Vervolgens roept het de bestandsbeheerder op om aan het binnenkomende verzoek te voldoen. Bestandsbeheer. Manipuleert bestanden die bedoeld zijn voor gegevensopslag en is verantwoordelijk voor het toewijzen van beschikbare schijfruimte. Het creëert en onderhoudt een lijst met structuren en indexen die zijn gedefinieerd in het interne schema. Als er gehashte bestanden worden gebruikt, is het zijn verantwoordelijkheid om hashfuncties aan te roepen om recordadressen te genereren.

Basissoftwarecomponenten van de DBMS DML-taalpreprocessor. Deze module converteert DML-instructies die zijn ingebed in applicatieprogramma's naar oproepen naar standaardfuncties van de basistaal. Om de juiste code te genereren, moet de DML-preprocessor communiceren met de queryprocessor. DDL-taalcompiler. Converteert DDL-opdrachten naar een set tabellen met metagegevens. Deze tabellen worden vervolgens opgeslagen in de systeemmap en de besturingsinformatie wordt opgeslagen in de headers van de gegevensbestanden. Woordenboekbeheerder. Beheert de toegang tot de systeemmap en zorgt ervoor dat u ermee kunt werken. De systeemcatalogus is toegankelijk voor de meeste DBMS-componenten.

Belangrijkste softwarecomponenten van de DBMS Toegangsrechtencontrolemodule. Deze module controleert of de opgegeven gebruiker de bevoegdheid heeft om de gevraagde handeling uit te voeren. Commandoprocessor. Nadat de bevoegdheid van de gebruiker om de gevraagde handeling uit te voeren is geverifieerd, wordt de besturing overgedragen aan de opdrachtprocessor. Integriteitscontroles. Voor bewerkingen die de inhoud van de database wijzigen, controleren integriteitscontroles of de gevraagde bewerking voldoet aan alle vastgestelde gegevensintegriteitsbeperkingen (bijvoorbeeld eisen die aan sleutels worden gesteld). Query-optimalisatie. Deze module bepaalt de optimale strategie voor het uitvoeren van query's.

Basissoftwarecomponenten van de DBMS Transaction Manager. Voert de vereiste verwerking uit van bewerkingen die worden ontvangen tijdens de uitvoering van transacties. Planner. Verantwoordelijk voor conflictvrije uitvoering van parallelle bewerkingen met de database. Het regelt de relatieve volgorde waarin bewerkingen die bij individuele transacties worden aangevraagd, worden uitgevoerd. Herstelmanager. Zorgt ervoor dat de database in een consistente staat wordt hersteld wanneer er fouten optreden. Het is met name verantwoordelijk voor het vastleggen en ongedaan maken van transactieresultaten. Bufferbeheerder. Verantwoordelijk voor de overdracht van gegevens tussen RAM en een secundair opslagapparaat, bijvoorbeeld een harde schijf of magneetband. De herstelbeheerder en bufferbeheerder worden soms (gezamenlijk) de gegevensbeheerder genoemd, en de bufferbeheerder zelf wordt soms de cachebeheerder genoemd.

Basisobjecten van Oracle Database (DATABASE) - een object dat zich op het hoogste niveau van de fysieke organisatie van de Oracle-database bevindt. Er is een object dat wordt genoemd: database. De database bestaat uit een datadictionary, de gegevens zelf en verschillende hulpobjecten: een initialisatieparameterbestand, een controlebestand, een rollback-segmentbestand en twee transactielogboekbestanden. (Deze lijst kan bijvoorbeeld worden uitgebreid met kopieën van het controlebestand). De database kan automatisch worden aangemaakt tijdens de installatie van Oracle DBMS of handmatig met behulp van de opdracht CREATE DATABASE. Tabelruimte (TABLESPACE) is een geheugengebied dat is ontworpen om alle databaseobjecten op te slaan. Een tabelgebied heeft een naam en beslaat een of meer besturingssysteembestanden. Gemaakt met de opdracht CREATE TABLESPACE. Soms wordt een tabelgebied een tabelruimte genoemd.

Basic Oracle Objects User (USER) is een object dat de mogelijkheid heeft om andere Oracle-objecten te maken en te gebruiken, en om serverfuncties aan te vragen. Dergelijke functies omvatten het organiseren van een sessie, het wijzigen van de status van de server en de database, het maken van andere databaseobjecten, verzoeken om SQL-instructies uit te voeren, enz. In Oracle DBMS is de gebruikersnaam hetzelfde als de schemanaam. Gemaakt door de opdracht CREATE USER. Elk databaseobject is eigendom van de gebruiker die het heeft gemaakt en bevindt zich in zijn schema. De volledige naam van elk databaseobject (behalve de database, tabelruimten en gebruikers) bestaat uit de naam van het schema waarin het is gemaakt en de werkelijke naam van het object, bijvoorbeeld: scott. emp Hier is scott de gebruikersnaam (schema), emp is de naam van het object (de tabel “Employees”) en de punt is het zogenaamde. gekwalificeerde referentie die definitieniveaus scheidt.

Basic Oracle Objects Cluster (CLUSTER) is een object dat een manier definieert om gezamenlijk gegevens op te slaan uit verschillende tabellen met informatie die gewoonlijk samen wordt verwerkt. Door tabellen te clusteren kunt u de bemonsteringstijd verkorten. Gemaakt met de opdracht CREATE CLUSTER. Inclusief gegevenstabellen. Een tabel (TABLE) is de basisstructuur van het relationele model. Zoals u weet, wordt alle informatie in een database opgeslagen in tabellen. Tabellen bestaan ​​uit vele benoemde kolommen of attributen. De reeks waarden van een kolom wordt gedefinieerd met behulp van integriteitsbeperkingen, dat wil zeggen dat een beperkt concept van domein (reeks geldige waarden) wordt ondersteund. De tabel kan leeg zijn of uit een of meer rijen met attribuutwaarden bestaan. Rijen met tabelattribuutwaarden worden ook wel records of tuples genoemd. Gemaakt met de opdracht CREATE TABLE, kan in een cluster worden gemaakt.

Oracle Basic Objects Een index (INDEX) is een databaseobject dat is gemaakt om de prestaties bij het ophalen van gegevens te verbeteren. Er wordt een index gemaakt op een kolom(men) van een tabel en deze biedt snellere toegang tot de gegevens van die tabel door de gegevens in de kolom(men) op waarde te ordenen. Gemaakt met de opdracht CREATE INDEX. Clusters, tabellen en indexen worden geheugenobjecten genoemd omdat ze feitelijke gegevens opslaan. Wanneer ze worden gemaakt, krijgen ze een bepaalde hoeveelheid geheugen toegewezen (een of meer gebieden), die kan worden vergroot door er gegevens aan toe te voegen. Een omvang is een aaneengesloten geheugengebied in een tabelruimte. Alle gebieden die tot hetzelfde object behoren, vormen een segment. Clustertabelindex

Oracle Core Objects A View (VIEW) is een benoemde, dynamisch door de server onderhouden selectie van gegevens uit een of meer tabellen. De kern van een weergave is een SELECT-instructie die de basisweergavequery wordt genoemd. De basisquery definieert de voor de gebruiker zichtbare gegevens. Met de weergave kunt u de gegevens beperken die de gebruiker kan wijzigen. De gegevens in de weergave worden niet opgeslagen: de server genereert de weergave telkens wanneer deze wordt geopend (dit wordt het materialiseren van de weergave genoemd). Met behulp van views kan een beveiligingsbeheerder het deel van de database beperken waartoe gebruikers alleen toegang hebben tot de gegevens die ze daadwerkelijk nodig hebben om hun werk te doen. Gemaakt door de opdracht CREATE VIEW. Een SEQUENCE is een object dat het genereren van unieke nummers mogelijk maakt in omstandigheden van asynchrone toegang voor meerdere gebruikers. Normaal gesproken worden reekselementen gebruikt om unieke identificatienummers in te voegen voor elementen van databasetabellen. Gemaakt door de opdracht CREATE SEQUENCE.

Oracle Core Objects Een synoniem (SYNONYM) is een alternatieve naam of alias voor een Oracle-object waarmee databasegebruikers toegang kunnen krijgen tot dat object. Een synoniem kan privé of algemeen zijn. Met een openbaar synoniem kunnen alle databasegebruikers met de alternatieve naam naar het overeenkomstige object verwijzen. In dit geval hoeft u de naam van het schema niet op te geven om toegang te krijgen tot het object, zelfs als u geen verbinding hebt gemaakt als eigenaar van het object, maar vanuit een ander schema. Gemaakt door de opdracht CREATE SYNONYM. Een rol (ROLE) is een benoemde reeks bevoegdheden die aan gebruikers of andere rollen kunnen worden verleend. Wordt gebruikt om beperkingen voor gegevenstoegang effectief te beheren. Oracle ondersteunt verschillende standaard of vooraf gedefinieerde rollen (DBA, CONNECT, RESOURCE, etc.). Gemaakt door de opdracht CREATE ROLE.

Kern-Oracle-objecten Specifiek voor gedistribueerde systemen zijn Oracle-objecten zoals snapshot en databasekoppeling. Een momentopname (SNAPSHOT) is een lokale kopie van een tabel in een externe database, die wordt gebruikt om de gehele of een deel van de tabel te repliceren (kopiëren), of om het resultaat van een gegevensquery uit verschillende tabellen te repliceren. Momentopnamen kunnen aanpasbaar of alleen-lezen zijn. Alleen-lezen momentopnamen kunnen periodiek worden bijgewerkt om wijzigingen in de onderliggende tabel weer te geven. Wijzigingen die zijn aangebracht in de momentopname die wordt gewijzigd, worden doorgegeven aan de hoofdtabel en andere kopieën. Gemaakt door de opdracht CREATE SNAPSHOT. Een DATABASE LINK is een databaseobject waarmee u toegang kunt krijgen tot databaseobjecten op afstand. De databasekoppelingsnaam kan worden gezien als een verwijzing naar de parameters van het externe databasetoegangsmechanisme (hostnaam, protocol, enz.). Het gebruik van één enkele naam maakt het gemakkelijker om met databaseobjecten op afstand te werken. Gemaakt door de opdracht CREATE DATABASE LINK.

Basis Oracle-objecten Om algoritmen voor gegevensverwerking te programmeren en complexe regels voor gegevensintegriteit te ondersteunen, gebruikt Oracle procedurele objecten: Een procedure (PROCEDURE) is een subroutine in PL/SQL-taal die is ontworpen om een ​​specifieke gegevensverwerkingstaak op te lossen. Gemaakt door de opdracht CREATE PROCEDURE. Een FUNCTION is een subroutine in PL/SQL die is ontworpen om een ​​specifiek probleem op te lossen en een specifieke waarde terug te geven. Gemaakt door de opdracht CREATE FUNCTION. Een PAKKET is een benoemde, gestructureerde reeks variabelen, procedures en functies die met elkaar verbonden zijn door één enkel functioneel ontwerp. Een pakket bestaat uit een specificatie en een pakketbody. De specificatie bevat beschrijvingen van externe variabelen, constanten, typen en subroutines, en de hoofdtekst van het pakket bevat de implementatie van subroutines en beschrijvingen van interne variabelen, constanten en typen die alleen binnen het pakket beschikbaar zijn. Er wordt een pakketspecificatie gemaakt met de opdracht CREATE PACKAGE, en de pakketbody wordt gemaakt met de opdracht CREATE PACKAGE BODY. Een trigger (TRIGGER) is een opgeslagen procedure die automatisch wordt uitgevoerd wanneer een gebeurtenis optreedt die aan de trigger is gekoppeld. Gebeurtenissen worden doorgaans geassocieerd met de uitvoering van een INSERT-, UPDATE- of DELETE-instructie op een tabel. Gemaakt door de opdracht CREATE TRIGGER.

Fysieke structuur van de Oracle-database Omgevingsparameters: $ORACLE_HOME – naam van de Oracle-thuismap. $ORACLE_SID – Oracle-databasenaam. De Oracle-database bevat: Controlebestanden (ctrl 1$ORACLE_SID. ctl, ctrl 2$ORACLE_SID. ctl, . .) Opstartparameterbestand van instantie init$ORACLE_SID. ora Dataconfig$ORACLE_SID. ora Logbestanden wijzigen (log 1$ORACLE_SID. dbf, log 2$ORACLE_SID. dbf, . .) Systeemtabelruimte (SYSTEM, system$ORACLE_SID. dbf) Tijdelijke tabelruimte (TEMP, temp$ORACLE_SID. dbf) Tabelruimte voor gebruiker gegevens (USER, gebruiker$ORACLE_SID. dbf)

Oracle SGA Memory Structures is het geheugen dat door alle processen in een instance wordt gedeeld. Er is slechts één SGA per exemplaar. Wijzigingen in SGA-elementen voor één proces zijn onmiddellijk beschikbaar voor alle processen die binnen dat exemplaar worden uitgevoerd. De SGA wordt gemaakt wanneer een Oracle-instantie start en heeft een vaste grootte. Het blijft bestaan ​​totdat het exemplaar handmatig wordt beëindigd, het besturingssysteem opnieuw wordt opgestart of Oracle zelf crasht. De belangrijkste interne structuren van SGA zijn: de Database Buffer Cache, dat wil zeggen een reeks vrije, gelezen en gewijzigde datablokken waarin informatie uit de database wordt opgeslagen; transactielogboekbuffer (Redo Log Buffer); gedeelde (gemeenschappelijke) bufferpool (Shared Buffer Pool).

Oracle RAM-structuren. SGA Databuffercache bevat twee lijsten: een lijst met momenteel minst gebruikte blokken (LRU – least_recently_used), die blokken bevat die van schijf zijn gelezen maar nog niet zijn gewijzigd, evenals vrije databuffers; een lijst met gewijzigde (vuile) blokken die nog niet naar schijf zijn geschreven. Let op: de uitwisseling van schijfgeheugen wordt altijd in blokken uitgevoerd, ongeacht hoe vol deze zijn met datarecords en het aantal records dat tijdens de verwerking is gewijzigd; bij toegang tot gegevens controleert Oracle eerst of de vereiste gegevens zich in de buffercache bevinden, en alleen als dat niet het geval is, krijgt hij toegang tot de schijf; Gegevensblokken die van schijf worden gelezen, gaan naar het begin van de LRU-lijst. Als ze vervolgens worden gewijzigd, verplaatst Oracle ze naar de lijst met "vuile" blokken om ze vervolgens naar schijf te schrijven; Als er niet genoeg vrije buffers in de cache zijn om het volgende verzoek uit te voeren, verwijdert Oracle blokken uit de “staart” van de LRU-lijst, als de minst actief gebruikte, en leest in plaats daarvan de vereiste datablokken van de schijf.

Oracle RAM-structuren. SGA De wijzigingslogbuffer is een cyclisch geheugen. Deze buffer ontvangt alle wijzigingen die in de database plaatsvinden met gebruikers-, systeem- en servicegegevens. Omdat het wijzigingslogboek bedoeld is om de status van de database te herstellen na noodsituaties, bevatten de logboekgegevens de “oude” en “nieuwe” waarden van de gewijzigde elementen, in het bijzonder volledige gegevensrecords na het invoegen ervan in de database. database of verwijder ze uit de database. Als de gegevensverwerking zo intensief is dat de logbuffer vol raakt, dat wil zeggen als het LGWR-proces (logschrijfproces) het verplaatsen van gegevens van de buffer naar schijf niet kan bijhouden, begint Oracle gebruikersprocessen tegen te houden. De gedeelde (gemeenschappelijke) bufferpool omvat: 1. Woordenboekcache: slaat de meest voorkomende (in het huidige werk) informatie op uit de systeemdatawoordenboek, namelijk: namen van tabellen en weergaven, kolomnamen en gegevenstypen, rechten en rollen van gebruikers, toegangsrechten tot databaseobjecten, enz. 2. gedeeld (gemeenschappelijk) gebied SQL en PL/SQL (Gedeelde SQL en PL/SQL), ook bekend als de “bibliotheekcache”: bevat zelf een reeks cursors, dat wil zeggen: geheugenstructuren waarin de resultaten van het parseren en uitvoeren van plannen van SQL-instructies en PL/SQL-blokken worden opgeslagen.

Oracle RAM-structuren. PGA is een RAM-gebied dat is toegewezen om de werking van een afzonderlijk proces te ondersteunen. Er is één en slechts één die volledig is toegewijd aan een proces en onafhankelijk is van andere PGA-processen voor elk instantieproces. De grootte van de PGA kan tijdens bedrijf dynamisch toenemen. De PGA wordt vaak de Process Global Area genoemd. Wanneer het Oracle-proces normaal wordt afgesloten, wordt al het PGA-geheugen teruggestuurd naar het besturingssysteem. De PGA van het Oracle-serverproces omvat: een stapelgebied met variabelen en service-informatie over de sessie; een privé SQL-gebied, ook wel de User Global Area (UGA) genoemd, waarin SQL-instructies en PL/SQL-blokken worden geparseerd. Dit gebied bevindt zich fysiek in de SGA (een variant van de MTS-architectuur) of in de PGA (dedicated server-architectuur). Het belangrijkste is dat recursieve sessies geen eigen UGA's ontvangen, maar de UGA's delen van de sessie waaruit ze zijn voortgekomen; een optioneel sorteergebied (size sort_area_size), dat nodig is als tijdelijk geheugen om tussentijdse sorteerresultaten van gegevens op te slaan. Als het toegewezen geheugen onvoldoende is om de sortering uit te voeren, gebruikt het proces een tijdelijk segment van de corresponderende tabelruimte.

Oracle Instance Processen De set achtergrondprocessen die interactie hebben met de database en de SGA (System Global Area) die ontstaat wanneer de instance opstart, vormen de Oracle instance. Alle processen van een instance werken op een enkele softwarekern ($ORACLE_HOME/bin/oracle) van het DBMS. Meestal worden instanceprocessen gedefinieerd als achtergrond (service, hulp, aanvullend) en server (zinvolle verzoekverwerking). Het minimum dat Oracle nodig heeft om te kunnen functioneren is een set van de volgende vier achtergrondprocessen: ora_pmon_ – het proces van het bewaken van de interne status van het systeem ora_dbwr_ – het proces van het schrijven van gegevens naar de Oracle-database ora_lgwr_ – het proces van het schrijven naar het wijzigingslogboek ora_smon_ – het proces van systeemmonitoring.

Oracle 1-instantieprocessen pmon – achtergrondprocesmonitor. Het bewaakt: de status van processen in het systeem (in het bijzonder bewaakt het de toegang tot de server van gebruikers (verbinden) en start het serverprocessen); detecteert noodsituaties en “dode” blokkering van serverprocessen; geeft bronnen vrij, dat wil zeggen, verwijdert vergrendelingen; voltooit transacties, verwijdert processen van de actieve lijst; herstelt de status (rollback) van de database na abnormale beëindigingssituaties van gebruikersprocessen. 2. dbwr – achtergrondproces voor het schrijven van datablokken naar de database vanuit de lijst met gewijzigde blokken in de SGA. dbwr "wordt wakker" om te werken als: de lengte van de lijst met gewijzigde blokken een drempelwaarde overschrijdt; de lijst met vrije buffers heeft niet genoeg geheugen om nieuwe blokken te lezen; er is nog een tijdsinterval van 3 seconden verstreken; Het logproces op de achtergrond lgwr signaleert het begin van het volgende controlepunt.

Oracle 3-instantieprocessen. lgwr is een achtergrondproces dat naar het databasewijzigingslogboek schrijft. Het loggen van transacties werkt als volgt: naarmate een transactie vordert, worden er kleine records aangemaakt, de zogenaamde redo-invoeren, die voldoende informatie bevatten om de wijzigingen die door de transactie zijn aangebracht te reconstrueren. Items voor het opnieuw uitvoeren van transacties worden tijdelijk opgeslagen in de redo-logbuffer. Wanneer er wordt gevraagd om een ​​transactie te voltooien, leest het lgwr-proces de vereiste redo-items uit de transactielogboekbuffer en schrijft deze naar het databasetransactielogboek. Een transactie is voltooid wanneer het LGWR-proces het item voor het opnieuw uitvoeren van de transactie naar het transactielogboek schrijft en de voltooiing ervan in het transactielogboek registreert. Gegevens uit de SGA-buffer worden in de volgende gevallen naar schijf overgebracht: er wordt een COMMIT-bewerking uitgevoerd om wijzigingen door te voeren naar de volgende transactie; er is nog een tijdsinterval van 3 seconden verstreken; De logbuffer in de SGA is voor een derde vol; Het dbwr-proces schreef nog een deel van de gewijzigde buffers naar schijf.

Processen van een Oracle 4-instantie smon – een verplicht systeemmonitoringproces voert het volgende uit: automatisch herstel (roll forward) van de database als de vorige lancering abnormaal of abnormaal eindigde; het bevrijden van tijdelijke segmenten van onnodige gegevens; het combineren van aaneengesloten vrije delen van tabelruimten tot aaneengesloten gebieden. 5. arch – een optioneel achtergrondproces voor het archiveren van operationele logbestanden voor het registreren van wijzigingen in de database. De kopieerlocatie (schijf, tape, ...) wordt bepaald door de log_archive_dest parameter in het init. ora. Als het arch-proces geen tijd heeft gehad om het volgende logbestand te archiveren (het bestandssysteem is bijvoorbeeld vol en er is niet genoeg ruimte om het archiefbestand te huisvesten) en er moet naar worden overgeschakeld, dan schort Oracle de bewerking op en voert alleen transacties die geen verband houden met journalisering.

Oracle 6 instanceprocessen. ckpt is een optioneel hulpproces voor het schrijven van een controlepunt naar het online wijzigingslogboek. Normaal gesproken worden controlepunten geregistreerd door LGWR. Het ckpt-proces (checkpoint_process = true in het init.ora-bestand) stelt alleen lgwr vrij van deze functie. 7. reco – (semi)verplicht proces verantwoordelijk voor verbindingen met externe databases. Het reco-proces kan worden weggelaten (de parameter disributed_transaction = 0 in init. ora), maar dan kan de instance geen “verbindingen tussen databases” gebruiken. 8.snp. X – van één tot tien processen voor het automatisch bijwerken van snapshots van de lokale database. De hoeveelheid wordt ingesteld in init. ora met de parameter snapshot_refresh_processes, en de parameter snapshot_refresh_interval bepaalt hoe regelmatig ze worden ingeschakeld. snp-processen. X kan worden geclassificeerd als servergebaseerd, omdat ze, door te communiceren met andere (met name dezelfde) databases, werken met gebruikersinformatie in de database.

Oracle 9. db-instantieprocessen. XX – aanvullende processen voor het schrijven naar de database. Als het knelpunt in de databaseprestaties I/O is en de database zich fysiek op meerdere schijven bevindt, wordt aanbevolen om meerdere extra schrijfprocessen uit te voeren (gemiddeld één voor elke afzonderlijke schijf). Aantal extra db. XX wordt bepaald door de parameter db_writers. 10. d. XXX – dispatcherprocessen in de MTS-architectuurvariant met gedeelde servers. Het aantal dispatchers dat momenteel functioneert, is afhankelijk van de werklast van Oracle, maar overschrijdt niet het aantal dat is opgegeven door de parameter mts_max_dispatchers. Elke coördinator bedient alleen een specifiek netwerk of intern protocol. Bijvoorbeeld: mts_dispatchers="tcp, 1" mts_dispatchers="ipc, 1"

Oracle 11.s-instantieprocessen. XXX – serverprocessen in de MTS-architectuurversie met gedeelde servers. Het aantal servers dat momenteel functioneert, hangt af van de intensiteit van het werk van Oracle, maar overschrijdt niet het aantal dat is opgegeven door de parameter mts_max_servers. Bij het starten start Oracle verschillende (mts_servers) serverprocessen, en naarmate de belasting toeneemt of afneemt, worden aanvullende processen gestart of beëindigd. 12. orakel – een speciaal serverproces dat individueel een gebruikersproces (in een bepaald geval het snp-proces) bedient, en mogelijk op een andere machine werkt. 13.loc. X – van één tot tien vergrendelingsprocessen die wederzijds beheer van bronnen in een parallelle serveromgeving mogelijk maken.

Oracle-serverarchitecturen De versie voor één gebruiker (voorbeeldomgeving - MS DOS) wordt gekenmerkt door het feit dat: het gebruikersproces, het serverproces en de achtergrondprocessen worden gecombineerd in één besturingssysteemtaak; U kunt slechts één database en één Oracle-instantie uitvoeren; in een gedistribueerde database kan niet als server functioneren. De multi-user optie (een voorbeeldomgeving is UNIX) wordt gekenmerkt door het feit dat: gebruikers-, server- en achtergrondprocessen zijn onderverdeeld in afzonderlijke besturingssysteemtaken; het is mogelijk om meerdere databases en Oracle-instances te draaien; Het is mogelijk om als server in een gedistribueerde database te functioneren.

Oracle-serverarchitecturen De single-task-optie (een voorbeeldomgeving is Net. Ware) wordt gekenmerkt door het feit dat: het gebruikersproces en het serverproces één enkele besturingssysteemtaak vormen, de zogenaamde gebruikerstaak; Er kan op elk moment slechts één gebruikerstaak op de server worden uitgevoerd; Het is voor veel gebruikers mogelijk om via Net 8 (SQL*Net) toegang te krijgen tot de database. De dual-tasking-optie (een voorbeeldomgeving is UNIX) wordt gekenmerkt door het feit dat: het gebruikersproces en het dienende serverproces volledig onafhankelijke processen van het besturingssysteem zijn, tot het punt dat ze op verschillende machines en platforms kunnen functioneren (client -serverarchitectuur); Er kunnen op ieder moment meerdere (veel) gebruikers- en serverprocessen op de server draaien; het is voor veel gebruikers mogelijk om toegang te krijgen tot lokale databases via Net 8 (SQL*Net) en voor lokale gebruikers om toegang te krijgen tot databases op afstand.

Oracle-serverarchitecturen Single-threaded architectuur, of optie met speciale (Dedicated) servers: het rigide toewijzen aan elk gebruikersproces van een serverproces dat het proces uitvoert en alleen de verzoeken aan de database. Parallelle server (omgeving - clustersystemen, bijvoorbeeld RM-1000): elke clusterprocessor voert zijn eigen Oracle-instantie uit, die een afzonderlijk SGA-gebied en een reeks systeemprocessen omvat; elke instantie houdt zijn eigen wijzigingslogboeken bij; de database- en controlebestanden zijn gemeenschappelijk voor alle instanties; elke instantie kan met veel gebruikers worden verbonden; Elke instantie is individueel adresseerbaar en kan onafhankelijk functioneren als onderdeel van een gedistribueerd systeem.

Oracle-serverarchitecturen Multi-threaded architectuur (MTS - Multi-Tread Server), een variant met gedeelde servers, wordt gekenmerkt door: de aanwezigheid van dispatcherprocessen die verzoeken ontvangen van gebruikersprocessen en de resultaten retourneren van verzoeken die zijn uitgevoerd door serverprocessen; de aanwezigheid in SGA van: één invoerwachtrij voor alle serverprocessen, waarin coördinatoren serviceverzoeken van gebruikers plaatsen; verschillende uitvoerwachtrijen, één toegewezen aan elk proces door de coördinator, waar de servers zijn geplaatst en vanwaar de coördinatoren de resultaten van het uitvoeren van zoekopdrachten naar de database naar gebruikers verzenden; het overbrengen van privé-SQL-gebieden die zich voorheen in de PGA van serverprocessen bevonden naar de SGA van de Oracle-instantie; dynamische verandering afhankelijk van de huidige systeembelasting in het aantal functionerende dispatchers en serverprocessen; noch coördinatoren, noch servers zijn toegewezen aan gebruikersprocessen: verzoeken worden afgehandeld zodra ze worden ontvangen; mogelijkheid tot gelijktijdig functioneren van dedicated en gedeelde servers.

logisch model van een relationele database in relationele databaseobjecten. Om dit probleem op te lossen moet de databaseontwerper weten: a) welke objecten de relationele database in principe heeft; b) welke objecten worden ondersteund door het specifieke DBMS dat is geselecteerd om de database te implementeren.

We gaan er dus van uit dat de beslissing om voor een DBMS te kiezen al is genomen door de IT-projectmanager en is overeengekomen met de databaseklant, d.w.z. Het DBMS is gespecificeerd. De databaseontwerper moet de documentatie bekijken waarin het SQL-dialect wordt beschreven dat door het geselecteerde DBMS wordt ondersteund. In deze lezing wordt ervan uitgegaan dat er voor het Oracle 9i DBMS is gekozen, hoewel de overgrote meerderheid van het materiaal betrekking heeft op objecten in elk industrieel relationeel DBMS.

Opmerking. Over het kiezen van een DBMS. Het selecteren van een DBMS is een selectieprobleem dat uit meerdere criteria bestaat en wordt in deze cursus niet besproken. Houd er rekening mee dat een DBMS doorgaans slechts één gegevensmodel ondersteunt: relationeel, hiërarchisch, netwerk, multidimensionaal, objectgeoriënteerd, objectrelationeel. De uitzondering is een klein aantal DBMS'en. Bijvoorbeeld ADABAS, Software AG (netwerk- en relationele modellen) of Oracle 9i, Oracle Inc. (relationele en object-relationele modellen). Meestal proberen ze bij het kiezen van een DBMS, terwijl alle andere mogelijkheden gelijk zijn, een database op een DBMS te creëren die beweert een industriestandaard te zijn.

De hiërarchie van relationele databaseobjecten wordt voorgeschreven in SQL-standaarden, in het bijzonder in de SQL-92-standaard, waarop we ons zullen concentreren bij de presentatie van het materiaal in deze lezing. Deze standaard wordt ondersteund door vrijwel alle moderne DBMS'en, inclusief desktop-exemplaren. De hiërarchie van relationele databaseobjecten wordt weergegeven in de onderstaande afbeelding.

Op het laagste niveau bevinden zich de kleinste objecten waarmee een relationele database werkt: kolommen (kolommen) en rijen. Ze zijn op hun beurt gegroepeerd in tabellen en weergaven.

Opmerking. In de context van de lezing worden attributen, kolommen, kolommen en velden als synoniemen beschouwd. Hetzelfde geldt voor de termen "rij", "record" en "tupel".

Tabellen en views, die de fysieke representatie van de logische structuur van de database vertegenwoordigen, worden samengevoegd tot een schema. Meerdere schema's worden verzameld in catalogi, die vervolgens in clusters kunnen worden gegroepeerd. Opgemerkt moet worden dat geen van de groepen objecten van de SQL-92-standaard geassocieerd is met structuren voor de fysieke opslag van informatie in het computergeheugen.


Rijst. 8.1.

Naast de objecten die in de figuur worden getoond, kunnen indexen, triggers, gebeurtenissen, opgeslagen opdrachten, opgeslagen procedures en een aantal andere in een relationele database worden gemaakt. Laten we nu verder gaan met het definiëren van relationele databaseobjecten.

Basisobjecten van een relationele database

Clusters, mappen en schema's zijn geen vereiste elementen van de standaard en dus van een relationele databasesoftwareomgeving.

Een cluster is een groep mappen die toegankelijk is via een enkele verbinding met een databaseserver (DBMS-softwarecomponent).

In de praktijk de procedure het maken van een map bepaald door de implementatie van het DBMS op een specifiek besturingsplatform. Een catalogus is een groep schema's. In de praktijk wordt een directory vaak geassocieerd met een fysieke database als een verzameling fysieke besturingssysteembestanden die worden geïdentificeerd aan de hand van de naam.

Voor een databaseontwerper is een schema een algemene logische weergave van de relaties van een volledige database. In SQL-termen is een schema een container voor tabellen, views en andere structurele elementen van een relationele database. De plaatsing van database-elementen in elk schema wordt volledig bepaald door de databaseontwerper.

U hebt geen schema nodig om tabellen en weergaven te maken. Als u van plan bent slechts één logische database te installeren, is het duidelijk dat u zonder schema kunt. Maar als u van plan bent hetzelfde DBMS te gebruiken om meerdere databases te ondersteunen, kan het correct indelen van databaseobjecten in schema's het onderhoud van die databases veel eenvoudiger maken. In de praktijk wordt een schema vaak gekoppeld aan de objecten van een specifieke gebruiker in een fysieke database.

Vervolgens worden relationele databaseobjecten ingevoerd in de context van het relationele DBMS van Oracle 9i. Deze aanpak werd gekozen vanwege het ontwerp fysiek model van een relationele database wordt uitgevoerd voor een specifieke implementatieomgeving.

In Oracle 9i wordt de term Schema gebruikt om alle databaseobjecten te beschrijven die door een gebruiker zijn gemaakt. Voor elke nieuwe gebruiker wordt automatisch een nieuw schema gemaakt.

De belangrijkste objecten in relationele databases zijn tabel, weergave en gebruiker.

Tabel is de basisstructuur van een relationele database. Het vertegenwoordigt een eenheid van gegevensopslag: een relatie. Een tabel wordt in de database geïdentificeerd aan de hand van de unieke naam, die de identificatie van de gebruiker bevat. De tabel kan leeg zijn of uit een reeks rijen bestaan.

Een weergave is een benoemde, dynamisch onderhouden DBMS-selectie uit een of meer databasetabellen. De ophaaloperator beperkt de gegevens die zichtbaar zijn voor de gebruiker. Doorgaans garandeert het DBMS de relevantie van de weergave: deze wordt elke keer gegenereerd wanneer de weergave wordt gebruikt. Soms worden representaties genoemd virtuele tafels.

Een gebruiker is een object dat de mogelijkheid heeft om andere databaseobjecten te maken of te gebruiken en de uitvoering van DBMS-functies aan te vragen, zoals het organiseren van een sessie, het wijzigen van de status van de database, enz.

Om het gemakkelijker te maken objecten te identificeren en een naam te geven, ondersteunt de database objecten zoals synoniemen, reeksen en .

Synoniem ( Synoniem)- Dit alternatieve naam object (alias) van een relationele database waarmee u toegang kunt krijgen tot dit object. Een synoniem kan algemeen of privé zijn. Met een gemeenschappelijk synoniem kunnen alle databasegebruikers via de alias naar het overeenkomstige object verwijzen. Met een synoniem kunt u de volledige kwalificatie van een object in de database verbergen voor eindgebruikers.

Volgorde is een databaseobject waarmee u een reeks unieke nummers (getallen) kunt genereren bij asynchrone toegang voor meerdere gebruikers. Normaal gesproken worden reekselementen gebruikt om tabelelementen (rijen) uniek te nummeren bij gegevenswijzigingsbewerkingen.

Door de gebruiker gedefinieerde gegevenstypen (Door de gebruiker gedefinieerde gegevenstypen) zijn door de gebruiker gedefinieerde attribuuttypen (domeinen) die verschillen van de door DBMS ondersteunde (ingebouwde) typen. Ze worden gedefinieerd op basis van ingebouwde typen. Door de gebruiker gedefinieerde gegevenstypen vormen dat deel van de DBMS-omgeving dat is georganiseerd volgens het objectgeoriënteerde paradigma.

Om efficiënte toegang tot gegevens te garanderen, ondersteunen relationele DBMS'en een aantal andere objecten: index, tabelgebied, cluster, sectie.

Een Index is een databaseobject dat is gemaakt om de prestaties bij het ophalen van gegevens te verbeteren en de uniciteit van de primaire sleutel te controleren (als deze voor de tabel is opgegeven). Volledig indextabellen (indexgeorganiseerde tabellen) fungeren tegelijkertijd als tabel en als index.

Tabelruimte of gebied ( Tabelruimte) is een benoemd onderdeel van de database dat wordt gebruikt om geheugen toe te wijzen voor tabellen en indexen. In Oracle 9i is dit de logische naam van de fysieke bestanden van het besturingssysteem. Alle databaseobjecten die gegevens opslaan, komen overeen met sommige tabelruimten. De meeste databaseobjecten die geen gegevens opslaan, bevinden zich in de datadictionary, gelegen in de SYSTEM-tabelruimte.

Een Cluster is een object dat een manier definieert om gegevens samen in meerdere of één tabel op te slaan. Een van de criteria voor het gebruik van een cluster is het hebben van gemeenschappelijke sleutelvelden in meerdere tabellen die in dezelfde SQL-opdracht worden gebruikt. Normaal gesproken worden geclusterde kolommen of tabellen in de database opgeslagen als hash-tabellen(dat wil zeggen op een speciale manier).

Een partitie is een databaseobject waarmee u een object met gegevens kunt weergeven als een verzameling subobjecten die aan verschillende zijn toegewezen tabelruimten. Dus, snijden Hiermee kunt u zeer grote tabellen over meerdere harde schijven verdelen.

Om gegevens op een bijzondere manier te verwerken of te implementeren ondersteuning van referentiële integriteit Er wordt gebruik gemaakt van databaseobjecten: opgeslagen procedure, functie, commando, trigger, timer en pakket (Oracle). Met behulp van deze databaseobjecten kunt u zogenaamde recordverwerking van gegevens uitvoeren. Vanuit het oogpunt van databasetoepassingen is rijverwerking de opeenvolgende selectie van gegevens, rij voor rij, deze verwerken en doorgaan met het verwerken van de volgende rij.

Deze relationele databaseobjecten zijn programma's, d.w.z. uitvoerbare code. Deze code wordt gewoonlijk server-side code genoemd omdat deze wordt uitgevoerd door de computer waarop de relationele database-engine is geïnstalleerd. Het plannen en ontwikkelen van dergelijke code is een van de taken van de relationele databaseontwerper.

Een opgeslagen procedure is een databaseobject dat een benoemde set SQL-opdrachten en/of -instructies uit gespecialiseerde database-programmeertalen (zoals SQLWindows of PL/SQL) vertegenwoordigt.

Een functie is een databaseobject dat een benoemde set SQL-opdrachten en/of gespecialiseerde database-programmeertaaloperatoren vertegenwoordigt die, wanneer ze worden uitgevoerd, een waarde retourneren: het resultaat van een berekening.

Een opdracht is een benoemde SQL-instructie die vooraf is gecompileerd en in de database is opgeslagen. De verwerkingssnelheid van opdrachten is hoger dan die van de overeenkomstige SQL-instructie, omdat fasen worden niet uitgevoerd ontleden en compilatie.

Een trigger is een databaseobject dat een speciale opgeslagen procedure is. Deze procedure wordt automatisch uitgevoerd wanneer er een triggergebeurtenis plaatsvindt (bijvoorbeeld voordat een rij in een tabel wordt ingevoegd).

Een timer verschilt van een trigger doordat de triggergebeurtenis voor de opgeslagen procedure een timergebeurtenis is.

Een pakket is een databaseobject dat bestaat uit een benoemde, gestructureerde reeks variabelen, procedures en functies.

Gedistribueerde relationele DBMS'en hebben speciale objecten: snapshot en databasekoppeling.

Een momentopname (Snapshop) is een lokale kopie van een tabel in een externe database die wordt gebruikt om het tabel- of queryresultaat te repliceren. Momentopnamen kunnen aanpasbaar of alleen-lezen zijn.

Een databaselink of externe databaselink is een databaseobject waarmee u toegang krijgt tot objecten in een externe database. Een databaselinknaam kan grofweg worden gezien als een link om toegang te krijgen tot parameters voor een database op afstand.

Om de controle op de gegevenstoegang effectief te beheren, ondersteunt Oracle een rolobject.

Rol is een databaseobject dat bestaat uit een benoemde reeks bevoegdheden die kunnen worden toegewezen aan gebruikers, gebruikerscategorieën of andere rollen.

Onder een databank wordt verstaan ​​een reeks databases, evenals software, taal en andere hulpmiddelen die zijn ontworpen voor de gecentraliseerde accumulatie van gegevens en het gebruik ervan met behulp van elektronische computers.

De databank omvat een of meer databases, een databasedirectory, een databasebeheersysteem (DBMS), evenals bibliotheken met query's en applicatieprogramma's.

De databank is ontworpen om grote hoeveelheden informatie op te slaan en snel de benodigde informatie en documenten te vinden.

Een databank wordt gecreëerd in een abonneesysteem van welke capaciteit dan ook - van een personal computer tot een supercomputer. Maar zelfs de grootste databank is beperkt in zijn mogelijkheden. Daarom specialiseren online banken zich door informatie te verzamelen op bepaalde gebieden van wetenschap, technologie en producten. De kern van de bank zijn databases en kennisbanken. Een database is een georganiseerde structuur die is ontworpen om informatie op te slaan. Gegevens en informatie zijn onderling verbonden concepten, maar niet identiek. Ik moet de inconsistentie in deze definitie opmerken. Tegenwoordig kunt u met de meeste databasebeheersystemen (DBMS) niet alleen gegevens in hun structuren plaatsen, maar ook methoden (dat wil zeggen programmacode) waarmee interactie met de consument of met andere software- en hardwaresystemen plaatsvindt. We kunnen dus zeggen dat moderne databases niet alleen gegevens opslaan, maar ook informatie.

BnD beschikt over speciale tools die het voor gebruikers makkelijker maken om met data te werken (DBMS).

Gecentraliseerd gegevensbeheer heeft voordelen ten opzichte van een conventioneel bestandssysteem:

— vermindering van redundantie van gegevensopslag;

— het terugdringen van de arbeidsintensiteit bij de ontwikkeling, exploitatie en modernisering van informatiesystemen;

Zorgen voor gemakkelijke toegang tot gegevens als gebruikers

- zowel dataprofessionals als eindgebruikers.

Basisvereisten voor BnD:

- adequaatheid van de weergave van het vakgebied (volledigheid, integriteit en - consistentie van gegevens, relevantie van informatie);

— het vermogen tot interactie tussen gebruikers van verschillende categorieën, hoge efficiëntie van de toegang tot gegevens;

— vriendelijke interfaces, korte trainingstijd;

— het garanderen van geheimhouding en het beperken van de toegang tot gegevens voor verschillende gebruikers;

— betrouwbaarheid van opslag en gegevensbescherming.

De definitie van de term databank wordt gegeven in de Tijdelijke Regeling Staatsboekhouding en Registratie van Databases en Databanken, goedgekeurd bij decreet van de regering van de Russische Federatie van 28 februari 1996 nr. 226, clausule 2 (SZ RF, 1996 , nr. 12, art. 1114)

Aanvankelijk (begin jaren 60) werd een bestandsopslagsysteem gebruikt. Om voornamelijk technische problemen op te lossen, gekenmerkt door een kleine hoeveelheid gegevens en een aanzienlijke hoeveelheid berekeningen, werden de gegevens rechtstreeks in het programma opgeslagen. Er werd gebruik gemaakt van een consistente manier om gegevens te organiseren, er was sprake van hoge redundantie, identieke logische en fysieke structuren en volledige gegevensafhankelijkheid. Met de komst van economische en managementtaken (managementinformatiesysteem - MIS), gekenmerkt door grote hoeveelheden gegevens en een klein deel van de berekeningen, bleek deze organisatie van gegevens ineffectief. Er was behoefte aan het ordenen van gegevens, wat, zoals bleek, kon worden uitgevoerd op basis van twee criteria: gebruik (informatiearrays); opslag (databases). Aanvankelijk werd gebruik gemaakt van informatiearrays, maar de superioriteit van databases werd al snel duidelijk. Het gebruik van bestanden om alleen gegevens op te slaan werd in 1959 door Mac Gree voorgesteld. Er werden toegangsmethoden (inclusief willekeurige toegang) tot dergelijke bestanden ontwikkeld, terwijl de fysieke en logische structuren al verschillend waren en de fysieke locatie van de gegevens kon worden gewijzigd zonder de logische representatie te veranderen.

In 1963 bouwde S. Bachman de eerste industriële IDS-database met een netwerkdatamodel, dat nog steeds werd gekenmerkt door dataredundantie en het gebruik ervan voor slechts één toepassing. Gegevens werden toegankelijk gemaakt met behulp van geschikte software. In 1969 werd een groep gevormd die de CODASYL-set standaarden voor het netwerkdatamodel creëerde.

In feite begon men moderne database-architectuur te gebruiken. Architectuur wordt opgevat als een type (generalisatie) van een structuur waarin elk element kan worden vervangen door een ander element, waarvan de kenmerken van de inputs en outputs identiek zijn aan die van het eerste element. Een belangrijke sprong in de ontwikkeling van databasetechnologie werd gemaakt door het paradigma van het relationele datamodel dat in 1970 door M. Codd werd voorgesteld. Een paradigma wordt opgevat als een wetenschappelijke theorie belichaamd in een systeem van concepten die de essentiële kenmerken van de werkelijkheid weerspiegelen. Nu zouden logische structuren kunnen worden verkregen uit dezelfde fysieke gegevens, d.w.z. Dezelfde fysieke gegevens kunnen via verschillende paden voor verschillende toepassingen toegankelijk zijn. Het is mogelijk geworden om de integriteit en onafhankelijkheid van gegevens te waarborgen.

Aan het einde van de jaren zeventig verschenen moderne DBMS'en, die fysieke en logische onafhankelijkheid en gegevensbeveiliging boden en databasetalen ontwikkelden. Het afgelopen decennium wordt gekenmerkt door de opkomst van gedistribueerde en objectgeoriënteerde databases, waarvan de kenmerken worden bepaald door de toepassingen van geautomatiseerde ontwerptools en database-intellectualisering.

Nauw verwant aan het concept van een database is het concept van een databasebeheersysteem - dit is een reeks softwaretools die zijn ontworpen om de structuur van een nieuwe database te creëren, deze met inhoud te vullen, inhoud te bewerken en informatie te visualiseren. Visualisatie van database-informatie betekent de selectie van weergegeven gegevens in overeenstemming met een bepaald criterium, de volgorde ervan, het ontwerp en de daaropvolgende uitvoer naar een uitvoerapparaat of verzending via communicatiekanalen.

Er zijn veel databasebeheersystemen in de wereld. Hoewel ze met verschillende objecten verschillend kunnen werken en de gebruiker verschillende functies en kenmerken kunnen bieden, vertrouwen de meeste DBMS'en op één enkele, gevestigde reeks kernconcepten. Dit geeft ons de mogelijkheid om één systeem te overwegen en de concepten, technieken en methoden ervan te generaliseren naar de hele klasse van DBMS.

Het DBMS organiseert de opslag van informatie zo dat het handig is:

bladeren,

bijvullen,

wijziging,

zoek naar de informatie die u nodig heeft,

eventuele selecties maken

sorteer in willekeurige volgorde.

Databaseclassificatie:

a) afhankelijk van de aard van de opgeslagen informatie:

Feitelijk (kaartindexen),

Documentaire (archief)

b) volgens de methode van gegevensopslag:

Gecentraliseerd (opgeslagen op één computer),

Gedistribueerd (gebruikt in lokale en mondiale computernetwerken).

c) volgens de gegevensorganisatiestructuur:

Tabelvormig (relationeel),

Hiërarchisch,

Moderne DBMS'en maken het mogelijk om niet alleen tekst en grafische informatie op te nemen, maar ook geluidsfragmenten en zelfs videoclips.

Dankzij het gebruiksgemak van het DBMS kunt u nieuwe databases maken zonder toevlucht te nemen tot programmeren, maar alleen met behulp van ingebouwde functies. DBMS zorgen voor de juistheid, volledigheid en consistentie van gegevens, evenals gemakkelijke toegang daartoe.

Populaire DBMS'en zijn FoxPro, Access for Windows, Paradox. Voor minder complexe toepassingen worden in plaats van DBMS's Information Retrieval Systems (IRS) gebruikt, die de volgende functies uitvoeren:

het opslaan van een grote hoeveelheid informatie;

snel zoeken naar benodigde informatie;

het toevoegen, verwijderen en wijzigen van opgeslagen informatie;

voer het uit in een vorm die geschikt is voor mensen.

Informatie in databases is gestructureerd in individuele records, die een groep gerelateerde gegevenselementen vormen. De aard van de relatie tussen records bepaalt twee hoofdtypen database-organisatie: hiërarchisch en relationeel.

Als er geen gegevens in de database staan ​​(lege database), dan is er nog steeds sprake van een volwaardige database. Dit feit heeft methodologische betekenis. Hoewel er geen gegevens in de database staan, zit er nog steeds informatie in - dit is de structuur van de database. Het definieert methoden voor het invoeren van gegevens en het opslaan ervan in de database. De eenvoudigste ‘niet-computerversie’ van een database is een zakelijke agenda, waarin elke kalenderdag een pagina krijgt toegewezen. Ook al is er geen enkele regel in geschreven, het houdt niet op een dagboek te zijn, omdat het een structuur heeft die het duidelijk onderscheidt van notitieboekjes, werkboeken en andere kantoorbenodigdheden.

Databases kunnen verschillende objecten bevatten, maar de belangrijkste objecten van elke database zijn de tabellen. De eenvoudigste database heeft minstens één tabel. Dienovereenkomstig is de structuur van de eenvoudigste database identiek aan de structuur van de tabel.

Momenteel is er een snelle groei in het aantal elektronische handelssystemen (ECS). E-commerce heeft een aantal onderscheidende kenmerken die het scherp onderscheiden van alle voorheen bekende methoden van klassieke handel vanwege de uitzonderlijke communicatiekenmerken van internet

E-commercesystemen moeten zakelijke transacties tussen meerdere bedrijfsapplicaties kunnen coördineren, individuele stukjes informatie uit verschillende bronnen kunnen ophalen en de benodigde informatie tijdig en naadloos aan de klant kunnen leveren – allemaal gebaseerd op één gebruikersweb. verzoek.

SEC's hebben een aantal specifieke eigenschappen die hen onderscheiden van klassieke handelssystemen (gewone winkels, supermarkten, beurzen, enz.). Tegelijkertijd moet met deze eigenschappen rekening worden gehouden bij het construeren en analyseren van procesmodellen in SEC, aangezien de klassieke formulering van het optimalisatieprobleem van optimale controle van een discreet systeem niet geschikt is. De eigenschappen van SEC: De bedrijfstijd is onbeperkt, in tegenstelling tot klassieke systemen, waar sprake is van een strikt gereguleerd werkschema. We kunnen zeggen dat de bezoekersstroom gelijkmatig over de tijd is verdeeld. In tegenstelling tot klassieke systemen in SEC (dit is vooral typerend voor B2C-klassesystemen), komen bezoekers niet alleen om aankopen te doen, maar ook om wat informatie te ontvangen: om kennis te maken met het assortiment, de prijzen, de betalingsvoorwaarden en de levering van goederen.

Tegelijkertijd worden klassieke systemen gekenmerkt door een zodanige eigenschap dat bezoekers zeer waarschijnlijk kopers worden. Daarom is het mogelijk om verschillende modellen en methoden te overwegen om de efficiëntie van het functioneren van SEC te beoordelen: de verhouding tussen het aantal kopers en het aantal bezoekers, de impact van de werking van SEC en feedback op de binnenkomende stroom van aanvragen.

Typisch voor SEC's is dat veel bezoekers er meerdere keren komen om wat informatie in te winnen, en pas nadat ze aan alle voorwaarden tevreden zijn, overgaan tot een aankoop.

SEC kan een redelijk groot aantal bezoekers tegelijk bedienen. Dit kenmerk wordt alleen beperkt door de software- en hardwaremogelijkheden van de SEC. Dat wil zeggen dat er in het geval van SEC vanuit het oogpunt van de gebruiker geen wachtrijen zijn die wachten op service. Dit geldt vooral voor volledig of gedeeltelijk geautomatiseerde SEC's.

In SEC is een geval mogelijk wanneer een bezoeker, die producten in een virtueel winkelwagentje heeft geplaatst, het systeem verlaat zonder een aankoop te doen (het is normaal dat alle producten in het systeem blijven, omdat het simpelweg onmogelijk is om ze te stelen). Door een analogie te maken met klassieke winkelsystemen is het wederom moeilijk om je een situatie voor te stellen waarin een bezoeker, bij het betreden van een winkel, eerst een volle kar met goederen laadt, vervolgens alles uitlaadt en de winkel verlaat. In SEC is dit geval mogelijk als de reeks controlefactoren niet optimaal (of suboptimaal) is

Met databasebeheersystemen kunt u grote hoeveelheden informatie combineren en verwerken, sorteren, selecties maken op basis van bepaalde criteria, enz.

Moderne DBMS'en maken het mogelijk om niet alleen tekst en grafische informatie op te nemen, maar ook geluidsfragmenten en zelfs videoclips. Dankzij het gebruiksgemak van het DBMS kunt u nieuwe databases maken zonder toevlucht te nemen tot programmeren, maar alleen met behulp van ingebouwde functies. DBMS garanderen de juistheid, volledigheid en consistentie van gegevens.

1.2 Relationele databases

Relationeel DBMS (RDBMS; anders Relationeel Database Management Systeem, RDBMS) - een DBMS dat relationele databases beheert.

Het begrip relatie wordt geassocieerd met de ontwikkelingen van de beroemde Engelse specialist op het gebied van databasesystemen, Edgar Codd.

Deze modellen worden gekenmerkt door eenvoud van de datastructuur, gebruiksvriendelijke tabelweergave en de mogelijkheid om het formele apparaat van relationele algebra en relationele calculus te gebruiken voor gegevensverwerking.

Het relationele model richt zich op het organiseren van gegevens in de vorm van tweedimensionale tabellen. Elke relationele tabel is een tweedimensionale array en heeft de volgende eigenschappen:

– elk tabelelement is één data-element;

– alle kolommen in de tabel zijn homogeen, dat wil zeggen dat alle elementen in de kolom van hetzelfde type zijn (numeriek, teken, enz.);

– elke kolom heeft een unieke naam;

– er zijn geen identieke rijen in de tabel;

– de volgorde van rijen en kolommen kan willekeurig zijn.

De basisconcepten van relationele DBMS zijn: 1) attribuut; 2) relaties; 3) tupel.

Een database is dus niets meer dan een verzameling tabellen. RDBS en recordgeoriënteerde systemen zijn georganiseerd op basis van de B-Tree-standaard of de Indexed Sequential Access Method (ISAM) en zijn standaardsystemen die in de meeste moderne softwareproducten worden gebruikt. Om combinaties van tabellen te bieden om relaties tussen gegevens te definiëren, die vrijwel volledig afwezig zijn in de meeste B-Tree- en ISAM-software-implementaties, worden talen als SQL (IBM), Quel (Ingres) en RDO (Digital Equipment) gebruikt, met de industriestandaard werd momenteel de SQL-taal, ondersteund door alle relationele DBMS-fabrikanten.

De originele versie van SQL is een geïnterpreteerde taal die is ontworpen om bewerkingen op databases uit te voeren. De SQL-taal werd begin jaren zeventig gecreëerd als interface voor interactie met databases op basis van de toen nieuwe relationele theorie. Echte applicaties worden meestal in andere talen geschreven die SQL-code genereren en deze als ASCII-tekst doorgeven aan het DBMS. Er moet ook worden opgemerkt dat bijna alle echte relationele (en niet alleen relationele) systemen, naast de implementatie van de ANSI SQL-standaard, nu bekend in de nieuwste editie onder de naam SQL2 (of SQL-92), bijvoorbeeld extra uitbreidingen bevatten , ondersteuning voor client-serverarchitectuur of tools voor applicatieontwikkeling.

De tabelrijen zijn opgebouwd uit velden die vooraf bekend zijn bij de database. De meeste systemen kunnen geen nieuwe gegevenstypen toevoegen. Elke rij in de tabel komt overeen met één record. De positie van een bepaalde rij kan veranderen als er nieuwe rijen worden verwijderd of ingevoegd.

Om een ​​element op unieke wijze te identificeren, moet het worden gekoppeld aan een veld of een reeks velden die de uniciteit van het element in de tabel garandeert. Dit veld of deze velden worden de primaire sleutel van de tabel genoemd en zijn vaak getallen. Als de ene tabel de primaire sleutel van een andere tabel bevat, kunt u hiermee een relatie tussen elementen van verschillende tabellen organiseren. Dit veld wordt een externe sleutel genoemd.

Omdat alle velden van één tabel een constant aantal velden van vooraf gedefinieerde typen moeten bevatten, is het noodzakelijk om extra tabellen te maken die rekening houden met de individuele kenmerken van de elementen met behulp van externe sleutels. Deze aanpak bemoeilijkt het creëren van complexe relaties in de database enorm. Een ander groot nadeel van relationele databases is de hoge complexiteit van het manipuleren van informatie en het veranderen van relaties.

Ondanks de beschouwde nadelen van relationele databases, hebben ze een aantal voordelen:

tafels verdelen met behulp van verschillende programma's;

uitgebreide “retourcode” voor fouten;

hoge snelheid van queryverwerking (SQL SELECT-opdracht; het resultaat van de selectie is een tabel die velden bevat die aan het opgegeven criterium voldoen);

het concept van objectdatabases zelf is behoorlijk complex en vereist serieuze en langdurige training van programmeurs;

relatief hoge snelheid bij het werken met grote hoeveelheden gegevens.

Bovendien zijn er over de hele wereld al aanzienlijke bedragen geïnvesteerd in relationele DBMS'en. Veel organisaties hebben er geen vertrouwen in dat de kosten die gepaard gaan met het migreren naar objectdatabases de moeite waard zullen zijn.

Daarom zijn veel gebruikers geïnteresseerd in een gecombineerde aanpak die hen in staat stelt te profiteren van de voordelen van objectdatabases zonder hun relationele databases volledig te verlaten. Dergelijke oplossingen bestaan. Als de transitie van een relationele database naar een objectdatabase te duur is, is het gebruik van deze laatste als uitbreiding en aanvulling op relationeel DBMS vaak een kosteneffectiever alternatief. Met compromisoplossingen kunt u een evenwicht bewaren tussen objecten en relationele tabellen.

Object-relationele adapters - uh Deze methode omvat het gebruik van de zogenaamde object-relationele adapter, die programmaobjecten automatisch toewijst en opslaat in relationele databases. Een objectgeoriënteerde applicatie werkt als een gewone DBMS-gebruiker. Hoewel er enige prestatievermindering is, stelt deze optie programmeurs in staat zich volledig te concentreren op objectgeoriënteerde ontwikkeling. Bovendien hebben alle applicaties in de onderneming nog steeds toegang tot gegevens die in relationele vorm zijn opgeslagen.

Sommige object-DBMS'en, zoals GemStone van GemStone Systems, kunnen zelf fungeren als een krachtige object-relationele adapter, waardoor objectgeoriënteerde applicaties toegang krijgen tot relationele databases.

Object-relationele adapters, zoals Hewlett-Packard's Odapter voor Oracle, kunnen nuttig zijn in veel toepassingen, zoals middleware die objectgeoriënteerde toepassingen integreert met relationele databases.

Object-relationele gateways - p Bij gebruik van deze methode communiceert de gebruiker met de database met behulp van de OODBMS-taal, en de gateway vervangt alle objectgeoriënteerde elementen van deze taal door hun relationele componenten. Hiervoor moet je opnieuw betalen in productiviteit. Een gateway moet bijvoorbeeld objecten transformeren in een reeks relaties, originele identificatiegegevens (OID's) van objecten genereren en deze doorgeven aan een relationele database. De gateway moet vervolgens, elke keer dat de RDBMS-interface wordt gebruikt, de in de database gevonden OID converteren naar het overeenkomstige object dat is opgeslagen in het RDBMS.

De prestaties van de twee beschouwde benaderingen zijn afhankelijk van de manier waarop toegang wordt verkregen tot de relationele database. Elk RDBMS bestaat uit twee lagen: de gegevensbeheerlaag en de opslagbeheerlaag. De eerste verwerkt instructies in SQL-taal en de tweede geeft gegevens weer in de database. Een gateway of adapter kan communiceren met zowel de gegevenslaag (dat wil zeggen toegang krijgen tot het RDBMS met behulp van SQL) als de medialaag (procedureaanroepen op laag niveau). De prestaties in het eerste geval zijn veel lager (het Hewlett-Packard OpenODB-systeem, dat als gateway kan fungeren, ondersteunt bijvoorbeeld alleen op een hoog niveau).

Hybride DBMS - bijv Een andere oplossing zou zijn om hybride object-relationele DBMS'en te creëren die zowel traditionele tabelgegevens als objecten kunnen opslaan. Veel analisten zijn van mening dat de toekomst aan dergelijke hybride databases ligt. Toonaangevende relationele DBMS-leveranciers beginnen (of zijn van plan) objectgeoriënteerde mogelijkheden aan hun producten toe te voegen. Sybase en Informix zijn met name van plan objectondersteuning te introduceren in toekomstige versies van het DBMS. Onafhankelijke bedrijven zijn ook van plan soortgelijke ontwikkelingen door te voeren. Het bedrijf Shores bereidt zich bijvoorbeeld voor om het Oracle8 DBMS uit te rusten met objectgeoriënteerde tools, die naar verwachting eind 1996 op de markt zullen komen.

Aan de andere kant zijn object-DBMS-leveranciers zoals Object Design zich ervan bewust dat objectgeoriënteerde databases in de nabije toekomst relationele DBMS's niet zullen vervangen. Dit dwingt hen om gateways te creëren ter ondersteuning van relationele en hiërarchische databases of verschillende soorten interfaces. Een typisch voorbeeld hiervan is de object-relationele interface Ontos Integration Server van Ontos, gebruikt in combinatie met de Ontos/DB OODB.

1.3 Multidimensionale databases

Een krachtige database met een speciale opslagorganisatie: kubussen, waarmee gebruikers grote hoeveelheden gegevens kunnen analyseren. Een multidimensionale database maakt snel werken mogelijk met gegevens die zijn opgeslagen als een verzameling feiten, dimensies en vooraf berekende aggregaten.

In gespecialiseerde DBMS'en die zijn gebaseerd op een multidimensionale representatie van gegevens, worden gegevens niet georganiseerd in de vorm van relationele tabellen, maar in de vorm van geordende multidimensionale arrays:

Hypercubes - alle cellen die in de database zijn opgeslagen, moeten dezelfde dimensie hebben, dat wil zeggen dat ze zich in de meest complete meetbasis bevinden

Polycubes - elke variabele wordt opgeslagen met zijn eigen set dimensies en alle bijbehorende verwerkingscomplexiteiten worden overgebracht naar de interne mechanismen van het systeem.

Het gebruik van multidimensionale databases in online analytische verwerkingssystemen heeft de volgende voordelen:

hoge prestaties. Producten die tot deze klasse behoren, hebben doorgaans een multidimensionale databaseserver. Gegevens in het analyseproces worden uitsluitend geselecteerd uit een multidimensionale structuur, en in dit geval gaat het zoeken en ophalen van gegevens veel sneller dan met een multidimensionale conceptuele weergave van een relationele database, aangezien de multidimensionale database gedenormaliseerd is, vooraf geaggregeerde indicatoren bevat en geoptimaliseerde toegang tot de gevraagde cellen

het zoeken en ophalen van gegevens gaat veel sneller dan met een multidimensionale conceptuele weergave van een relationele database - de gemiddelde responstijd op een ad-hocquery bij gebruik van een multidimensionaal DBMS is gewoonlijk één tot twee ordes van grootte korter dan in het geval van een relationele database DBMS met een genormaliseerd dataschema

de structuur en interfaces passen het beste bij de structuur van analytische queries. Deze methode lijkt meer op het menselijke mentale model, omdat de analist gewend is om met platte tabellen te werken. Door een kubus met een tweedimensionaal vlak in de ene of de andere richting te snijden, is het gemakkelijk om de onderlinge afhankelijkheid van elk paar grootheden te verkrijgen ten opzichte van de gekozen maat. Bijvoorbeeld hoe de kosten voor het vervaardigen van een product (maatregel) in de loop van de tijd zijn veranderd (dimensie), uitgesplitst naar secties, werkplaatsen en productiefaciliteiten (een andere dimensie)

multidimensionale DBMS'en kunnen gemakkelijk de taken aan van het opnemen van verschillende ingebouwde functies in het informatiemodel, terwijl objectief bestaande beperkingen van de SQL-taal het uitvoeren van deze taken op basis van relationele DBMS'en behoorlijk moeilijk en soms onmogelijk maken.

MOLAP kan alleen werken met zijn eigen multidimensionale databases en is gebaseerd op bedrijfseigen technologieën voor multidimensionale DBMS'en, en is daarom het duurst. Deze systemen bieden een volledige cyclus van OLAP-verwerking en omvatten, naast de servercomponent, hun eigen geïntegreerde clientinterface, of gebruiken externe spreadsheetprogramma's om met de gebruiker te communiceren. Om dergelijke systemen te onderhouden, is een speciale staf van medewerkers nodig om het systeem te installeren, te onderhouden en dataweergaven voor eindgebruikers te creëren.

Andere nadelen van MOLAP-modellen zijn onder meer:

staan ​​het werken met grote databases niet toe. Tegenwoordig is hun echte limiet 10-20 gigabyte. Bovendien komt 20 gigabyte in een multidimensionale database, als gevolg van denormalisatie en vooraf uitgevoerde aggregatie, in de regel overeen (volgens Codd) met 2,5-100 keer minder volume van de oorspronkelijke gedetailleerde gegevens, dat wil zeggen, op zijn best, enkele gigabytes .

Vergeleken met relationele geheugens gebruiken ze het externe geheugen zeer inefficiënt. Hypercube-cellen worden daarin opgeslagen in de vorm van logisch geordende arrays (blokken met een vaste lengte), en zo'n blok is de minimaal geïndexeerde eenheid. Hoewel multidimensionale DBMS'en geen blokken opslaan die geen specifieke waarde bevatten, lost dit het probleem slechts gedeeltelijk op. Omdat gegevens geordend worden opgeslagen, worden ongedefinieerde waarden niet altijd volledig verwijderd, en dan nog alleen als de sorteervolgorde het mogelijk maakt de gegevens in zo groot mogelijke aaneengesloten groepen te ordenen. Maar de sorteervolgorde die het vaakst in query's wordt gebruikt, is mogelijk niet de volgorde waarin ze moeten worden gesorteerd om de eliminatie van niet-bestaande waarden te maximaliseren. Bij het ontwerpen van een multidimensionale database moet je dus vaak concessies doen aan de prestaties (en dit is een van de eerste voordelen en de belangrijkste reden om voor een multidimensionaal DBMS te kiezen) of aan extern geheugen (hoewel, zoals gezegd, de maximale grootte van multidimensionale databases beperkt)

er zijn geen uniforme standaarden voor de interface, talen voor het beschrijven en manipuleren van gegevens

ondersteunen geen gegevensreplicatie, die vaak wordt gebruikt als laadmechanisme. Daarom is het gebruik van multidimensionale DBMS alleen gerechtvaardigd onder de volgende voorwaarden:

het volume aan brongegevens voor analyse is niet te groot (niet meer dan een paar gigabytes), dat wil zeggen dat het niveau van gegevensaggregatie vrij hoog is.

de reeks informatiedimensies is stabiel (aangezien elke verandering in hun structuur bijna altijd een volledige herstructurering van de hyperkubus vereist).

De reactietijd van het systeem op niet-gereguleerde verzoeken is de meest kritische parameter.

vereist uitgebreid gebruik van complexe ingebouwde functies om cross-dimensionale berekeningen uit te voeren op hyperkubuscellen, inclusief de mogelijkheid om aangepaste formules en functies te schrijven.

2. Praktisch gedeelte

2.1 Probleemstelling

2.1.1 Doel van het oplossen van het probleem

Het management van het bedrijf Stroy-design LLC, dat activiteiten uitvoert die verband houden met de uitvoering van werkzaamheden aan de reparatie van gebouwen, wil berekeningen automatiseren voor het berekenen van de kosten van uitgevoerde werkzaamheden om snel een factuur aan de klant te kunnen verstrekken. Dit zal de afwikkelingstijd helpen verkorten, menselijke fouten vermijden en de klanttevredenheid over de geleverde diensten vergroten. Daarom werd besloten om de kosten van het uitgevoerde werk te berekenen en een factuur voor betaling op te stellen, die de naam van het werk, het volume van het uitgevoerde werk, de prijs per eenheid product en de kosten van het werk moest bevatten. De taak die maandelijks in de MS Excel-softwareomgeving wordt opgelost, heet ‘De kosten van voltooid werk berekenen’.

Het doel van het oplossen van dit probleem is om tijdig de kosten van het werk te berekenen voor het snel verstrekken van een gedetailleerde factuur aan klanten.

2.1.2 Probleemtoestand

Operationele informatie invoeren Er wordt gebruik gemaakt van het document "Berekening van de kosten van uitgevoerd werk", dat de details bevat: naam van het werk, volume van het uitgevoerde werk, prijs per eenheid product (wrijven), kosten van werk (wrijven), de laatste twee details moeten worden berekend en berekend. Op basis hiervan wordt het volgende schermformulier gemaakt:

Naam
werk

Eenheden
metingen

Volume
uitgevoerd
werken

Prijs
werkt, wrijven.

Qi

C ik

S ik


Voorwaardelijk permanente informatie (referentie) dient als prijslijst van de organisatie, met daarin de volgende gegevens (voorwaardelijke vorm): naam van het werk, prijs per productie-eenheid (rub). Op basis hiervan wordt het volgende schermformulier gemaakt:

Prijslijst

Functietitel

Prijs per productie-eenheid, wrijven.

Latijnse letters in de tabel geven de elementen van de overeenkomstige berekeningsformules aan.

Als resultaat U ontvangt een factuur met de volgende gegevens: naam van het werk, prijs per eenheid product (roebel), volume van het uitgevoerde werk, kosten van het werk (roebel), factuurnummer (automatisch ingevuld). De naam en datum van de klant worden handmatig ingevoerd. Informatie wordt verstrekt in de volgende documenten:

Structuur van het resulterende document “Factuur”

Stroyservis LLC

REKENINGnr.

Datum

20__

Volledige naam van de klant


p/p

Naam
werk

Eenheden
metingen

Volume
uitgevoerd
werken

Prijs per productie-eenheid, wrijven.

Prijs
werkt, wrijven.

Batterijen vervangen

stuks

Behangsticker

m2

Vervanging van pijpen

Parketvloeren

m2

TOTAAL:

ΣS ik

VAT:

N

BEDRAG MET BTW:

S.N.

Ch. accountant

Bovendien moet de informatie in de analysetabellen in de vorm van diagrammen worden gepresenteerd.

Organiseer in de technologie verbindingen tussen tabellen voor het automatisch genereren van het document "Factuur" met behulp van de functies VERT.ZOEKEN of BEKIJKEN.

2.2. Computermodel voor het oplossen van het probleem

2.2.1. Informatiemodel voor het oplossen van een probleem

Een informatiemodel dat de relatie tussen bron- en resulterende documenten weerspiegelt, wordt getoond in figuur 2. 2.


2.2.2. Analytisch model voor het oplossen van het probleem

Om het document te ontvangen " Berekening van de kosten van uitgevoerd
werken » het is noodzakelijk om de volgende indicatoren te berekenen:

    kosten van werk, wrijven;

    BTW, wrijven;

    bedrag inclusief BTW, rub..

    Berekeningen worden uitgevoerd met behulp van de volgende formules:

    S ik = C ik ∙Q ik ,

    N = ΣS ik ∙ 0,18 ,

    SN = ΣS ik + N,

    Waar S ik
    - prijs i e werk; C ik
    - prijs voor i-de productie-eenheid; Q ik - omvang van het verrichte werk i e werk; N- BTW;S.N.- bedrag inclusief BTW.

    2.2.3. Technologie voor het oplossen van MS Excel-problemen

    Het probleem oplossen met MS Excel

    Excel bellen:

    klik op de knop "Start";

    selecteer de opdracht “Programma’s” in het hoofdmenu;

    Selecteer MS Excel in het Microsoft Office-menu.

    Hernoem “Blad 1” naar “Prijslijst”:

    selecteer de opdracht “Hernoemen” in het contextmenu en klik met de linkermuisknop;

    druk op de "Enter"-toets.

    Voer de tabeltitel "Prijslijst" in:

    typ “Prijslijst” op het toetsenbord;

    4. Formatteer de titel:


    Rijst. 2. Voorbeeld van het selecteren van een groep cellen

    Selecteer op de werkbalk op het tabblad “Start” het gedeelte “Uitlijning” en klik op de knop.

    5. Maak de cellen A2:B2 op voor het invoeren van lange koppen:

    selecteer cellen A2:B2;

    voer de opdracht “Uitlijnen” uit in het gedeelte “Cellen opmaken” van het menu “Home” op de werkbalk;

    selecteer het tabblad “Uitlijning”;

    vink in de optiegroep “Weergave” de optie “Word Wrap” aan (Fig. 3);


    Rijst. 3. Woordafbreking instellen bij het invoeren van lange woorden in een cel

    kopteksten

    Klik op OK.

    6. Voer in de cellen A2:B2 de informatie in die in Fig. 4.


    Rijst. 4. Namen van velden in de tabel “Prijslijst”.

    7. Formatteer cellen A3:A8 om teksttekens in te voeren:

    selecteer cellen A3:A8;

    selecteer op de werkbalk in het menu "Home" "Cellen", waarbij u in het item "Opmaak" de opdracht "Cellen opmaken" selecteert;

    selecteer het tabblad “Nummer”;

    selecteer het formaat “Tekst” (Fig. 5);

    Klik op OK.


    Rijst. 5. Celformaat selecteren

    8. Herhaal stap 9 voor het celbereik B3:B8, waarbij u de notatie “Numeriek” selecteert.

    9. Voer de initiële gegevens in (Fig. 6).


    Rijst. 6. Tabelweergave “Prijslijst”.

    10. Geef de groep cellen een naam:

    selecteer cellen A3:B8;

    selecteer het commando “Een naam toewijzen” in het gedeelte “Gedefinieerde namen” van het menu “Formule” (Fig. 7);


    Rijst. 7. Weergave van het venster “Name Creation”.

    Klik op de knop "OK".

    11. Hernoem “Blad 2” naar “Berekening van de werkkosten” (vergelijkbaar met stap 2).

    12. Maak een tabel "Berekening van de kosten van uitgevoerd werk" (vergelijkbaar met stappen 3 - 7, 8) (Fig. 8).


    Rijst. 8. Tabelweergave “Berekening van de werkkosten”

    13. Vul de kolommen “Naam werk” en “Prijs per eenheid product, wrijven.” in:

    maak cel A3 actief;

    in het menu “Gegevens” selecteert u de opdracht “Gegevensvalidatie”, in het veld “Gegevenstype” selecteert u “Lijst”;

    voer de waarde in het veld “Bron” in en markeer het bereik A3:A8 in de “Prijslijst” (Fig. 9);


    Rijst. 9. Opstellen van een lijst met betalers

    klik op de knop "OK";

    Om de naam van een taak uit de lijst in elke cel van kolom A (“Taaknaam”) in te voeren, maakt u cel A3 actief en plaatst u de cursor op de markering in de rechter benedenhoek, klikt u met de linkermuisknop en sleept u deze naar cel A6 (Fig. 10);


    Rijst. 10. Weergave van het tabblad “Werkkostenberekening” bij het opstellen van de lijst

    klik in het veld “Functie selecteren” op “VLOOKUP” (Afb. 11);


    Rijst. 11. Weergave van het eerste venster van de functiewizard

    klik op de knop "OK";

    voer de naam van het werk in het veld “Searched_value” in door op cel A3 te klikken;

    druk op "Invoeren";

    voer informatie in het veld "Tabel" in;

    gebruik de opdracht “Gebruik in formule” van het menu “Formules” en selecteer “Namen invoegen”;

    selecteer “Naam:” “Prijslijst” (Fig. 12);


    Rijst. 12. Een arraynaam invoeren als formuleargument

    klik op de knop "OK";

    druk op "Invoeren";

    voer de informatie in - nummer 2 in het veld "Kolom_Nummer";

    voer de informatie in - nummer 0 in het veld "Interval_viewing" (Fig. 13);


    Rijst. 13. Weergave van het tweede venster van de functiewizard

    Klik op de knop "OK";

    14. Vul de kolom ‘Omvang van de uitgevoerde werkzaamheden’ in.

    15. Voer de namen van de werken in de cellen A4:A6 in:

    Maak cel A4 actief;

    Klik op de knop naast cel A4 en selecteer uit de voorgestelde lijst de naam van het werk - Batterij vervangen, stuks. Cel C4 - "Prijs per productie-eenheid, wrijven." wordt automatisch ingevuld (Fig. 14);


    Rijst. 14. Automatisch invullen van de prijs per eenheid product op naam

    Vul op dezelfde manier de cellen A5:A6 in, de cellen C5:C6 worden ook automatisch ingevuld.

    16. Vul de kolom "Werkkosten, roebels" in
    tabel "Berekening van de kosten van uitgevoerd werk."
    Om dit te doen:

    voer de formule =B3*C3 in cel D3 in;

    vermenigvuldig de formule die is ingevoerd in cel D3 voor de resterende cellen D4:D6 van deze kolom (met behulp van de functie voor automatisch aanvullen).

    Er wordt dus een lus uitgevoerd waarvan de besturingsparameter het regelnummer is.

    17. De ingevulde tabel ziet er als volgt uit (Fig. 15).


    Rijst. 15. Resultaat van het invullen van de tabel "Berekening van de werkkosten"

    18. Hernoem "Blad 3" naar " Rekening "(vergelijkbaar met de stappen in paragraaf 2).

    19. Maak op het werkblad “Account” de benodigde tabel aan, volgens de voorgaande paragrafen.

    20. Gebruik de functie LOOKUP() om relaties tussen tabellen te creëren. Voordat u dit doet, sorteert u echter de waarden van de tabel "Berekeningen van de kosten van uitgevoerde werkzaamheden" in oplopende volgorde op de kolom "Naam van het werk". Om dit te doen:

    selecteer het celbereik A2:D6;

    selecteer “Sorteren en filteren” op de startpagina en vervolgens “Aangepast sorteren”;

    in het venster dat verschijnt, selecteert u “Sorteren op” “Naam van werken”;

    Klik op OK.

    gebruik de opdracht “Functie invoegen” in het menu “Formule”;

    in het veld “Selecteer een functie” klikt u op “VIEW”;

    klik op de knop "OK";

    voer de naam van het werk in het veld “Searched_value” in door op cel C9 te klikken;

    druk op "Invoeren";

    voer informatie in het veld “Te bekijken vector” in, namelijk ‘Werkkostenberekening’!$A$3:$A$6;

    druk op "Invoeren";

    voer informatie in in het veld “Vereiste vector”, namelijk ‘Berekening van de werkkosten’!$С$3:$С$6;

    druk op “Enter” (Afb. 16);


    Rijst. 16. Weergave van het tweede venster van de VIEW-functiewizard

    klik op de knop "OK";

    22. Herhaal de stappen die vergelijkbaar zijn met stap 22 voor de cellen D9:D12, E9:E12.

    23. Vul de kolom “TOTAAL” van de tabel als volgt in:

    voer de formule =SOM(F9:F12) in cel F13 in.

    24. Vul de kolom “BTW” in. Voer hiervoor de formule =F13*0,18 in cel F14 in.

    25. Vul de kolom “BEDRAG MET BTW” in. Om dit te doen, voert u de formule =F13+F14 in cel F15 in.

    26. Als resultaat zou u de tabel moeten krijgen die wordt weergegeven in Fig. 17.


    Rijst. 17. Factuurvorm voor betaling van verrichte werkzaamheden

    27. Om informatie over de kosten van elk type werk voor een ontvangen bestelling te analyseren:

    maak het blad “Rekening” actief;

    selecteer bereik C9:F12;

    selecteer de opdracht “Histogram” in het gedeelte “Grafieken” van het menu “Invoegen”;

    selecteer het gewenste histogramtype;

    hernoem het histogram “Kosten van elk type werk” (Fig. 18).


    Rijst. 18. Histogram “Kosten van elk type werk”

    2.3. Resultaten van een computerexperiment en hun analyse

    2.3.1. Resultaten van een computerexperiment

    Om de juistheid van de probleemoplossing te testen, vult u de invoerdocumenten in en berekent u vervolgens de resultaten.

    Prijslijst

    Functietitel

    Prijs per productie-eenheid, wrijven.

    Vervanging van badkuip, st.

    Vervanging van leidingen, m

    Behangsticker, m2

    Parketvloer, m2

    Witwassen van het plafond, m2

    Berekening van de kosten van uitgevoerde werkzaamheden

    Functietitel

    Omvang van de uitgevoerde werkzaamheden

    Prijs per productie-eenheid, wrijven.

    Kosten van werk, wrijven.

    Vervanging van de batterij, st.

    1000

    Vervanging van leidingen, m

    Behangsticker, m2

    1400

    Parketvloer, m2

    1200

    Stroy-design LLC

    REKENINGnr.

    Datum


    .
    .20

    Volledige naam van de klant

    Nee.

    Functietitel

    Omvang van de uitgevoerde werkzaamheden

    Prijs per productie-eenheid, wrijven.

    Kosten van werk, wrijven.

    Vervanging van de batterij, st.

    1000

    Behangsticker, m2

    1400

    Vervanging van leidingen, m

    Parketvloer, m2

    1200

    TOTAAL:

    4560

    VAT:

    820,8

    BEDRAG MET BTW:

    5380,8

    Als resultaat van het oplossen van het probleem vallen de uitspraken die met de computer zijn verkregen, samen met de testverklaringen.

    2.3.2. Analyse van de verkregen resultaten

    Door de vorming van het resulterende document (tabel) "Factuur" kunnen we het probleem dus oplossen: de tijd voor het berekenen van de werkkosten verkorten, fouten veroorzaakt door de menselijke factor elimineren en de mate van klanttevredenheid verhogen. Door verschillende diagrammen (histogrammen, grafieken) te maken op basis van tabelgegevens met behulp van MS Excel, kunt u niet alleen de resultaten van informatieverwerking visueel presenteren voor analyse om beslissingen te nemen, maar ook om snel manipulaties uit te voeren op het gebied van hun constructie ten gunste van de handigste presentatie van visualisatieresultaten volgens gespecificeerde gebruikersparameters (analisten).

    De belangrijkste ideeën van de moderne informatietechnologie zijn gebaseerd op het concept dat gegevens in databases moeten worden georganiseerd om de veranderende echte wereld adequaat te weerspiegelen en aan de informatiebehoeften van gebruikers te voldoen. Deze databases worden gemaakt en werken onder de controle van speciale softwaresystemen, databasemanagementsystemen (DBMS) genoemd.

    De toename van het volume en de structurele complexiteit van opgeslagen gegevens en de uitbreiding van de kring van gebruikers van informatiesystemen hebben geleid tot het wijdverbreide gebruik van het handigste en relatief eenvoudig te begrijpen relationele (tabelvormige) DBMS. Om gelijktijdige toegang tot gegevens voor veel gebruikers, vaak vrij ver van elkaar en van de plaats waar databases zijn opgeslagen, te garanderen, zijn netwerkversies van databases voor meerdere gebruikers gemaakt, gebaseerd op een relationele structuur. Op de een of andere manier lossen ze specifieke problemen op van parallelle processen, integriteit (juistheid) en beveiliging van gegevens, evenals toegangsautorisatie.

    Het DBMS moet toegang tot gegevens bieden aan alle gebruikers, inclusief degenen die vrijwel geen idee hebben en (of) geen idee willen hebben van: de fysieke plaatsing van gegevens en hun beschrijvingen in het geheugen; mechanismen voor het doorzoeken van de gevraagde gegevens; problemen die ontstaan ​​wanneer veel gebruikers (applicatieprogramma's) tegelijkertijd dezelfde gegevens opvragen; manieren om gegevensbescherming te garanderen tegen onjuiste updates en (of) ongeautoriseerde toegang; het up-to-date houden van databases en vele andere DBMS-functies.

    Tegenwoordig blijven relationele databases het meest gebruikelijk vanwege hun eenvoud en duidelijkheid, zowel tijdens het creatieproces als op gebruikersniveau.

    Het belangrijkste voordeel van relationele databases is de compatibiliteit met de meest populaire querytaal SQL. Met één enkele query in deze taal kunt u meerdere tabellen samenvoegen tot een tijdelijke tabel en daaruit de benodigde rijen en kolommen verwijderen (selectie en projectie). Omdat de tabelstructuur van een relationele database intuïtief is voor gebruikers, is de SQL-taal eenvoudig en gemakkelijk te leren. Het relationele model heeft een solide theoretische basis waarop de evolutie en implementatie van relationele databases waren gebaseerd. Op de golf van populariteit die werd gegenereerd door het succes van het relationele model, werd SQL de primaire taal voor relationele databases.

    Tijdens het analyseren van de bovenstaande informatie werden de volgende nadelen van het beschouwde databasemodel geïdentificeerd: aangezien alle velden van één tabel een constant aantal velden van vooraf gedefinieerde typen moeten bevatten, is het noodzakelijk om extra tabellen te maken die rekening houden met de individuele kenmerken van de elementen die externe sleutels gebruiken. Deze aanpak maakt het erg moeilijk om complexe relaties in de database te creëren; hoge complexiteit van het manipuleren van informatie en het veranderen van verbanden.

    In het praktische gedeelte werd met behulp van MS Excel 2010 de taak opgelost met betrekking tot een fictieve onderneming: het bedrijf Stroy-design LLC, dat activiteiten uitvoert die verband houden met de uitvoering van renovatiewerkzaamheden. Er zijn tabellen gebouwd op basis van de gegevens uit de opdracht. De werkkosten voor de ontvangen bestelling zijn berekend; de berekeningsgegevens zijn in de tabel ingevoerd. Er zijn verbindingen tussen tabellen georganiseerd met behulp van de VLOOKUP- of VIEW-functies om automatisch een factuur aan de klant te genereren voor betaling voor uitgevoerd werk. Het document “Factuur voor betaling van uitgevoerde werkzaamheden” is gegenereerd en ingevuld. De resultaten van het berekenen van de kosten van elk type werk voor de ontvangen bestelling worden in grafische vorm gepresenteerd.

    Computertrainingsprogramma in de discipline Informatica” / A.N. Romanov, V.S. Toroptsov, D.B. Grigorovitsj, L.A. Galkina, A.Yu. Artemyev, N.I. Lobova, K.E. Michajlov, G.A. Zjoekov, O.E. Krichevskaja, S.V. Yasenovsky, L.A. Vdovenko, BE Odintsov, G.A. Titorenko, G.D. Savichev, V.I. Gusev, SE Smirnov, V.I. Suvorova, G.V. Fedorova, G.B. Konyashina. – M.: VZFEI, 2000. Datum bijgewerkt op 24-11-2010. – Toegang via login en wachtwoord.

    Computertrainingsprogramma in de discipline “Informatiesystemen in de economie” / A.N. Romanov, V.S. Toroptsov, D.B. Grigorovitsj, L.A. Galkina, AV Mortvichev, BE Odintsov, G.A. Titorenko, LA Vdovenko, V.V. Braga, G.D. Savichev, V.I. Soevorov. – M.: VZFEI, 2005. Datum bijgewerkt op 15-10-2010. – URL: . Toegang via login en wachtwoord.

    DBMS-CONCEPT EN SOORTEN DATABASEMODELLEN VERZAMELING VAN SOCIOLOGISCHE GEGEVENS MET BEHULP VAN DATABASETECHNOLOGIEËN. AANMAKEN VAN TABELLEN EN DB-FORMULIERS 2013-11-05