274715054-Formularium

Jan 13, 2020 | Publisher: vibex5 | Category: Other |   | Views: 12 | Likes: 1

"edocr

INSERT  INTO  bezoeken  (     reisnr,     volgnr,       objectnaam,     verblijfsduur   )  VALUES  (     34,     2,     ‘maan’,     2   )     DELETE   FROM   hemelobjecten   WHERE  objectnaam  =  ‘Pluto’   CREATE  TABLE  bezoeken  (   reisnr     numeric(4,0)       NOT  NULL,   objectnaam  character  varying(10)       NOT  NULL,   volgnr     numeric(2,0)       NOT  NULL,   verblijfsduur  numeric(4,0)       NOT  NULL,   CONSTRAINT  bezoeken_pkey  PRIMARY  KEY  (reisnr,  volgnr),   CONSTRAINT  bezoeken_objectnaam_fkey   FOREIGN  KEY  (objectnaam)   REFERENCES  hemelobjecten  (objectnaam),   CONSTRAINT  bezoeken_reisnr_fkey   FOREIGN  KEY  (reisnr)   REFERENCES  reizen  (reisnr)   )   UPDATE  reizen   SET     vertrekdatum  =  ‘2030-­‐12-­‐31’,   reisduur  =  30,   prijs  =  1.23,   WHERE  reisnr  =  33   SELECT  objectnaam,  diameter  -­‐   (SELECT  diameter   FROM  hemelobjecten   WHERE  objectnaam  =  'Zon')  AS  verschil   FROM  hemelobjecten   WHERE  satellietvan  =  'Zon';   SELECT  spelersnr,  naam,  plaats   FROM  spelers   WHERE  (plaats,  geslacht)  =   (SELECT  plaats,  geslacht   FROM  spelers   WHERE  spelersnr  =  7);   SELECT  spelersnr   FROM  bestuursleden  b   GROUP  BY  spelersnr   HAVING  COUNT(*)  >  (   SELECT  COUNT(*)   FROM  wedstrijden  w   WHERE  w.spelersnr  =  b.spelersnr);   SELECT  reisnr   FROM  reizen   WHERE  reisduur  >=  ALL  (   SELECT  reisduur   FROM  reizen);   -­‐  Uitnormaliseren:  redundantie  vermijden  &  consistentie  bewaken   -­‐  Kandidaatsleutels:  minimaal  &  uniek  (constraints,  integriteit),  primary  key  verplicht  (not  null),  unique  niet  verplicht   -­‐  Vreemde  sleutels  (foreign  keys)  :  noodzakelijke,  minimale  vorm  van  redundantie,  constraints,  referentiële  integriteit,  mag  null  zijn,  kan   verwijzen  naar  PK  of  UN   -­‐  SQL  =  structured  query  language,  ISO,  no  dialects   Lezen  van  gegevens  :  SELECT   Muteren  van  gegevens  :  INSERT  INTO,  UPDATE,  DELETE  FROM   Bepalen  structuur  voor  gegevens  :  CREATE  TABLE,  GRANT                                                   How  would  you  describe  the  output  of  a  select  statement  :  Tabelexpressie  binnen  een  tabelexpressie,  resultaat  wordt  doorgegeven  aan   aanroepende  tabelexpressie,  subqueries  mogen  genest  zijn   Soorten  subqueries  :     -­‐ Scalaire  subquery  :  1  rij,  1  waarde   -­‐ Rij-­‐subquery  :  1  rij   -­‐ Kolom-­‐subquery  :  elke  rij  1  waarde   -­‐ Tabel-­‐subquery  :  verzameling  rijen  en  kolommen   Scalaire  bv.  Geef  voor  elke  planeet  hoeveel  groter  of  kleiner  die  is  dan  de  zon.                                                       Kolom-­‐subquery  bv.  Geef  alle  manen             Rij-­‐subquery  bv.  Geef  alle  spelers  met  hetzelfde  geslacht  en  woonplaats  als  speler  met  nummer  7                   Tabel-­‐subquery  :  FROM-­‐component  bevat  subquery,  tijdelijk  resultaat,  geen  ORDER  BY,  subq.  moet  pseudoniem  hebben                     Gecorreleerde  subquery  :  Subquery  waarin  een  kolom  wordt  gebruikt  die  tot  een  tabel  behoort  uit  een  ander  select-­‐blok.  Dus  een   gecorreleerde  subquery  kan  niet  autonoom  uitgevoerd  worden.   Hoofdquery:    krijgt  alles  wat  in  SELECT  van  subquery  staat,  weet  niets  van  detail  subquery,  krijgt  alleen  output   Subquery:  weet  alles  van  hoofdquery   Bv.  Geef  voor  iedere  reis  het  bezoek  met  de  langste  verblijfsduur     Bv.  Geef  de  spelers  die  meer  keer  bestuurslid  zijn  geweest  dan  dat  ze  wedstrijden  hebben  gespeeld                     Operator  EXISTS,  bv.  Geef  alle  reizen  met  een  bezoek  aan  Jupiter           GRANT  SELECT   ON  TABLE  bezoeken   TO  student   GRANT  USAGE   ON  SCHEMA  bezoeken   TO  public   SELECT  objectnaam   FROM  hemelobjecten   WHERE  satellietvan  IN   (SELECT  objectnaam   FROM  hemelobjecten   WHERE  satellietvan  =  'Zon');   SELECT  reizen.reisnr,  reizen.vertrekdatum   FROM  reizen  INNER  JOIN  bezoeken  b  using  (reisnr)  INNER  JOIN  (   SELECT  objectnaam   FROM  bezoeken   GROUP  BY  objectnaam   HAVING  COUNT(*)  >=  5   )  AS  veelbez  ON  b.objectnaam  =  veelbez.objectnaam   GROUP  BY  reizen.reisnr,  reizen.vertrekdatum;   Bv.  Geef  de  reizen  die  een  hemelobject  bezoeken  wat  over   alle  reizen  heen  minstens  5  keer  bezocht  wordt.   !  ALLEMAAL  NIET  GECORRELEERD  !   SELECT  bezoeken.reisnr,  bezoeken.objectnaam   FROM  bezoeken   WHERE  bezoeken.verblijfsduur  =  (   SELECT  MAX(verblijfsduur)   FROM  bezoeken  allebezoeken   WHERE  allebezoeken.reisnr  =  bezoeken.reisnr);   SELECT  reisnr,  vertrekdatum   FROM  reizen   WHERE  EXISTS  (   SELECT  *,  'iserietofnie'  OF  SELECT  reisnr   FROM  bezoeken   WHERE  bezoeken.objectnaam  =  'Jupiter'   AND  bezoeken.reisnr  =  reizen.reisnr);   Operator  ANY  en  ALL  :  extra  operator,  verwacht  scalaire  waarde  en  kolomexpressie   Vergelijken  met  null  =  altijd  false   >  ALL          >=  ALL     >  ANY        >=  ANY  

"edocr

Dit Formularium Databanken 1 is gemaakt door Thijs Hegge. All credits to him

×

Modal Header

Modal body