Microsoft Servers SQL-databasebeheersysteem. SQL Server-databasebeheersysteem

Databasebeheersystemen

Databasebeheersysteem als integraal onderdeel van een geautomatiseerde databank

In moderne informatiesystemen wordt informatie meestal opgeslagen met behulp van geautomatiseerde databanken. Databanken kunnen erg groot zijn en een verscheidenheid aan informatie bevatten die door een organisatie wordt gebruikt.

Een databank is een informatiesysteem voor collectief gebruik dat zorgt voor gecentraliseerde opslag van gegevens, het bijwerken ervan en het uitgeven ervan op basis van gebruikersverzoeken. Dit is een complex van hardware en software voor een databank en het personeel dat deze beheert. De databank omvat:

een of meer databanken;

databasebeheersysteem (DBMS);

personeel dat zorgt voor de werking van de databank.

Een database is een verzameling gegevens die op een bepaalde manier is georganiseerd en is opgeslagen op computeropslagapparaten. Gegevens worden doorgaans opgeslagen op de harde schijf van de server van een organisatie.

Over het algemeen worden de gegevens in een database (althans in grote systemen) geïntegreerd en gedeeld. Deze twee aspecten, integratie en datascheiding, zijn de belangrijkste voordelen van het gebruik van databanken op “grote” apparatuur, en minstens één daarvan, integratie, is een voordeel van het gebruik ervan op “kleine” apparatuur.

Het concept van data-integratie betekent de mogelijkheid om een ​​database voor te stellen als een combinatie van verschillende afzonderlijke databestanden, waardoor redundante informatieopslag geheel of gedeeltelijk wordt geëlimineerd.

Het concept van het delen van gegevens verwijst naar de mogelijkheid voor verschillende gebruikers om individuele elementen te gebruiken die in de database zijn opgeslagen. Dit betekent dat iedere gebruiker toegang krijgt tot dezelfde gegevens, eventueel zelfs gelijktijdig (parallelle toegang). Deze verdeling van gegevens, met parallelle of sequentiële toegang, is deels een gevolg van het feit dat de database een geïntegreerde structuur heeft.



Eén van de gevolgen van de hierboven genoemde databasekenmerken (integratie en delen) is dat elke individuele gebruiker doorgaans slechts een klein deel van de gehele database beheert, en dat de door verschillende gebruikers verwerkte delen op willekeurige wijze kunnen overlappen. Met andere woorden: elke database wordt door de verschillende gebruikers anders waargenomen. Zelfs twee databasegebruikers die met dezelfde delen van de database werken, kunnen er zelfs aanzienlijk verschillende opvattingen over hebben.

Een database wordt gekenmerkt door een datamodel, d.w.z. de vorm waarin de gegevens daarin zijn georganiseerd. Op basis van het type datamodel worden databases onderverdeeld in netwerk, hiërarchisch en relationeel. Momenteel wordt er praktisch alleen gebruik gemaakt van een relationele structuur, waarbij de database bestaat uit één of meer tweedimensionale tabellen. Elke relationele tabel is een tweedimensionale array en heeft de volgende eigenschappen:

elk tabelelement is één gegevenselement

alle cellen in een tabelkolom 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

Dit dataopslagmodel zorgt voor gebruiksgemak van de database op een computer. Aangezien databasetabellen via bepaalde relaties met elkaar kunnen worden verbonden, garandeert dit model de gegevensintegriteit en de afwezigheid van opslagredundantie. Daarom wordt het in de meeste moderne databases gebruikt.

Een databasebeheersysteem (DBMS) is een gespecialiseerd programma of een reeks programma's die zijn ontworpen om een ​​database te organiseren en te onderhouden. Het biedt gegevensopslag en gebruikersinteractie met de database, waardoor gebruikers informatie in de database kunnen zoeken, sorteren en ophalen, en sommige gebruikers records in de database kunnen toevoegen, verwijderen en wijzigen. Afhankelijk van met welke database het DBMS werkt, kan dit het volgende zijn:

hiërarchisch

relationeel

object-relationeel

objectgeoriënteerd

We zullen relationele databasebeheersystemen overwegen.

Het personeel dat zorgt voor de werking van de databank is de beheerder van de databank, evenals de ingenieurs en technici die zorgen voor de werking van de databankhardware.

Een databasebeheersysteem is dus een noodzakelijk onderdeel van een databank.

DBMS Microsoft SQL-server

Een van de meest voorkomende DBMS die in grote organisaties wordt gebruikt, is Microsoft SQL-server, een DBMS van Microsoft. Het maakt gebruik van een relationeel datamodel. Microsoft SQL-server is een client-server DBMS, waardoor het goed te gebruiken is in grote organisaties met een krachtige server. Het MS SQL Server 2005-dataplatform bevat de volgende tools voor het werken met de database:

Ondersteuning voor gestructureerde en ongestructureerde (XML) gegevens.

Replicatieservices: gegevensreplicatie voor gedistribueerde en mobiele gegevensverwerkingstoepassingen, hoge systeembeschikbaarheid, schaalbaar parallellisme met secundaire gegevensopslag voor bedrijfsrapportageoplossingen en integratie met heterogene systemen, inclusief bestaande Oracle-databases.

Notificatieservices: Geavanceerde meldingsmogelijkheden voor het ontwikkelen en implementeren van schaalbare applicaties die gepersonaliseerde, tijdige informatie-updates kunnen leveren aan meerdere verbonden en mobiele apparaten.

Integratieservices: extraheer, transformeer en laad mogelijkheden voor datawarehouses en data-integratie op ondernemingsniveau.

Analysediensten: Real-time analytische verwerking (OLAP) voor snelle, complexe analyse van grote en gemengde datasets met behulp van multidimensionale opslag.

Reporting Services: een uitgebreide oplossing voor het creëren, beheren en leveren van zowel traditionele papieren rapporten als interactieve, op WWW gebaseerde rapporten.

Beheertools: SQL Server bevat beheertools voor geavanceerd databasebeheer en -configuratie, evenals nauwe integratie met tools zoals Microsoft Operations Manager (MOM) en Microsoft Systems Management Server (SMS). Standaardprotocollen voor gegevenstoegang verkorten aanzienlijk de tijd die nodig is om SQL Server-gegevens met bestaande systemen te integreren. Bovendien is ondersteuning voor webservices ingebouwd om interoperabiliteit met andere applicaties en platforms mogelijk te maken.

Ontwikkeltools: SQL Server biedt geïntegreerde ontwikkeltools voor database-engine, data-extractie, transformatie en laden, informatie-extractie, OLAP en rapportage die nauw zijn geïntegreerd met Microsoft Visual Studio® om end-to-end applicatie-ontwikkelingsmogelijkheden te bieden. Elk belangrijk SQL Server-subsysteem wordt geleverd met een eigen objectmodel en set API's om uw datasysteem uit te breiden in elke richting die uniek is voor uw bedrijf.

De bijzondere kenmerken van dit DBMS zijn de volgende:

SQL Server Beheerstudio. SQL Server vereenvoudigt het beheer door één enkele, geïntegreerde beheerconsole te bieden voor het bewaken en beheren van de SQL Server relationele database, Integration Services, Analysis Services, Reporting Services, Notification Services en SQL Mobile over een groot aantal gedistribueerde servers en databases. Databasebeheerders kunnen meerdere taken tegelijkertijd uitvoeren, waaronder de volgende: een query maken en uitvoeren, serverobjecten bekijken, een object beheren, systeemactiviteit monitoren en online Help bekijken. SQL Server Management Studio biedt een ontwikkelomgeving voor het maken, bewerken en beheren van scripts en opgeslagen procedures met behulp van Transact-SQL, multidimensionale expressies (MDX), XMLA en SQL Server Mobile Edition. Management Studio kan eenvoudig worden geïntegreerd met versiebeheer. Management Studio bevat ook tools voor het plannen van SQL Server Agent-taken en het beheren van onderhoudsplannen om dagelijkse onderhoudstaken te automatiseren. Het consolideren van beheer- en creatietaken in één tool, gekoppeld aan de mogelijkheid om alle soorten servers te beheren, zorgt voor een verbeterde productiviteit voor databasebeheerders.

Het proactief monitoren en afstemmen van de prestaties van SQL Server biedt meer dan 70 nieuwe metingen van de interne databaseprestaties en het gebruik van bronnen, van geheugen, vergrendeling en planning tot transacties en netwerk- en schijf-I/O. Deze Dynamic Management Views (DMV's) bieden meer transparantie en inzicht in de databasestatus en een krachtige infrastructuur voor het proactief monitoren van de databasestatus en -prestaties.

SQL Management Objects SQL Management Objects (SMO) zijn een nieuwe set programmeerobjecten die volledige functionaliteit bieden voor het beheren van een SQL Server-database. Management Studio is feitelijk gebouwd op SQL Management Objects. SMO wordt geïmplementeerd als een Microsoft .NET Framework-assembly. SMO kan worden gebruikt om algemene SQL Server-beheertaken te automatiseren, zoals het programmatisch ophalen van configuratie-instellingen, het maken van databases, het uitvoeren van Transact-SQL-scripts, het maken van SQL Server Agent-taken en het plannen van back-ups. Het SMO-objectmodel is een veiligere, betrouwbaardere en schaalbare vervanging voor de Distributed Management Objects (DMO's) die in eerdere versies van SQL Server waren opgenomen.

Toegewijde beheerdersverbinding SQL Server biedt een speciale beheerdersverbinding voor toegang tot de server, zelfs als deze niet reageert of anderszins niet beschikbaar is. Hierdoor kunt u diagnostische functies of Transact-SQL-instructies uitvoeren om problemen op de server op te lossen. De beheerdersverbinding wordt mogelijk gemaakt door leden met de vaste serverrol sysadmin en is alleen toegankelijk via het opdrachtregelhulpprogramma SQLCMD, lokaal of vanaf een externe machine.

Ondersteuning voor webservices In SQL Server kunt u XML-webservices in de databaselaag ontwikkelen door SQL Server als HTTP-listener te gebruiken. Dit biedt een nieuwe manier om toegang te krijgen tot gegevens uit applicaties die zijn gecentreerd rond webservices. In SQL Server 2005 kunt u HTTP gebruiken om rechtstreeks toegang te krijgen tot SQL Server zonder gebruik te maken van een middleware-listener zoals Microsoft Internet Information Services (IIS). SQL Server biedt een webservice-interface voor het uitvoeren van SQL-instructies en het aanroepen van functies en procedures. Queryresultaten worden geretourneerd in XML-indeling en kunnen profiteren van de webservice-infrastructuur van Visual Studio.

Het is belangrijk op te merken dat MS SQL Server specifiek is ontworpen om op het Windows-platform te werken. Dit beperkt het gebruik ervan op verschillende werkterreinen. Daarnaast richt Microsoft zich op het verlagen van de kosten van het DBMS, wat leidt tot een afname van de effectiviteit van betrouwbaarheids- en beveiligingstools. Dit is een belangrijke factor bij het kiezen van een DBMS voor een organisatie.

Oracle DBMS

Een ander veel voorkomend DBMS is het systeem van Oracle. Dit DBMS is tevens een client-server systeem en is daarom bedoeld voor bedrijven die beschikken over een informatienetwerk met een krachtige server. Dit DBMS maakt ook gebruik van een relationeel datamodel, maar bevat elementen van een objectgeoriënteerd datamodel. Voor 2009 is de nieuwste versie Oracle 11g Release 2. Laten we eens kijken naar de kenmerken van dit programma.

Schaalbaarheid van applicaties. Oracle Real Application Clusters, de volgende generatie van Oracle Parallel Server, biedt transparante applicatieschaalbaarheid door clustercaches snel en efficiënt te delen voor consistente gegevenstoegang. Oracle Real Application Clusters biedt de volgende mogelijkheden:

Boxed-applicaties die vrijwel lineair en volledig transparant kunnen schalen

Compatibel met alle toepassingen zonder dat u ze opnieuw hoeft te bouwen

Snelle uitbreiding van clusters, mogelijkheid om snel knooppunten en schijven toe te voegen

Oracle Data Guard Disaster Recovery biedt klanten een systeem voor snel noodherstel. Data Guard-herstelbewerkingen zijn gebeurtenisbestendig, eenvoudig te gebruiken en volledig geautomatiseerd.

Fysieke standby-database Fysieke databaseback-up wordt uitgevoerd door transactielogboeken over te dragen van de primaire server naar de standby-server. De bewerkingen uit deze logboeken worden vervolgens fysiek uitgevoerd door hersteltools (een proces dat 'heruitvoering' wordt genoemd) om de inhoud van de standby- en primaire servers op elkaar af te stemmen. De back-updatabase is qua fysieke structuur identiek aan de primaire database en kan zelfs worden gebruikt voor leesbewerkingen.

Logische Standby Database Oracle Data Guard heeft een nieuw databaseback-upmechanisme: de Logical Standby Database, dat qua implementatie verschilt van de fysieke. Beide standby-databases worden gevoed door activiteitenlogboeken, maar in plaats van ze rechtstreeks te gebruiken, extrapoleert de logische database SQL-instructies daaruit en voert deze uit op de standby-server als normale SQL-opdrachten. Als gevolg hiervan is de standby-database beschikbaar voor normale lees- en schrijfbewerkingen.

Verliesloze logboekoverdracht Oracle Data Guard heeft de mogelijkheid om updates van activiteitenlogboeken synchroon of asynchroon te herschrijven, rechtstreeks van de primaire database naar de standby-database. Hierdoor kunt u een uitgebreide oplossing voor noodherstel aanbieden zonder afhankelijk te zijn van producten van derden voor het opslaan van live kopieën van herstellogboeken. Zo kunnen klanten er in elke situatie op vertrouwen dat hun standby-database alle uitgevoerde bewerkingen tot het moment van de storing behoudt.

Data Guard Broker De Oracle-module biedt de controle-, beheer- en automatiseringsfuncties die nodig zijn om logische en fysieke standby-databases te ondersteunen. Het kan bijvoorbeeld de primaire database in één bewerking herstellen naar een van de standby-databases.

Herstel van systeemfouten

Het Cache Fusion-systeem zorgt voor snel herstel na storingen, wat resulteert in continue beschikbaarheid van gegevens en applicaties.

Echte applicatieclusters Een clusterarchitectuur biedt een hoger beschikbaarheidsniveau dan een configuratie met één knooppunt, omdat er één enkele bron van fouten wordt geëlimineerd: de server. Als in een clusterconfiguratie met twee knooppunten het systeem op één knooppunt uitvalt, blijft de applicatie op het resterende knooppunt werken.

Oracle Fail Safe - Fouttolerante configuratie met vier knooppunten voor Windows Oracle Fail Safe biedt de continue beschikbaarheid en bescherming tegen systeemfouten die nodig zijn voor e-business in op Windows NT en 2000 gebaseerde clusterarchitecturen. Oracle Fail Safe voert noodherstel uit voor databases en applicaties servers in Windows NT- en 2000-clusters met zowel twee als vier knooppunten.

Fast-Start Time-Based Recovery Oracle maakt gebruik van Fast-Start Time-Based Recovery-technologie, waarmee databasebeheerders een gewenste bovengrens voor de hersteltijd (in seconden) kunnen instellen. Bij het opnieuw opstarten na een systeemfout of crash worden gebruikers uiterlijk deze tijd opnieuw verbonden met hun applicatie.

Een momentopname van het systeem maken en de werking ervan hervatten Vaak worden databasebeheerders geconfronteerd met het keuzeprobleem: de oorzaak van de storing begrijpen of het systeem snel herstellen. Met Flash Freeze kan een beheerder een momentopname maken van de systeemstatus op het moment van een storing, de database snel opnieuw opstarten en vervolgens de resulterende gegevens offline analyseren.

Herstel van gebruikersfouten. Oracle maakt het gemakkelijker om te herstellen van gebruikersfouten, inclusief de gevolgen van onjuiste of onjuist ingevoerde opdrachten.

Oracle Flashback Query Met Oracle Flashback Query hebben gebruikers en applicaties toegang tot de status van gegevens op een bepaald moment in het verleden. Met deze "achterwaartse" optie kunt u een datum en tijd instellen en vervolgens regelmatig query's uitvoeren op de gegevens, zodat deze er op dat moment uitzien. Zodra fouten worden gedetecteerd, kunnen relatief eenvoudige ongedaan gemaakte acties worden ondernomen die zonder tussenkomst van de databasebeheerder kunnen worden uitgevoerd. Belangrijker nog is dat het herstel geen vertraging in de applicatie veroorzaakt.

Gedetailleerde analyse van bewerkingslogboeken U kunt de oorzaak van fouten ook vaststellen door de databasebewerkingslogboeken te analyseren. Oracle LogMiner is een relationeel hulpprogramma waarmee u zowel live als gearchiveerde logbestanden kunt lezen, analyseren en interpreteren met behulp van een standaard SQL-interface. Met Oracle LogMiner kunnen databasebeheerders nu alle wijzigingen in databases analyseren, inclusief gegevensbewerkingen, definities en administratieve opdrachten.

Hervatbare bewerkingen Bij sommige langlopende bewerkingen, zoals het laden van gegevens of complexe wijzigingen, kunnen de bronnen (zoals schijfruimte) opraken. Als langlopende bewerkingen mislukken, kan het lang duren voordat deze worden hervat. Oracle lost dit probleem op door DBA's toe te staan ​​bewerkingen uit te stellen die op dat moment niet kunnen worden voltooid. Door een bewerking uit te stellen, kan een beheerder het probleem met het tekort aan middelen oplossen en vervolgens de uitgestelde bewerking hervatten vanaf het punt waarop deze was gebleven.

Verminder geplande vertragingen. Oracle staat toe dat al het geplande systeemonderhoud wordt uitgevoerd zonder de normale werking ervan te onderbreken.

Het schema wijzigen zonder de toegang te sluiten
In Oracle kunt u tabelstructuren overschrijven, zelfs als deze zichtbaar zijn voor gebruikers en applicaties.

Tabellen en indexen reorganiseren zonder de toegang te blokkeren
Oracle heeft ook een eenvoudig mechanisme om de tabellen zelf te reorganiseren en opnieuw te definiëren zonder de toegang ertoe te onderbreken. Dit vermindert de geplande latentie, verhoogt de beschikbaarheid van applicaties, vermindert schijffragmentatie en verbetert de prestaties.

Voer alle indexbewerkingen uit zonder de toegang te sluiten

In Oracle kunnen alle tabelindexen snel worden gemaakt en opnieuw opgebouwd zonder de toegang ertoe te onderbreken. Zonder dit kunnen gebruikers hun applicaties niet uitvoeren tijdens dergelijke bewerkingen.

Dynamische databaseparameters Databaseparameters in Oracle, die de hoeveelheid geheugen instellen die door de databaseserver wordt gebruikt, kunnen direct worden gewijzigd zonder de toegang te onderbreken. Voorheen moest u, om dergelijke instellingen te wijzigen, de database offline halen en opnieuw opstarten voordat de wijzigingen van kracht werden

Lagere beheerkosten. Oracle vereenvoudigt gegevensbeheer met de volgende tools:

Dankzij de geautomatiseerde configuratie kunnen instellingen worden opgeslagen nadat het systeem is uitgeschakeld. Nieuwe automatische archiverings- en herstelfuncties verminderen de tijd die beheerders besteden aan dagelijks onderhoud aanzienlijk.

Home > Programma

Databasemanagementsysteem (DBMS) - een gespecialiseerd programma (meestal een reeks programma's) ontworpen om een ​​database te organiseren en te onderhouden. Om een ​​informatiesysteem te creëren en te beheren is een DBMS nodig in dezelfde mate als een vertaler nodig is om een ​​programma in een algoritmische taal te ontwikkelen. Belangrijkste functies van het DBMS:

    databeheer in extern geheugen (op schijven); gegevens in RAM beheren met behulp van schijfcache; het registreren van wijzigingen, het maken van back-ups en het herstellen van de database na storingen; ondersteuning voor databasetalen (datadefinitietaal, datamanipulatietaal).
DBMS-structuur:
    kern, die verantwoordelijk is voor het beheer van gegevens in extern en RAM-geheugen en logboekregistratie, database taalprocessor, het bieden van optimalisatie van verzoeken voor het ophalen en wijzigen van gegevens en het creëren van, in de regel, machine-onafhankelijke uitvoerbare interne code, runtime-ondersteuningssubsysteem, dat gegevensmanipulatieprogramma's interpreteert die een gebruikersinterface creëren met het DBMS en ook serviceprogramma's(externe hulpprogramma's) die een aantal extra mogelijkheden bieden voor het onderhouden van het informatiesysteem.

DBMS-classificatie

Op basis van het type database dat wordt beheerd, zijn DBMS'en onderverdeeld in:
    Netwerk Hiërarchisch Relationeel Object-relationeel Object-georiënteerd
Volgens de architectuur van de gegevensopslagorganisatie:
    lokaal DBMS (alle delen van een lokaal DBMS bevinden zich op één computer) gedistribueerd DBMS (delen van een DBMS kunnen zich op twee of meer computers bevinden)
Via de manier waarop u toegang krijgt tot de database:
    Bestandsservers
In DBMS'en op bestandsservers bevinden gegevensbestanden zich centraal op een bestandsserver. De DBMS-kernel bevindt zich op elke clientcomputer. Gegevens zijn toegankelijk via een lokaal netwerk. Synchronisatie van leesbewerkingen en updates wordt uitgevoerd met behulp van bestandsvergrendelingen. Het voordeel van deze architectuur is de lage belasting van de CPU van de server, en het nadeel is de hoge belasting van het lokale netwerk. Momenteel worden DBMS'en van bestandsservers als verouderd beschouwd. Voorbeelden: MS Access, Borland Paradox.
    Client server
Dergelijke DBMS'en bestaan ​​uit een clientgedeelte (dat deel uitmaakt van het applicatieprogramma) en een server. Client-server-DBMS's bieden, in tegenstelling tot bestandsserver-DBMS's, toegangscontrole tussen gebruikers en belasten het netwerk en de clientmachines weinig. De server is een programma buiten de client en kan indien nodig door een ander worden vervangen. Het nadeel van client-server DBMS's is juist het feit dat er een server bestaat (wat slecht is voor lokale programma's - ingebedde DBMS's zijn daarin handiger) en de grote computerbronnen die door de server worden verbruikt. Voorbeelden: Firebird, Interbase, MS SQL Server, Oracle, PostgreSQL, MySQL.
    Ingebouwd
Een ingebed DBMS is een bibliotheek waarmee u grote hoeveelheden gegevens op een uniforme manier op een lokale machine kunt opslaan. Gegevens zijn toegankelijk via SQL of via speciale DBMS-functies. Embedded DBMS's zijn sneller dan conventionele client-serversystemen en vereisen geen serverinstallatie. Daarom zijn ze veelgevraagd in lokale software die met grote hoeveelheden gegevens omgaat (bijvoorbeeld geografische informatiesystemen). Voorbeelden: OpenEdge, SQLite, BerkeleyDB, één van de Firebird-varianten, een van de MySQL-varianten, Sav Zigzag, Microsoft SQL Server Compact. De meest gebruikte databasebeheersystemen zijn:
    Oracle Interbase MS SQL Server MS Access Visual FoxPro SyBase Paradox MySQL
Oracle Corporation(NASDAQ: ORCL) is een van de grootste Amerikaanse bedrijven, een ontwikkelaar van databasebeheersystemen, tools voor databaseontwikkeling en ERP-systemen. De geschiedenis gaat terug tot 1977 en heeft vestigingen in meer dan 145 landen over de hele wereld. Vanaf 2005 had het meer dan 50.000 werknemers. is een DBMS met dezelfde naam. De belangen van het bedrijf beperken zich echter niet tot beslissingen over de organisatie van gegevens. Oracle vergroot geleidelijk zijn invloed op alle gebieden waarin middelgrote en grote bedrijven geïnteresseerd zijn: ontwikkelingstools voor bedrijfsapplicaties, automatiseringstools, enz.

Interbasis

Interbase is een DBMS van Borland. InterBase is gebaseerd op een project dat is ontwikkeld door Jim Starkey terwijl hij aan het Datatrive DBMS werkte. Jim creëerde het als een implementatie van zijn idee voor een database met een architectuur met meerdere versies. Destijds (1984) heette het JRD (Jim's Relational Database). Blijkbaar is de Rdb-architectuur als basis genomen, want Jim Starkey was een van de ontwikkelaars van dit DBMS bij DEC. In 1985 richtten Jim Starkey, zijn vrouw Anne Harrison en Don DePalma Groton Database Systems op (daarom hadden InterBase-databases tot voor kort de traditionele gdb-extensie - Groton DataBase After a reeks herverkopen en een verandering van de naam van het bedrijf in InterBase Software Corporation, InterBase 2 werd uitgebracht in 1986. Het moet gezegd worden dat dit DBMS voornamelijk werd gebruikt in embedded systemen voor militaire en speciale doeleinden - het wordt bijvoorbeeld nog steeds gebruikt in de controlesysteem van het Amerikaanse meervoudige raketsysteem MLPRS, evenals bij Boeing voor speciale berekeningen van de vleugelstijfheid. In 1988 verwierf Ashton-Tate een belang van 51% in Interbase en in 1991 nam Ashton-Tate Borland over. In hetzelfde jaar werd InterBase 3 uitgebracht. InterBase werd enorm populair met de release van versie 4 in 1994. Voor die tijd was het een zeer krachtig DBMS, dat qua mogelijkheden en prestaties concurreerde met MSSQL (6.5?) en SyBase (5?). In 1997 werd InterBase 5 uitgebracht, en in 1998 werd InterBase 5.1.1 opgenomen in de Delphi 4-distributie. wat grotendeels de populariteit ervan onder Delphi- en C++ Builder-ontwikkelaars bepaalde. Eind 1999 verlieten drie sleutelfiguren bij InterBase (Bill Karwin, Paul Beach en Wayne Ostiguy) de afdeling Interbase. Er breken problemen uit op Borland-conferenties. De Australische activiste Helen Borrie maakt een pro-IB-lijst met de naam "Save InterBase" om te voorkomen dat IB stopt. De IBDI-groep (IB Developer’s Initiative) is opgericht om gebruikers van Interbase-ontwikkelaars te beschermen. De oprichters zijn Helen Borrie, Jason Wharton en Dalton Calford. Maar het meest interessante gebeurt in 2000. Borland heeft een open source-versie van InterBase 6.0 - InterBase 6 Open Source Edition uitgebracht, onder de InterBase Public License (IPL). Er is geen documentatie vrijgegeven, geen testsysteem, geen projectbouwsysteem - alleen een stapel ongecompileerde broncode. In feite verliet Borland op dat moment de verdere ontwikkeling van InterBase. Op 31 juli 2000 kopieerde de initiatiefgroep, wanhopig op zoek naar steun of op zijn minst een duidelijk standpunt van Borland, de broncodes van InterBase 6 en vormde het Firebird-project. een volledig Open Source project gebaseerd op de InterBase 6 Open codes Source. In 2001 besloot Borland opnieuw InterBase te ontwikkelen. John Arthur werd directeur van de Interbase-divisie en Charlie Caro werd de hoofdontwikkelaar. In de volgende versie van InterBase (6.5) verliet Borland blijkbaar het Open Source-bedrijfsmodel. Even later werd de ondersteuning voor InterBase Open Source Edition officieel volledig stopgezet. Momenteel is de nieuwste versie InterBase 2007. InterBase 7.5/2007 en Firebird 1.5/2.0 zijn vergelijkbaar, maar zijn verre van volledig compatibel - dat wil zeggen, migratie tussen hun versies. databaseformaten zijn eenvoudiger dan tussen formaten van volledig “buitenaardse” databases, maar gaan nog steeds gepaard met bepaalde problemen. De belangrijkste voordelen van de nieuwste versie van InterBase zijn lage systeemvereisten, met gelijktijdige schaalbaarheid over meerdere processors, plus een ontwikkeld tijdelijk monitoringsysteem. tabellen, ingebouwde gebruikersauthenticatie en logboekregistratie. Cross-platform wordt als een traditioneel voordeel beschouwd: InterBase ondersteunt GNU/Linux, Microsoft Windows, Unix en Solaris.

MS SQL-server

Microsoft SQL Server is een relationeel databasebeheersysteem (DBMS) ontwikkeld door Microsoft Corporation. De belangrijkste gebruikte querytaal is Transact-SQL, gezamenlijk gemaakt door Microsoft en Sybase. Transact-SQL is een implementatie van de ANSI/ISO-standaard voor Structured Query Language (SQL) met extensies. Gebruikt voor kleine en middelgrote databases, en in de afgelopen 5 jaar - voor grote databases op ondernemingsniveau, concurreert met andere DBMS in dit marktsegment. De MS SQL Server-broncode (tot versie 7.0) was gebaseerd op de Sybase SQL Servercode, en hierdoor kon Microsoft de markt voor bedrijfsdatabases betreden, waar Oracle, IBM en later Sybase zelf met elkaar concurreerden. Microsoft, Sybase en Ashton-Tate werkten oorspronkelijk samen om de eerste versie van het programma te creëren en op de markt te brengen, genaamd SQL Server 1.0 voor OS/2 (circa 1989), wat in feite het equivalent was van Sybase SQL Server 3.0 voor Unix, VMS, enz. Microsoft SQL Server 4.2 werd in 1992 uitgebracht als onderdeel van het Microsoft OS/2-besturingssysteem versie 1.3. De officiële release van Microsoft SQL Server versie 4.21 voor Windows NT vond gelijktijdig plaats met de release van Windows NT zelf (versie 3.1). Microsoft SQL Server 6.0 was de eerste versie van SQL Server die exclusief voor de NT-architectuur werd gemaakt en zonder de betrokkenheid van Sybase bij het ontwikkelingsproces. Tegen de tijd dat Windows NT op de markt kwam, waren Sybase en Microsoft hun eigen weg gegaan en waren ze op zoek naar hun eigen softwareproduct modellen en marketingprogramma’s. Microsoft zocht exclusieve rechten op alle versies van SQL Server voor Windows. Sybase veranderde later de naam van zijn product in Adaptive Server Enterprise om verwarring met Microsoft SQL Server te voorkomen. Vóór 1994 ontving Microsoft drie copyrightkennisgevingen van Sybase als hint over de oorsprong van Microsoft SQL Server. Na de splitsing brachten de bedrijven verschillende onafhankelijke softwarereleases uit. SQL Server 7.0 was de eerste databaseserver met een echte GUI voor gebruikersbeheer. Om claims van Sybase wegens inbreuk op het auteursrecht te elimineren, werd in november 2005 alle verouderde code in de huidige versie, Microsoft SQL Server 2005, herschreven. De versie werd parallel gelanceerd met de lancering van Visual Studio 2005. Er is ook een “uitgeklede” versie van Microsoft SQL Server - Microsoft SQL Server Express; het kan worden gedownload en gratis worden verspreid met software die er gebruik van maakt. Sinds de release van de vorige versie van SQL Server (SQL Server 2000) zijn de geïntegreerde ontwikkelomgeving en een aantal extra subsystemen in SQL Server 2005 ontwikkeld. Veranderingen hebben de implementatie van ETL-technologie (gegevensextractie, transformatie en laden) beïnvloed ), dat deel uitmaakt van de SQL Server-component Integration Services (SSIS), een waarschuwingsserver, OLAP-analyse- en intelligentietools (beide opgenomen in Microsoft Analysis Services) en verschillende berichtenservices, namelijk Service Broker en Notification Services. Daarnaast zijn er prestatieverbeteringen doorgevoerd.

MS-toegang

Microsoft Access is een relationeel DBMS van Microsoft Corporation. Heeft een breed scala aan functies, waaronder gekoppelde zoekopdrachten, sorteren op verschillende velden, communicatie met externe tabellen en databases. Dankzij de ingebouwde VBA-taal schrijf je in Access zelf applicaties die met databases werken.

Visuele FoxPro

Visual FoxPro (VFP) is een visuele ontwikkelomgeving voor relationele databasebeheersystemen die momenteel door Microsoft worden geproduceerd. De nieuwste versie is 9.0. Maakt gebruik van de programmeertaal FoxPro. De ontwikkelomgeving versie 7.0 kan draaien op de besturingssystemen Windows 9x en de NT-kernel, versies 8.0 en 9.0 - alleen op Windows XP, 2000, 2003. De runtime-omgeving versies 8.0 en 9.0 werken op elke versie van Windows vanaf 98. Oorspronkelijk FoxPro (oorspronkelijke naam - FoxBASE) werd vanaf 1984 ontwikkeld door Fox Software. In 1992 fuseerde Fox Technologies met Microsoft, nieuwe versies van het product kregen een aantal nieuwe functies en het voorvoegsel "Visual". De nieuwste versie van de originele FoxPro, versie 2.6, draaide onder Mac OS, DOS, Windows en Unix; al in Visual FoxPro 3.0 werd de lijst met ondersteunde platforms teruggebracht tot Mac OS en Windows, en in latere versies - alleen tot Windows. De huidige versie van Visual FoxPro is COM-gebaseerd en Microsoft zegt dat er geen .NET-versie van het product zal zijn. Er is een Sedna-project dat Visual FoxPro de mogelijkheid moet bieden om te communiceren met .NET. De ontwikkeling van het product is stopgezet met de release van SP2 voor versie 9.0. Het product zal worden ondersteund tot 2015.

Sybase Inc. is een pionier onder bedrijven die gespecialiseerd zijn in de ontwikkeling van relationele databases, evenals andere producten die verband houden met het verzamelen, verwerken en opslaan van gegevens. Naast de naam van het bedrijf wordt het woord "Sybase" ook vaak gebruikt als de naam van het meest bekende product, het Adaptive Server Enterprise-databasebeheersysteem. De architecten van Sybase waren Dr. Robert Epstein en Tom Haggin, die beiden voor werkten Brit-Lee en de Universiteit van Californië, Berkeley, bij de afdeling Computerwetenschappen. Het relationele DBMS "University Ingres" werd voor het eerst ontwikkeld in Berkeley, dat de standaard werd voor DBMS'en als Ingres (Computer Associates), Informix (IBM) en NonStop SQL (Tandem), evenals voor de meeste hedendaagse SQL-systemen op de tweede plaats onder de databases die in de wereld worden gebruikt, direct na Oracle, na ondertekening van een overeenkomst om de broncode van de database aan Microsoft te verstrekken om een ​​product op de markt te brengen gebaseerd op het OS/2-platform genaamd “SQL Server”. Tegelijkertijd begon Sybase zijn DBMS “Sybase SQL Server” te noemen. Tot versie 4.9 waren Sybase SQL Server en Microsoft SQL Server vrijwel identiek. Vanwege meningsverschillen tussen de bedrijven met betrekking tot problemen met het delen van inkomsten, besloten Sybase en Microsoft echter de gezamenlijke ontwikkeling van het product stop te zetten, ondanks de duidelijke aanwezigheid van een gemeenschappelijk erfgoed in de vorm van de proceduretaal Transact-SQL (T-SQL) en dezelfde architectuur. Het grote verschil is dat Sybase gebaseerd was op de UNIX-architectuur, terwijl Microsoft UNIX vrijwel onmiddellijk verliet en zich volledig concentreerde op het Windows NT-platform. Momenteel blijft Sybase versies ondersteunen en ontwikkelen voor de Windows-familie en verschillende UNIX-platforms (IBM AIX, HP-UX, Sun Solaris, GNU/Linux en anderen). Sybase kreeg eind jaren negentig een zware klap toen het op de markt kwam van Informix kwam uit. Tegenwoordig is Informix niet langer een onafhankelijk bedrijf (het werd overgenomen door IBM). Afgaande op het verkoopvolume is IBM de leider geworden op de databasemarkt, Oracle is heel dichtbij, maar staat nog steeds op de tweede plaats. De derde plaats wordt ingenomen door de afstammeling van Sybase: Microsoft SQL Server. Tegenwoordig ligt Sybase ver achter bij zijn belangrijkste concurrenten op de databasemarkt (volgens InformationWeek had het bedrijf in maart 2005 3% van de markt). Sybase kwam weer tot leven onder leiding van John Chen, die een nieuwe richting voor het bedrijf aankondigde genaamd "Unwired Enterprise". “Unwired Enterprise” is een idee waarin het concept van het leveren van informatie op elk moment en overal wordt geïmplementeerd, of dit nu het mobiele apparaat van een medewerker in het veld is, of zijn kantoor- of thuiscomputer. Om deze visie te verwezenlijken stelt Sybase voor om een ​​combinatie te gebruiken van zijn traditionele productlijn voor gegevensbeheer en zijn nieuwe "mobiele" producten. Sybase heeft zich breed uitgebreid naar de markt voor mobiele en draadloze apparaten door de overname van kleinere bedrijven op dit gebied, zoals AvantGo, en door agressief uit te breiden naar de Aziatische markt, vooral China. Via zijn mobiele divisie, iAnywhere Solutions, gelanceerd in 2000, is Sybase een leider geworden op de mobiele databasemarkt met zijn SQLAnywhere Studio-product. Sybase produceert een volledige lijn van andere gegevensverwerkingsproducten, waaronder de ontwikkeling van Sybase IQ - een informatiemagazijn en PowerBuilder omgeving voor client-server n-tier applicaties, Sybase EAServer - J2EE en CORBA applicatieserver, M-Business Server - server voor het draaien van mobiele applicaties gebaseerd op de AvantGo service en ReplicationServer - datareplicatieserver tussen servers van verschillende leveranciers. Sybase heeft een sterke aanwezigheid in de gezondheidszorg en de financiële sector.

Paradox is een relationeel DBMS dat momenteel door Corel wordt geproduceerd. Inbegrepen in het WordPerfect Office-pakket. De Paradox DBMS voor DOS werd oorspronkelijk ontwikkeld door Ansa-Software, dat in september 1987 door Borland werd overgenomen. De meest voorkomende versies waren 3.5 en 4.5. Versies tot en met 3.5 waren gebaseerd op de originele 1.0; versies 4.0 en 4.5 zijn herschreven met Borland C ++, en bevatten een nieuw geheugenschema voor Windows, hoewel het gebruik van een deel van de code uit de DOS-versie een ander product is, ontwikkeld door een ander team van programmeurs.

MySQL is een gratis databasebeheersysteem (DBMS). MySQL is eigendom van Sun Microsystems, die de applicatie ontwikkelt en onderhoudt. Gedistribueerd onder de GNU General Public License en onder uw eigen commerciële licentie, afhankelijk van uw keuze. Bovendien ontwikkelt MySQL AB functionaliteit op verzoek van gelicentieerde gebruikers; dankzij deze bestelling verscheen het replicatiemechanisme in bijna de eerste versies. MySQL is een oplossing voor kleine en middelgrote applicaties. Inbegrepen in LAMP. Normaal gesproken wordt MySQL gebruikt als een server waartoe lokale of externe clients toegang hebben, maar de distributie bevat een interne serverbibliotheek waarmee u MySQL in zelfstandige programma's kunt opnemen. De flexibiliteit van het MySQL DBMS wordt verzekerd door ondersteuning voor een groot aantal tabeltypen: gebruikers kunnen kiezen uit tabellen van het MyISAM-type die zoeken in volledige tekst ondersteunen en InnoDB-tabellen die transacties op rijniveau ondersteunen. Bovendien wordt het MySQL DBMS geleverd met een speciaal EXAMPLE-tabeltype dat de principes van het maken van nieuwe tabeltypen demonstreert. Dankzij de open architectuur en GPL-licenties verschijnen er voortdurend nieuwe tabeltypen in het MySQL DBMS. Op 26 februari 2008 nam Sun Microsystems MySQL AB over voor $1 miljard. Over de oorsprong van MySQL MySQL ontstond als een poging om mSQL toe te passen op de database eigen ontwikkelingen van het bedrijf: tabellen waarvoor ISAM werd gebruikt - routines op laag niveau. Als gevolg hiervan werd een nieuwe SQL-interface ontwikkeld, maar de API-interface bleef een erfenis van mSQL. Waar de naam “MySQL” vandaan komt is niet met zekerheid bekend. De ontwikkelaars geven twee opties: ofwel omdat bijna alle ontwikkelingen van het bedrijf begonnen met het voorvoegsel My, ofwel ter ere van een meisje genaamd My, de dochter van Michael Monty Widenius, een van de systeemontwikkelaars dolfijn heet “Sakila”. Het werd gekozen uit een grote lijst met door de gebruiker voorgestelde ‘dolfijnnamen’. De naam "Sakila" is afkomstig van Open Source-ontwikkelaar Ambrose Twebaze.

De meeste moderne ondernemingen maken al tientallen jaren gebruik van informatiesystemen. Het zal niet overdreven zijn om te zeggen dat een van de meest waardevolle bezittingen van elke onderneming die al minstens een jaar of twee bestaat, gegevens over haar activiteiten zijn, die moeten worden opgeslagen om verschillende rapporten en statistieken te verkrijgen, en, meer recentelijk, om te voldoen aan de eisen voor activiteiten van bedrijvenwetgeving. Dit is de reden waarom de databasebeheersystemen waarmee bedrijven hun gegevens opslaan en de bedrijfsapplicaties die ze gebruiken, nu aan zeer hoge eisen worden gesteld.

Dit artikel is gewijd aan de meest populaire databasebeheersystemen en hun belangrijkste kenmerken. Het criterium voor het selecteren van DBMS'en voor deze beoordeling is hun vermelding in de rapporten van analytische bedrijven die gespecialiseerd zijn in marktanalyse van de relevante softwarecategorieën.

In dit artikel houden we geen rekening met de gedetailleerde technische kenmerken van elk DBMS - lezers die erin geïnteresseerd zijn, kunnen de overeenkomstige internetbronnen of gespecialiseerde literatuur raadplegen.

Vereisten voor moderne DBMS

Prestatie

De uitdagingen waarmee moderne bedrijven worden geconfronteerd, stellen behoorlijk hoge eisen aan het DBMS, wat een paar jaar geleden nog ondenkbaar was. Een van de belangrijkste vereisten, vanuit het oogpunt van gebruikers en DBMS-beheerders, zijn hoge prestaties, dat wil zeggen de mogelijkheid om gebruikersverzoeken snel te verwerken en transacties uit te voeren. Een belangrijke rol in dit vraagstuk wordt gespeeld door het optimaliseren van de uitvoering van queries en het gebruik van indexen, evenals het gebruiksgemak ervan. Sommige DBMS'en bevatten de juiste tools, terwijl andere DBMS'en ingebouwde algoritmen bevatten die automatisch worden toegepast.

Beveiligingsondersteuning

Naast prestaties is een van de meest populaire kenmerken van moderne DBMS'en de ingebouwde beveiligingsondersteuning, dat wil zeggen de mogelijkheid om de gebruiker toegang te geven tot het lezen en bewerken van gegevens in overeenstemming met vooraf gedefinieerde regels die zijn gedefinieerd binnen het raamwerk van de taak die wordt uitgevoerd. opgelost, evenals betrouwbare bescherming van tabellen waarin deze regels zijn opgeslagen. Methoden voor het implementeren van deze vereiste kunnen verschillend zijn: van gegevensversleuteling tot auditing en analyse van de resultaten ervan.

Volgens een aantal analytische rapporten zijn dit de meest gewaardeerde beveiligingsondersteuningstools voor Oracle DBMS, DB2 en PostgreSQL.

Schaalbaarheid

Een andere belangrijke vereiste voor een DBMS kan de schaalbaarheid ervan zijn, dat wil zeggen het vermogen om de functionaliteit en prestaties te behouden onder toenemende belasting en bijbehorende hardware-upgrades, zoals het uitbreiden van de hoeveelheid RAM, het vergroten van het aantal processors en hardwareservers. Naarmate bronnen worden toegevoegd, kan een schaalbaar DBMS deze herkennen en gebruiken, terwijl een niet-schaalbaar DBMS ze negeert en het toevoegen ervan niet bijdraagt ​​aan een toename van de prestaties of aan de mogelijkheid om meer gegevens op te slaan en te verwerken.

Schaalbaarheid en prestaties van een DBMS zijn met elkaar verbonden - zonder schaalbaarheid is de prestatiegroei beperkt, en op het moment dat het DBMS niet meer in staat is om te voldoen aan de groeiende behoeften van de taak die het vervult, zelfs met de toevoeging van extra middelen, wordt dit een serieus probleem.

Houd er rekening mee dat bepaalde beperkingen van deze soort (zoals de maximale hoeveelheid gegevens, het aantal records in de tabel, het aantal gebruikers) in meer of mindere mate inherent zijn aan alle DBMS'en en, wanneer ze ermee worden geconfronteerd, een afname van de prestaties , fouten, weigeringen om toegang te verlenen of verzoeken uit te voeren. Daarom is het vermogen om dergelijke beperkingen te overwinnen door de verbinding van nieuwe bronnen te ondersteunen belangrijk, zelfs door clusters van verschillende computers te creëren (deze functionaliteit wordt nu ondersteund door DB2 en Oracle DBMS).

Correcte transactieverwerking

Een andere belangrijke vereiste is de juiste verwerking van transacties: groepen opeenvolgende bewerkingen die logische eenheden zijn voor het werken met gegevens. De regels voor een correcte transactieverwerking werden voor het eerst beschreven door de auteur van het relationele datamodel, Edgar Codd, in de vorm van het acroniem ACID (Atomicity, Consistency, Isolation, Durability).

De eigenschap Atomicity betekent dat een transactie het kleinste, ondeelbare blok van het algoritme voor gegevenswijziging is. Met andere woorden: alle delen (suboperaties) van een transactie worden allemaal uitgevoerd of geen ervan wordt uitgevoerd. Als een transactie niet volledig kan worden voltooid, moeten de resultaten van alle tot nu toe uitgevoerde acties ongedaan worden gemaakt en keert het systeem terug naar de oorspronkelijke staat (deze actie wordt transactie terugdraaien genoemd).

De eigenschap Consistentie betekent dat een voltooide transactie de gegevens in een consistente staat achterlaat.

De eigenschap Isolatie betekent dat terwijl een transactie wordt uitgevoerd, andere processen de gegevens in de tussenliggende status niet mogen ‘zien’. Als een transactie bijvoorbeeld meerdere velden in een database tegelijk wijzigt, zou een andere zoekopdracht die wordt uitgevoerd terwijl de transactie wordt uitgevoerd, sommige van die velden niet met nieuwe waarden moeten retourneren en andere met hun oorspronkelijke waarden.

De eigenschap Duurzaamheid houdt in dat, ongeacht de aanwezigheid van technische storingen, wijzigingen die zijn aangebracht door een succesvol voltooide transactie bewaard blijven nadat het systeem weer in bedrijf is.

Volgens een aantal analytische rapporten beoordelen ontwikkelaars en beheerders de tools voor het correct verwerken van DBMS-transacties van Oracle en IBM het hoogst. Vanuit dit oogpunt wordt Microsoft SQL Server echter ook zeer hoog gewaardeerd.

Andere vereisten

Voor het ontwikkelen van databasestructuren en ontwerpquery's is het gebruikelijk om gespecialiseerde tools te gebruiken: tools voor gegevensmodellering. Dergelijke tools kunnen worden geproduceerd door zowel DBMS-fabrikanten als onafhankelijke leveranciers. Ondersteuning door DBMS-fabrikanten voor dergelijke tools, evenals de beschikbaarheid ervan in het softwareaanbod van de DBMS-fabrikant, wordt beschouwd als een belangrijke vereiste voor moderne databasebeheersystemen. De aanwezigheid in het enorme aanbod aan producten van Oracle, zoals de Oracle Designer-modelleringstool en de gratis JDeveloper-ontwikkeltool met modelleringstools, wordt bijvoorbeeld zeer gewaardeerd door ontwikkelaars van oplossingen gebaseerd op Oracle DBMS, evenals de beschikbaarheid van ondersteuning voor datamodellering. in Visio door ontwikkelaars van oplossingen gebaseerd op Microsoft SQL Server.

Veel moderne DBMS'en bevatten beheertools die bij het leveringspakket zijn inbegrepen. Daarnaast zijn er vaak DBMS-beheertools van externe fabrikanten, zoals Embarcadero en Quest Software, beschikbaar. Hoe populairder het DBMS en hoe flexibeler het beleid om met partners van de fabrikant samen te werken, des te meer tools voor het beheer van dit DBMS er doorgaans op de markt beschikbaar zijn. Vanuit dit oogpunt zijn Oracle en Microsoft de leiders; deze bedrijven leveren samen met hun DBMS'en goede beheertools, en er zijn meer dan genoeg beheertools voor deze DBMS'en van onafhankelijke fabrikanten op de markt. MySQL en PostgreSQL doen het ook redelijk goed met tools; omdat ze open source DBMS'en zijn, worden ze ondersteund door ontwikkelaarsgemeenschappen die beheertools produceren.

De eis voor XML-ondersteuning is recentelijk belangrijk geworden voor gebruikers van moderne DBMS'en en ontwikkelaars van daarop gebaseerde oplossingen, aangezien XML de de facto standaard is voor het genereren van documenten en het uitwisselen van gegevens tussen een grote verscheidenheid aan applicaties. De mogelijkheid om XML-documenten te lezen en te genereren is nu beschikbaar in de meeste moderne DBMS'en.

Cross-platform ondersteuning is belangrijk voor applicatieontwikkelaars die in heterogene omgevingen werken, en is vooral belangrijk voor grote bedrijven die doorgaans over een zeer diverse IT-infrastructuur beschikken. De meeste moderne DBMS'en ondersteunen meerdere platforms. De uitzondering is DBMS vervaardigd door Microsoft: de lijst met platforms die zij ondersteunen bevat alleen verschillende versies van Windows.

Alle moderne relationele DBMS'en ondersteunen de SQL-querytaal. Wat andere talen betreft, ze kunnen worden gebruikt om servercode te schrijven in DBMS geproduceerd door Microsoft, Oracle, maar ook in PostgreSQL DBMS.

Bedrijfs-DBMS van toonaangevende fabrikanten

Informix dynamische server

De eerste versie van het Informix relationele DBMS (INFORMation on unIX) werd uitgebracht in 1981. Moderne versies van dit DBMS (huidige naam is Informix Dynamic Server) kenmerken zich door een hoge transactieverwerkingssnelheid, grote betrouwbaarheid en administratiegemak.

Informix Dynamic Server wordt het meest gebruikt in grote ondernemingen, voornamelijk in grote winkelketens en telecommunicatiebedrijven - op basis van dit DBMS zijn verschillende zeer populaire factureringssystemen gecreëerd.

Informix Dynamic Server is momenteel eigendom van IBM. De nieuwste versie van dit DBMS beschikt over hoge prestaties, schaalbaarheid, beschikbaarheid, geavanceerde replicatieondersteuning, evenals ondersteuning voor clusters, taakverdeling, tools voor het verwerken van concurrerende transacties, tools voor gegevenstoegangscontrole op basis van beveiligingslabels (tot de waarden van individuele cellen), en XML-ondersteuningstools en het creëren van SOA-oplossingen. De databaseserver wordt geleverd met de IBM Data Studio-tool, die Informix 4GL-tools voor het maken van formulieren, Blade-serverondersteuningstools en objectgeoriënteerde tools voor het maken van clienttoepassingen omvat.

Toekomstplannen voor de ontwikkeling van Informix Dynamic Server omvatten het verbeteren van replicatieondersteuning, het verhogen van de productiviteit, het automatiseren van verschillende taken met betrekking tot databasebeheer en tools om de configuratie te vereenvoudigen.

IBM DB2

De eerste versie van DB2 werd in 1983 door IBM gemaakt voor MVS-mainframes en werd het eerste DBMS dat de SQL-taal ondersteunde, die was ontwikkeld door de auteur van het relationele datamodel E.F. Kabeljauw.

De huidige versie van DB2 is een object-relationeel DBMS en ondersteunt Linux-, UNIX- en Windows-besturingssystemen op verschillende hardwareplatforms, evenals verschillende IBM-besturingssystemen. Het ondersteunt datacompressie, probleemvoorspelling en XML-ondersteuning.

Ondanks het feit dat zowel Informix Dynamic Server als DB2 bedoeld zijn voor grote ondernemingen en eigendom zijn van hetzelfde bedrijf, IBM, kunnen ze goed naast elkaar bestaan ​​omdat ze zijn gemaakt om verschillende problemen op te lossen. Als Informix Dynamic Server in de eerste plaats bedoeld is voor het creëren van oplossingen die hoogwaardige transactieverwerking vereisen, dan zijn de belangrijkste taken die met behulp van DB2 worden opgelost het creëren en exploiteren van datawarehouses en het verwerken van complexe queries.

De beveiligingsfuncties van DB2 worden hoog gewaardeerd door de gebruikers, evenals de prestaties en schaalbaarheid.

Microsoft SQL-server

Het Microsoft SQL Server DBMS is ontstaan ​​als resultaat van een gezamenlijk project tussen Microsoft en Sybase in 1990. Een paar jaar later begonnen deze bedrijven hun eigen DBMS te ontwikkelen op basis van de gezamenlijk gemaakte code, en versie 7.0 van dit product werd gemaakt zonder de deelname van Sybase. Versies van dit DBMS bestaan ​​alleen voor besturingssystemen die door Microsoft zijn vervaardigd.

De belangrijkste kenmerken van de nieuwste versies van SQL Server zijn OLAP- en analytische gegevensverwerkingshulpmiddelen, georuimtelijke gegevensopslaghulpmiddelen, evenals eenvoudig te gebruiken beheerhulpmiddelen, replicatieorganisatie en clusterondersteuning.

De belangrijkste consumenten van Microsoft SQL Server zijn middelgrote en grote ondernemingen, hoewel edities van dit DBMS voor kleine bedrijven ook met succes worden gebruikt.

MySQL

De eerste versie van het MySQL DBMS werd in 1995 uitgebracht door ontwikkelaars die commerciële DBMS'en te duur vonden. Als open source DBMS is MySQL ongelooflijk populair geworden - het aantal downloads van de distributie bedraagt ​​maximaal 50.000 per dag. De MySQL-server kan vrij worden gebruikt. De uitzondering is wanneer dit DBMS deel uitmaakt van een commercieel product. MySQL moet dan een licentie hebben. Producttechnische ondersteuning wordt ook betaald.

MySQL wordt gebruikt in een groot aantal internetoplossingen, als ingebed databasebeheersysteem, in toepassingen voor telecommunicatiebedrijven en in verschillende andere zakelijke toepassingen.

De kenmerken van dit DBMS zijn betrouwbaarheid, hoge prestaties en gebruiksgemak. Dankzij de architectuur kunt u functies weggooien die niet nodig zijn om een ​​specifieke taak op te lossen, en daardoor de applicatieprestaties verhogen - uit enquêtestatistieken blijkt dat 80% van de gebruikers van dit DBMS slechts 30% van de mogelijkheden ervan gebruikt.

Nu is het MySQL DBMS eigendom van Sun Microsystems, dat er aanvullende diensten voor levert, waardoor het kan worden gebruikt op door Sun vervaardigde servers en in combinatie met Sun-softwareoplossingen.

Oracle Database 10g en 11g

De allereerste versie van het Oracle DBMS werd in 1979 gemaakt en werd destijds het enige commerciële DBMS waarmee ontwikkelaars van bedrijfsapplicaties konden stoppen met het maken van hun eigen oplossingen voor gegevensopslag en konden overstappen op universele oplossingen die op verschillende platforms werken. Halverwege de jaren 80 werd Oracle Corporation marktleider en bekleedt nog steeds een leidende positie.

De nieuwste versies van dit DBMS onderscheiden zich door hoge betrouwbaarheid, beschikbaarheid, beveiliging en prestaties, en handige beheertools. Dit DBMS is in de eerste plaats bedoeld voor grote ondernemingen, maar ook voor bedrijven waarvoor transactieverwerking en het bouwen van datawarehouses van cruciaal belang zijn, inclusief middelgrote en kleine bedrijven. We merken ook de actieve steun van Oracle op voor ontwikkelaars die .NET- en Java-technologieën gebruiken, evenals de beschikbaarheid van de Application Express-tool voor het maken van webapplicaties op basis van Oracle DBMS.

PostgreSQL

Het PostgreSQL DBMS kan, net als het Oracle DBMS, als een veteraan worden beschouwd: de eerste versies van het product, dat later werd wat nu bekend staat als PostgreSQL, verschenen in de jaren 80. Sinds 1996 is PostgreSQL een open source databasebeheersysteem.

Het belangrijkste doel van PostgreSQL is het uitvoeren van taken voor grote ondernemingen die een hoge mate van beveiliging en betrouwbaarheid vereisen. Dit DBMS wordt gebruikt door overheidsinstanties in veel landen, maar ook in die industrieën en gebieden waar verwerking van grote hoeveelheden gegevens en betrouwbare uitvoering van transacties vereist is (zoals genetisch onderzoek, geografische informatietechnologieën, toepassingen voor de financiële sector).

Het PostgreSQL DBMS bestaat uit een kernmodule en optionele modules die zijn gemaakt door een gemeenschap van ontwikkelaars en die een grote verscheidenheid aan functionaliteit bieden. Het gebruik van een groot aantal modules tegelijkertijd kan dit DBMS echter complex maken om te configureren, en bovendien zijn er onder dergelijke modules nog steeds geen tools voor gegevensanalyse. Er zijn echter plug-ins voor proceduretalen beschikbaar, waarmee u servercode kunt schrijven en extra functionaliteit aan het DBMS kunt toevoegen.

Van de open source DBMS'en is PostgreSQL het meest schaalbaar (het ondersteunt maximaal 32 processors, terwijl de schaalbaarheid van MySQL beperkt is tot 12). Op dit moment omvatten plannen voor de verdere ontwikkeling van dit DBMS het verhogen van de productiviteit, het verbeteren van clusterondersteuningstools en het herstellen van storingen.

Sybase Adaptieve Server Enterprise

Het DBMS van Sybase was oorspronkelijk het resultaat van een gezamenlijk project tussen Microsoft en Sybase dat in de jaren 80 begon. Vervolgens begonnen deze bedrijven met afzonderlijke projecten om dit gezamenlijke product verder te ontwikkelen, en halverwege de jaren negentig werd Sybase SQL Server omgedoopt tot Adaptive Server Enterprise.

Kenmerken van Adaptive Server Enterprise zijn betrouwbaarheid, optimale kosten en hoge prestaties. De afgelopen jaren heeft de ontwikkeling van dit product zich geconcentreerd op veiligheids- en productiviteitskenmerken. Het zijn de beveiliging, prestaties en schaalbaarheid die tegenwoordig het hoogst gewaardeerd worden door gebruikers en beheerders van dit DBMS.

Daarom hebben we gekeken naar de belangrijkste kenmerken van de meest populaire databasebeheersystemen. U kunt meer te weten komen over de release van hun nieuwe versies en de kenmerken van de nieuwste versies in onze nieuwsblokken, en de meest interessante innovaties in de wereld van DBMS zullen in afzonderlijke publicaties worden behandeld.

Laatste update: 24/06/2017

SQL Server is een van de populairste databasebeheersystemen (DBMS) ter wereld. Dit DBMS is geschikt voor een grote verscheidenheid aan projecten: van kleine applicaties tot grote, zwaarbelaste projecten.

SQL Server is gemaakt door Microsoft. De eerste versie werd uitgebracht in 1987. En de huidige versie is versie 16, die in 2016 uitkwam en in de huidige handleiding zal worden gebruikt.

SQL Server is lange tijd exclusief een databasebeheersysteem voor Windows geweest, maar vanaf versie 16 is het ook beschikbaar op Linux.

SQL Server wordt gekenmerkt door functies als:

    Prestatie. SQL Server is erg snel.

    Betrouwbaarheid en veiligheid. SQL Server biedt gegevensversleuteling.

    Eenvoud. Dit DBMS is relatief eenvoudig om mee te werken en te beheren.

Het centrale aspect in MS SQL Server, zoals in elk DBMS, is de database. Een database is een opslagplaats van gegevens die op een specifieke manier zijn georganiseerd. Vaak vertegenwoordigt de database fysiek een bestand op de harde schijf, hoewel deze correspondentie niet nodig is. Databasebeheersystemen of DBMS'en worden gebruikt voor het opslaan en beheren van databases. En alleen MS SQL Server is zo'n DBMS.

MS SQL Server gebruikt een relationeel model om databases te organiseren. Dit databasemodel werd in 1970 ontwikkeld door Edgar Codd. En tegenwoordig is het eigenlijk de standaard voor het organiseren van databases.

Het relationele model omvat het opslaan van gegevens in de vorm van tabellen, die elk uit rijen en kolommen bestaan. Elke rij bevat een afzonderlijk object en de kolommen bevatten de attributen van dat object.

Er wordt een primaire sleutel gebruikt om elke rij binnen een tabel te identificeren. De primaire sleutel kan uit een of meer kolommen bestaan. Met behulp van een primaire sleutel kunnen we naar een specifieke rij in een tabel verwijzen. Dienovereenkomstig kunnen twee rijen niet dezelfde primaire sleutel hebben.

Via sleutels kan de ene tabel aan de andere worden gekoppeld, dat wil zeggen dat relaties tussen twee tabellen kunnen worden georganiseerd. En de tabel zelf kan worden weergegeven als een relatie.

Voor interactie met de database wordt de taal SQL (Structured Query Language) gebruikt. De client (bijvoorbeeld een extern programma) verzendt een verzoek in SQL met behulp van een speciale API. Het DBMS interpreteert en voert het verzoek correct uit, en stuurt vervolgens het uitvoeringsresultaat naar de client.

SQL is oorspronkelijk door IBM ontwikkeld voor een databasesysteem genaamd System/R. Tegelijkertijd heette de taal zelf SEQUEL (Structured English Query Language). Hoewel noch de database, noch de taal zelf vervolgens officieel werden gepubliceerd, wordt de term SQL zelf traditioneel vaak uitgesproken als een ‘vervolg’.

In 1979 richtte Relational Software Inc. ontwikkelde het eerste databasebeheersysteem, Oracle genaamd, dat de SQL-taal gebruikte. Vanwege het succes van dit product werd het bedrijf omgedoopt tot Oracle.

Vervolgens verschenen er andere databasesystemen die SQL gebruikten. Als gevolg hiervan codificeerde het American National Standards Institute (ANSI) in 1989 de taal en publiceerde de eerste standaard. Hierna werd de standaard periodiek geactualiseerd en aangevuld. De laatste update vond plaats in 2011. Maar ondanks het bestaan ​​van een standaard gebruiken DBMS-fabrikanten vaak hun eigen implementaties van de SQL-taal, die enigszins van elkaar verschillen.

Er zijn twee varianten van de SQL-taal: PL-SQL en T-SQL. PL-SQL wordt gebruikt in DBMS'en zoals Oracle en MySQL. T-SQL (Transact-SQL) wordt gebruikt in SQL Server. Dit is in feite de reden waarom T-SQL in de huidige handleiding zal worden overwogen.

Afhankelijk van de taak die de T-SQL-opdracht uitvoert, kan dit een van de volgende typen zijn:

    DDL (Data Definition-taal). Dit type omvat verschillende opdrachten die een database, tabellen, indexen, opgeslagen procedures, enz. Maken. Over het algemeen worden gegevens bepaald.

    In het bijzonder kunnen we de volgende opdrachten als dit type classificeren:

    • CREATE : creëert databaseobjecten (de database zelf, tabellen, indexen, enz.)

      ALTER: wijzigt databaseobjecten

      DROP: Verwijdert databaseobjecten

      TRUNCATE: verwijdert alle gegevens uit tabellen

    DML (gegevensmanipulatietaal). Dit type bevat opdrachten voor het selecteren van gegevens, het bijwerken ervan, het toevoegen ervan en het verwijderen ervan - in het algemeen al die opdrachten waarmee we gegevens kunnen beheren.

    De volgende opdrachten behoren tot dit type:

    • SELECT: haalt gegevens op uit de database

      UPDATE: gegevens bijwerken

      INSERT: voegt nieuwe gegevens toe

      DELETE: verwijdert gegevens

    DCL (Data Control Language / Data Access Control-taal). Dit type bevat opdrachten die de toegangsrechten voor gegevens beheren. In het bijzonder zijn dit de volgende opdrachten:

    • GRANT: verleent toestemming voor toegang tot gegevens

      REVOKE: trekt de toegangsrechten tot gegevens in

Databasebeheersysteem (DBMS) is een algemene set van verschillende databasesoftwarecomponenten en databases zelf, die de volgende componenten bevat:

    databasetoepassingen;

    klantcomponenten;

    databaseservers;

    de databank zelf.

Database-applicatie is software voor speciale doeleinden die is ontwikkeld en geïmplementeerd door gebruikers of externe softwarebedrijven. In tegenstelling tot, componenten van de klant is databasesoftware voor algemeen gebruik, ontworpen en geïmplementeerd door een databasebedrijf. Met behulp van clientcomponenten hebben gebruikers toegang tot gegevens die zijn opgeslagen op een lokale of externe computer.

Database server voert de taak uit van het beheren van de gegevens die zijn opgeslagen in de database. Clients communiceren met de databaseserver door er verzoeken naar te sturen. De server verwerkt elk verzoek dat hij ontvangt en stuurt de resultaten naar de juiste client.

DBMS-mogelijkheden

In het algemeen kan een database vanuit twee perspectieven worden bekeken: de gebruiker en het databasesysteem. Gebruikers zien een database als een verzameling logisch gerelateerde gegevens, maar voor een databasesysteem is het eenvoudigweg een reeks bytes die doorgaans op schijf worden opgeslagen. Hoewel dit twee totaal verschillende visies zijn, hebben ze iets gemeen: een databasesysteem moet niet alleen een interface bieden waarmee gebruikers databases kunnen maken en gegevens kunnen ophalen of wijzigen, maar ook systeemcomponenten voor het beheren van de opgeslagen gegevens. Daarom moet het databasesysteem de volgende mogelijkheden bieden:

    verschillende gebruikersinterfaces;

    onafhankelijkheid van fysieke gegevens;

    logische gegevensonafhankelijkheid;

    zoekopdrachtoptimalisatie;

    data-integriteit;

    gelijktijdigheidscontrole;

    back-up en herstel;

    databasebeveiliging.

Al deze functies worden in de volgende paragrafen kort beschreven.

Verschillende gebruikersinterfaces

De meeste databases zijn ontworpen en geïmplementeerd voor gebruik door verschillende soorten gebruikers met verschillende kennisniveaus. Om deze reden moet het databasesysteem meerdere afzonderlijke gebruikersinterfaces bieden. De gebruikersinterface kan grafisch of tekstueel zijn.

Bij grafische interfaces vindt invoer plaats via het toetsenbord of de muis en wordt de uitvoer grafisch op de monitor geïmplementeerd. Een type tekstinterface dat vaak wordt gebruikt in databasesystemen is de opdrachtregelinterface, waarbij de gebruiker invoer geeft door opdrachten op het toetsenbord te typen, en het systeem de uitvoer in tekstformaat op de monitor weergeeft.

Onafhankelijkheid van fysieke gegevens

Fysieke data-onafhankelijkheid betekent dat databaseapplicaties onafhankelijk zijn van de fysieke structuur van de gegevens die in de database zijn opgeslagen. Met deze belangrijke functie kunt u opgeslagen gegevens wijzigen zonder dat u wijzigingen hoeft aan te brengen in uw databasetoepassingen.

Als gegevens bijvoorbeeld eerst op één criterium zijn geordend en die volgorde vervolgens op een ander criterium is gewijzigd, zou het wijzigen van de fysieke gegevens geen invloed moeten hebben op bestaande databasetoepassingen of het schema ervan (de beschrijving van de database die is gemaakt door de gegevensdefinitietaal van het databasesysteem).

Logische gegevensonafhankelijkheid

Bij het verwerken van bestanden met behulp van traditionele programmeertalen worden de bestanden gedeclareerd door de toepassingsprogramma's, dus voor wijzigingen in de structuur van het bestand moeten doorgaans overeenkomstige wijzigingen worden aangebracht in alle programma's die er gebruik van maken.

Databasesystemen bieden logische bestandsonafhankelijkheid, dat wil zeggen dat de logische structuur van de database kan worden gewijzigd zonder dat er wijzigingen aan de databaseapplicaties nodig zijn. Als u bijvoorbeeld een attribuut toevoegt aan een objectstructuur die al bestaat in een databasesysteem met de naam Persoon (bijvoorbeeld een adres), wordt alleen de logische structuur van de database gewijzigd, en niet de bestaande applicatieprogramma's. (Toepassingen moeten echter worden aangepast om de nieuwe kolom te kunnen gebruiken.)

Zoekopdrachtoptimalisatie

De meeste databasesystemen bevatten een subcomponent genaamd optimalisatie, dat verschillende mogelijke strategieën voor het uitvoeren van een gegevensverzoek overweegt en de meest effectieve selecteert. De gekozen strategie wordt aangeroepen uitvoeringsplan voor query's. De optimalisatie neemt zijn beslissing door rekening te houden met factoren zoals de grootte van de tabellen die worden opgevraagd, bestaande indexen en de logische operatoren (AND, OR of NOT) die in de WHERE-clausule worden gebruikt.

Data-integriteit

Een van de uitdagingen waarmee een databasesysteem wordt geconfronteerd, is het identificeren van logisch inconsistente gegevens en het voorkomen dat deze in de database worden geplaatst. (Een voorbeeld van dergelijke gegevens is de datum "30 februari" of de tijd "5:77:00".) Bovendien zijn er voor de meeste problemen in de echte wereld die worden geïmplementeerd met behulp van databasesystemen integriteitsbeperkingen, die op de gegevens moet worden uitgevoerd. (Een voorbeeld van een integriteitsbeperking zou zijn dat het personeelsnummer van een werknemer een geheel getal van vijf cijfers moet zijn.)

Het waarborgen van de gegevensintegriteit kan door de gebruiker in het applicatieprogramma of door het databasebeheersysteem worden gedaan. Voor zover mogelijk moet deze taak worden uitgevoerd via het DBMS.

Gelijktijdigheidscontrole

Het databasesysteem is een softwaresysteem voor meerdere gebruikers, wat betekent dat meerdere gebruikersapplicaties tegelijkertijd toegang hebben tot de database. Daarom moet elk databasesysteem een ​​bepaald mechanisme hebben om pogingen om gegevens door meerdere applicaties tegelijk te wijzigen te beheren. Het volgende is een voorbeeld van een probleem dat kan optreden als het databasesysteem niet is uitgerust met een dergelijk controlemechanisme:

    Er staat $ 1.500 op algemene bankrekening #3811 bij Bank X.

    De eigenaren van deze rekening, mevrouw A en de heer B, gaan naar verschillende bankfilialen en nemen tegelijkertijd elk $ 750 van de rekening op.

    Het bedrag dat na deze transacties op rekening nr. 3811 overblijft, mag € 0 zijn, en in geen geval € 750.

Alle databasesystemen moeten over de noodzakelijke mechanismen beschikken om dergelijke situaties aan te kunnen en tegelijkertijd gelijktijdigheidscontrole te bieden.

Backup en herstellen

Het databasesysteem moet zijn uitgerust met een subsysteem voor het herstellen van fouten in software en hardware. Als het proces van het bijwerken van 100 rijen van een databasetabel bijvoorbeeld mislukt, moet de herstelengine alle voltooide updates terugdraaien om de consistentie van de gegevens te garanderen.

Databasebeveiliging

De belangrijkste concepten in databasebeveiliging zijn authenticatie en autorisatie. Authenticatie is het proces waarbij de authenticiteit van de inloggegevens van een gebruiker wordt geverifieerd om te voorkomen dat ongeautoriseerde gebruikers het systeem gebruiken. Authenticatie wordt meestal geïmplementeerd door van de gebruiker te eisen dat hij zijn gebruikersnaam en wachtwoord invoert. Het systeem controleert de geldigheid van deze informatie om te beslissen of een bepaalde gebruiker geautoriseerd is om in te loggen of niet. Dit proces kan worden verbeterd door het gebruik van encryptie.

Autorisatie is een proces dat wordt toegepast op gebruikers die al toegang hebben gehad tot een systeem om hun rechten op het gebruik van bepaalde bronnen te bepalen. Alleen beheerders hebben bijvoorbeeld toegang tot informatie over de databasestructuur en de systeemmap van een bepaalde entiteit.

Relationele databasesystemen

Database-enginecomponent Microsoft SQL Server is een relationeel databasesysteem. Het concept van relationele databasesystemen werd voor het eerst geïntroduceerd in 1970 door Edgar F. Codd in het artikel "A Relational Model of Data for Large Shared Data Banks." In tegenstelling tot eerdere databasesystemen (genetwerkt en hiërarchisch) zijn relationele databasesystemen gebaseerd op een relationeel datamodel, dat een krachtige wiskundige theorie kent.

Gegevensmodel is een reeks concepten, de relaties daartussen en hun beperkingen, die worden gebruikt om gegevens in een reëel probleem weer te geven. Het centrale concept van het relationele datamodel is de tabel. Vanuit het oogpunt van de gebruiker bevat een relationele database daarom alleen maar tabellen en niets anders. Tabellen bestaan ​​uit kolommen (een of meer) en rijen (geen of meer). Elke rij- en kolomkruising van een tabel bevat altijd precies één gegevenswaarde.

Werken met de demodatabase in volgende artikelen

De SampleDb-database die in onze artikelen wordt gebruikt, vertegenwoordigt een bepaald bedrijf dat bestaat uit afdelingen en medewerkers. Elke medewerker behoort tot slechts één afdeling, en een afdeling kan één of meerdere medewerkers bevatten. Medewerkers werken aan projecten: iedere medewerker is op ieder moment tegelijk bezig met één of meerdere projecten, en aan ieder project kunnen één of meerdere medewerkers werken.

Deze informatie wordt gepresenteerd in de SampleDb-database (in de broncode) via vier tabellen:

Afdelingsmedewerker Project Works_on

De indeling van deze tabellen wordt weergegeven in de onderstaande figuren. De afdelingstabel vertegenwoordigt alle afdelingen in een bedrijf. Elke afdeling heeft de volgende attributen (kolommen):

Afdeling (nummer, afdelingsnaam, locatie)

Het kenmerk Nummer vertegenwoordigt het unieke nummer van elke afdeling, het kenmerk Afdelingnaam vertegenwoordigt de naam ervan en het kenmerk Locatie vertegenwoordigt de locatie. De tabel Werknemer vertegenwoordigt alle werknemers die in een bedrijf werken. Elke medewerker heeft de volgende kenmerken (kolommen):

Medewerker (ID, Voornaam, Achternaam, Afdelingsnummer)

Het Id-attribuut vertegenwoordigt het unieke personeelsnummer van elke werknemer, de FirstName- en LastName-attributen vertegenwoordigen respectievelijk de voor- en achternaam van de werknemer, en het DepartmentNumber-attribuut vertegenwoordigt het afdelingsnummer waar de werknemer werkt.

Alle bedrijfsprojecten worden weergegeven in de Projecttabel, bestaande uit de volgende kolommen (attributen):

Project(Projectnummer, Projectnaam, Budget)

De kolom ProjectNumber geeft het unieke projectnummer aan, en de kolommen ProjectName en Budget geven respectievelijk de naam en het budget van het project aan.

De tabel Works_on geeft de relatie tussen medewerkers en projecten weer:

Works_on (EmpId, ProjectNumber, Taak, EnterDate)

In de kolom EmpId staat het personeelsnummer van de medewerker, in de kolom ProjectNumber staat het nummer van het project waaraan hij deelneemt. De combinatie van de waarden van deze twee kolommen is altijd uniek. De kolommen Job en EnterDate geven respectievelijk de positie en aanvang van het werk van de medewerker in dit project aan.

Met de SampleDb-database als voorbeeld kunnen we enkele basiseigenschappen van relationele databasesystemen beschrijven:

    De tabelrijen zijn niet in een bepaalde volgorde georganiseerd.

    De tabelkolommen zijn ook niet in een bepaalde volgorde georganiseerd.

    Elke tabelkolom moet in een bepaalde tabel een unieke naam hebben. Maar verschillende tabellen kunnen kolommen met dezelfde naam bevatten. De tabel Afdeling bevat bijvoorbeeld een kolom Nummer en de tabel Project heeft een kolom met dezelfde naam.

    Elk tabelgegevenselement moet één waarde bevatten. Dit betekent dat elke cel op het snijpunt van tabelrijen en -kolommen nooit een reeks waarden bevat.

    Elke tabel bevat minimaal één kolom waarvan de waarden de eigenschap specificeren dat geen twee rijen dezelfde combinatie van waarden bevatten voor alle kolommen in de tabel. In het relationele datamodel wordt zo’n kolom genoemd kandidaat sleutel. Als een tabel meerdere kandidaatsleutels bevat, specificeert de ontwikkelaar een van deze als hoofdsleutel van deze tafel. De primaire sleutel van de Afdelingstabel is bijvoorbeeld de kolom Nummer, en de primaire sleutel van de Werknemerstabellen is Id. Ten slotte zal de primaire sleutel van de tabel Works_on een combinatie zijn van de kolommen EmpId en ProjectNumber.

    Een tabel bevat nooit identieke rijen. Maar deze eigenschap bestaat alleen in theorie, omdat De Database Engine en alle andere relationele databasesystemen maken het mogelijk dat dezelfde rijen in een tabel voorkomen.

SQL - relationele databasetaal

De relationele databasetaal in SQL Server wordt aangeroepen Transact-SQL. Het is een variant van de belangrijkste databasetaal van vandaag: SQL-taal (gestructureerde querytaal). De oorsprong van de SQL-taal hangt nauw samen met een project genaamd System R, ontwikkeld en geïmplementeerd door IBM begin jaren 80 van de vorige eeuw. Via dit project werd aangetoond dat het, gebruikmakend van de theoretische grondslagen van het werk van Edgar F. Codd, mogelijk was een relationeel databasesysteem te creëren.

In tegenstelling tot traditionele programmeertalen als C#, C++ en Java is SQL dat wel set-georiënteerd. Taalontwikkelaars noemen het ook wel recordgericht. Dit betekent dat u in SQL gegevens uit meerdere rijen van een of meer tabellen kunt opvragen met slechts één instructie. Dit is een van de belangrijkste voordelen van de SQL-taal, waardoor je deze taal op een logisch hoger niveau kunt gebruiken dan traditionele programmeertalen.

Een andere belangrijke eigenschap van de SQL-taal is het niet-procedurele karakter ervan. Elk programma geschreven in een procedurele taal (C#, C++, Java) beschrijft stap voor stap hoe een specifieke taak moet worden uitgevoerd. SQL daarentegen beschrijft, net als elke andere niet-procedurele taal, wat de gebruiker wil. Het is dus de verantwoordelijkheid van het systeem om een ​​geschikte manier te vinden om aan het verzoek van de gebruiker te voldoen.

De SQL-taal bevat twee subtalen: taal voor gegevensbeschrijving DDL (Data Definition Language) En gegevensverwerkingstaal DML (Data Manipulation Language). DDL-instructies worden ook gebruikt om databasetabelschema's te beschrijven. DDL bevat drie algemene SQL-instructies: CREATE, ALTER en DROP. Deze instructies worden gebruikt om databaseobjecten zoals databases, tabellen, kolommen en indexen respectievelijk aan te maken, te wijzigen en te verwijderen.

In tegenstelling tot DDL dekt DML alle gegevensmanipulatiebewerkingen. Om databases te manipuleren worden altijd vier algemene bewerkingen gebruikt: gegevens extraheren, invoegen, verwijderen en wijzigen (SELECT, INSERT, DELETE, UPDATE).