fan

oriktig repetition av information i resultatet av sökning i databas. – Fans orsakas av ogenomtänkt konfiguration av databasen eller ogenomtänkt utformning av sökningen (frågan). – Begreppet fan (engelskt uttal) definierades först 1996 av Thomas M Connolly (länk) och Carolyn Begg (länk) i boken Database systems. Det är en av två connection traps: den andra kallas för chasm. Felet definierades i förhållande till databaser av typen entity‑relationship, men det uppträder även i andra sammanhang. – Något förenklat exempel: ett företag har anställda och avdelningar. I en databas finns en tabell med företagets alla anställda och en annan tabell med företagets alla avdelningar. Om företaget gör en olyckligt formulerad sökning (med en join) efter anställda kan resultatet bli att varje anställd räknas som anställd i var och en av avdelningarna. Sökningen ”vet” inte att varje anställd tillhör bara en avdelning, eller vilken avdelning det i så fall skulle vara. I stället ”tror” sökningen att den som är anställd på företaget tillhör alla företagets avdelningar. Antalet anställda multipliceras därför i resultatet av sökningen; varje namn förekommer flera gånger. I mer komplicerade fall kan felet vara svårt att upptäcka: man ser bara att resultatet av sökningen inte kan stämma. – Man talar om en cartesisk produkt (cartesian product). Det innebär att i stället för att varje anställd knyts till en, och bara en, avdelning (som i en tabell med två spalter), vilket är det riktiga, så knyts varje anställd till var och en av avdelningarna (som i en flerspaltig tabell med de anställda på x‑axeln och avdelningarna på y‑axeln, eller omvänt, och ett kryss i varje ruta). – Uttrycket fan kommer av fan out, som kan översättas med sprida ut [i solfjäderform]. – För att undvika fans bör man lägga upp databasen (eller sökningen) på ett bättre sätt:

  • – olämpligt: anställd–(av)–företag–(som har)–avdelningar;
  • – hellre: företag–(har)–avdelningar–(som har)–anställda.

– Exakt hur man bör göra beror på syftet med databasen. (Observera att en del förklaringar på nätet av chasms i själva verket beskriver fans.)

[databaser] [fel] [ändrad 4 juli 2022]

chasm

oönskat bortfall av information vid sökning i databas, orsakad av ogenomtänkt konfiguration av databasen eller ogenomtänkt utformning av sökningen (frågan). – Begreppet chasm definierades först 1996 av Thomas M Connolly (länk) och Carolyn Begg (länk) i boken Database systems. Det är en av två connection traps: den andra kallas för fan. Felet definierades i förhållande till databaser av typen entity‑relationship, men det kan tillämpas även på relationsdatabaser och stjärnscheman. – Ett något förenklat exempel: en skola vill räkna sina datorer. Den har en databas med en lista över klassrummen. I varje klassrum finns det, enligt databasen, noll, en eller flera datorer. Om skolan då gör en sökning som för varje klassrum räknar antalet datorer och adderar dem kan resultatet bli fel – vad händer till exempel med datorn som står i receptionen? Receptionen står nämligen inte med i listan över klassrum. Minst en dator som borde ha kommit med i resultatet av sökningen saknas därför. (Observera att receptionens dator mycket väl kan finnas med i skolans databas, men man hittar den inte om sökningen utgår från klassrummen.) Det är sådana bortfall som kallas för chasms, vilket i det här fallet kan översättas med luckor. I mer komplicerade fall kan felet vara svårt att upptäcka: man ser bara att resultatet av sökningen inte verkar stämma. – För att undvika chasms bör man lägga upp databasen (eller sökningen) på ett bättre sätt: skolan har datorer; för varje dator anges  ett klassrum eller en annan lokal. – I andra sammanhang kan chasm översättas med klyfta, bråddjup.

[databaser] [fel] [ändrad 2 maj 2022]

bredkolumndatabas

(wide-column database) – ett slags databas med möjlighet att allt eftersom lägga till kolumner (fält) som kan vara olika för varje rad (post) i databasen. – Det speciella med bredkolumndatabaser är att fält som saknar värde på en rad inte anges som tomma – de fälten existerar helt enkelt inte på den raden.  Varje rad i databasen kan alltså ha en egen följd av fält. – Bredkolumndatabaser räknas som NoSQL‑databaser. Det innebär att man inte kan göra sökningar i dem med SQL. (Man kan alltså inte ställa frågor, queries, med sammansatta sökvillkor, som i relationsdatabaser – som ”hitta alla Kirunabor som har en Volvo och är under 40”.) Däremot går det snabbt att söka i en enda kolumn. – Fördelen med bredkolumndatabaser är att de kan lagra mycket stora datamängder effektivt och med god sökbarhet. Men de lämpar sig alltså inte för strukturerade datamängder, och de kan vara svåra att underhålla. – Benämningen bredkolumndatabas betyder alltså inte att kolumnerna är bredare än vanligt, utan syftar på hela databasen. – Kallas på engelska också för wide-column stores.

[databaser] [15 mars 2022]

RDS

  1. förkortning för [Amazon] relational database service – en tjänst för att lägga upp och hantera relationsdatabaser i Amazons molntjänst AWS. RDS introducerades 2009. – Se Amazons webbsidor;
  2. Radio data system – en teknik för att lägga in små mängder digital information i radiosändningar på FM-bandet. Det är RDS som gör att man kan se radiokanalens namn i radiomottagarens teckenfönster, och det är RDS som gör att man kan lyssna på samma rikstäckande radiokanal i bilen under en långresa: RDS gör att mottagaren byter frekvens automatiskt och omärkligt när det behövs. – Se Sveriges Radios webbsidor.

[databaser] [förkortningar på R] [molnet] [radio och tv] [8 juli 2020]

GraphQL

ett frågespråk för frågor (queries) till webbplatser genom deras API:er. – Syftet är att webbplatser ska kunna anropas och användas som databaser utan att den som gör det ska behöva veta något om hur webbplatsen är uppbyggd. Man ska alltså, förutsatt att man har behörighet, kunna göra sökningar samt lägga till, ändra och ta bort data på webbplatsen. Förutsättningen är givetvis att den anropade webbplatsen har ett API för GraphQL. – Många företag har anpassat sina webbplatser för GraphQL. – GraphQL utvecklades 2012 av Lee Byron (leebyron.com)Facebook och släpptes 2015 med öppen källkod. 2018 överlät Facebook rättigheterna till GraphQL till nybildade GraphQL Foundation (foundation.graphql.org). Namnet: Graph står för graf som i grafdatabas; QL står för query language. – Se graphql.org.

[databaser] [programspråk] [webbpublicering] [13 juni 2020]

datamaskering

(data masking) – utbyte av data i en databas eller applikation mot andra data i syfte att skydda data mot obehörig åtkomst. Detta görs i en kopia av databasen. Originalet finns kvar oförändrat. – Datamaskering ska göras utan att den maskerade databasen eller applikationen blir oanvändbar. Den ska fortfarande kunna användas för testning, programutveckling och annat som inte kräver tillgång till riktiga data, eventuellt också för statistisk analys. – För att man ska tala om datamaskering i strikt bemärkelse krävs att uppgifterna ändras och kastas om på ett systematiskt sätt, till exempel så att statistiska analyser fortfarande blir riktiga. (Se till exempel perturbation.) Att bara ta bort data eller ersätta dem med nollor eller XXX… är inte datamaskering i denna bemärkelse. – Kommersiella databashanterare har ofta inbyggda funktioner för datamaskering. – Språkligt: Direktöversättningen datamaskning är olämplig, eftersom maskning är något helt annat.

[databaser] [statistik] [31 mars 2020]