Wat is een relationele database?

Een database is een applicatie die gegevens zeer snel kan opslaan en ophalen. Het relationele bit verwijst naar hoe de gegevens worden opgeslagen in de database en hoe deze zijn georganiseerd. Als we het over een database hebben, bedoelen we een relationele database, in feite een RDBMS: Relational Database Management System.

In een relationele database worden alle gegevens opgeslagen in tabellen. Deze hebben dezelfde structuur herhaald in elke rij (zoals een spreadsheet) en het zijn de relaties tussen de tabellen die het een "relationele" tabel maken.

Voordat relationele databases werden uitgevonden (in de jaren 1970), werden andere typen databases zoals hiërarchische databases gebruikt. Relationele databases zijn echter zeer succesvol geweest voor bedrijven als Oracle, IBM en Microsoft. De open source wereld heeft ook RDBMS.

Commerciële databases

  • Orakel
  • IBM DB 2
  • Microsoft SQL Server
  • Ingres. De eerste commerciële RDBMS.

Gratis / Open Source Databases

  • MySQL
  • PostgresSQL
  • SQLite

Strikt genomen zijn dit geen relationele databases maar RDBMS. Ze bieden beveiliging, codering, gebruikerstoegang en kunnen SQL-query's verwerken.

Wie was Ted Codd?

Codd was een computerwetenschapper die in 1970 de normalisatiewetten bedacht. Dit was een wiskundige manier om de eigenschappen van een relationele database te beschrijven met behulp van tabellen. Hij bedacht 12 wetten die beschrijven wat een relationele database en een RDBMS doet en verschillende normalisatiewetten die de eigenschappen van relationele gegevens beschrijven. Alleen gegevens die waren genormaliseerd, konden als relationeel worden beschouwd.

Wat is normalisatie??

Overweeg een spreadsheet met klantrecords die in een relationele database moet worden geplaatst. Sommige klanten hebben dezelfde informatie, bijvoorbeeld verschillende vestigingen van hetzelfde bedrijf met hetzelfde factuuradres. In een spreadsheet bevindt dit adres zich op meerdere rijen.

Bij het omzetten van de spreadsheet in een tabel, moeten alle tekstadressen van de klant in een andere tabel worden geplaatst en elk een unieke ID toegewezen krijgen, zeg de waarden 0,1,2. Deze waarden worden opgeslagen in de hoofdclienttabel, zodat alle rijen de ID gebruiken, niet de tekst. Een SQL-instructie kan de tekst voor een bepaald ID extraheren.

Wat is een tafel?

Zie het als een rechthoekig werkblad bestaande uit rijen en kolommen. Elke kolom geeft het type gegevens aan dat is opgeslagen (getallen, tekenreeksen of binaire gegevens - zoals afbeeldingen).

In tegenstelling tot een spreadsheet waarbij de gebruiker de vrijheid heeft om verschillende gegevens op elke rij te hebben, kan in een databasetabel elke rij alleen de gegevenstypen bevatten die zijn opgegeven.

In C en C ++ is dit als een array van structs, waarbij één struct de gegevens voor één rij bevat.

  • Zie Een database normaliseren in het gedeelte Databaseontwerp van databases.about.com voor meer informatie.

Wat zijn de verschillende manieren om gegevens in een database op te slaan?

Er zijn twee manieren:

  • Via een databaseserver.
  • Via een databasebestand.

Het gebruik van een databasebestand is de oudere methode, meer geschikt voor desktopapplicaties. BIJVOORBEELD Microsoft Access, hoewel dat wordt afgebouwd ten gunste van Microsoft SQL Server. SQLite is een uitstekende openbare domeindatabase geschreven in C die gegevens in één bestand bevat. Er zijn wrappers voor C, C ++, C # en andere talen.

Een databaseserver is een servertoepassing die lokaal of op een netwerk-pc wordt uitgevoerd. De meeste grote databases zijn servergebaseerd. Deze nemen meer administratie in beslag, maar zijn meestal sneller en robuuster.

Hoe communiceert een toepassing met databaseservers?

Over het algemeen vereisen deze de volgende details.

  • IP- of domeinnaam van de server. Als het op dezelfde pc staat als u, gebruikt u 127.0.0.1 of localhost zoals de dns-naam.
  • Server poort Voor MySQL is dit meestal 3306, 1433 voor Microsoft SQL Server.
  • Gebruikersnaam en wachtwoord
  • Naam van de database

Er zijn veel clienttoepassingen die met een databaseserver kunnen praten. Microsoft SQL Server heeft Enterprise Manager om databases te maken, beveiliging in te stellen, onderhoudstaken uit te voeren, query's uit te voeren en natuurlijk databasetabellen te ontwerpen en te wijzigen.

Wat is SQL ?:

SQL staat voor Structured Query Language en is een eenvoudige taal die instructies biedt voor het bouwen en wijzigen van de structuur van databases en voor het wijzigen van de gegevens die in de tabellen zijn opgeslagen. De belangrijkste opdrachten die worden gebruikt om gegevens te wijzigen en op te halen zijn:

  • kiezen - Haalt gegevens op.
  • invoegen - Voegt een of meer rijen met gegevens in.
  • Bijwerken - Wijzigt bestaande rij (en) met gegevens
  • Delete - Hiermee verwijdert u rijen met gegevens.

Er zijn verschillende ANSI / ISO-normen, zoals ANSI 92, een van de meest populaire. Dit definieert een minimale subset van ondersteunde instructies. De meeste compilerleveranciers ondersteunen deze normen.

Conclusie

Elke niet-triviale toepassing kan een database gebruiken en een op SQL gebaseerde database is een goede plek om te beginnen. Nadat u de configuratie en het beheer van de database onder de knie hebt, moet u SQL leren om deze goed te laten werken.

De snelheid waarmee een database gegevens kan ophalen, is verbazingwekkend en moderne RDBMS zijn complexe en zeer geoptimaliseerde applicaties.

Open source-databases zoals MySQL naderen snel de kracht en bruikbaarheid van de commerciële rivalen en sturen veel databases op websites aan.

Verbinding maken met een database in Windows met behulp van ADO

Programmatisch zijn er verschillende API's die toegang bieden tot databaseservers. Onder Windows zijn dit ODBC en Microsoft ADO. [h3 [ADO gebruiken Zolang er een providersoftware is die een database met ADO koppelt, is de database toegankelijk. Windows uit 2000 heeft dit ingebouwd.

Probeer het volgende. Het zou moeten werken op Windows XP en op Windows 2000 als je ooit MDAC hebt geïnstalleerd. Als je dit niet hebt gedaan en dit wilt proberen, ga dan naar Microsoft.com, zoek op "MDAC-download" en download elke versie, 2.6 of hoger.

Maak een leeg bestand met de naam test.udl. Klik met de rechtermuisknop in Windows Verkenner op het bestand en doe "openen met", u zou het moeten zien Microsoft Data Access - OLE DB Core Services ". Met dit dialoogvenster kunt u verbinding maken met elke database met een geïnstalleerde provider, zelfs Excel-spreadsheets!

Selecteer het eerste tabblad (Provider) zoals standaard geopend op het tabblad Verbinding. Selecteer een provider en klik op Volgende. De naam van de gegevensbron toont de verschillende soorten beschikbare apparaten. Nadat u uw gebruikersnaam en wachtwoord hebt ingevuld, klikt u op de knop "Verbinding testen". Nadat u op de knop OK hebt gedrukt, kunt u test.udl openen met een bestand met Wordpad. Het zou tekst als deze moeten bevatten.

 [Oledb]
; Alles na deze regel is een OLE DB-initstring
Provider = SQLOLEDB.1; Persist Security Info = False; User ID = sa; Initial Catalog = dhbtest; Data Source = 127.0.0.1

De derde regel is de belangrijkste, deze bevat de configuratiegegevens. Als uw database een wachtwoord heeft, wordt dit hier getoond, dus dit is geen veilige methode! Deze tekenreeks kan worden ingebouwd in toepassingen die ADO gebruiken en deze verbinding laten maken met de opgegeven database.

ODBC gebruiken

ODBC (Open Database Connectivity) biedt een API-gebaseerde interface voor databases. Er zijn ODBC-stuurprogramma's beschikbaar voor zowat elke bestaande database. ODBC biedt echter nog een communicatielaag tussen een toepassing en de database en dit kan tot prestatieverlies leiden.