Databashanteringssystem och stöd för informationslagring (IBM DB2). Huvudsakliga relationssubd:er: ibm db2, oracle, ms sql-server, informix. jämförelse. DB2 LUW-funktionalitet

    Enterprise Edition - en lösning för stora organisationer som behöver pålitlig transaktionsbearbetning och rik funktionalitet;

    Advanced Edition - den här versionen stöder ett obegränsat antal anslutningar, klustring och ger skalbarhet, vilket gör att du kan uppnå hög prestanda (versionen ger inte tvåfas transaktionsbekräftelse och automatisk failover);

    Small Business Edition - versionen är designad för att stödja internetapplikationer. Det maximala antalet tillåtna IIOP/CORBA-anslutningar är tio, lämpligt för organisationer vars system inte behöver klustring, stordatorstöd, tvåfas transaktionsbekräftelse och automatisk failover;

    Developer Edition, ett alternativ för utvecklare som bygger och testar applikationer med Sybase EAServer, är fullt utrustad men begränsad till fem IIOP-anslutningar.

Sybase EAServer ger ett antal viktiga fördelar, inklusive:

    tillförlitlig drift av systemet genom att säkerställa automatisk återställning av hälsan på nivån för serverminne, lastbalansering och klustring;

    investeringsskydd genom integration med befintliga interna system;

    Förenklad hantering genom omfattande konfigurations- och administrationsfunktioner som komponentinstanscachning, transaktionshantering, processcachelagring och grafisk komponentparameterisering.

Subd db2

DBMS-företaget IBM DB2, dök upp först i början av åttiotalet. Versioner av denna produkt körs för närvarande på AS/400AIX, S/390, Windows, OS/2, AIX, HP-UX, SCO UnixWare, Linux, NUMA-Q och Sun Solaris.

DB2 Enterprise Server Edition levereras med en rik uppsättning administrationsverktyg. DB2-dataåtkomstmekanismer stöder ODBC-, JDBC- och ADO/OLE DB-drivrutiner, och tilläggsmoduler som Stored Procedure Builder är tillgängliga för Microsoft Visual Studio-användare. Windows-versioner av DB2 låter dig också skapa lagrade procedurer i Visual Basic. Borlands utvecklingsverktyg stöder åtkomst till DB2 inte bara genom ADO/OLE DB och ODBC, utan också genom sina egna universella dataåtkomstmekanismer - Borland Database Engine och dbExpress.

DB2 DBMS stöder skapandet av datalager och, förutom verktygen för att överföra data till lagret, innehåller det Data Warehouse Center som en del av klientdelen, vilket låter dig hantera alla processer som är kopplade till skapandet och supporten av datalager, inklusive att skapa ett lagerschema, fastställa källor till initiala data för det, skapa scheman för att uppdatera data i lagret, kontrollera och korrigera felaktiga data. För att stödja OLAP-lagring inkluderar DB2 Universal Database Server ett OLAP Starter Kit baserat på Hyperion Essbase OLAP Server.

DB2 DBMS stöder lagring och sökning av XML-dokument efter deras element och attribut. Genom att använda SOAP-protokollet kan du komma åt webbtjänster som ger åtkomst till DB2-lagrade procedurer och data (webbtjänster hanteras av IBM WebSphere-applikationsservern).

De viktigaste tekniska egenskaperna hos DB2 Universal Database inkluderar stöd för relationella och komplexa data med hjälp av objekttillägg, förmågan att arbeta på flerprocessorplattformar, klusterstöd, 64-bitars minnesarkitektur, frågeparallellisering, tillgänglighet av verktyg för heterogen administration och databehandling, stöd för distribuerade transaktioner.

DB2 är den enda databasen som kan utvecklas på .Net medan den körs på vilken plattform som helst, inklusive Linux, stordatorer, Windows. DB2 har lagrade Java-procedurer.

Utökat stöd för Visual Studio inkluderar stöd för webbtjänster, fullt stöd för att lagra XML-data utan att transformera den, och möjligheten att skapa applikationer och webbplatser utan att skriva kod.

DB2 bygger på relationsteknologier med omfattande stöd för XML, vilket förenklar datautveckling och integration. XML är en nyckelkomponent i metadatagenereringsprocessen och metadatakontroller i DB2.

DB2 version 9 introducerar pureXML-teknik, den revolutionerande Venom-datakomprimeringstekniken och offlinedatahantering. DB2 ger åtkomst till information lagrad i Oracle och MySQL DBMS.

Implementerad i DBMS förbättringar gör det möjligt för utvecklare att avsevärt förenkla och påskynda skapandet av applikationer som fungerar samtidigt med XML och relationsdatalager. PureXML-tekniken stöder till exempel språket XQuery, en standard som är speciellt utformad för att bearbeta XML-data. Applikationsutvecklare kan använda XQuery, XPath, standard SQL eller alla tre för att hämta relations- eller XML-data.

DB2 Developer Workbenchs omfattande utvecklingsmiljö låter dig skapa, redigera, felsöka, testa och distribuera lagrade procedurer och användardefinierade funktioner. Developer Workbench kan användas för att utveckla applikationer och för att skapa, redigera och exekvera SQL-satser och XML-frågor.

Databasservern DB2 version 9 möjliggör sömlös, parallell rörelse av relations- och XML-data, oavsett format, plattform och plats ( http://www-306.ibm.com/software/data/db2/v9/).

DB2 komprimerar också index och temporära tabeller, vilket ingen annan DBMS kan göra idag. Implementering av en feltolerant två-server-konfiguration, där en server med en standby-databas kan användas för rapportering.

DB2 finns i två utgåvor: DB2 Workgroup och DB2 Enterprise Edition. DBMS implementerar parallellisering av frågebehandling, en komplett uppsättning replikeringsverktyg, frågepivottabeller för att förbättra databasprestanda, objektorienterade databasdesignfunktioner och Java-språkverktyg.

DB2 är utrustad med en komplett uppsättning multimediatillägg för att lagra och manipulera text, ljud, video, bilder och geografiska data. De största nackdelarna med DB2 är administrationens relativa komplexitet.

I DB2, tack vare Index Smart Guide, kan du ställa in och bilda optimala index för ett givet antal träffar, vilket kännetecknar den typiska belastningen på databasen. DB2 DBMS låter dig generera pivottabeller, vilket avsevärt ökar effektiviteten i arbetet som datalager. En pivottabell är ett tillfälligt arbetsområde som används av DBMS för att lagra svar på ofta mottagna frågor.

DB2 Spatial-tillägget för att arbeta med rumslig data har utvecklats i samarbete med ESRI [ http://www.esri.com/partners/alliances/ibm/solutions.html,http://www.esri.com/partners/alliances/ibm/index.html].

IBM släpper tre utgåvor av DB2 samtidigt - för företagskunder, för små och medelstora företag (DB2 Express) och för utvecklare (DB2 Express-C).

IBM har en förenklad version av DBMS DB2 Express-C, den är relationell men stöder XML.

DBMS Informix

Innan det förvärvades av IBM var Informix flaggskeppsprodukt Informix Dynamic Server (IDS), som stöder UNIX- och Windows-plattformar och ger effektiv drift på både enkel- och multiprocessorsystem, såväl som i kluster. Denna produkt har kraftfulla parallellbearbetningsmöjligheter. Bland de viktigaste egenskaperna hos Informix Dynamic Server bör det noteras användningen av diskutrymmeshantering som OS-verktyg; samt egna funktioner som låter dig kringgå OS-begränsningar, hantera minnesdelning; dynamisk flödeskontroll; stöd för tabell- och indexfragmentering över flera diskar; fråga parallellisering; dataspegling. IDS-servern stöder tvåfasslutförande av transaktioner, såväl som heterogena transaktioner (i detta fall kan andra servrar delta i transaktioner). Särskilt anmärkningsvärt är serverns stöd för tidsserier.

Serverfunktionsutvidgningar implementeras på basis av DataBlade - samlingar av databasobjekt och subrutiner på C-språket, kopplade till databasen och släppta både av DBMS-tillverkaren och av ett antal oberoende tillverkare.

Av dataåtkomstmekanismerna stöder IDS ODBC, JDBC och ADO/OLE DB-drivrutiner. Borlands utvecklingsverktyg stödjer åtkomst till IDS med hjälp av Borland Database Engine, dbExpress, Microsoft .NET-mekanismer.

På senare tid har det skett en övergång från relationella DBMS till objektorienterade. Informix, enligt detta koncept, presenterar sin lösning i Centaur DBMS, baserad på Informix Dynamic Server 7.3 relationsdatabasen och Informix Universal Data Options objektrelationella databas, och kombinerar den höga prestanda hos Dynamic Server när man arbetar med data med universalitet och multimedia funktioner i Universal Data Option. Denna implementering är avsedd för utveckling av Internetsystem. DBMS har en flexibel utvecklingsmiljö, skalbarhet för att matcha Internets intensiva arbetsbelastning och verktyg för att arbeta med nya typer av data som har blivit allestädes närvarande med utvecklingen av webben. Java-verktygen som implementeras i detta system gör det möjligt för utvecklare att skapa lagrade procedurer, användarprogram och DataBlades-komponenter på detta språk.

Centaur-paketet kommer med inbyggd ActiveX-objekthantering. Detta gör det möjligt att skapa databaslagrade procedurer i Visual Basic-språket.

Centaur är ett tillägg till Informix Dynamic Server och fungerar med det traditionella databasformatet för detta paket, så att användarna behåller alla gamla funktioner, och att uppgradera systemet till nivån för nya versioner kommer inte att vara särskilt svårt. Systemet är utrustat med faciliteter för objektorienterad databasdesign, skapande av specialiserade tabeller och indexeringsprogram; tillåter användare att bädda in sina egna funktioner i frågor och inte bara förlita sig på vanliga SQL-verktyg.

IBM DB2 DBMS är resultatet av nästan 30 års forskning och utvecklingsarbete av IBM. Den senaste versionen av denna DBMS (6.x) har en av de mest genomtänkta uppsättningarna av hanterings- och optimeringsverktyg och en databasmotor som kan växa från en bärbar dator med Windows 95 till ett helt kluster av S/390 stordatorer som kör OS/390.

DB2-paketet finns i två utgåvor: DB2 Workgroup och DB2 Enterprise Edition. Detta DBMS implementerar alla innovativa databasmotorteknologier som är kända från tidigare versioner av DB2, såsom parallell frågebehandling, en komplett uppsättning replikeringsverktyg, frågesammanfattningstabeller för att förbättra databasprestanda, objektorienterade databasdesignfunktioner och Java-språkfunktioner. Dessutom är DB2-systemet utrustat med en komplett uppsättning multimediatillägg som låter dig spara och manipulera text-, ljud- och videofragment, bilder och geografiska data. Vi kan säga att när det gäller skalbarhet har databasklustringsteknologin som utvecklats av IBM-specialister inga analoger. Dessa tillägg underlättar avsevärt processen att utveckla applikationer för webben, såväl som program som innehåller fotografiska bilder och omfattande textrapporter. DB2-systemet är också ganska konkurrenskraftigt som, eftersom det finns ett Stored Procedure Builder-verktyg som automatiskt konverterar SQL-satsen till lämplig Java-klass och inkluderar den i databasstrukturen. I DB2 6.1 har interoperabiliteten med andra DBMS förbättrats avsevärt genom att möjliggöra användningen av Microsofts OLE DB-specifikation, en ny standard för databasåtkomst. DB2-administrationsverktygen, som har skrivits om i Java i den nya versionen och är tillgängliga från webben, förtjänar det högsta beröm.

De största nackdelarna med detta DBMS är den relativa komplexiteten i administrationen och bristen (ännu) på implementeringar för populära serveroperativsystem, såsom LINUX.

I detta DBMS är det, tack vare Index Smart-Guide, möjligt att utföra tuning, vilket bildar optimala index för ett givet antal åtkomster, vilket kännetecknar den typiska belastningen på databasen. DB2 är det enda paketet som låter dig generera pivottabeller, vilket avsevärt förbättrar effektiviteten hos DBMS som datalager. En pivottabell är ett tillfälligt arbetsområde som används av databasen för att lagra svar på vanliga frågor. Tja, man kan säga att med ny funktionalitet, såväl som parallellisering och möjligheten att välja nästan vilken typ av koppling och index som helst (förutom kanske rasterindex) förvandlas DB2 6.1-modellen till det billigaste av högpresterande system. De administrativa verktygen i detta DBMS är ganska lämpliga för nivån av uppgifter som löses, dessutom ger det exceptionellt breda möjligheter att arbeta med multimediadata och för programmering (vilket helt klart saknas i Microsoft SQL Server).

DBMS från Informix.

På senare tid har det skett en övergång från relationella DBMS till objektorienterade (vilket tydligt syns i exemplet med Oracle). Informix följer också detta koncept tillkännagav en ny Centaur DBMS-lösning baserad på Informix Dynamic Server 7.3 relationsdatabasen och Informix Universal Data Options objektrelationella databas och kombinerar den höga prestandan hos Dynamic Server när man arbetar med data med universalitet och multimediafunktioner i Universal Dataalternativ. Denna implementering är avsedd för utveckling av Internetsystem. Det förväntas att detta DBMS kommer att ha en flexibel utvecklingsmiljö med skalbarhet för att matcha de intensiva arbetsbelastningar som är karakteristiska för Internet, och verktyg för att arbeta med nya typer av data som har blivit allestädes närvarande med utvecklingen av webben. Java-funktionerna som implementeras i det nya systemet kommer att tillåta utvecklare att skapa lagrade procedurer, användarprogram och DataBlades-komponenter på detta språk, som Informix kallar anpassade databastillägg.

Ur Inforix-kundernas synvinkel är detta ett stort steg framåt, eftersom de fram till nu, när de arbetade med DataBlades, endast kunde använda C och SPL, Informix internspråk för att skriva lagrade procedurer. Dessutom kommer Centaur-paketet att utrustas med inbyggd ActiveX-objekthantering. Detta kommer att göra det möjligt att till exempel skapa databaslagrade procedurer i Visual Basic-språket; Detta kräver dock att Centaur-paketet körs i en Windows NT-miljö.

Centaur kommer att vara ett tillägg till Informix Dynamic Server och arbeta med det traditionella databasformatet för detta paket, så att användarna kommer att ha alla gamla funktioner till sitt förfogande, och att uppgradera systemet till den nya versionen blir inte särskilt svårt. Dessutom kommer Centaur-paketet att behålla alla design- och programmeringsmöjligheter som gjorde Informix Universal Server-systemet till en enastående ingenjörsprestation. Det nya systemet kommer att utrustas med faciliteter för objektorienterad databasdesign, skapande av specialiserade tabeller och indexeringsprogram; det kommer att tillåta användare att bädda in sina egna funktioner i frågor och inte bara förlita sig på vanliga SQL-verktyg.

Fynd.

Efter att ha övervägt de viktigaste egenskaperna hos arkitekturer för att bygga AIS, serveroperativsystem och DBMS, kommer vi i framtiden, som AIS-arkitekturen, att välja Internet / Intranät-arkitekturen, som Linux-server OS, som Oracle 8i DBMS. Sammanfattningstabellen presenterar de jämförande egenskaperna för de två vanligaste lösningarna idag baserade på Microsoft SQL Server 7.0 (på NT) och Oracle8i (på Unix, Linux).

Microsoft SQL Server 7.0

Administrativ hantering

Grafiska verktyg

Enkelt underhåll

Datamotor

Arbetar med flera processorer

Godtagbar

Gå med funktion och indexval

Samtidig åtkomst av flera användare

Multimedia databehandling

Ansluter till webben

Ljud, video, bildbehandling

Sök i denna text

Interoperabilitet

Godtagbar

Gränssnitt med andra databaser

enkel inloggning

Arbeta under olika operativsystem

Godtagbar

Programmeringsalternativ

Godtagbar

Lagrade procedurer och triggers

Internt programmeringsspråk

Databasbyggande

Objektorienterade system

Arbeta med grenar

Replikering

Distribuerad transaktionsbearbetning

Fjärradministration

Organisation av datalager och upprättande av rapporter

Laddar verktyg

Analysverktyg

Skicka ditt goda arbete i kunskapsbasen är enkelt. Använd formuläret nedan

Studenter, doktorander, unga forskare som använder kunskapsbasen i sina studier och arbete kommer att vara er mycket tacksamma.

Värd på http://www.allbest.ru/

Minsk Institute of Management

Institutionen för automatiserade informationssystem

Rapport om genomgången av allmän ingenjörspraktik

Villkor för praktik: från 11/19/2012 till 12/16/2012

Elevgrupp 111201-z

DEM. Vaitovich

Chef senior

T.V. rysk lärare,

magister i tekniska vetenskaper

Hosted på Allbest.ru

Privat läroanstalt

Minsk Institute of Management

Fakulteten: teknik och information

Avdelning: automatiserade informationssystem

Specialitet: 1-40 01 02 - Informationssystem och teknik (efter vägbeskrivningar)

Individuell uppgift för allmän ingenjörspraktik för studenten Khobotova Anastasia Mikhailovna grupp nr 111201z

1. Sammanfattningens ämne:

IBM DB2 databashanteringssystem.

2. Individuell uppgift:

4. Schema:

Namn på utbildningsverksamhet (allmän ingenjörsverksamhet).

Datum

Organisationsmöte för IIP

Få en individuell uppgift för praktik

11.09.12 - 24.09.12

Rundturer (utställningar)

19.11.12 - 24.11.12

Genomför seminarier, möten, samtal

19.11.12 - 30.11.12

Abstrakt förberedelse

01.12.12 - 09.12.12

Slutförande av en individuell uppgift

01.12.12 - 16.12.12

Förbereder en övningsrapport

17.12.12 - 11.03.13

Tillhandahålla en rapport om praktiken till institutionen

Skydd av övningsrapporten

19.03.13 - 23.03.13

Head T.V. Hare

Introduktion

1. Databashanteringssystem

1.1 Konceptet med ett DBMS

1.2 Historien om skapandet av DBMS

1.6 Stora föremål

1.8 Utlösare

1.9 Relationsförlängare

1.11 Översikt över IBM DB2-utgåvor

2. Praktisk del

2.1 Redogörelse för problemet

2.2 Lösningsalgoritm

2.3 Mjukvaruimplementering

2.4 Programtestning

Slutsats

Bilaga

Introduktion

Syftet med den allmänna ingenjörspraktiken är att befästa och utöka den kunskap som studenten fått under studietiden, för att få en uppfattning om det framtida yrket. Målen för praktiken är: - konsolidering av det teoretiska materialet som presenteras i föreläsningarna inom ämnesblockets discipliner;

Förvärv av datorvana, med Windows OS och en standard kontorssvit;

Konsolidering av de kunskaper och färdigheter som erhållits under studiet av grundläggande kurser i datavetenskap om metoderna för att använda, utveckla och implementera klassiska algoritmer i de studerade programmeringsspråken;

Att behärska metoderna för professionell sökning efter information på Internet;

Att studera kraven på rapportering, metoder och tillämpningsmiljöer för att utarbeta rapporter om praktikens resultat;

Arbeta med kontorsutrustning.

I det första avsnittet av rapporten behandlas IBM DB2-databashanteringssystemet: konceptet med ett DBMS beskrivs, typer och en kort beskrivning av IBM DB2 DBMS ges.

I den andra delen av rapporten utvecklas en algoritm och ett C-program för att hitta det maximala elementet i array A i array B.

1. IBM DB2 databashanteringssystem

1.1 Konceptet med ett databashanteringssystem

En databas (DB) är en namngiven samling av sammanhängande data som hanteras av ett DBMS.

Databashanteringssystem (DBMS) - en uppsättning programvara och språkliga verktyg för allmänna eller speciella ändamål som hanterar skapandet och användningen av databaser.

1.2 Historien om skapandet av DBMS

Kraftfull aktivitet för att hitta acceptabla sätt att socialisera den ständigt växande informationsmängden ledde till skapandet i början av 60-talet av speciella mjukvarusystem kallade "Databas Management Systems" (DBMS).

Huvudfunktionen hos DBMS är närvaron av procedurer för att mata in och lagra inte bara själva data utan också beskrivningar av deras struktur. Filer försedda med en beskrivning av de data som lagrats i dem och kontrolleras av DBMS började kallas databanker och sedan "Databaser" (DB).

När tillverkningen av datorer i ES-datorfamiljen började. Arbetet utfördes i två riktningar. Först och främst gjordes försök att skapa sina egna ursprungliga inhemska DBMS. Samtidigt utvecklades analoger till vissa DBMS som ofta används utomlands, som kan fungera på inhemska hårdvaru- och mjukvaruplattformar, i ett accelererat läge. Ett liknande tillvägagångssätt användes också för att skapa ett DBMS för hårdvaruplattformar, vars massproduktion började i landet efter uppkomsten av ES-datorplattformen - för SM-datorer, ASVT, IBM-kompatibla persondatorer, etc. .

1.3 Historik för IBM DB2 DBMS

DB2 är en familj av producerade av IBM. Detta är en av de "mogna" världens DBMS, en konstant ledare inom prestanda, när det gäller teknisk implementering, skalbarhet, etc.

DB2 har en lång historia. Det är den första DBMS som använder SQL. Från 1975 till 1982 utvecklades DB2-prototypen hos IBM under namnet System Relational, eller System R.

DB2 fick sitt namn 1982 med den första kommersiella versionen för VM som heter SQL/DS och sedan releasen för MVS som heter DB2.

Utvecklingen av DB2 går tillbaka till början av 1970-talet när Dr. E.F. Codd, som arbetade för IBM, utvecklade teorin om relationsdatabaser och publicerade en datamanipulationsmodell i juni 1970. För att implementera denna modell utvecklade han ett relationsdatabasspråk och kallade det Alpha.

IBM DB2 är det mest högpresterande och kraftfulla DBMS i världen. Dess främsta unika fördel är att alla program som är skrivna för DB2 fungerar med DB2-dataservrar som körs på alla distribuerade plattformar som stöds av DB2 (Windows, HP-UX, Sun Solaris, Linux, Mac OS X och AIX®).

DB2 finns i olika utgåvor och paket. Alla utgåvor och paket av DB2 är byggda på samma källkodsbas; de skiljer sig endast i funktionalitet och licensvillkor som riktar funktionerna, funktionerna och fördelarna med DB2 till sina respektive marknadssegment och prisgrupper.

Omfattningen av uppgifter som kan lösas med DB2-objekttillägg är avsevärt utökad jämfört med den klassiska relationella metoden. Genom att låna de element som är mest nödvändiga för moderna applikationer från den objektorienterade modellen har DB2 behållit alla fördelarna med ett relationellt DBMS. Detta gör det möjligt att använda både relationella och objektorienterade tillvägagångssätt när man bygger företagsinformationssystem utifrån dess.

1.4 DB2-funktionalitet

DB2-funktionalitet:

Multiplattform.

Advanced Copy Services (ACS). Med DB2 ACS kan du använda snabblagringsteknik för kopiering av data vid säkerhetskopiering och återställning. Möjligheten att kopiera data med hjälp av en lagringsenhet snabbar upp säkerhetskopiering och återställning avsevärt. En säkerhetskopia med DB2 ACS kallas för ögonblicksbildssäkerhetskopiering.

Online-tabellomorganisering gör att användaren kan omorganisera en tabell utan att förlora full åtkomst till den.

Stöd för HADR (High Availability Disaster Recovery). DB2 HADR-funktionen ger hög tillgänglighet och stöd för failover för DB2-databaser.

Stöd för materialiserade frågetabeller (materialiserade frågetabeller), frågeparallellism (frågeparallellism), Multidimensional Clustering Tables (MDC, multidimensional table clustering).

Stöd för datakomprimering vid säkerhetskopiering.

Stöd för SQL-replikering.

Stöd för databaspartitionering (databaspartitionering). Denna funktion låter dig distribuera en enda databasbild över flera fysiska servrar.

DB2-textsökning. Med DB2-textsökningsfunktionen kan du söka i textkolumnerna i DB2-tabeller.

IBM Data Studio är en verktygsplattform som sträcker sig över hela applikationens livscykel (design, utveckling, driftsättning, support och hantering) för alla IBMs relationsdatabassystem, med framtida expansion av support. Detta innebär att du inte bara har ett portabelt SQL API, utan också en uppsättning verktyg som låter dig implementera företagsövergripande affärslogik.

1.5 Användardefinierade datatyper

DB2 ger användaren möjlighet att definiera nya datatyper. Den nya datatypen måste matcha en av bastyperna som tillhandahålls av systemet, men de kan ha sin egen semantik definierad. Samtidigt kan DB2 manipulera sådana data i enlighet med den logik som definierats för dem. Du kan specificera uppsättningen av operationer som är tillåtna för en datatyp genom att ändra den från bastypen.

DB2 implementerar en stark skrivmekanism. I det här fallet är endast de operationer som är definierade för sig själva, och inte för basklassen, tillämpliga på data av obestämd typ. För ett DBMS ger detta tillvägagångssätt en kraftfull mekanism för kontroll av dataintegritet.

Så du kan definiera typen "postnummer" som härledd från ett heltal, men samtidigt förbjuda multiplikation och division för data av denna typ, som meningslös, medan dessa operationer är giltiga för basklassen.

1.6 Stora föremål

DB2/2 och DB2/6000 ger användaren nya datatyper som binära stora objekt (BLOBS) och stora textobjekt (CLOBS). BLOBS låter dig lagra data av alla slag upp till två gigabyte i storlek. CLOBS har samma storleksgränser, men är utformade för att lagra text som en sekvens av enkelbyte eller dubbelbyte tecken och kan associeras med en specifik teckentabell. Närvaron av sådana datatyper gör att du kan bädda in relationstabeller med data av icke-traditionella typer, främst multimedia. Denna möjlighet blir allt viktigare för moderna applikationer, vilket gör att du kan lagra till exempel bilder av anställda i personalavdelningens databas, grafik, ljud, video, stora texter. Samtidigt ägnas den största uppmärksamheten åt att uppnå hög prestanda och tillförlitlighet, samt att ta bort begränsningar för användningen av stora föremål. Så du kan skapa en tabell som innehåller mer än tio fält som innehåller två gigabyte objekt.

Stora möjligheter när man arbetar med stora objekt ger definitionen av nya datatyper och funktioner. Detta gör det möjligt att ställa in möjligheten att söka efter en bild efter dess element, eller operationen att jämföra texter, etc.

1.7 Användardefinierade funktioner

Användardefinierade funktioner gör att den interna representationen av data kan döljas från applikationen genom att tillhandahålla en viss inkapsling av data. De låter dig också definiera nya operationer på både underliggande data och användardefinierade typer.

Användardefinierade funktioner möjliggör återanvändning av kod genom att lagra operationer som är gemensamma för olika applikationer på servern istället för att inkluderas i varje enskild applikation. För att implementera dessa funktioner används programmeringsspråk, och för deras implementering i DBMS introduceras CREATE FUNCTION-satsen i datadefinitionsspråket. Faktum är att denna sats associerar en användardefinierad funktion med ett specifikt program som exekveras när denna funktion anropas. Att använda användardefinierade funktioner istället för att direkt komma åt data kan ge viss inkapsling av data, som kan användas för att dölja dess interna struktur för användaren. Dessutom stöder DB2 en mekanism för att överbelasta användardefinierade funktionsnamn, liknande de som används i OODB, men tillåter inte att funktioner associeras med specifika dataelement, eftersom metoder och objekt är associerade i objektmetoden. Möjligheten för användardefinierade funktioner att arbeta samtidigt med både DB2-data och annan data som filer, e-post etc. ger ytterligare flexibilitet till användardefinierade funktioner. Det finns två sätt som användardefinierade funktioner interagerar med en DB2-server. Den första är att funktionen har direkt tillgång till databasen, vilket möjliggör maximal prestanda, men är ett potentiellt hot mot serverns hälsa och dataintegritet. I det andra alternativet körs funktionen som en separat process från databasservern, vilket ger data- och DBMS-skydd, men minskar prestandan.

Användaren kan välja det bästa tillvägagångssättet för sin uppgift, beroende på dess särdrag.

1.8 Utlösare

Utlösare definierar en uppsättning operationer som utförs när vissa händelser inträffar i databasen, till exempel när en tabell uppdateras.

Triggers kan användas för att utföra funktioner som, i ett objektorienterat tillvägagångssätt, utförs med metoder (till exempel validering av ingångsvärden), eller av en konstruktor (tilldelar värden när en ny post skapas).

Användningen av triggers låter dig göra datan "aktiv", för att modellera inte bara strukturen och egenskaperna, utan också beteendet hos dataobjekt lagrade i databasen.

1.9 Relationsförlängare

DB2 Relational Extenders är ett bra exempel på dessa nya funktioner. De ger stora möjligheter att arbeta med icke-traditionell data, genom att använda möjligheten att definiera anpassade datatyper och funktioner. För att lagra multimediadata och för att upprätthålla länkarnas integritet - triggers.

För närvarande finns det fem relationsförlängare som låter dig arbeta med bilder, komplexa textdokument, video, ljud och till och med fingeravtryck.

1.10 Kritisk analys av DB2 DBMS

Tänk på fördelarna och nackdelarna med DBMS.

Det finns en bra gratisversion;

Gratisversionen har inga begränsningar för databasens storlek;

Den kostnadsfria versionen har ingen begäranbegränsare, detta låter dig betjäna dussintals användare samtidigt;

Bra gratis teknisk support;

Till skillnad från PostgreSQL är det möjligt att få betald support från tillverkaren, vilket gör att den kan användas i affärssektorn Entrprise;

Med 1C-Enterprise-konfigurationer i automatiskt låsläge fungerar det bättre än PostgreSQL (vi pratar om parallellitet, området för lås är på radnivå, inte tabeller);

Bra framträdande;

Mindre problem med icke-unika index (för att lösa problemet rekommenderas det faktiskt att tillfälligt ladda databaser till DB2);

Bättre hanterar situationer som "inte tillräckligt med minne för 1C-servern";

Det finns ingen begränsning på 256 tabeller, vilket utökar möjligheterna när man arbetar med RLS.

Få specialister och höga kostnader för bra specialister;

Liten prevalens;

Till skillnad från MS SQL Server släpper 1C "anpassade" versioner för nya versioner;

Storleken på databaserna är större än i andra DBMS;

Kräver "finjustering" av DBMS-parametrarna, det finns autojustering av systemet, men ofullständig;

Vissa meddelanden kan vara felaktigt behandlade av plattformen, för lösningen är det nödvändigt att "sänka nivån" av felloggning;

1C-CUP samlar in långa förfrågningar, väntar på lås, men samlar inte in dödlägen.

1.11 Översikt över IBM DB2-utgåvor

Namn på redaktörer

Möjligheter och begränsningar

IBM DB2 Express-C

Grundläggande gratisversion av IBM DB2 DBMS. Teknisk support tillhandahålls inte. De där. Begränsningar: Använder maximalt 2 kärnor och 1 processor, 2 GB RAM. Det finns inget stöd för replikering och klustring, det finns ingen garanti och möjlighet att köpa ytterligare. mjukvarupaket för att utöka funktionerna i DBMS. Versioner släpps utan servicepack. OS som stöds: Windows och Windows x64, Linux, Linux x86, Linux x64, Linux on Power, Solaris, Mac OS X. OS som stöds: Windows, Linux (POWER och x86-servrar), Mac OS X och Solaris x64. Rekommenderas: för små sjukvårdsinrättningar som har begränsad ekonomisk kapacitet och inte behöver teknisk support från IBM med upp till 50-70 användare.

IBM DB2 Express - C FTL (Fixed Term License)

Första kommersiella versionen. Helt lik den tidigare produkten, men med en 12-månaders IBM 24x7 teknisk supportprenumeration + replikeringsstöd + 2-server klusterstöd + FixPack release och stöd för flera versioner. De där. Begränsningar: Använder maximalt 2 kärnor och 1 processor, 2 GB RAM. OS som stöds: Windows, Linux (POWER och x86-servrar) och Solaris x64. Rekommenderas: för små och medelstora sjukvårdsinrättningar, begränsad i finansiell kapacitet, men i behov av teknisk support från IBM med upp till 50-150 användare.

IBM DB2 Express Edition

Den första versionen av IBM DB2 med teknisk support i 12 månader. De där. begränsningar: upp till 4 kärnor (Intel-processorer) och upp till 4 GB RAM. Kan endast användas på 2 processorer 2 kärnservrar (för Intel) eller svagare. Operativsystem som stöds: Windows, Linux (POWER och x86-servrar), AIX, Solaris (SPARC och x64), HP-UX (endast IA-64) Rekommenderas: För små och medelstora sjukhus som kräver IBM-supportanvändare upp till 70-200.

IBM DB2 Workgroup Server Edition

Server Edition Representerar en DB2-dataserver som tillhandahåller samma funktionalitet som DB2 Express, men som är utformad för högre arbetsbelastningskrav som kräver mer minne, processorkraft, högre tillgänglighet direkt från förpackningen och ett bredare utbud av plattformsspecifika distributionsalternativ. De där. begränsningar: Du kan använda en mängd olika högpresterande flerprocessorservrar (inklusive Power, Itanium, Ultra SPARC, etc.), men upp till 16 GB RAM för alla processorer. OS som stöds: Windows, Linux (POWER, System z och x86-servrar), AIX, Solaris (SPARC och x64), HP-UX (endast IA-64). Rekommenderas: för medelstora och stora sjukvårdsinrättningar som behöver teknisk support från IBM med ett antal användare från 100.

IBM DB2 Enterprise Server Edition

För de största institutionerna och de mest högpresterande datorerna. OS som stöds: Windows, Linux (POWER, System z och System x), AIX, Solaris (SPARC och x64) och HP-UX-servrar (endast IA-64 från DB2 9.5). Rekommenderas: för stora vårdinrättningar och ett nätverk av flera vårdinrättningar som behöver teknisk support från IBM med ett antal användare från 1000.

1.12 Nästa generation DB2

IBM presenterade nästa generations DB2 9-databasserver, kodnamnet Viper, det mest betydande framstegen inom databasteknologi på mer än tjugo år.

Utgivningen av DB2 9 markerar slutet på ett femårigt IBM-projekt som har förvandlat traditionell, statisk databasteknik till konceptet med en interaktiv, dynamisk databasserver som ger kunderna större kontroll över alla typer av information som dokument, ljud och videofiler, bilder, webbsidor och XML-transaktioner med digitala signaturer.

Den nya IBM-databasservern är först i branschen för att möjliggöra sömlös, parallell rörelse av relations- och XML-data, oavsett format, plattform eller plats.

Mer än 750 mjukvaruutvecklare från åtta länder bidrog till skapandet av databasen Viper, som är designad och anpassad med fokus på informationshantering i SOA-miljöer.

DB2 9 introducerar tre betydande tekniska framsteg -- den patenterade pureXML-tekniken, den revolutionerande Venom-datakomprimeringstekniken och avancerad offlinedatahantering. Denna kombination av branschny funktionalitet, kompletterad med förbättringar av säkerhet och katastrofåterställning, kommer att påskynda informationsfrågor och ge kunderna obegränsad tillgång till information. Dessutom ger den nya versionen av DB2 åtkomst till information som lagras i konventionella Oracle- och MySQL-databaser, som leverantörer inte erbjuder samma kapacitet.

För första gången släpper IBM tre utgåvor av DB2 samtidigt - Enterprise, SMB (DB2 Express) och Developer (DB2 Express-C).

"DB2 Viper lovar att förändra det konkurrensutsatta landskapet inom databasindustrin", säger Ambuj Goyal, general manager, IBM Information Management. Våra kunder kan växa sin verksamhet genom att utnyttja information på begäran."

Kunder och partners för DB2 9 förtest och utvärdering har gett extremt positiv feedback. Zurich Insurance, N.A., en ledande leverantör av olycksfallsförsäkringar för kommersiella fastigheter som betjänar stora företag och SMB-kunder, har valt att använda DB2 9 för att få tillgång till ny pureXML-teknik.

"Försäkringsbranschen står inför ett växande behov av att lagra enorma mängder XML-dokumentation.

pureXML-teknologin ger en oöverträffad nivå av flexibilitet när det gäller att definiera anpassade funktioner och utföra externa operationer på XML-data lagrade i äldre databaser, säger James Surber, Senior Database Administrator, Zurich Insurance N.A. "Att kunna lagra olika versioner av samma XML-dokument med olika strukturer i samma tabell kommer att tillåta oss att undvika att spendera timmar på att manuellt lasta av och ladda om hela tabellen när vår XML-struktur ändras."

2. Praktisk del

2.1 Redogörelse för problemet

Två arrayer ges: A, bestående av n element, och B, bestående av m element. Bestäm om det största elementet i array A finns i array B.

2.2 Lösningsalgoritm

Schemat för lösningsalgoritmen visas på ritningen 02.16.011.001

I block 1 anges storleken på matriserna A och B.

Block 2-11 används för att ange matrisen från tangentbordet.

Blocken 12-23 används för att visa de ursprungliga arrayerna i matrisform.

Blocken 24-30 används för att hitta det maximala elementet i array A.

Blocken 31-37 används för att hitta det maximala elementet för array A i array B.

Blocken 38-40 är den slutliga lösningen på problemet och visar om det maximala elementet i array A finns i array B.

2.3 Mjukvaruimplementering

Listan över programmodulen för att lösa problemet i programmeringsspråket C finns i bilagan.

Först måste du deklarera alla variabler:

int A, B, n, m, i, k, max, x;

där A och B är heltalsmatriser bestående av 100 strängar; n och m är variabler som lagrar antalet matrisrader; i och k är cykelvariabler; max - heltalsvariabel för att lagra det maximala elementet i array A; x är en heltalsvariabel för att hitta det maximala elementet i array A i array B.

scanf_s("%d", &n);

scanf_s("%d", &m);)

medan (n>=100, m>=100);

Dimensionsinmatning utförs med hjälp av do...while-slingan, som låter dig kontrollera riktigheten av inmatade data. Därför att Eftersom minnet för en array tilldelas statiskt, bör antalet matrisrader inte överstiga 100, vilket anges när arrayer deklareras. I händelse av en felaktig inmatning kommer en uppmaning att visas igen för att ange dimensionen för arrayen.

Inmatningen av arrayelement utförs inuti kapslade för slingor: i den första slingan ändras i - radnumret från 0 till n-1, och i den andra slingan k - radnumret från 0 till m-1. Vid varje iteration av de kapslade slingorna visas en prompt för att mata in array-element och array-element skrivs in från tangentbordet.

för (i=0;i

scanf_s("%d", & A[i]);)

för(k=0;k

printf("Array A: ");

för (i=0;i

printf("%d", A[i]);

printf("Array B:");

för(k=0;k

printf("%d", B[k]);

Därefter måste du tilldela variabeln max ett initialvärde lika med nollelementet i arrayen och, sortera genom elementen i arraysträngen A, hitta maximielementet med hjälp av if-satsen. Vi tilldelar maxelementet i arrayen A till värdet max. Det maximala elementet i array A visas.

för (i=1;i

om (max

Därefter måste du tilldela det initiala värdet lika med 0 till variabeln x och sortera genom elementen i raden i array B, vi hittar det maximala elementet i array A med hjälp av if-satsen. Om det maximala elementet i array A finns i array B, visas en bekräftelse. Om array B inte innehåller det maximala elementet i array A, så visas en bekräftelse om detta.

för(k=0;k

om (B[k]==max) x=1;

2.4 Programtestning

Ett testexempel på programmets funktion, som illustrerar den felaktiga inmatningen av arraydimensionerna, visas i figur 2.1 för data n=105 och m=3.

Figur 2.1 - Ett exempel på programmet

Testexemplet på programoperationen som visas i figur 2.2 illustrerar programoperationen för följande matriser:

Figur 2.2 - Ett exempel på programmet

Figur 2.3 - Ett exempel på programmet

Slutsats

Som ett resultat av den allmänna ingenjörspraxisen studerades IBM DB2 DBMS, som har en effektiv och pålitlig plattform för att bygga applikationer. Inklusive produkter 1c. Denna DBMS från IBM kan även integreras med andra verktyg som körs på olika hårdvaru- och mjukvaruplattformar (Linux och Windows) - Microsoft Visual Studio, Microsoft Visual Basic, Microsoft Visual C ++, etc.

I den praktiska delen av rapporten utvecklades en algoritm och ett program för att hitta det maximala elementet av array A i array B. Resultaten av att testa programmet visade att det fungerar för både positiva och negativa heltal. Uppdraget är genomfört i sin helhet.

Lista över använda källor

1. GOST 19.701-90 - Enat system för programdokumentation - Schema för algoritmer, program, data och system - Konventioner och exekveringsregler

2. Datum K. Guide till den relationella DB2 DB2. - M.: Finans och statistik, 1988. - 320 sid.

3. Kogalovsky M.R. "Encyclopedia of databas technology" / M.R. Kogalovsky. - M.: Finans och statistik, 2002. - 800 sid.

4. Deitel H.M. Hur man programmerar i C/H.M. Deitel, P.J. Deitel. - M.: Binom, 2006. - 1037 sid.

5. Raoul F. Chong. Komma igång med DB2 Express 9.7. Moskva, 2010.-269 s.

Bilaga

Programmodullista

#inkludera "stdafx.h"

#inkludera "stdio.h"

#inkludera "conio.h"

#inkludera "math.h"

int _tmain(int argc, _TCHAR* argv)

int A, B, n, m, i, k, max, x;

do (printf("Vvedite kol-vo element massiva A:\n");

scanf_s("%d", &n);

printf("Vvedite kol-vo element massiva B:\n");

scanf_s("%d", &m);)

medan (n>=100, m>=100);

för (i=0;i

(printf ("Vvedite elementi massiva A [%d]: ",i+1);

scanf_s("%d", & A[i]);)

för(k=0;k

(printf ("Vvedite elementi massiva B [%d]: ",k+1);

scanf_s("%d",&B[k]);)

printf("Array A: ");

för (i=0;i

printf("%d", A[i]);

printf("Array B:");

för(k=0;k

printf("%d", B[k]);

för (i=1;i

om (max

printf ("Maximal"nij element massiva A: %d \n",max);

för(k=0;k

om (B[k]==max) x=1;

if (x==1) printf ("Maximal"nij element massiva A nahoditsia v massiv B\n");

else printf("Maximal"nij element massiva A ne nahoditsia v massiv B\n");

algoritm för databaskopiering

Hosted på Allbest.ru

Liknande dokument

    Databashanteringssystem som en integrerad del av en automatiserad databank. Databashanteringssystemets struktur och funktioner. Klassificering av DBMS enligt metoden för åtkomst till databasen. SQL-språk i databashanteringssystem, Microsoft DBMS.

    abstrakt, tillagt 2009-11-01

    Klassificering av databaser efter arten av den lagrade informationen, metoden för att lagra data och strukturen i deras organisation. Moderna databashanteringssystem och program för att skapa dem: Microsoft Office Access, Cronos Plus, Base Editor, My SQL.

    presentation, tillagd 2014-03-06

    Funktioner av informationshantering i ekonomin. Konceptet och funktionerna för ett databashanteringssystem, användningen av ett standardiserat relationellt frågespråk. Verktyg för att organisera databaser och arbeta med dem. Databashanteringssystem i ekonomin.

    test, tillagt 2010-11-16

    Algoritmer för bearbetning av datamatriser. Databashanteringssystem. Relationsdatamodell. Presentation av information i form av en tabell. System för hantering av relationsdatabas. Grafiskt gränssnitt för flera fönster.

    kontrollarbete, tillagt 2007-07-01

    Externa lagringsenheter. Databashanteringssystem. Skapa, underhåll och dela databaser med många användare. Konceptet med ett programmeringssystem. Dataåtkomstsidor. Makron och moduler. Monopoldrift.

    abstrakt, tillagt 2011-10-01

    De viktigaste klassificeringsfunktionerna i databashanteringssystemet. Datamodell, typ av program och dess användning. Programmeringsverktyg för professionella utvecklare. Organisation av databehandlingscenter i datornätverk.

    presentation, tillagd 2013-10-14

    Konceptet och syftet, principerna för konstruktion och den interna strukturen för databashanteringssystemet, deras funktionella egenskaper och möjligheter, kriterier för att utvärdera effektivitet. Språk och mjukvara. Använder SQL, typer och datamodeller.

    presentation, tillagd 2015-03-18

    Objekt i Access-databashanteringssystemet. Förfrågningar, blanketter, rapporter. Datatyper: text, memofält, numeriska. OLE-objektfält, hyperlänk, uppslagsguide. Manuella, automatiserade och automatiska sätt att skapa databasobjekt.

    presentation, tillagd 2016-10-31

    Databaser som en integrerad del av informationssystem. Studiet av förhållandet mellan begreppen information och data. Databashanteringssystem. Exempel på strukturerad data. Att säkerställa logiskt oberoende. Säkerhet för operativsystem.

    test, tillagt 2009-06-15

    Lagring och bearbetning av data. Databassystemkomponenter. Datans fysiska struktur. Skapande av tabeller i MS Access. Dataladdning, databasfrågor. Utveckling av ett informationssystem med hjälp av MS Access databashanteringssystem.

DB2(uttalas "dibi två" på ryska, spårpapper från engelskan "dibitu" är också vanligt) är en familj av mjukvaruprodukter inom området informationshantering från IBM.

Oftast, när de hänvisar till DB2, menar de reDB2 Universal Database (DB2 UDB), utvecklat och släppt av IBM.

Stavningen "DB/2" ses ibland, men denna stavning är felaktig: i IBM-notationen betyder siffran i nämnaren för ett bråk plattformen och "/2" betyder produkten för operativsystemet OS/2 (eller PS/2-serien av datorer). Till exempel, versionen av DB2 för OS/2 betecknades "DB2/2".

Genomföranden

DB2 DBMS är för närvarande tillgängligt på följande plattformar:

  • DB2 för Linux, UNIX och Windows v9 för AIX, HP-UX, Linux, Solaris, Windows-plattformar och beta för Mac OS X-plattformen
  • DB2 för z/OS v9 för z/OS och OS/390 plattformar
  • DB2 Server för VSE & VM v7 för z/VM- och z/VSE-plattformar
  • DB2 för i för IBM i-plattformen (integrerad i systemet på hård- och mjukvarunivå)

Tidigare har versioner av DB2-databasservern för OS/2, UnixWare, PTX släppts.

DB2 DBMS-klienter, utöver de listade plattformarna, släpps eller har släppts i olika versioner även för SINIX, IRIX, klassiskt Mac OS och för MS-DOS, samt i en mobilversion DB2 Everyplace för Windows CE, Palm OS, Symbian OS, Neutrino och Java Virtual Machine.

För närvarande distribuerar IBM, förutom familjens kommersiella produkter, även en gratisdistribution DB2 Express-C för Linux (x86, x86-64, POWER), Windows (x86, x86-64), Solaris (x86-64), Mac OS X (x86-64 beta). Den kostnadsfria versionen har begränsningar för användningen av högst en dubbelkärnig processor och 2 GB RAM för DBMS (det totala antalet processorer och minne i systemet kan vara vilket som helst, men resurser utöver de angivna gränserna kommer inte att användas av DBMS).

Berättelse

DB2 har en lång historia och anses av vissa vara det första DBMS som använder SQL.

Från 1975 till 1982 utvecklades DB2-prototypen hos IBM under namnet System Relational, eller System R. SQL-språket implementerades först i IBM System R, men detta system var av forskningskaraktär, och den kommersiella produkten, inklusive SQL, släpptes först av Oracle 1979.

DB2 DBMS fick sitt namn 1982 med den första kommersiella utgåvan för SQL/DS och sedan för MVS kallad DB2. Under lång tid användes, tillsammans med "DB2", varianten "Database 2", också ett varumärke som tillhör IBM. Tydligen var detta tänkt att vara det andra flaggskeppet IBM DBMS efter det gamla hierarkiska IMS DBMS.

Utvecklingen av DB2 går tillbaka till början av 1970-talet, när Dr. E. F. Codd, som arbetade för IBM, utvecklade teorin om relationsdatabaser och publicerade en datamanipulationsmodell i juni 1970. För att implementera denna modell utvecklade han ett relationsdatabasspråk och kallade det Alpha. IBM valde att lägga ut vidareutveckling på entreprenad till en grupp programmerare utanför Dr. Codds kontroll. De bröt mot några av principerna för relationsmodellen och implementerade den som ett "Structured English Query Language", förkortat SEQUEL. Eftersom SEQUEL redan var ett registrerat varumärke förkortades namnet till SQL - "Structured Query Language" och har förblivit så till denna dag.

Sålunda har DB2 historiskt utvecklats från DB2 för MVS (varav DB2 för z/OS är en ättling) och dess syster SQL/DS för VM (varav DB2 Server för VSE & VM är en ättling). Senare implementerade ett annat team av utvecklare på IBM OS/2 EE Database Manager-servern, som senare utvecklades till DB2 v2 för OS/2, AIX och sedan Windows, och sedan till DB2 UDB (desscendenten är DB2 för Linux, UNIX och Windows ). Ett annat team slutförde integrationen av DB2-arkitekturen med den inbäddade AS/400-databasen (en avkomling - DB2 för i). IBM går gradvis mot integrationen av alla dessa grenar.

Egenheter

De utmärkande egenskaperna hos DB2 inkluderar en dialekt av SQL-språket, som definierar, med sällsynta undantag, en rent deklarativ betydelse av språkkonstruktioner, och en kraftfull flerfasoptimerare som bygger en effektiv frågekörningsplan från dessa deklarativa konstruktioner. Till skillnad från andra SQL-dialekter har DB2 SQL-dialekten praktiskt taget inga optimeringstips, liten (och under lång tid) brist på utveckling av det lagrade procedurspråket, och därför är allt inriktat på att upprätthålla en deklarativ stil att skriva frågor. Samtidigt är DB2 SQL-språket beräkningsmässigt komplett, det vill säga att det potentiellt låter dig definiera alla beräkningsbara överensstämmelser mellan källdata och resultatet i en deklarativ form. Detta uppnås bland annat genom användning av tabelluttryck, rekursion och andra avancerade datamanipuleringsmekanismer.

På grund av IBM:s fokus på relationsutveckling och företagets position i datorbranschen, har DB2 SQL-dialekten en betydande inverkan på ANSI/ISO SQL-standarderna.

Lagrade procedurer i DB2 används inte särskilt ofta, och traditionellt används konventionella högnivåprogrammeringsspråk (C, Java, PL/I, Cobol, etc.) för att skriva lagrade procedurer, vilket gör att programmeraren enkelt kan formatera samma kod antingen som en del av applikationen eller som en lagrad procedur, beroende på om det är lämpligare att köra den på klienten eller på servern. DB2 implementerar för närvarande även SQL-procedurtillägget för lagrade procedurer, i enlighet med ANSI SQL/PSM-standarden.

DB2-optimeraren använder i stor utsträckning tabellfördelningsstatistik (om datainsamlingsprocessen gjordes av DBA), så samma SQL-fråga kan översättas till helt olika exekveringsplaner beroende på de statistiska egenskaperna hos de data som den bearbetar.

Eftersom DB2 historiskt sett har utvecklats från fleranvändarsystem på stordatorer, ägnas mycket uppmärksamhet i DB2-arkitekturen åt frågor om säkerhet och rollfördelningen för specialister som underhåller DB2. I synnerhet, till skillnad från många andra DBMS:er, har DB2 separata roller för en databasadministratör (ansvarig för att konfigurera DB2-programvarukomponenter och köra dem optimalt på ett datorsystem) och en databasadministratör (ansvarig för att hantera data i en viss databas).

Användningen, om nödvändigt, av statisk SQL i program och konceptet med paket, till skillnad från de flesta andra DBMS, tillåter implementering av en sådan säkerhetsmodell när rättigheterna att utföra vissa operationer kan beviljas applikationsprogram i avsaknad av sådana rättigheter för användare som arbetar med dessa program. I det här fallet gör detta det möjligt att garantera omöjligheten för användaren att arbeta med databasen förbi applikationsprogrammet, om användaren endast har rättigheter att köra programmet, men inte att självständigt manipulera data.

Som en del av konceptet att öka integrationsnivån av säkerhetsverktyg i ett datorsystem, har DB2 inte sina egna metoder för att autentisera användare, integrera med operativsystemsverktyg eller specialiserade säkerhetsservrar. Inom DB2 är endast användare som är autentiserade av systemet auktoriserade.

DB2 är det enda relations-DBMS för generella ändamål som har implementeringar på hård-/mjukvarunivå (IBM i-system; DB2-stöd är också implementerat på IBM System z stordatorhårdvara).

Moderna versioner av DB2 ger utökat stöd för användning av XML-data, inklusive operationer på enskilda delar av XML-dokument.

Fel vid bearbetning

En användbar funktion i DB2 SQL Server är dess förmåga att hantera fel. SQLCA-strukturen används för detta ändamål. SQL-kommunikationsområde- SQL-länkområde) som returnerar felinformation till applikationsprogrammet efter varje exekvering av SQL-satsen.

SQLCODE-strukturfält och deras värden

Den huvudsakliga, men inte alltid användbara feldiagnostiken finns i fältet SQLCODE(datatyp - heltal) inuti SQLCA-blocket. Det kan ha följande värden:

  • 0 betyder framgång.
  • Ett positivt tal betyder framgång med en eller flera varningar. Till exempel betyder +100 att inga kolumner hittades.
  • Ett negativt tal betyder fel med ett fel. Till exempel betyder -911 ett detekterat utgånget låsvänteintervall (eller dödläge) som utlöser en sekventiell återställning.

SQLERRM(datatyp - en sträng på 71 tecken). Innehåller en textsträng som beskriver felet om SQLCODE-fältet är mindre än noll.

SQLERRD(datatyp - array, 6 heltal). Beskriver resultatet av att köra den sista SQL-satsen:

  • 1 element - intern information;
  • 2nd element - innehåller värdet för SERIAL-typfältet som genererats av servern för INSERT-satsen, eller en ytterligare felkod;
  • 3:e element - lika med antalet bearbetade poster;
  • 4:e elementet - den ungefärliga kostnaden för att utföra denna operatör;
  • 5:e element - förskjutning av felet i textposten för SQL-satsen;
  • 6:e elementet - intern information.

Anteckningar

Länkar

  • Programsida på IBMs webbplats
  • DB2 på developerWorks - DB2-artiklar och utbildning
  • PlanetDB2 - DB2-bloggar

Litteratur

  • Datum K. DB2 Relationell DBMS-guide. - M.: Finans och statistik, 1988. - 320 sid. - ISBN 5-279-00063-9
  • Zikopoulos P.K., Baklarz J., deRus D., Melnik R.B. DB2 Version 8: Den officiella guiden = DB2 Version 8: Den officiella guiden. - M.: KUDITS-OBRAZ, 2004. - 400 sid. - ISBN 5-9579-0031-1
  • Smirnov S.N. Arbeta med IBM DB2: Handledning. - M.: Helios, 2001. - 304 sid. - ISBN 5-85438-007-2 (rekommenderas av UMO för universitet inom området informationssäkerhet som en lärobok i specialiteterna "Integrerad informationssäkerhet för automatiserade system" och "Datorsäkerhet")
  • Susan Visser, Bill Wong. Teach Yourself DB2 Universal Database in 21 Days = Sams Teach Yourself DB2 Universal Database in 21 Days. - 2:a uppl. - M.: Williams, 2004. - 528 sid. - ISBN 0-672-32582-9
  • Hook J., Harbus R., Snow D. Universal Guide to DB2 för Windows NT®. - New Jersey: Prentice Hall PTR, 1999. - P. 504. - ISBN 0-13-099723-4

Wikimedia Foundation. 2010 .

Se vad "IBM DB2" är i andra ordböcker:

    IBM DB2- Utvecklare IBM Initial release 1983 (1983) ... Wikipedia

    IBM DB2- DB2 är ett kommerziellt relationsdatabank Management System (RDBMS) av Firma IBM, dess Ursprünge auf das System R and die Grundlagen von E. F. Codd vom IBM Research aus dem Jahr 1970 zurückgeht. Inhaltsverzeichnis 1 Eigenschaften 1.1… … Deutsch Wikipedia

    IBM DB2- Developpeur IBM Dernière version ... Wikipedia en Français

    IBM DB2 Commonstore- DB2 CommonStore Arkiveringsprogram producerad av IBM för hantering av e-postmeddelanden eller SAP ERP-data. En del av IBM Information Management-portföljen som bygger på DB2-databasplattformen. DB2 CommonStore är en av flera produkter som är … … Wikipedia

På jobbet var jag tvungen att hantera IBM DB2 DBMS under en tid. Därför att Eftersom systemet är kommersiellt finns det inte mycket information på ryska på Internet, så jag bestämde mig för att beskriva några av funktionerna i detta DBMS.

Ingångspunkt

Låt oss börja med ingångspunkten i DBMS. I SQL SERVER är slutpunkten en instans, som givetvis kan ha separata databaser, men konfigurationen och säkerhetsmodellen är densamma för hela instansen. I DB2 ser ingångspunkten ut så här - en instans (som motsvarar en specifik port) - en databas. Samtidigt finns det en konfiguration för hela instansen, och för en separat databas.

Du kan visa instanskonfigurationen antingen med kommandot db2:

Databashanterarens konfiguration

Nodtyp = Enterprise Server Edition med lokala och fjärrklienter

Utgivningsnivå för databashanterarens konfiguration = 0x0b00

CPU-hastighet (millisec/instruktion) (CPUSPEED) = 2,912790e-07
Kommunikationsbandbredd (MB/sek) (COMM_BANDWIDTH) = 1,000000e+02

Max antal samtidiga aktiva databaser (NUMDB) = 8
Federated Database System Support (FEDERATED) = JA
Transaktionsprocessorns monitornamn (TP_MON_NAME) =

Standardåterbetalningskonto (DFT_ACCOUNT_STR) =

Java Development Kit installationssökväg (JDK_PATH) = /home/db2inst1/sqllib/java/jdk32

Diagnostisk felinsamlingsnivå (DIAGLEVEL) = 3
Notify Level(NOTIFYLEVEL) = 3
Sökväg till diagnostisk datakatalog (DIAGPATH) = /home/db2inst1/sqllib/db2dump

Databasövervakare som standard
Buffertpool (DFT_MON_BUFPOOL) = AV

Där parametrarna kommer att specificeras, deras betydelse och avkodning. En förkortad version är också möjlig:

skaffa dbm cfg

Eller med en fråga:

Välj namn, värde från sysibmadm.dbmcfg

Viktiga parametrar inkluderar:

  • autentiseringstyp (AUTHENTICATION)
  • standardsökväg för att skapa nya databaser (DFFTDBPATH)
  • nätverksserverupptäckt (DISCOVER)
Du kan se inställningarna för en specifik databas så här:

anslut till provet(exempel - databasnamn)

hämta databashanterarens konfiguration

Eller med ungefär samma förfrågan som tidigare:

välj namn, värde från sysibmadm.dbcfg

Autentisering

Den stora skillnaden mellan DB2 och andra DBMS är autentiseringsmodellen. Det finns inga interna användare som i SQL Server eller MySQL. All autentisering utförs med hjälp av medel utanför DBMS (dynamiskt laddade plugins) - med hjälp av operativsystemet eller externa plugins (Kerberos, GSS API). Autentiseringstypen ställs in i parametern AUTHENTICATION i databashanterarens konfiguration. Som standard är SERVER-värdet inställt - användarnamnet och lösenordet sänds i klartext, och detta par kontrolleras för korrekthet med hjälp av operativsystemet. Om användarnamnet och lösenordet är korrekta kontrolleras CONNECT-behörigheten för användaren eller grupperna som han är medlem i (inklusive den speciella PUBLIC-gruppen, som inkluderar alla behöriga användare). Dessa privilegier kan ses i tabellen SYSCAT.DBAUTH:

välj GRANTEE från SYSCAT.DBAUTH där CONNECTAUTH = "Y"

Ett stort konfigurationsfel är att inkludera CLIENT-autentiseringstypen. I det här fallet litar DB2 på autentisering till den anslutande klienten, och om PUBLIC har CONNECT-behörigheten kan alla användare ansluta till databasen och ha tillgång till all data som PUBLIC har. Användarnamnet är hämtat från operativsystemet. Det vill säga, om vi ansluter via Data Studio som administratörsanvändare, kommer alla privilegier som denna användare har att beviljas. Och i det här fallet är det ingen skillnad från vilken dator åtkomsten gjordes. Denna typ av autentisering rekommenderas endast att aktiveras när det finns en säker kanal mellan servern och klienten och andra klienter inte kommer att kunna ansluta till DBMS.

Tillstånd

Behörigheter på instansnivå skrivs i databashanterarens konfiguration. Det här är följande privilegier:

  • SYSADM
  • SYSCTRL
  • SYSMAINT
  • SYSMON
Dessa privilegier ställs in genom att ange gruppen där användaren ska gå in. I dbmcfg är dessa alternativen SYSADM_GROUP , SYSCTRL_GROUP , SYSMAINT_GROUP , respektive SYSMON_GROUP.

Därefter finns det databasspecifika privilegier. Dessa är privilegier som databasåtkomst (CONNECTAUTH), tabellskapande (CREATETABAUTH), rutinskapande (EXTERNALROUTINEAUTH) och så vidare. Dessa privilegier kan ses i SYSCAT.DBAUTH-vyn

Och slutligen, åtkomstprivilegier till specifika data - tabeller, subrutiner och så vidare. Allt här är ganska trivialt, men också med vissa egenheter.

Tabellåtkomstprivilegier kan ses i SYSCAT.TABAUTH-vyn. Typen av det beviljade privilegiet lagras i separata kolumner, beroende på själva privilegiet (SELECTAUTH, DELETEAUTH, etc.). När du beviljar ett privilegium med hjälp av GRANT-kommandot för REFERENCES och UPDATE-privilegierna, kan du också ange namnen på de kolumner som de givna privilegierna kommer att utökas till. I det här fallet kan information om detta ses i SYSCAT.COLAUTH-vyn

Behörigheter för rutiner (funktioner, procedurer och metoder) kan ses i SYSCAT.ROUTINEAUTH. Allt är inte trivialt här, beroende på fälten SPECIFICNAME och TYPENAME kan privilegier ges till alla subrutiner i ett givet schema.

Om läsarna gillar artikeln är jag redo att prata om att skydda data i DB2 med etikettbaserad åtkomstkontroll