Tenta Databaser Flashcards
Vad betyder Notation?
Beskriver en standard för något.
Är den syntax eller den form som används för att formulera frågor och kommandon.
Notationen i SQL består av ett antal nyckelord, operatörer och symboler som används för att definiera olika sorters frågor och kommandon.
Förklara nyckelord och identifierare
SELECT * FROM “MyTable” WHERE “Column” = ‘Value’;
SELECT FROM och WHERE är nyckelord
MytTable och Column är identifierare.
Vad är en triggerfunktion. Förklara och ge exempel.
En funktion som anropas när en viss händelse sker. Används för att infoga , uppdatera eller ta bort poster när en förändring sker på ett bord .
Tex om du har en affär och du säljer pingisbollar. Det finns en boll kvar och två kunder köper en boll var. Här kan vi skapa en triggerfunction som stoppar detta. För vi vill inte sälja bollar som vi inte har.
Förklara
SELECT
WHERE
ORDER BY
SELECT - Hämtar ut data
WHERE - Filtrerar datan
ORDER BY - Få ut datan i ordning
Förklara
INSERT INTO
UPDATE
DELETE
INSERT INTO - Hur vi sparar data
UPDATE - Hur vi uppdaterar data
DELETE - Hur vi tar bort data
Vad står SQL för
Structured Query Language
Klient, server?
Säg att du har ett program (klient) där du vill skriva in ditt lösenord. Då skickas en begäran om detta till en server för att hämta data. Då utvärderar servern begäran och skickar sedan tillbaka data till klienten.
Firefox är en klient till en microsoft IIS - server (web-server)
Webservern är i sin tur en klient till en SQL-server.
Stored Procedures?
Stored procedures är SQL-kommandon som sparas på databasen och kan användas för att utföra specifika uppgifter. De kan innehålla parametrar för att ge flexibilitet när de används, och kan också returnera resultat.
Stored procedures används ofta för att implementera komplex logik eller för att återanvända en grupp av SQL-kommandon på ett strukturerat sätt.
CREATE PROCEDURE getEmployeeNames (IN departmentId INT)
BEGIN
SELECT name FROM employees WHERE departmentId = departmentId;
END
EXECUTE getEmployeeNames 4;
Transaktion?
En en grupp SQL-kommandon som behandlas som en enhet. Antingen utförs alla kommandon i transaktion eller inget av dom. Detta är viktigt för att säkerställa så att ändringar som görs i databasen är giltiga.
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE accountId = 1;
UPDATE accounts SET balance = balance + 100 WHERE accountId = 2;
COMMIT TRANSACTION;
Skriv en inner join och förklara varför man gör det ?
En INNER JOIN i SQL används för att matcha rader från två olika tabeller baserat på en gemensam kolumn. När en INNER JOIN utförs returneras endast de rader som matchar i båda tabellerna.
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
Förklara vad tabell, rader, kolumn och fält är.
Tabell: En tabell är en uppsättning data i en databas. En tabell består av rader och kolumner, och varje rad representerar en unik post eller en enhet av data.
Kolumn: En kolumn är en vertikal rad av data i en tabell. Varje kolumn har ett namn och en datatyp, och innehåller data för en viss typ av information.
Fält: Ett fält är en enhet av data i en tabell. Varje fält tillhör en kolumn och innehåller en viss typ av data, som t.ex. ett namn, ett telefonnummer eller en pris. Varje fält i en tabell kan ha olika värden, men alla fält i en kolumn har samma datatyp.
Vad använder man JSON till inom sql?
I sql så använder man json för att lagra data på ett mer flexibelt sätt än tabeller.
Dett görs genom att lagra JSON-dokumentet i en kolumn i en tabell i en from av textsträng.
Man kan lagra komplexa datastrukturer som listor och nästlade objekt inom en enda kolumn.
Gör en tabell med. SQL
{
“Name”:”Kalle”,
“Age”:27,
“Address”:”Storgatan 3”,
“phone_numbers”:
[
{“PhoneType”:”Home”,”Number”:”033123456”},
{“PhoneType”:”Work”,”Number”:”0313334445”},
{“PhoneType”:”Cell”,”Number”:”0703030303”}
]
}
person
id
name
age
address
phone_numbers
id
phonetype
number
people_id
people_id FK pekar på PK i people tabellen.
Vad betyder normalisera och varför gör man det?
Normalisering är att organisera en databas så att den uppfyller vissa krav och egenskaper.
Detta gör man för att minimera upprepning av data.
Man gör det även för att göra datan i databasen mer säker och konsistent.
Json. Serialisering och Deserialisering betyder och är bra för?
Serialisering av data innebär att man omvandlar data till en form som kan sparas eller överföras.
Deserialisering innebär att man omvandlar serialiserad data tillbaka till sin ursprungliga form. Deserialisering kan användas när man vill återställa data till sin ursprungliga form och använda den igen.
- Lagring av data
- Överföring av data mellan system
- Parsing av data från olika källor.
förklara primärnyckel och främmandenyckel.
Primärnycklar och främmande nycklar används ofta för att etablera relationer mellan olika tabeller, och för att säkerställa integriteten och konsistensen i data i databasen.
En främmandenyckel är en kolumn i en tabell som pekar på en primärnyckel i en annan tabell.
Nämn några funktioner och vad dom gör.
AVG: Returnerar medelvärdet av en kolumn med numeriska värden
COUNT: Returnerar antalet rader i en tabell eller en grupp
MAX: Returnerar det största värdet i en kolumn med numeriska värden
MIN: Returnerar det minsta värdet i en kolumn med numeriska värden
SUM: Returnerar summan av en kolumn med numeriska värden
finns det en mängd olika funktioner som kan användas för att bearbeta och manipulera data.
Förklara relationer i sql och ge exemper på några.
I SQL är relationer ett sätt att koppla samman olika tabeller i en databas för att skapa struktur och sammanhang i data. Genom att etablera relationer mellan tabeller kan man säkerställa integritet och konsistens i data och förbättra prestandan i databasen.
Man använder sig av FK och PK för att skapa relationer.
En-till-en-relationer: En relation mellan två tabeller där varje rad i den ena tabellen endast kan kopplas till en rad i den andra tabellen.
En-till-många-relationer: En relation mellan två tabeller där varje rad i den ena tabellen kan kopplas till flera rader i den andra tabellen.
Många-till-många-relationer: En relation mellan två tabeller där varje rad i den ena tabellen kan kopplas till flera rader i den andra tabellen, och vice versa.
Vad är alias?
I SQL är alias ett annat namn som man kan ge till en kolumn eller en tabell i en fråga. Aliaser används ofta för att förenkla frågor och för att ge namn som är lättare att förstå till kolumner och tabeller som annars kan ha långa och komplicerade namn.
sql injection?
SQL injection är en sårbarhet som kan finnas i webbapplikationer som använder SQL för att hantera data i en databas.
Genom att skicka speciella frågor eller kommandon till databasen via en webbapplikation kan en angripare få obehörig tillgång till data eller utföra olika handlingar i databasen.
- Få obehörig tillgång till data i databasen tex som lösenord.
- Manipulera data i databasen: Genom att skicka in maligna kommandon till databasen kan en angripare ändra, radera eller lägga till data i databasen
- Ändra rättigheter eller skapa andra konton i en klient som använder sig av någon form av databas.
Vad är data?
Cascade delete?
Cascading delete är en funktion i SQL som möjliggör att du kan ta bort en rad från en tabell, och samtidigt automatiskt ta bort alla rader i andra tabeller som har en relation till den raden du tog bort.
Ett exempel på cascading delete skulle vara en databas för en webbutik. Du kan ha en tabell för produkter, och en tabell för beställningar. Varje beställning har en rad i beställningstabellen, och en produkt kan finnas i flera beställningar. När du tar bort en produkt från produkttabellen, kan du använda cascading delete för att automatiskt ta bort alla beställningar som innehåller den produkten. På så sätt slipper du att manuellt hitta och ta bort alla beställningar som innehåller den produkten.
Vad är en operator i SQL?
en operator en symbol eller en kort kommando som du kan använda för att utföra specifika uppgifter, såsom att jämföra värden, beräkna värden eller manipulera data.
AND, OR, NOT, BETWEEN, IN, LIKE, EXISTS, < , > , <>(olikamed) , = , osv
+ , - , * , /
IS NULL, IS NOT NULL
BETWEEN, IN, LIKE, EXISTS