Relationsdatabaser, normalisering og SQL

En database er et program, der kan gemme og hente data meget hurtigt. Den relationelle bit refererer til, hvordan dataene gemmes i databasen, og hvordan de er organiseret. Når vi taler om en database, mener vi en relationel database, faktisk et RDBMS: Relational Database Management System.

I en relationsdatabase gemmes alle data i tabeller. Disse har den samme struktur gentaget i hver række (som et regneark), og det er forholdet mellem tabellerne, der gør det til en "relationel" tabel.

Inden relationelle databaser blev opfundet (i 1970'erne) blev der anvendt andre typer databaser, såsom hierarkiske databaser. Relationsdatabaser har imidlertid været meget succesrige for virksomheder som Oracle, IBM og Microsoft. Open source-verdenen har også RDBMS.

Kommercielle databaser

  • Oracle
  • IBM DB 2
  • Microsoft SQL Server
  • Ingres. Den første kommercielle RDBMS.

Gratis / open source-databaser

  • MySQL
  • PostgresSQL
  • SQLite

Dette er strengt taget ikke relationelle databaser, men RDBMS. De giver sikkerhed, kryptering, brugeradgang og kan behandle SQL-forespørgsler.

instagram viewer

Hvem blev Ted Codd?

Codd var en computervidenskabsmand, der udtænkte normaliseringslovene i 1970. Dette var en matematisk måde at beskrive egenskaberne ved en relationel database ved hjælp af tabeller. Han kom med 12 love, der beskriver, hvad en relationel database og en RDBMS gør, og flere normaliseringslove, der beskriver egenskaberne ved relationelle data. Kun data, der var blevet normaliseret, kunne betragtes som relationelle.

Hvad er normalisering?

Overvej et regneark med klientposter, der skal sættes i en relationel database. Nogle kunder har de samme oplysninger, siger forskellige filialer af det samme firma med den samme faktureringsadresse. I et regneark er denne adresse i flere rækker.

Når du omdanner regnearket til en tabel, skal alle klientens tekstadresser flyttes til en anden tabel og hver tildeles en unikt ID- siger værdierne 0,1,2. Disse værdier gemmes i hovedklienttabellen, så alle rækker bruger ID, ikke teksten. En SQL-sætning kan udtrække teksten til et givet ID.

Hvad er et bord?

Tænk på det som at være som et rektangulært regneark, der består af rækker og kolonner. Hver kolonne specificerer type data gemt (numre, strenge eller binære data - f.eks. billeder).

I modsætning til et regneark, hvor brugeren frit kan have forskellige data på hver række, i en databasetabel, kan hver række kun indeholde de typer data, der blev specificeret.

I C og C ++ er dette som en matrix af structs, hvor en struktur indeholder dataene i en række.

  • Se Normalisering af en database i databasedesigndelen af ​​databases.about.com for mere information.

Hvad er de forskellige måder at gemme data i en database?

Der er to måder:

  • Via en databaseserver.
  • Via en databasefil.

Brug af en databasefil er den ældre metode, mere velegnet til desktop-applikationer. F.EKS. Microsoft Access, skønt dette udfases til fordel for Microsoft SQL Server. SQLite er en fremragende public domain-database skrevet i C, der indeholder data i en fil. Der er indpakninger til C, C ++, C # og andre sprog.

En database server er en serverapplikation, der kører lokalt eller på en netværks-pc. De fleste af de store databaser er serverbaseret. Disse tager mere administration, men er normalt hurtigere og mere robuste.

Hvordan kommunikerer en applikation med databaseservere?

Generelt kræver disse følgende detaljer.

  • IP- eller domænenavn på serveren. Hvis det er på den samme pc som dig, skal du bruge 127.0.0.1 eller localhost som dns-navnet.
  • Serverport For MySQL er dette normalt 3306, 1433 for Microsoft SQL Server.
  • Brugernavn og adgangskode
  • Navn på databasen

Der er mange klientprogrammer, der kan tale med en databaseserver. Microsoft SQL Server har Enterprise Manager til at oprette databaser, indstille sikkerhed, køre vedligeholdelsesjob, forespørgsler og selvfølgelig designe og ændre databasetabeller.

Hvad er SQL?:

SQL er en forkortelse for struktureret forespørgsel og er et simpelt sprog, der indeholder instruktioner til opbygning og ændring af strukturen i databaser og til at ændre de data, der er gemt i tabellerne. De vigtigste kommandoer, der bruges til at ændre og hente data er:

  • Vælg - Henter data.
  • Indsæt - Indsætter en eller flere rækker med data.
  • Opdatering - Ændrer eksisterende rækker med data
  • Slet - Sletter rækker af data.

Der er flere ANSI / ISO-standarder, såsom ANSI 92, en af ​​de mest populære. Dette definerer et minimumssæt af understøttede udsagn. De fleste compiler-leverandører understøtter disse standarder.

Konklusion

Enhver ikke-privat applikation kan bruge en database, og en SQL-baseret database er et godt sted at starte. Når du har mestret konfigurationen og administrationen af ​​databasen, skal du lære SQL for at få den til at fungere godt.

Den hastighed, hvormed en database kan hente data er forbløffende, og moderne RDBMS er komplekse og meget optimerede applikationer.

Open source-databaser som MySQL nærmer sig hurtigt de kommercielle rivalers magt og anvendelighed og driver mange databaser på websteder.

Sådan opretter du forbindelse til en database i Windows ved hjælp af ADO

Programmatisk er der forskellige API'er, der giver adgang til databaseservere. Under Windows inkluderer disse ODBC og Microsoft ADO. [h3 [Brug af ADO Så længe der er en udbydersoftware, der grænseflader en database til ADO, kan man få adgang til databasen. Windows fra 2000 har dette indbygget.

Prøv følgende. Det skal fungere på Windows XP og Windows 2000, hvis du nogensinde har installeret MDAC. Hvis du ikke har og vil prøve dette, kan du besøge Microsoft.com, foretage en søgning efter "MDAC Download" og downloade enhver version, 2.6 eller nyere.

Opret en tom fil kaldet test.udl. Højreklik i Windows Stifinder på filen og gør "åben med", skal du se Microsoft Data Access - OLE DB Core Services ". Denne dialog giver dig mulighed for at oprette forbindelse til enhver database med en installeret udbyder, endda excel regneark!

Vælg den første fane (udbyder) som åbnes som standard på fanen Forbindelse. Vælg en udbyder, og klik derefter på Næste. Datakildens navn viser de forskellige tilgængelige enheder. Når du har udfyldt brugernavn og adgangskode, skal du klikke på knappen "Testforbindelse". Når du har trykket på ok-knappen, kan du åbne test.udl med fil med Wordpad. Den skal indeholde tekst som denne.

 [OLEDB]
; Alt efter denne linje er en OLE DB initstreng
Udbyder = SQLOLEDB.1; Persist Security Info = False; Bruger-ID = sa; Indledende katalog = dhbtest; Datakilde = 127.0.0.1

Den tredje linje er den vigtige, den indeholder konfigurationsdetaljerne. Hvis din database har en adgangskode, vises den her, så dette er ikke en sikker metode! Denne streng kan indbygges i applikationer, der bruger ADO, og lader dem oprette forbindelse til den specificerede database.

Brug af ODBC

ODBC (Open Database Connectivity) leverer en API-baseret grænseflade til databaser. Der er ODBC-drivere tilgængelige for næsten alle eksisterende databaser. ODBC leverer imidlertid et andet lag af kommunikation mellem en applikation og databasen, og dette kan medføre præstationsbøder.

instagram story viewer