hc3 - SQL data manipulation Flashcards
Alle attributen hebben naast een naam ook een …
type
welke data types zijn er?
- integers (gehele getallen)
- floats (decimale getallen)
- datum en tijd
- strings (teksten
welke soorten integers zijn er en hoeveel bits hebben ze?
- INTEGER
- TINYINT (8 bits)
- SMALLINT (16 bits)
- MEDIUMINT (24 bits)
- INT (32 bits)
- BIGINT (64 bits)
welke soorten floats zijn er en hoeveel bits hebben ze?
- DECIMAL[(n,d)] (n = totaal aantal cijfers, d = aantal cijfers achter de komma)
- FLOAT (32 bits)
- DOUBLE (64 bits)
welke soorten zijn er bij datatype datum en tijd?
- DATE (yyyy-mm-dd)
- DATETIME (yyyy-mm-dd hh:mm:ss)
- TIMESTAMP (aantal seconden na 01-01-1970)
- TIME (hh:mm:ss)
welke soorten strings zijn er en hoe groot zijn ze?
- CHAR(n) (vast aantal karakters, postcode = 7)
- VARCHAR(n) (variabel aantal karakters, maar maximaal n)
- TINYTEXT (maximaal 255 karakters)
- TEXT (maximaal 65535 karakters)
- MEDIUMTEXT (65535+ karakters)
wat is het doel van het gebruik van data types?
- voorkom invoerfouten (je kan geen getallen in een tekstveld zetten of een postcode langer dan 7 karakters intypen)
- het is efficiënter als de database weet hoeveel bytes een waarde inneemt.
wat is het verschil tussen lokale architectuur en client-server architectuur in de databases?
bij client-server architectuur zit tussen de client en de server (bij de server) nog een server process (die vertaalt van SQL naar normale taal)
wat betekent data definitie (categorisering van queries)?
structuur van de database aanpassen
welke verschillende queries zijn er bij data definitie (categorisering van queries)?
CREATE DATABASE
ALTER DATABASE
DROP DATABASE
CREATE TABLE
ALTER TABLE
DROP TABLE
CREATE INDEX
DROP INDEX
wat betekent data manipulatie (categorisering van queries)?
data aanpassen
welke verschillende queries zijn er bij data manipulatie (categorisering van queries)?
INSERT
DELETE
UPDATE
wat betekent data bevraging (categorisering van queries)?
data blijft hetzelfde
welke verschillende queries zijn er bij data bevraging (categorisering van queries)?
SELECT
Hoe creëer je een tabel over de volgende info: (data definitie)
welke queries?
- naam
- adres
- postcode
- woonplaats
CREATE TABLE persoon(naam VARCHAR(30), adres (VARCHAR(80), postcode CHAR(7), woonplaats VARCHAR(30));
Voorbeeld:
1:n relatie (2 tabellen met gemeenschappelijk attribuut)
- land(naam)
- provinciehoofdstad(naam, aantal_inwoners, burgemeester, oppervlakte, land_naam)
creëer deze 2 tabellen d.m.v. queries aan SQL
CREATE TABLE land(naam TEXT NOT NULL PRIMARY KEY);
CREATE TABLE provinciehoofdstad(naam TEXT, aantal_inwoners MEDIUMINT UNSIGNED, burgemeester TEXT, oppervlakte SMALLINT UNSIGNED, land_naam TEXT NOT NULL REFERENCES land(naam) ON UPDATE CASCADE ON DELETE RESTRICT);
Stel een rekeninghouder heeft een hogere schuld dat zijn bezittingen. Hoe kan je zorgen dat SQL aangeeft dat het banksaldo groter of gelijk moet zijn aan de creditcard schuld?
CREATE TABLE rekeninghouder(rekening INTEGER UNSIGNED PRIMARY KEY, naam TEXT, banksaldo DECIMAL(12,2), creditcard_schuld DECIMAL(5,2), CHECK(banksaldo >= creditcard_schuld));
DROP TABLE betekenis
Een bestaande table wordt verwijderd.
voorbeeld:
DROP TABLE rekeninghouder;
INSERT INTO betekenis
Om bepaalde waardes in de tabel in te vullen
voorbeeld de volgende waardes invullen in in de rekeninghouder tabel
rekeningnummer = 12345678,
naam = Pietje Puk
banksaldo = 1000.00
creditcard schuld = 100.00
INSERT INTO rekeninghouder(rekeningno, naam, banksaldo, creditcard_schuld) VALUES (12345678, ‘Pietje Puk’, 1000.00, 100.00);
bij welke categorie queries hoort DROP TABLE?
data definitie
bij welke categorie queries hoort INSERT INTO?
data manipulatie
wat doe je als je in de tabel rekeninghouder alleen alles wil waar geen schuld is?
DELETE FROM rekeninghouder WHERE creditcard_schuld > 0
Waarvoor is de UPDATE querie?
Om iets te veranderen
stel je wil het banksaldo van iemand met rekeningnummer 12345678 keer een rente geven van 5%
UPDATE rekeninghouder SET banksaldo = banksaldo*1,05 WHERE rekeningno = 12345678
hoe voeg je aan de tabel users een attribuut (password) toe?
ALTER TABLE users ADD password VARCHAR(100);
hoe verwijder je uit de tabel users een attribuut email?
ALTER TABLE users DROP COLUMN email;