En databas är en applikation som kan lagra och hämta data mycket snabbt. Relationsbiten hänvisar till hur data lagras i databasen och hur de är organiserade. När vi talar om en databas menar vi en relationsdatabas, faktiskt ett RDBMS: Relational Database Management System.
I en relationsdatabas lagras all data i tabeller. Dessa har samma struktur som upprepas i varje rad (som ett kalkylblad) och det är relationerna mellan tabellerna som gör det till en "relationell" tabell.
Innan relationella databaser uppfanns (på 1970-talet) användes andra typer av databaser, såsom hierarkiska databaser. Men relationsdatabaser har varit mycket framgångsrika för företag som Oracle, IBM och Microsoft. Open source-världen har också RDBMS.
Kommersiella databaser
- Orakel
- IBM DB 2
- Microsoft SQL Server
- Ingres. Den första kommersiella RDBMS.
Gratis / öppen källkodsdatabaser
- MySQL
- PostgresSQL
- SQLite
Strengt taget är detta inte relationsdatabaser utan RDBMS. De ger säkerhet, kryptering, användaråtkomst och kan behandla SQL-frågor.
Vem var Ted Codd?
Codd var en datavetare som utarbetade normaliseringslagarna 1970. Detta var ett matematiskt sätt att beskriva egenskaperna hos en relationsdatabas med hjälp av tabeller. Han kom med 12 lagar som beskriver vad en relationsdatabas och en RDBMS gör och flera normaliseringslagar som beskriver egenskaperna hos relationsdata. Endast data som hade normaliserats kan betraktas som relationella.
Vad är normalisering?
Tänk på ett kalkylblad med klientposter som ska läggas in i en relationsdatabas. Vissa kunder har samma information, säger olika filialer av samma företag med samma faktureringsadress. I ett kalkylblad finns den här adressen på flera rader.
När kalkylbladet förvandlas till en tabell måste alla klientens textadresser flyttas till en annan tabell och var och en tilldelas en unikt ID- säg värdena 0,1,2. Dessa värden lagras i huvudklienttabellen så att alla rader använder ID, inte texten. Ett SQL-uttalande kan extrahera texten för ett givet ID.
Vad är en tabell?
Tänk på det som att det är som ett rektangulärt kalkylblad som består av rader och kolumner. Varje kolumn anger typ av data lagras (nummer, strängar eller binär data - t.ex. bilder).
Till skillnad från ett kalkylblad där användaren står fritt att ha olika data på varje rad, i en databastabell, kan varje rad endast innehålla de typer av data som anges.
I C och C ++ är detta som en array av structs, där en struktur innehåller data för en rad.
- Mer information finns i Normalisering av en databas i databasdesigndelen av databases.about.com.
Vilka är de olika sätten att lagra data i en databas?
Det finns två sätt:
- Via en databasserver.
- Via en databasfil.
Att använda en databasfil är den äldre metoden, mer lämpad för stationära applikationer. T.EX. Microsoft Access, även om detta fasas ut till förmån för Microsoft SQL Server. SQLite är en utmärkt public domain-databas skriven i C som innehåller data i en fil. Det finns omslag för C, C ++, C # och andra språk.
En databas server är en serverapplikation som körs lokalt eller på en nätverksdator. De flesta av de stora databaserna är serverbaserade. Dessa tar mer administration men är vanligtvis snabbare och mer robusta.
Hur kommunicerar en applikation med databaseservrar?
I allmänhet kräver dessa följande detaljer.
- IP- eller domännamn på servern. Om det är samma dator som du använder 127.0.0.1 eller lokal värd som dns-namnet.
- Server Port För MySQL är detta vanligtvis 3306, 1433 för Microsoft SQL Server.
- Användarnamn och lösenord
- Databasens namn
Det finns många klientapplikationer som kan prata med en databaseserver. Microsoft SQL Server har Enterprise Manager för att skapa databaser, ställa in säkerhet, köra underhållsjobb, frågor och naturligtvis designa och ändra databastabeller.
Vad är SQL?:
SQL är en förkortning för Structured Query Language och är ett enkelt språk som innehåller instruktioner för att bygga och ändra databasstrukturen och för att ändra data lagrade i tabellerna. De viktigaste kommandona som används för att ändra och hämta data är:
- Välj - Hämtar data.
- Föra in - Infogar en eller flera rader med data.
- Uppdatering - Ändrar befintliga datarader
- Radera - Raderar rader med data.
Det finns flera ANSI / ISO-standarder som ANSI 92, en av de mest populära. Detta definierar en minsta delmängd av stödsamtal. De flesta kompilatorförsäljare stöder dessa standarder.
Slutsats
Varje icke-privat applikation kan använda en databas och en SQL-baserad databas är ett bra ställe att börja. När du har behärskat konfigurationen och administreringen av databasen måste du lära dig SQL för att den ska fungera bra.
Den hastighet med vilken en databas kan hämta data är häpnadsväckande och moderna RDBMS är komplexa och mycket optimerade applikationer.
Open source-databaser som MySQL närmar sig snabbt kraften och användbarheten hos de kommersiella rivalerna och driver många databaser på webbplatser.
Hur man ansluter till en databas i Windows med ADO
Programmatiskt finns det olika API: er som ger åtkomst till databasservrar. Under Windows inkluderar dessa ODBC och Microsoft ADO. [h3 [Använda ADO Så länge det finns en leverantörsprogramvara som gränssnittar en databas till ADO, kan databasen nås. Windows från 2000 har detta inbyggt.
Prova följande. Det bör fungera på Windows XP och på Windows 2000 om du någonsin installerat MDAC. Om du inte har och vill prova detta, besök Microsoft.com, leta efter "MDAC-nedladdning" och ladda ner någon version, 2.6 eller högre.
Skapa en tom fil som heter test.udl. Högerklicka i Windows Explorer på filen och "öppna med", borde du se Microsoft Data Access - OLE DB Core Services ". Den här dialogrutan låter dig ansluta till vilken databas som helst med en installerad leverantör, även Excel-kalkylark!
Välj den första fliken (leverantör) som öppnas som standard på fliken Anslutning. Välj en leverantör och klicka sedan på Nästa. Datakällans namn visar de olika typerna av tillgängliga enheter. När du har fyllt i användarnamn och lösenord klickar du på knappen "Testanslutning". När du har tryckt på ok-knappen kan du öppna test.udl med fil med Wordpad. Den bör innehålla text som den här.
[OLEDB]
; Allt efter den här raden är en OLE DB-insträng
Leverantör = SQLOLEDB.1; Persist Security Info = False; Användar-ID = sa; Inledande katalog = dhbtest; Datakälla = 127.0.0.1
Den tredje raden är den viktiga, den innehåller konfigurationsdetaljer. Om din databas har ett lösenord kommer det att visas här, så detta är inte en säker metod! Den här strängen kan byggas in i applikationer som använder ADO och låter dem ansluta till den angivna databasen.
Med hjälp av ODBC
ODBC (Open Database Connectivity) tillhandahåller ett API-baserat gränssnitt till databaser. Det finns ODBC-drivrutiner tillgängliga för nästan varje databas som finns. ODBC tillhandahåller emellertid ytterligare ett lager av kommunikation mellan en applikation och databasen, och det kan orsaka prestationsstraff.