FileMaker 16. Naslaggegevens voor SQL
|
|
|
- Gert Bogaert
- 8 jaren geleden
- Aantal bezoeken:
Transcriptie
1 FileMaker 16 Naslaggegevens voor SQL
2 FileMaker, Inc. Alle rechten voorbehouden. FileMaker, Inc Patrick Henry Drive Santa Clara, California 95054, VS FileMaker, FileMaker Go en het bestandsmaplogo zijn handelsmerken van FileMaker, Inc. die in de VS en andere landen zijn geregistreerd. FileMaker WebDirect en FileMaker Cloud zijn handelsmerken van FileMaker, Inc. Alle andere handelsmerken zijn het eigendom van hun respectievelijke eigenaars. FileMaker-documentatie wordt auteursrechtelijk beschermd. U bent niet geautoriseerd om extra exemplaren te maken of deze documentatie te distribueren zonder schriftelijke toestemming van FileMaker. U mag deze documentatie alleen gebruiken met een geldige gelicentieerde kopie van FileMaker-software. Alle personen, bedrijven, adressen en URL's in de voorbeelden zijn fictief. Eventuele gelijkenissen met bestaande personen, bedrijven, adressen of URL's berusten op louter toeval. De aftiteling is vermeld in de aftitelingsdocumenten die bij deze software zijn meegeleverd. Vermeldingen van producten en URL's van andere bedrijven zijn puur informatief en houden geen goedkeuring of aanbeveling in. FileMaker, Inc. aanvaardt geen aansprakelijkheid voor de prestaties van die producten. Voor meer informatie kunt u onze website bezoeken op Editie: 01
3 Inhoudsopgave Hoofdstuk 1 Inleiding 5 Over deze naslaggegevens 5 Over SQL 5 Een FileMaker-database als een gegevensbron gebruiken 5 De functie ExecuteSQL gebruiken 6 Hoofdstuk 2 Ondersteunde standaarden 7 Ondersteuning voor Unicode-tekens 7 SQL-instructies 7 De instructie SELECT 8 SQL-elementen 9 Het element FROM 9 Het element WHERE 11 Het element GROUP BY 11 Het element HAVING 12 De operator UNION 12 Het element ORDER BY 13 De elementen OFFSET en FETCH FIRST 13 Het element FOR UPDATE 14 De instructie DELETE 17 De instructie INSERT 17 De instructie UPDATE 19 De instructie CREATE TABLE 20 De instructie TRUNCATE TABLE 22 De instructie ALTER TABLE 22 De instructie CREATE INDEX 23 De instructie DROP INDEX 23 SQL-uitdrukkingen 24 Veldnamen 24 Constanten 24 Exponentiële/wetenschappelijke opmaak 26 Numerieke operatoren 26 Operatoren voor lettertekens 26 Datumoperatoren 26 Relationele operatoren 27 Logische operatoren 28 Prioriteit van operatoren 29
4 Inhoudsopgave 4 SQL-functies 29 Totaalfuncties 30 Functies die tekenreeksen als resultaat geven 31 Functies die getallen als resultaat geven 33 Functies die datums als resultaat geven 34 Voorwaardelijke functies 35 FileMaker-systeemobjecten 36 FileMaker-systeemtabellen 36 FileMaker-systeemkolommen 37 Gereserveerde SQL-trefwoorden 38 Index 41
5 Hoofdstuk 1 Inleiding Als databaseontwikkelaar kunt u FileMaker Pro gebruiken om databaseoplossingen te maken zonder enige kennis van SQL. Maar als u echter kennis van SQL hebt, kunt u een FileMakerdatabasebestand gebruiken als een ODBC- of JDBC-gegevensbron om zo uw gegevens te delen met andere toepassingen via OBDC en JDBC. U kunt de functie ExecuteSQL van FileMaker Pro ook gebruiken om gegevens uit een tabel in een FileMaker Pro-database op te halen. Deze naslaggegevens beschrijven de SQL-instructies en de standaarden die door FileMaker worden ondersteund. De ODBC- en JDBC-clientstuurprogramma's van FileMaker ondersteunen alle SQL-instructies die in deze naslaggegevens worden beschreven. De functie ExecuteSQL van FileMaker Pro ondersteunt alleen de instructie SELECT. Over deze naslaggegevens Over SQL 1 Voor informatie over het gebruik van ODBC en JDBC met lagere versies van FileMaker Pro bezoekt u het centrum voor productdocumentatie. 1 Voor deze naslaggegevens wordt als uitgangspunt aangenomen dat u vertrouwd bent met de basiskennis van het gebruik van FileMaker Pro-functies, het coderen van ODBC- en JDBCtoepassingen en het maken van SQL-opvragen. Raadpleeg een handleiding van een andere leverancier voor meer informatie over deze onderwerpen. 1 In deze naslaggegevens verwijst de benaming "FileMaker Pro" naar zowel FileMaker Pro als FileMaker Pro Advanced, behalve bij de beschrijving van specifieke FileMaker Pro Advancedfuncties. SQL, ofwel Structured Query Language, is een programmeertaal die is ontworpen voor het opvragen van gegevens uit een relationele database. De meeste gebruikte instructie voor het opvragen van gegevens uit een database is de instructie SELECT. SQL is echter niet alleen een taal voor het opvragen van gegevens uit een database maar biedt ook instructies voor de bewerking van gegevens, zoals het toevoegen, bijwerken en verwijderen van gegevens. Daarnaast biedt SQL ook instructies voor de definiëring van gegevens. Met deze instructies kunt u tabellen en indexen maken en wijzigen. De SQL-instructies en standaarden die worden ondersteund door FileMaker worden beschreven in hoofdstuk 2, Ondersteunde standaarden. Een FileMaker-database als een gegevensbron gebruiken Wanneer u een FileMaker-database host als een ODBC- of JDBC-gegevensbron, kunnen FileMaker-gegevens worden gedeeld met ODBC- en JDBC-compatibele toepassingen. De toepassingen maken verbinding met de FileMaker-gegevensbron met behulp van de FileMakerclientstuurprogramma's, maken SQL-opvragen en voeren ze uit met behulp van ODBC of JDBC en verwerken de gegevens die uit de FileMaker-databaseoplossing zijn opgehaald.
6 Hoofdstuk 1 Inleiding 6 Raadpleeg FileMaker-handleiding voor ODBC en JDBC voor uitgebreide informatie over hoe u FileMaker-software kunt gebruiken als een gegevensbron voor ODBC- en JDBC-toepassingen. De ODBC- en JDBC-clientstuurprogramma's van FileMaker ondersteunen alle SQL-instructies die in deze naslaggegevens worden beschreven. De functie ExecuteSQL gebruiken Via de functie ExecuteSQL van FileMaker Pro kunt u gegevens ophalen uit tabellen die vermeld zijn in de relatiegrafiek maar onafhankelijk van gedefinieerde relaties zijn. U kunt gegevens uit meerdere tabellen ophalen zonder tabellen samen te voegen of relaties tussen tabellen te maken. In sommige gevallen kunt u de complexiteit van uw relatiegrafiek vereenvoudigen met behulp van de functie ExecuteSQL. De velden die u opvraagt met de functie ExecuteSQL hoeven geen deel uit te maken van een layout. U kunt de functie ExecuteSQL dus gebruiken om gegevens op te halen die onafhankelijk van een lay-outcontext zijn. Vanwege deze contextonafhankelijkheid kan het gebruik van de functie ExecuteSQL in script de portabiliteit van de scripts verbeteren. U kunt de functie ExecuteSQL gebruiken waar u berekeningen opgeeft, inclusief voor het uitzetten van gegevens in een grafiek of in een rapport. De functie ExecuteSQL ondersteunt alleen de SELECT-instructie die is beschreven in de sectie "De instructie SELECT" op pagina 8. De functie ExecuteSQL accepteert ook alleen ISO-datum- en tijdopmaak van de syntaxis SQL-92 zonder accolades ({}). De functie ExecuteSQL accepteert geen ODBC/JDBC-opmaak voor data, tijden en tijdstempelconstanten tussen accolades. Raadpleeg FileMaker Pro Help voor informatie over de syntaxis en het gebruik van de functie ExecuteSQL.
7 Hoofdstuk 2 Ondersteunde standaarden Gebruik de FileMaker ODBC- en JDBC-clientstuurprogramma's om vanuit een ODBC- of JDBCcompatibele toepassing toegang te krijgen tot een FileMaker-databaseoplossing. De FileMakerdatabaseoplossing kan door FileMaker Pro of FileMaker Server worden gehost. 1 Het ODBC-clientstuurprogramma ondersteunt ODBC 3.0 Niveau 1. 1 Het JDBC-clientstuurprogramma biedt gedeeltelijke ondersteuning voor de JDBC 3.0- specificatie. 1 De ODBC- en JDBC-clientstuurprogramma's zijn beiden geschikt voor SQL-92 Entry Level en ondersteunen enkele functies van SQL-92 Intermediate Level. Ondersteuning voor Unicode-tekens De ODBC- en JDBC-clientstuurprogramma's ondersteunen de Unicode-API. Als u echter een eigen toepassing maakt die de clientstuurprogramma's gebruikt, gebruikt u ASCII voor veld-, tabel- en bestandsnamen (bij gebruik van een niet-unicode opvraaghulpprogramma of toepassing). Opmerking Gebruik SQL_C_WCHAR als u Unicode-gegevens wilt invoegen en ophalen. SQL-instructies De ODBC- en JDBC-clientstuurprogramma's bieden ondersteuning voor de volgende SQLinstructies: 1 SELECT (pagina 8) 1 DELETE (pagina 17) 1 INSERT (pagina 17) 1 UPDATE (pagina 19) 1 CREATE TABLE (pagina 20) 1 TRUNCATE TABLE (pagina 22) 1 ALTER TABLE (pagina 22) 1 CREATE INDEX (pagina 23) 1 DROP INDEX (pagina 23) De clientstuurprogramma's ondersteunen ook de toewijzing van FileMaker-gegevenstypen aan die van ODBC-SQL en JDBC-SQL. Raadpleeg de FileMaker-handleiding voor ODBC en JDBC voor conversies van gegevenstypen. Voor meer informatie over het maken van SQL-opvragen kunt u een handboek van een andere leverancier raadplegen. Opmerking De ODBC- en JDBC-clientstuurprogramma's bieden geen ondersteuning voor FileMaker-portalen.
8 Hoofdstuk 2 Ondersteunde standaarden 8 De instructie SELECT Gebruik de instructie SELECT om de kolommen op te geven die u wilt opvragen. Na de instructie SELECT volgen de kolomuitdrukkingen (vergelijkbaar met veldnamen) die u wilt opvragen (bijvoorbeeld achternaam). Uitdrukkingen kunnen rekenkundige bewerkingen of tekenreeksbewerkingen bevatten (bijvoorbeeld SALARIS * 1,05). Voor de instructie SELECT kunnen verschillende elementen worden gebruikt: SELECT [DISTINCT] {* kolomuitdrukking [[AS] kolom_alias],...} FROM tabel_naam [tabel_alias],... [ WHERE uitdr1 rel_operator uitdr2 ] [ GROUP BY {kolomuitdrukking,...} ] [ HAVING uitdr1 rel_operator uitdr2 ] [ UNION [ALL] (SELECT...) ] [ ORDER BY {sorteeruitdrukking [DESC ASC]},... ] [ OFFSET n {ROWS ROW} ] [ FETCH FIRST [ n [ PERCENT ] ] { ROWS ROW } {ONLY WITH TIES } ] [ FOR UPDATE [OF {kolomuitdrukking,...}] ] Waarden tussen accolades zijn optioneel. kolom_alias kan worden gebruikt om de kolom een meer herkenbare naam te geven of om de langere kolomnaam in te korten. Wijs de alias afdeling toe aan de kolom afd: SELECT afd AS afdeling FROM werkn Veldnamen kunnen als prefix de tabelnaam of tabel-alias krijgen. : WERKN.NAAM_WERKNEMER of W.NAAM_WERKNEMER, waarbij E de alias is voor de tabel WERKN. De operator DISTINCT kan voorafgaan aan de eerste kolomuitdrukking. Met deze operator laat u dubbele rijen weg uit het resultaat van een opvraag. SELECT DISTINCT afd FROM werkn
9 Hoofdstuk 2 Ondersteunde standaarden 9 SQL-elementen De ODBC- en JDBC-clientstuurprogramma's bieden ondersteuning voor de volgende SQLelementen: Gebruik dit SQLelement FROM (pagina 9) WHERE (pagina 11) GROUP BY (pagina 11) HAVING (pagina 12) UNION (pagina 12) ORDER BY (pagina 13) OFFSET (pagina 13) FETCH FIRST (pagina 13) FOR UPDATE (pagina 14) Om dit te doen Aangeven welke tabellen in de instructie SELECT worden gebruikt. De voorwaarden opgeven waaraan records moeten voldoen om te worden opgehaald (zoals bij een FileMaker Pro-zoekopdracht). De namen opgeven van een of meer velden waarop de resultaatwaarden moeten worden gegroepeerd. Dit element wordt gebruikt om een reeks totaalwaarden te verkrijgen door voor elke groep één rij als resultaat te geven (zoals bij een FileMaker Pro-subresumé). Voorwaarden opgeven voor groepen records (bijvoorbeeld alleen de afdelingen weergeven waarvan het totaal van de salarissen meer dan bedraagt). De resultaten van twee of meer SELECT-instructies in één resultaat combineren. Aangeven hoe de records worden gesorteerd. Aantal rijen vermelden die moeten worden overgeslagen voordat de rijen worden opgehaald. Het aantal op te halen rijen opgeven. Het opgegeven aantal rijen is het maximale aantal rijen dat wordt gegeven hoewel een kleiner aantal rijen kan worden gegeven als de opvraag minder resultaten geeft dan het aantal opgegeven rijen. Geplaatste (positioned) updates of verwijderingen uitvoeren via SQL-cursors. Opmerking Als u probeert gegevens op te halen uit een tabel zonder kolommen, geeft de SELECT-instructie niets als resultaat. Het element FROM Het element FROM geeft de tabellen aan die in de SELECT-instructie worden gebruikt. Hiervoor gebruikt u de volgende syntaxis: FROM tabel_naam [tabel_alias] [, tabel_naam [tabel_alias]] tabel_naam is de naam van een tabel in de huidige database. De tabelnaam moet beginnen met een letter. Als de tabelnaam begint met een ander teken dan een letter, plaatst u het tussen dubbele aanhalingstekens (ID tussen aanhalingstekens). tabel_alias kan worden gebruikt om de tabel een meer herkenbare naam te geven of om een langere tabelnaam in te korten of om dezelfde tabel meerdere keren in de opvraag op te nemen (bijvoorbeeld in interne relaties). Veldnamen beginnen met een letter. Als de veldnaam begint met een ander teken dan een letter, plaatst u het tussen dubbele aanhalingstekens (ID tussen aanhalingstekens). De instructie ExecuteSQL voor het veld _ACHTERNAAM is: SELECT "_ACHTERNAAM" FROM werkn
10 Hoofdstuk 2 Ondersteunde standaarden 10 Veldnamen kunnen als prefix de tabelnaam of -alias krijgen. Met de tabelspecificatie FROM werknemer E kunt u naar het veld ACHTERNAAM verwijzen als E.ACHTERNAAM. Tabelaliassen moeten worden gebruikt als de SELECT-instructie een tabel met zichzelf samenvoegt. SELECT * FROM werknemer E, werknemer F WHERE E.manager-id = F.werknemer-id Het gelijkteken (=) bevat alleen overeenkomende rijen in de resultaten. Als u meer dan één tabel samenvoegt en u wilt alle rijen verwijderen die in beide brontabellen geen overeenkomende rijen hebben, kunt u INNER JOIN gebruiken. SELECT * FROM Verkopers INNER JOIN Verkoopgegevens ON Verkopers.Verkoper-ID = Verkoopgegevens.Verkoper-ID Als u twee tabellen samenvoegt, maar u wilt geen rijen uit de eerste tabel (de linkse tabel) negeren, kunt u LEFT OUTER JOIN gebruiken. SELECT * FROM Verkopers LEFT OUTER JOIN Verkoopgegevens ON Verkopers.Verkoper-ID = Verkoopgegevens.Verkoper-ID Elke rij uit de tabel Verkopers zal in de samengevoegde tabel verschijnen. Opmerkingen 1 RIGHT OUTER JOIN wordt momenteel niet ondersteund. 1 FULL OUTER JOIN wordt momenteel niet ondersteund.
11 Hoofdstuk 2 Ondersteunde standaarden 11 Het element WHERE Het element WHERE geeft de voorwaarden op waaraan records moeten voldoen om te worden opgehaald. Het element WHERE bevat voorwaarden in deze vorm: WHERE uitdr1 rel_operator uitdr2 uitdr1 en uitdr2 kunnen veldnamen, constante waarden of uitdrukkingen zijn. rel_operator is de relationele operator die de twee expressies aan elkaar koppelt. Haal de namen van werknemers op die of meer verdienen. SELECT achternaam,voornaam FROM werkn WHERE salaris >= Het element WHERE kan ook uitdrukkingen gebruiken zoals deze: WHERE uitdr1 IS NULL WHERE NOT uitdr2 Opmerking Als u in de SELECT-(projectie)lijst volledige namen gebruikt, moet u ook in de gerelateerde WHERE-instructie volledige namen gebruiken. Het element GROUP BY Het element GROUP BY geeft de namen op van een of meer velden waarop de resultaatwaarden moeten worden gegroepeerd. Dit element wordt gebruikt om een reeks totaalwaarden te verkrijgen. Het is als volgt gestructureerd: GROUP BY kolommen Het bereik van het element GROUP BY is de tabeluitdrukking in het element FROM. Hierdoor moeten de kolomuitdrukkingen opgegeven door columns uit de tabellen komen die in het element FROM zijn opgegeven. Een kolomuitdrukking kan bestaan uit een of meer door komma's gescheiden veldnamen uit de databasetabel. Tel de salarissen in elke afdeling op. SELECT afd-id, SUM (salaris) FROM werkn GROUP BY afd-id Deze instructie geeft één rij voor elke verschillende afdelings-id. Elke rij bevat de afdelings-id en de som van de salarissen van de werknemers van de afdeling.
12 Hoofdstuk 2 Ondersteunde standaarden 12 Het element HAVING Met het element HAVING kunt u voorwaarden opgeven voor groepen records (bijvoorbeeld alleen de afdelingen weergeven waarvan het totaal van de salarissen meer dan bedraagt). Het is als volgt gestructureerd: HAVING uitdr1 rel_operator uitdr2 uitdr1 en uitdr2 kunnen veldnamen, constante waarden of uitdrukkingen zijn. Deze uitdrukkingen hoeven niet overeen te komen met een kolomexpressie in het SELECT-element. rel_operator is de relationele operator die de twee expressies aan elkaar koppelt. Geef als resultaat de afdelingen waarvan de som van de salarissen groter is dan SELECT afd-id, SUM (salaris) FROM werkn GROUP BY afd-id HAVING SUM (salaris) > De operator UNION De operator UNION combineert de resultaten van twee of meer SELECT-instructies in één resultaat. Het enige resultaat is alle resulterende records uit de SELECT-instructies. Dubbele records worden standaard niet in het resultaat opgenomen. Als u dubbele records in het resultaat wilt opnemen, gebruikt u het trefwoord ALL (UNION ALL). Hiervoor gebruikt u de volgende syntaxis: SELECT instructie UNION [ALL] SELECT instructie Bij het gebruik van de operator UNION moeten de selectielijsten voor elke SELECT-instructie hetzelfde aantal kolomuitdrukkingen hebben, met dezelfde gegevenstypen, en moeten ze in dezelfde volgorde worden opgegeven. SELECT achternaam, salaris, in_dienst FROM werkn UNION SELECT naam, salaris, geboortedatum FROM persoon Het volgende voorbeeld is niet geldig omdat de gegevenstypen van de kolomuitdrukkingen verschillen (SALARIS uit WERKN heeft een ander gegevenstype dan ACHTERNAAM uit OPSLAGEN). In dit voorbeeld heeft elke SELECT-instructie hetzelfde aantal kolomuitdrukkingen, maar bevinden de uitdrukkingen zich niet in dezelfde volgorde volgens gegevenstype. SELECT achternaam, salaris FROM werkn UNION SELECT salaris, achternaam FROM opslagen
13 Hoofdstuk 2 Ondersteunde standaarden 13 Het element ORDER BY Het element ORDER BY geeft aan hoe de records moeten worden gesorteerd. Als uw SELECTinstructie geen ORDER BY-element bevat, worden de records mogelijk in een willekeurige volgorde weergegeven. Hiervoor gebruikt u de volgende syntaxis: ORDER BY {sorteeruitdrukking [DESC ASC]},... sorteeruitdrukking kan de veldnaam of het positienummer van de te gebruiken kolomuitdrukking zijn. Standaard wordt een oplopende (ASC) sorteervolgorde uitgevoerd. en Sorteer eerst op achternaam en dan op voornaam. SELECT werkn-id, achternaam, voornaam FROM werkn ORDER BY achternaam, voornaam In het tweede voorbeeld worden positienummers 2 en 3 gebruikt om dezelfde volgorde te verkrijgen als in het vorige voorbeeld waarbij achternaam en voornaam uitdrukkelijk waren opgegeven. SELECT werkn-id, achternaam, voornaam FROM werkn ORDER BY 2,3 Opmerking FileMaker SQL gebruikt de Unicode binaire sorteervolgorde die verschilt van de FileMaker Pro-sorteervolgorde die wordt gebruikt bij het sorteren van talen of bij de standaard taalonafhankelijke sorteervolgorde. De elementen OFFSET en FETCH FIRST De elementen OFFSET en FETCH FIRST worden gebruikt om een specifiek bereik van rijen te verkrijgen dat begint vanaf een bepaald startpunt in een reeks resultaten. Door de mogelijkheid om het ophalen van rijen uit een grote reeks resultaten te beperken, kunt u 'bladeren per pagina' door de gegevens en verbetert u de efficiëntie. Het element OFFSET geeft het aantal rijen aan die moeten worden overgeslagen voordat gegevens moeten worden geretourneerd. Als het element OFFSET niet wordt gebruikt in een SELECT-instructie, is de eerste rij 0. Het element FETCH FIRST geeft het aantal rijen op die moeten worden geretourneerd, hetzij als een geheel getal zonder teken groter dan of gelijk aan 1 hetzij als een percentage, vanaf het startpunt aangegeven in het element OFFSET. Als zowel OFFSET als FETCH FIRST worden gebruikt in een SELECT-instructie, moet eerst het element OFFSET worden gebruikt. De elementen OFFSET en FETCH FIRST worden niet ondersteund in subopvragen. OFFSET-syntaxis De OFFSET-syntaxis is: OFFSET n {ROWS ROW} ] n is een geheel getal zonder teken. Als n groter is dan het aantal rijen dat wordt geretourneerd in de reeks resultaten, wordt niets geretourneerd en verschijnt geen foutbericht. ROWS is het hetzelfde als ROW.
14 Hoofdstuk 2 Ondersteunde standaarden 14 FETCH FIRST-syntaxis De FETCH FIRST-syntaxis is: FETCH FIRST [ n [ PERCENT ] ] { ROWS ROW } {ONLY WITH TIES } ] n is het aantal rijen dat moet worden geretourneerd. De standaardwaarde is 1 als n wordt weggelaten. n is een geheel getal zonder teken dat groter dan of gelijk aan 1 is tenzij het wordt gevolgd door PERCENT. Als n wordt gevolgd door PERCENT, kan de waarde een positieve fractionele waarde of een geheel getal zonder teken. ROWS is het hetzelfde als ROW. WITH TIES moet worden gebruikt met het element ORDER BY. Via WITH TIES kunnen meer rijen worden geretourneerd dan opgegeven in de FETCH-waarde omdat peerrijen (rijen die niet verschillen op basis van het element ORDER BY) ook worden geretourneerd. en Geef als resultaat informatie van de zesentwintigste rij van de reeks resultaten die zijn gesorteerd op achternaam en dan op voornaam. SELECT werkn-id, achternaam, naam FROM werkn ORDER BY achternaam, naam OFFSET 25 ROWS Geef op dat u slechts tien rijen als resultaat wilt. SELECT werkn-id, achternaam, naam FROM werkn ORDER BY achternaam, naam OFFSET 25 ROWS FETCH FIRST 10 ROWS ONLY Geef als resultaat de tien rijen en hun peerrijen (rijen die niet verschillen op basis van het element ORDER BY). SELECT werkn-id, achternaam, naam FROM werkn ORDER BY achternaam, naam OFFSET 25 ROWS FETCH FIRST 10 ROWS WITH TIES Het element FOR UPDATE Het element FOR UPDATE vergrendelt records voor geplaatste (positioned) updates of verwijderingen via SQL-cursors. Hiervoor gebruikt u de volgende syntaxis: FOR UPDATE [OF kolomuitdrukkingen] kolomuitdrukkingen is een lijst met veldnamen in de databasetabel die u wilt gaan bijwerken, gescheiden door een komma. kolomuitdrukkingen is optioneel en wordt genegeerd. Geef als resultaat alle records in de werknemersdatabase waarvan het veld SALARIS een hogere waarde dan bevat. SELECT * FROM werkn WHERE salaris > FOR UPDATE OF achternaam, naam, salaris Bij het ophalen van records wordt elke record vergrendeld. Als de record wordt bijgewerkt of verwijderd, blijft de vergrendeling behouden tot u de wijziging vastlegt. Anders wordt de vergrendeling pas opgeheven wanneer u de volgende record opvraagt.
15 Hoofdstuk 2 Ondersteunde standaarden 15 en Zo gebruikt u een tekstconstante getalconstante datumconstante tijdconstante tijdstempelconstante tekstkolom numerieke kolom datumkolom tijdkolom tijdstempelkolom BLOB a -kolom Jokerteken * -SQL SELECT 'CatDog' FROM Verkopers SELECT 999 FROM Verkopers SELECT DATE ' ' FROM Verkopers SELECT TIME '02:49:03' FROM Verkopers SELECT TIMESTAMP ' :49:03' FROM Verkopers SELECT Naam_bedrijf FROM Verkoopgegevens SELECT DISTINCT Naam_bedrijf FROM Verkoopgegevens SELECT Bedrag FROM Verkoopgegevens SELECT DISTINCT Bedrag FROM Verkoopgegevens SELECT Verkoopdatum FROM Verkoopgegevens SELECT DISTINCT Verkoopdatum FROM Verkoopgegevens SELECT Verkooptijdstip FROM Verkoopgegevens SELECT DISTINCT Verkooptijdstip FROM Verkoopgegevens SELECT Tijdstempel_Verkocht FROM Verkoopgegevens SELECT DISTINCT Tijdstempel_Verkocht FROM Verkoopgegevens SELECT Bedrijfsbrochures FROM Verkoopgegevens SELECT GETAS (Bedrijfslogo, 'JPEG') FROM Verkoopgegevens SELECT * FROM Verkopers SELECT DISTINCT * FROM Verkopers a. Een BLOB (Binary Large Object) is een bestandscontainerveld in een FileMaker-database. Opmerkingen bij de voorbeelden Een kolom is een verwijzing naar een veld in het FileMaker-databasebestand. (Het veld kan vele verschillende waarden bevatten.) Het jokerteken asterisk (*) staat voor alles. In het voorbeeld SELECT * FROM Verkopers, is het resultaat alle kolommen in de tabel Verkopers. In het voorbeeld SELECT DISTINCT * FROM Verkopers, is het resultaat alle unieke rijen in de tabel Verkopers (geen duplicaten). 1 FileMaker slaat geen gegevens op voor lege tekenreeksen. De volgende opvragen zullen bijgevolg geen records als resultaat opleveren: SELECT * FROM test WHERE c ='' SELECT * FROM test WHERE c <>'' 1 Als u SELECT met binaire gegevens gebruikt, moet u de functie GetAs() gebruiken om de stroom die als resultaat moet worden gegeven, op te geven. Lees het volgende gedeelte "De inhoud van een containerveld ophalen: de functie CAST() en GetAs()" voor meer informatie.
16 Hoofdstuk 2 Ondersteunde standaarden 16 De inhoud van een containerveld ophalen: de functie CAST() en GetAs() U kunt bestandsverwijzingsinformatie, binaire gegevens of gegevens van een specifiek bestandstype uit een containerveld ophalen. 1 Als u bestandsverwijzingsinformatie, zoals het pad naar een bestand, afbeelding of QuickTimefilm uit een containerveld wilt ophalen, gebruikt u de functie CAST() met een SELECTinstructie. 1 Als er bestandsgegevens of binaire JPEG-gegevens bestaan, haalt de SELECT-instructie met GetAS(veldnaam, 'JPEG') de gegevens in binaire vorm op; anders geeft de SELECTinstructie met veldnaam het resultaat NULL. Gebruik de functie CAST() met een SELECT-instructie om bestandsverwijzingsinformatie op te halen. SELECT CAST (Bedrijfsbrochures AS VARCHAR) FROM Verkoopgegevens Als u in dit voorbeeld: 1 in het containerveld een bestand zou invoegen met behulp van FileMaker Pro, maar alleen een verwijzing naar het bestand zou opslaan, haalt de SELECT-instructie de bestandsverwijzingsinformatie op als type SQL_VARCHAR. 1 in het containerveld de inhoud van een bestand zou invoegen met behulp van FileMaker Pro, haalt de SELECT-instructie de naam van het bestand op. 1 in het containerveld een bestand uit een andere toepassing zou importeren, geeft de SELECT-instructie '?' weer (het bestand verschijnt als Untitled.dat (Naamloos.dat) in FileMaker Pro). U kunt de SELECT-instructie met de functie GetAs() gebruiken om de gegevens in binaire vorm op te halen op de volgende manieren: 1 Wanneer u de functie GetAs() met de optie DEFAULT gebruikt, haalt u de masterstroom voor de container op zonder het stroomtype uitdrukkelijk te moeten definiëren. SELECT GetAs (Bedrijfsbrochures, DEFAULT) FROM Verkoopgegevens 1 Als u een afzonderlijke stroomtype uit een container wilt ophalen, gebruikt u de functie GetAs() met het bestandstype op basis van de manier waarop de gegevens in het containerveld in FileMaker Pro zijn ingevoegd. Als de gegevens zijn ingevoegd met behulp van de opdracht Invoegen > Bestand, geeft u 'FILE' op in de functie GetAs(). SELECT GetAs (Bedrijfsbrochures, 'FILE') FROM Verkoopgegevens
17 Hoofdstuk 2 Ondersteunde standaarden 17 Als de gegevens zijn ingevoegd met behulp van de opdracht Invoegen > Afbeeldingen, met slepen en neerzetten of door ze vanaf het klembord te plakken, geeft u een van de bestandstypen op die in de volgende tabel zijn vermeld, zoals 'JPEG'. SELECT GetAs (Bedrijfslogo, 'JPEG') FROM Bedrijf_Pictogrammen Bestandstype 'GIFf' 'JPEG' 'TIFF' 'PDF' 'PNGf' Beschrijving Graphics Interchange Format Fotografische afbeeldingen Rasterbestandsindeling voor digitale afbeeldingen Portable Document Format Bitmapafbeeldingsindeling De instructie DELETE Gebruik de instructie DELETE om records uit een databasetabel te verwijderen. De instructie DELETE is als volgt gestructureerd: DELETE FROM tabelnaam [ WHERE { voorwaarden } ] Opmerking Het element WHERE bepaalt welke records moeten worden verwijderd. Als u het element WHERE niet toevoegt, worden alle records in de tabel verwijderd (maar blijft de tabel behouden). Verwijder een record uit de tabel werkn. DELETE FROM werkn WHERE werkn-id = 'E10001' Elke DELETE-instructie verwijdert elke record die aan de voorwaarden van het WHEREelement beantwoordt. In dit geval wordt elke record met de werknemer-id E10001 verwijderd. Aangezien werknemer-id's uniek zijn in de tabel Werknemer, wordt er slechts één record verwijderd. De instructie INSERT Gebruik de instructie INSERT om records in een databasetabel te maken. U kunt een van de volgende waarden opgeven: 1 Een lijst met waarden die als een nieuwe record moeten worden ingevoegd 1 Een SELECT-instructie die gegevens uit een andere tabel kopieert die als een nieuwe reeks records moeten worden ingevoegd De instructie INSERT is als volgt gestructureerd: INSERT INTO tabelnaam [(kolomnaam,...)] VALUES (uitdr,...)
18 Hoofdstuk 2 Ondersteunde standaarden 18 kolomnaam is een optionele lijst met kolomnamen die de naam en volgorde van de kolommen aangeeft waarvan de waarde in het VALUES-element zijn opgegeven. Als u kolomnaam weglaat, moeten de waarde-uitdrukkingen (uitdr) waarden bieden voor alle kolommen die in de tabel zijn gedefinieerd en moeten ze dezelfde volgorde hebben als de kolommen die voor de tabel zijn gedefinieerd. kolomnaam kan ook een veldherhaling opgeven, zoals laatstedatums[4]. uitdr is de lijst met uitdrukkingen die de waarden voor de kolommen van de nieuwe record geeft. Doorgaans zijn de uitdrukkingen constante waarden voor de kolommen (maar ze kunnen ook een subopvraag zijn). Tekenreekswaarden moet u tussen enkele aanhalingstekens (') plaatsen. Als u een dergelijk aanhalingsteken wilt invoegen in een tekenreekswaarde die zelf al tussen enkele aanhalingstekens is geplaatst, gebruikt u twee opeenvolgende enkele aanhalingstekens (bijvoorbeeld: 'Programma''s'). Subopvragen moeten tussen haakjes worden geplaatst. Voeg een lijst met uitdrukkingen in. INSERT INTO werkn (achternaam, voornaam, werkn-id, salaris, in_dienst) VALUES ('Smit', 'Jan', 'E22345', 27500, DATE ' ') Elke INSERT-instructie voegt één record aan de databasetabel toe. In dit geval is een record toegevoegd aan de werknemersdatabasetabel werkn. Waarden worden opgegeven voor vijf kolommen. Aan de resterende kolommen in de tabel wordt een lege waarde (Null) toegewezen. Opmerking In containervelden kunt u alleen tekst INSERT, tenzij u een instructie met parameters voorbereidt en de gegevens vanuit uw toepassing stroomsgewijs overbrengt. Als u binaire gegevens wilt gebruiken, kunt u de bestandsnaam gewoon toewijzen door deze tussen enkele aanhalingstekens te plaatsen of de functie PutAs() te gebruiken. Wanneer de bestandsnaam wordt opgegeven, wordt het bestandstype afgeleid van de bestandsextensie: INSERT INTO tabelnaam (containernaam) VALUES(? AS 'bestandsnaam.bestandsextensie') Niet-ondersteunde bestandstypen worden ingevoegd als het type FILE. Bij het gebruik van de functie PutAs() geeft u het type op: PutAs (kol, type ), waarbij de typewaarde een ondersteund bestandstype is dat is beschreven in "De inhoud van een containerveld ophalen: de functie CAST() en GetAs()" op pagina 16. De SELECT-instructie is een opvraag die als resultaat waarden geeft voor elke kolomnaamwaarde die in de lijst met kolomnamen is opgegeven. Als u een SELECT-instructie gebruikt in plaats van een lijst met waarde-uitdrukkingen kunt u een reeks rijen uit een tabel selecteren en deze in een andere tabel invoegen met behulp van één INSERT-instructie. Voeg in met een SELECT-instructie. INSERT INTO werkn1 (voornaam, achternaam, werkn-id, afd, salaris) SELECT voornaam, achternaam, werkn-id, afd, salaris FROM werkn WHERE afd = 'D050'
19 Hoofdstuk 2 Ondersteunde standaarden 19 In dit type INSERT-instructie moet het aantal in te voegen kolommen overeenkomen met het aantal kolommen in de SELECT-instructie. De lijst met in te voegen kolommen moet overeenkomen met de kolommen in de SELECT-instructie, net zoals deze ook zou moeten overeenkomen met een lijst met waarde-uitdrukkingen in het andere type INSERT-instructie. De eerste ingevoegde kolom komt bijvoorbeeld overeen met de eerste geselecteerde kolom; de tweede ingevoegde kolom met de tweede geselecteerde kolom, enzovoort. De grootte en het gegevenstype van deze overeenkomende kolommen moet compatibel zijn. Elke kolom in de SELECT-lijst moet een gegevenstype hebben dat het ODBC- of JDBCclientstuurprogramma accepteert bij een normale INSERT/UPDATE van de overeenkomstige kolom in de INSERT-lijst. Waarden worden afgekapt wanneer de waarde in de kolom van de SELECT-lijst groter is dan die van de overeenkomende kolom van de INSERT-lijst. De SELECT-instructie wordt geëvalueerd voordat waarden worden ingevoegd. De instructie UPDATE Gebruik de instructie UPDATE om records in een databasetabel te wijzigen. De instructie UPDATE is als volgt gestructureerd: UPDATE tabelnaam SET kolomnaam = uitdr,... [ WHERE { voorwaarden } ] kolomnaam is de naam van een kolom waarvan de waarden moeten worden gewijzigd. Met één instructie kunnen meerdere kolommen worden gewijzigd. uitdr is de nieuwe waarde voor de kolom. Doorgaans zijn de uitdrukkingen constante waarden voor de kolommen (maar ze kunnen ook een subopvraag zijn). Tekenreekswaarden moet u tussen enkele aanhalingstekens (') plaatsen. Als u een dergelijk aanhalingsteken wilt invoegen in een tekenreekswaarde die zelf al tussen enkele aanhalingstekens is geplaatst, gebruikt u twee opeenvolgende enkele aanhalingstekens (bijvoorbeeld: 'Programma''s'). Subopvragen moeten tussen haakjes worden geplaatst. Het WHERE-element kan elk geldig element zijn. Dit bepaalt welke records worden bijgewerkt. UPDATE-instructie voor de tabel werkn. UPDATE werkn SET salaris=32000, vrijstelling=1 WHERE werkn-id = 'E10001' De UPDATE-instructie wijzigt elke record die aan de voorwaarden van het WHERE-element beantwoordt. In dit geval worden het salaris en de status Vrijstelling gewijzigd voor alle werknemers met de werknemer-id E Aangezien werknemer-id's uniek zijn in de tabel Werknemer, wordt er slechts één record bijgewerkt.
20 Hoofdstuk 2 Ondersteunde standaarden 20 UPDATE-instructie voor de tabel werkn met een subopvraag. UPDATE werkn SET salaris = (SELECT gem(salaris) FROM werkn) WHERE werkn-id = 'E10001' In dit geval wordt het salaris gewijzigd in het gemiddelde salaris van het bedrijf voor de werknemer met werknemer-id ID E Opmerking In containervelden kunt u alleen tekst UPDATE, tenzij u een instructie met parameters voorbereidt en de gegevens vanuit uw toepassing stroomsgewijs overbrengt. Als u binaire gegevens wilt gebruiken, kunt u de bestandsnaam gewoon toewijzen door deze tussen enkele aanhalingstekens te plaatsen of de functie PutAs() te gebruiken. Wanneer de bestandsnaam wordt opgegeven, wordt het bestandstype afgeleid van de bestandsextensie: UPDATE tabelnaam SET (containernaam) =? AS 'bestandsnaam.bestandsextensie' Niet-ondersteunde bestandstypen worden ingevoegd als het type FILE. Bij het gebruik van de functie PutAs() geeft u het type op: PutAs (kol, type ), waarbij de typewaarde een ondersteund bestandstype is dat is beschreven in "De inhoud van een containerveld ophalen: de functie CAST() en GetAs()" op pagina 16. De instructie CREATE TABLE Gebruik de instructie CREATE TABLE om een tabel in een databasebestand te maken. De instructie CREATE TABLE is als volgt gestructureerd: CREATE TABLE tabelnaam ( lijst_tabelelement [, lijst_tabelelement...] ) In de instructie geeft u de naam en het gegevenstype van elke kolom op. 1 tabelnaam is de naam van de tabel. tabelnaam mag maximaal 100 tekens lang zijn. Er mag niet al een tabel met dezelfde naam zijn gedefinieerd. De tabelnaam moet beginnen met een letter. Als de tabelnaam begint met een ander teken dan een letter, plaatst u het tussen dubbele aanhalingstekens (ID tussen aanhalingstekens). 1 De syntaxis voor lijst_tabelelement is: veldnaam veldtype [[herhalingen]] [DEFAULT expr] [UNIQUE NOT NULL PRIMARY KEY GLOBAL] [EXTERNAL tekenreeks_relatief_pad [SECURE OPEN tekenreeks_berekeningspad]] 1 naam_veld is de naam van het veld. Veldnamen moeten uniek zijn. Veldnamen beginnen met een letter. Als de veldnaam begint met een ander teken dan een letter, plaatst u het tussen dubbele aanhalingstekens (ID tussen aanhalingstekens). De instructie CREATE TABLE voor het veld _ACHTERNAAM is: CREATE TABLE "_WERKNEMER" (ID INT PRIMARY KEY, "_NAAM" VARCHAR(20), "_ACHTERNAAM" VARCHAR(20)) 1 Voor de instructie CREATE TABLE herhalingen, geeft u een veldherhaling op door na het veldtype een getal van 1 tot en met tussen haakjes te plaatsen.
21 Hoofdstuk 2 Ondersteunde standaarden 21 WERKNEMER-ID INT[4] ACHTERNAAM VARCHAR(20)[4] 1 veldtype kan een van de volgende typen zijn: NUMERIC, DECIMAL, INT, DATE, TIME, TIMESTAMP, VARCHAR, CHARACTER VARYING, BLOB, VARBINARY, LONGVARBINARY, of BINARY VARYING. Voor NUMERIC en DECIMAL kunt u de precisie en schaal opgeven. Bijvoorbeeld: DECIMAL(10,0). Voor TIME en TIMESTAMP kunt u de precisie opgeven. Bijvoorbeeld: TIMESTAMP(6). Voor VARCHAR en CHARACTER VARYING kunt u de lengte van de tekenreeks opgeven. VARCHAR(255) 1 Met het trefwoord DEFAULT kunt u een standaardwaarde voor een kolom instellen. Voor uitdr kunt u een constante waarde of uitdrukking gebruiken. Toegestane uitdrukkingen zijn USER, USERNAME, CURRENT_USER, CURRENT_DATE, CURDATE, CURRENT_TIME, CURTIME, CURRENT_TIMESTAMP, CURTIMESTAMP en NULL. 1 Als u een kolom definieert als UNIQUE, wordt automatisch de bevestigingsoptie Uniek geselecteerd voor het overeenkomende veld in het FileMaker-databasebestand. 1 Als u een kolom definieert als NOT NULL, wordt automatisch de bevestigingsoptie Niet leeg geselecteerd voor het overeenkomende veld in het FileMaker-databasebestand. In FileMaker Pro wordt het veld op het tabblad Velden van het dialoogvenster Database beheren gemarkeerd als een Vereiste waarde. 1 Als u een kolom als een containerveld wilt definiëren, gebruikt u BLOB, VARBINARY of BINARY VARYING voor het type_veld. 1 Als u een kolom wilt definiëren als een containerveld waarin externe gegevens worden opgeslagen, gebruikt u het trefwoord EXTERNAL. De tekenreeks_relatief_pad definieert de map waarin de gegevens extern zijn opgeslagen, in verhouding tot de locatie van de FileMaker-database. Dit pad moet worden opgegeven als de basismap in het FileMaker Pro-dialoogvenster Containers beheren. U dient SECURE op te geven voor veilige opslag of OPEN voor open opslag. Als u open opslag gebruikt, is tekenreeks_berekeningspad de map in de map tekenreeks_relatief_pad waarin containerobjecten moeten worden opgeslagen. Het pad moet slashes (/) in de mapnaam gebruiken. en Zo gebruikt u een -SQL tekstkolom CREATE TABLE T1 (C1 VARCHAR, C2 VARCHAR (50), C3 VARCHAR (1001), C4 VARCHAR (500276)) tekstkolom, NOT NULL numerieke kolom CREATE TABLE T1NN (C1 VARCHAR NOT NULL, C2 VARCHAR (50) NOT NULL, C3 VARCHAR (1001) NOT NULL, C4 VARCHAR (500276) NOT NULL) CREATE TABLE T2 (C1 DECIMAL, C2 DECIMAL (10,0), C3 DECIMAL (7539,2), C4 DECIMAL (497925,301))
22 Hoofdstuk 2 Ondersteunde standaarden 22 Zo gebruikt u een datumkolom tijdkolom tijdstempelkolom kolom voor containerveld kolom voor containerveld voor externe opslag -SQL CREATE TABLE T3 (C1 DATE, C2 DATE, C3 DATE, C4 DATE) CREATE TABLE T4 (C1 TIME, C2 TIME, C3 TIME, C4 TIME) CREATE TABLE T5 (C1 TIMESTAMP, C2 TIMESTAMP, C3 TIMESTAMP, C4 TIMESTAMP) CREATE TABLE T6 (C1 BLOB, C2 BLOB, C3 BLOB, C4 BLOB) CREATE TABLE T7 (C1 BLOB EXTERNAL 'Bestanden/MijnDatabase/' SECURE) CREATE TABLE T8 (C1 BLOB EXTERNAL 'Bestanden/MijnDatabase/' OPEN 'Objecten') De instructie TRUNCATE TABLE Gebruik de instructie TRUNCATE TABLE om snel alle records in de opgegeven tabel te verwijderen, waardoor de tabel geen gegevens meer bevat. TRUNCATE TABLE tabelnaam U kunt geen WHERE-element bij de instructie TRUNCATE TABLE opgeven. De instructie TRUNCATE TABLE verwijdert alle records. Alleen de records in de tabel opgegeven door tabelnaam worden verwijderd. Dit is niet van invloed op records uit gerelateerde tabellen. De instructie TRUNCATE TABLE moet alle records in de tabel kunnen vergrendelen om de recordgegevens te verwijderen. Als een record in de tabel is vergrendeld door een andere gebruiker, geeft FileMaker foutcode 301 ( Record wordt al door een andere gebruiker gebruikt ). De instructie ALTER TABLE Gebruik de instructie ALTER TABLE om de structuur van een bestaande tabel in een databasebestand te wijzigen. In elke instructie kunt u slechts één kolom wijzigen. De instructie ALTER TABLE is als volgt gestructureerd: ALTER TABLE tabelnaam ADD [COLUMN] kolomdefinitie ALTER TABLE tabelnaam DROP [COLUMN] niet-gekwalificeerde_kolomnaam ALTER TABLE tabelnaam ALTER [COLUMN] kolomdefinitie SET DEFAULT uitdr ALTER TABLE tabelnaam ALTER [COLUMN] kolomdefinitie DROP DEFAULT Voordat u de instructie ALTER TABLE gebruikt, moet u wel de tabelstructuur kennen en weten hoe u deze wilt wijzigen.
23 Hoofdstuk 2 Ondersteunde standaarden 23 en Om dit te doen kolommen toevoegen kolommen verwijderen de standaardwaarde voor een kolom instellen de standaardwaarde voor een kolom verwijderen -SQL ALTER TABLE Verkopers ADD C1 VARCHAR ALTER TABLE Verkopers DROP C1 ALTER TABLE Verkopers ALTER Bedrijf SET DEFAULT 'FileMaker' ALTER TABLE Verkopers ALTER Bedrijf DROP DEFAULT Opmerking SET DEFAULT en DROP DEFAULT hebben geen invloed op bestaande rijen in de tabel, maar wijzigen de standaardwaarde voor rijen die vervolgens aan de tabel worden toegevoegd. De instructie CREATE INDEX Gebruik de instructie CREATE INDEX om zoekacties in uw databasebestand te versnellen. De instructie CREATE INDEX is als volgt gestructureerd: CREATE INDEX ON tabelnaam.kolomnaam CREATE INDEX ON tabelnaam (kolomnaam) CREATE INDEX wordt ondersteund voor één kolom (indices van meerdere kolommen worden niet ondersteund). Indices zijn niet toegestaan op kolommen die overeenstemmen met containerveldtypen, resumévelden, velden met de optie globale opslag, of niet-opgeslagen berekeningvelden in een FileMaker-databasebestand. Als u voor een tekstkolom een index maakt, wordt in Indexeren automatisch de opslagoptie Minimaal geselecteerd voor het overeenkomstige veld in het FileMaker-databasebestand. Als u voor een niet-tekstkolom (of een kolom die als Japanse tekst is opgemaakt) een index maakt, wordt automatisch de opslagoptie Alles in Indexeren geselecteerd voor het overeenkomstige veld in het FileMaker-databasebestand. Als u voor een willekeurige kolom een index maakt, wordt in Indexeren automatisch de opslagoptie Automatisch indices maken indien nodig geselecteerd voor het overeenkomstige veld in het FileMaker-databasebestand. FileMaker maakt automatisch indices indien nodig. Door CREATE INDEX te gebruiken, wordt de index onmiddellijk opnieuw opgebouwd in plaats van op verzoek. CREATE INDEX ON Verkopers.Verkoper-id De instructie DROP INDEX Gebruik de instructie DROP INDEX om een index uit een databasebestand te verwijderen. De instructie DROP INDEX is als volgt gestructureerd: DROP INDEX ON tabelnaam.kolomnaam DROP INDEX ON tabelnaam (kolomnaam) Verwijder een index wanneer uw databasebestand te groot is of als u in opvragen niet vaak een veld gebruikt.
24 Hoofdstuk 2 Ondersteunde standaarden 24 Als uw opvragen slechte resultaten geven en u werkt met een extreem groot FileMakerdatabasebestand met een groot aantal geïndexeerde tekstvelden, kunt u overwegen om de index van bepaalde velden weg te laten. U kunt ook overwegen om de index weg te laten van velden die u zelden gebruikt in SELECT-instructies. Als u voor een willekeurige kolom een index weglaat, wordt in Indexeren automatisch de opslagoptie Geen geselecteerd en wordt de opslagoptie Automatisch indices maken indien nodig uitgeschakeld voor het overeenkomstige veld in het FileMaker-databasebestand. Het kenmerk PREVENT INDEX CREATION wordt niet ondersteund. DROP INDEX ON Verkopers.Verkoper-id SQL-uitdrukkingen Gebruik uitdrukkingen in WHERE-, HAVING- en ORDER BY-elementen van SELECT-instructies om gedetailleerde en geavanceerde databaseopvragen te maken. Geldige uitdrukkingselementen zijn: 1 Veldnamen 1 Constanten 1 Exponentiële/wetenschappelijke opmaak 1 Numerieke operatoren 1 Operatoren voor lettertekens 1 Datumoperatoren 1 Relationele operatoren 1 Logische operatoren 1 Functies Veldnamen De meest algemene uitdrukking is een eenvoudige veldnaam, zoals berek of Verkoopgegevens.Factuur-id. Constanten Constanten zijn waarden die niet wijzigen. In de uitdrukking PRIJS * 1,05 is de waarde 1,05 een constante. U kunt ook de waarde 30 toewijzen aan de constante Aantal_dagen_in_juni. Tekenreeksconstanten moet u tussen enkele aanhalingstekens (') plaatsen. Als u een dergelijk aanhalingsteken wilt invoegen in een tekenreeksconstante die zelf al tussen enkele aanhalingstekens is geplaatst, gebruikt u twee opeenvolgende enkele aanhalingstekens (bijvoorbeeld: 'Programma''s').
25 Hoofdstuk 2 Ondersteunde standaarden 25 Voor ODBC- en JDBC-toepassingen accepteert FileMaker datum-, tijd- en tijdstempelconstanten met de ODBC/JDBC-opmaak tussen accolades ({}). en 1 {D ' '} 1 {T '14:35:10'} 1 {TS ' :35:10'} FileMaker accepteert typeaanduidingen (D, T, TS) in hoofdletters of kleine letters. Na de typeaanduiding kunt u een willekeurig aantal spaties plaatsen of de spatie zelfs overslaan. FileMaker accepteert ook ISO-datum- en tijdopmaak van de syntaxis SQL-92 zonder accolades. en 1 DATE 'JJJJ-MM-DD' 1 TIME 'HH:MM:SS' 1 TIMESTAMP 'JJJJ-MM-DD HH:MM:SS' De functie ExecuteSQL van FileMaker Pro accepteert alleen ISO-datum- en tijdopmaak van de syntaxis SQL-92 zonder accolades. Constante Tekst Toegestane syntaxis (voorbeelden) 'Parijs' Getal 1.05 Datum Tijd Tijdstempel DATE ' ' { D ' ' } {06/05/2019} {06/05/19} Opmerking De syntaxis van twee jaarcijfers wordt niet ondersteund voor de ODBC/JDBCof SQL-92-opmaak. TIME '14:35:10' { T'14:35:10' } {14:35:10} TIMESTAMP ' :35:10' { TS ' :35:10' } {06/05/ :35:10} {06/05/19 14:35:10} Zorg ervoor dat Restrictie gegevenstype: Jaartal in 4 cijfers niet is geselecteerd als een bevestigingsoptie in het FileMaker-databasebestand voor een veld dat deze syntaxis van twee jaarcijfers gebruikt. Opmerking De syntaxis van twee jaarcijfers wordt niet ondersteund voor de ODBC/JDBCof SQL-92-opmaak. Bij het invoeren van datum- en tijdwaarden gebruikt u de taalinstellingen van het databasebestand. Als de database bijvoorbeeld in een Italiaans taalsysteem is gemaakt, gebruikt u de Italiaanse datum- en tijdopmaak.
26 Hoofdstuk 2 Ondersteunde standaarden 26 Exponentiële/wetenschappelijke opmaak Getallen kunnen worden uitgedrukt met behulp van wetenschappelijke opmaak. SELECT kolom1 / 3.4E+7 FROM tabel1 WHERE berek < 3.4E-6 * kolom2 Numerieke operatoren U kunt de volgende operatoren gebruiken in getaluitdrukkingen: +, -, *, / en ^ of ** (exponentberekening). U kunt numerieke uitdrukkingen laten voorafgaan door een monadisch plusteken (+) of minteken (-). Operatoren voor lettertekens U kunt lettertekens samenvoegen. In het volgende is de achternaam 'DIJKSTRA ' en de naam 'ROB '. Operator Samenvoeging Resultaat + Met behoud van volgspaties voornaam + naam 'ROB DIJKSTRA ' - Volgspaties verplaatsen naar het einde voornaam - naam 'ROBDIJKSTRA ' Datumoperatoren U kunt datums wijzigen. In het volgende is in_dienst DATE ' '. Operator Effect op datum Resultaat + Voeg een aantal dagen aan een datum toe in_dienst + 5 DATE ' - Zoek het aantal dagen tussen twee datums in_dienst - DATE ' ' 29 Trek een aantal dagen van een datum af in_dienst - 10 DATE ' ' Extra voorbeelden SELECT Verkoopdatum, Verkoopdatum + 30 AS totaal FROM Verkoopgegevens SELECT Verkoopdatum, Verkoopdatum - 30 AS totaal FROM Verkoopgegevens
27 Hoofdstuk 2 Ondersteunde standaarden 27 Relationele operatoren Operator Betekenis = Gelijk aan <> Niet gelijk aan > Groter dan >= Groter dan of gelijk aan < Kleiner dan <= Kleiner dan of gelijk aan LIKE NOT LIKE IS NULL IS NOT NULL BETWEEN IN NOT IN EXISTS ANY ALL Komt overeen met een patroon Komt niet overeen met een patroon Gelijk aan Null Niet gelijk aan Null Reeks waarden tussen een boven- en ondergrens Een onderdeel van een reeks opgegeven waarden of een onderdeel van een subopvraag Geen onderdeel van een reeks opgegeven waarden of geen onderdeel van een subopvraag True (Waar) als een subopvraag minimaal één record als resultaat geeft Vergelijkt een waarde met elke resultaatwaarde van een subopvraag (operator moet vooraf worden gegaan door =, <>, >, >=, < of <=). =Any komt overeen met In Vergelijkt een waarde met elke resultaatwaarde van een subopvraag (operator moet vooraf worden gegaan door =, <>, >, >=, < of <=)
28 Hoofdstuk 2 Ondersteunde standaarden 28 SELECT Verkoopgegevens.Factuur-id FROM Verkoopgegevens WHERE Verkoopgegevens.Verkoper-ID = 'VK-1' SELECT Verkoopgegevens.Bedrag FROM Verkoopgegevens WHERE Verkoopgegevens.Factuur-ID <> 125 SELECT Verkoopgegevens.Bedrag FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrag > 3000 SELECT Verkoopgegevens.Verkooptijdstip FROM Verkoopgegevens WHERE Verkoopgegevens.Verkooptijdstip < '12:00:00' SELECT Verkoopgegevens.Bedrijfsnaam FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrijfsnaam LIKE '%Universiteit' SELECT Verkoopgegevens.Bedrijfsnaam FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrijfsnaam NOT LIKE '%Universiteit' SELECT Verkoopgegevens.Bedrag FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrag IS NULL SELECT Verkoopgegevens.Bedrag FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrag IS NOT NULL SELECT Verkoopgegevens.Factuur-id FROM Verkoopgegevens WHERE Verkoopgegevens.Factuurnummer BETWEEN 1 AND 10 SELECT COUNT (Verkoopgegevens.Factuur-ID) AS totaal FROM Verkoopgegevens WHERE Verkoopgegevens.FACTUUR-ID IN (50,250,100) SELECT COUNT (Verkoopgegevens.Factuur-ID) AS totaal FROM Verkoopgegevens WHERE Verkoopgegevens.FACTUUR-ID NOT IN (50,250,100) SELECT COUNT (Verkoopgegevens.Factuur-id) AS totaal FROM Verkoopgegevens WHERE Verkoopgegevens.FACTUUR-ID NOT IN (SELECT Verkoopgegevens.Factuur-ID FROM Verkoopgegevens WHERE Verkoopgegevens.Verkoper-ID = 'SP-4') SELECT * FROM Verkoopgegevens WHERE EXISTS (SELECT Verkoopgegevens.Bedrag FROM Verkoopgegevens WHERE Verkoopgegevens.Verkoper-ID IS NOT NULL) SELECT * FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrag = ANY (SELECT Verkoopgegevens.Bedrag FROM Verkoopgegevens WHERE Verkoopgegevens.Verkoper-ID = 'SP-1') SELECT * FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrag = ALL (SELECT Verkoopgegevens.Bedrag FROM Verkoopgegevens WHERE Verkoopgegevens.Verkoper-ID IS NULL) Logische operatoren U kunt twee of meer voorwaarden combineren. De voorwaarden moeten aan elkaar gekoppeld zijn met AND of OR, bijvoorbeeld: salaris = AND vrijstelling = 1 De logische NOT-operator wordt gebruikt om een betekenis om te keren, bijvoorbeeld: NOT (salaris = AND vrijstelling = 1)
29 Hoofdstuk 2 Ondersteunde standaarden 29 SELECT * FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrijfsnaam NOT LIKE '%Universiteit' AND Verkoopgegevens.Bedrag > 3000 SELECT * FROM Verkoopgegevens WHERE (Verkoopgegevens.Bedrijfsnaam LIKE '%Universiteit' OR Verkoopgegevens.Bedrag > 3000) AND Verkoopgegevens.Verkopercode = 'SP-1' Prioriteit van operatoren Naarmate uitdrukkingen complexer worden, wordt ook de volgorde waarin de uitdrukkingen worden geëvalueerd belangrijker. Deze tabel geeft de volgorde aan waarin de operatoren worden geëvalueerd. De operatoren op de eerste regel worden eerst geëvalueerd, enzovoort. Operatoren op dezelfde regel worden van links naar rechts in de uitdrukking geëvalueerd. Prioriteit Operator 1 Monadisch minteken '-', Monadisch plusteken '+' 2 ^, ** 3 *, / 4 +, - 5 =, <>, <, <=, >, >=, Like, Not Like, Is Null, Is Not Null, Between, In, Exists, Any, All 6 Not 7 AND 8 OR en WHERE salaris > OR in_dienst > (DATE ' '} AND afd = 'D101' Aangezien AND eerst wordt geëvalueerd, haalt u met deze opvraag de werknemers uit afdeling D101 op die in dienst zijn getreden na woensdag 30 januari 2008, maar ook elke werknemer die meer dan verdient, ongeacht de afdeling of de datum van indiensttreding. Als u de evaluatie in een andere volgorde wilt laten uitvoeren, plaatst u de voorwaarden die eerst moeten worden geëvalueerd tussen haakjes. WHERE (salaris > OR in_dienst > DATE ' '} AND afd = 'D101' Met dit voorbeeld haalt u werknemers uit de afdeling D101 op die meer dan verdienen of die na woensdag 30 januari 2008 in dienst zijn getreden. SQL-functies FileMaker SQL ondersteunt vele functies die u in uitdrukkingen kunt gebruiken. Sommige functies geven als resultaat tekenreeksen, andere geven als resultaat getallen of data, en nog andere geven als resultaat waarden die afhangen van voorwaarden die worden voldaan door de functieargumenten.
30 Hoofdstuk 2 Ondersteunde standaarden 30 Totaalfuncties Totaalfuncties geven als resultaat één waarde uit een reeks records. U kunt een totaalfunctie gebruiken als onderdeel van een SELECT-instructie, of met een veldnaam (bijvoorbeeld AVG(SALARIS)), of in combinatie met een kolomuitdrukking (bijvoorbeeld AVG(SALARIS * 1,07)). U kunt de kolomuitdrukking laten voorafgaan door de operator DISTINCT om dubbele waarden weg te laten. COUNT (DISTINCT achternaam) In dit voorbeeld worden alleen unieke waarden voor achternaam geteld. Totaalfunctie SUM AVG COUNT MAX MIN Geeft dit als resultaat Het totaal van de waarden in een numerieke velduitdrukking. SUM (SALARIS) geeft bijvoorbeeld als resultaat de som van alle waarden van het veld Salaris. Het gemiddelde van de waarden in een numerieke velduitdrukking. AVG (SALARIS) geeft bijvoorbeeld als resultaat het gemiddelde van alle waarden van het veld Salaris. Het aantal waarden in een willekeurige velduitdrukking. COUNT (NAAM) geeft bijvoorbeeld naamwaarden als resultaat. Bij het gebruik van COUNT met een veldnaam geeft COUNT als resultaat het aantal veldwaarden dat niet null is. Een speciaal voorbeeld is COUNT(*). Dat geeft als resultaat het aantal records in de reeks, met inbegrip van records met 'null'-waarden. De maximale waarde in een willekeurige velduitdrukking. MAX(SALARIS) geeft bijvoorbeeld als resultaat de maximale waarde in het veld Salaris. De minimale waarde in een willekeurige velduitdrukking. MIN(SALARIS) geeft bijvoorbeeld als resultaat de minimale waarde in het veld Salaris. SELECT SUM (Verkoopgegevens.Bedrag) AS totaal FROM Verkoopgegevens SELECT AVG (Verkoopgegevens.Bedrag) AS totaal FROM Verkoopgegevens SELECT COUNT (Verkoopgegevens.Bedrag) AS totaal FROM Verkoopgegevens SELECT MAX (Verkoopgegevens.Bedrag) AS totaal FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrag < 3000 SELECT MIN (Verkoopgegevens.Bedrag) AS totaal FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrag > 3000 U kunt geen totaalfunctie gebruiken als een argument bij andere functies. Als u dat toch doet, geeft FileMaker foutcode 8309 ( Expressions involving aggregations are not supported ). De volgende instructie is bijvoorbeeld ongeldig omdat de totaalfunctie SUM niet kan worden gebruikt als een argument bij de functie ROUND: SELECT ROUND(SUM(Salaris), 0) FROM Loonlijst
31 Hoofdstuk 2 Ondersteunde standaarden 31 Totaalfuncties kunnen wel functies gebruiken die getallen als argumenten geven. De volgende instructie is geldig. SELECT SUM(ROUND(Salaris, 0)) FROM Loonlijst Functies die tekenreeksen als resultaat geven Functies die tekenreeksen als resultaat geven Beschrijving CHR CURRENT_USER DAYNAME Converteert een ASCII-code naar een tekenreeks van één teken Geeft als resultaat de aanmeldings-id die op het tijdstip van aanmelding is opgegeven Geeft als resultaat de naam van de dag die met een opgegeven datum overeenkomt CHR (67) geeft als resultaat C. RTRIM Verwijdert volgspaties uit een tekenreeks RTRIM (' ABC ') geeft als resultaat 'ABC' TRIM Verwijdert voorloop- en volgspaties uit een tekenreeks TRIM (' ABC ') geeft als resultaat 'ABC' LTRIM Verwijdert voorloopspaties uit een tekenreeks LTRIM (' ABC') geeft als resultaat 'ABC' UPPER LOWER LEFT MONTHNAME RIGHT Wijzigt elke letter van een tekenreeks in een hoofdletter Wijzigt elke letter van een tekenreeks in een kleine letter Geeft als resultaat de uiterst linkse tekens van een tekenreeks Geeft als resultaat de naam van de kalendermaand Geeft als resultaat de uiterst rechtse tekens van een tekenreeks UPPER ('Dijkstra') geeft als resultaat 'DIJKSTRA' LOWER ('Dijkstra') geeft als resultaat 'dijkstra' LEFT ('Marion',3) geeft als resultaat 'Mar' RIGHT ('Marion',4 ) geeft als resultaat rion SUBSTR SUBSTRING Geeft als resultaat een subtekenreeks van een tekenreeks, met parameters van de tekenreeks, het eerste te extraheren teken en het aantal te extraheren tekens (optioneel) SUBSTR('Jeroen',2,3) geeft als resultaat 'ero' SUBSTR('Jeroen',2) geeft als resultaat 'eroen' SPACE Genereert een tekenreeks die uit spaties bestaat SPACE(5) geeft als resultaat ' ' STRVAL Converteert een waarde van elk willekeurig type naar een tekenreeks STRVAL('Woltman') geeft als resultaat 'Woltman' STRVAL(5 * 3) geeft als resultaat '15' STRVAL(4 = 5) geeft als resultaat 'False' STRVAL(DATE ' ') geeft als resultaat ' '
32 Hoofdstuk 2 Ondersteunde standaarden 32 Functies die tekenreeksen als resultaat geven Beschrijving TIME TIMEVAL USERNAME USER Geeft als resultaat het tijdstip van de dag als een tekenreeks Geeft als resultaat de aanmeldings-id die op het tijdstip van aanmelding is opgegeven Om 21:49 geeft TIME ( ) dit als resultaat: 21:49:00 Opmerking De functie TIME ( ) wordt niet meer gebruikt. Gebruik in plaats daarvan de SQLstandaard CURRENT_TIME. SELECT CHR (67) + SPACE (1) + CHR (70) FROM Verkopers SELECT RTRIM (' ' + Verkopers.Verkoper-ID) AS totaal FROM Verkopers SELECT TRIM (SPACE(1) + Verkopers.Verkoper-id) AS totaal FROM Verkopers SELECT LTRIM (' ' + Verkopers.Verkoper-ID) AS totaal FROM Verkopers SELECT UPPER (Verkopers.Verkoper-id) AS totaal FROM Verkopers SELECT LOWER (Verkopers.Verkoper-id) AS totaal FROM Verkopers SELECT LEFT (Verkopers.Verkoper-id, 5) AS totaal FROM Verkopers SELECT RIGHT (Verkopers.Verkoper-id, 7) AS totaal FROM Verkopers SELECT SUBSTR (Verkopers.Verkoper-id, 2, 2) + SUBSTR (Verkopers.Verkoper-id, 4, 2) AS totaal FROM Verkopers SELECT SUBSTR (Verkopers.Verkoper-id, 2) + SUBSTR (Verkopers.Verkoper-id, 4) AS totaal FROM Verkopers SELECT SPACE (2) + Verkopers.Verkoper-id AS Verkoper-id FROM Verkopers SELECT STRVAL ('60506') AS totaal FROM Verkoopgegevens WHERE Verkoopgegevens.Factuur = 1
33 Hoofdstuk 2 Ondersteunde standaarden 33 Functies die getallen als resultaat geven Functies die getallen als resultaat geven Beschrijving ABS ATAN Geeft als resultaat de absolute waarde van de numerieke uitdrukking Geeft als resultaat de arctangens van het argument als een hoek, uitgedrukt in radialen ATAN2 Geeft als resultaat de arctangens van de x- en y- coördinaten als een hoek, uitgedrukt in radialen CEIL CEILING DEG DEGREES Geeft als resultaat de kleinste geheel-getalwaarde die groter is dan of gelijk is aan het argument Geeft als resultaat het aantal graden van het argument, als een hoek, uitgedrukt in radialen DAY Geeft als resultaat het daggedeelte van een datum DAY(DATE ' ') geeft als resultaat 30 DAYOFWEEK MOD EXP FLOOR HOUR INT Geeft als resultaat de dag van de week (1-7) van een datumuitdrukking Deelt twee getallen en geeft als resultaat de rest van de deling Geeft als resultaat een waarde die de basis is van de natuurlijke logaritme (e) tot de macht van een door het argument opgegeven getal Geeft als resultaat de grootste geheel-getalwaarde die kleiner is dan of gelijk is aan het argument Geeft als resultaat het urengedeelte van een tijdwaarde Geeft als resultaat het 'geheel getal'-gedeelte van een getal DAYOFWEEK(DATE ' ') geeft als resultaat 7 MOD(10,3) geeft als resultaat 1 INT(6,4321) geeft als resultaat 6 LENGTH Geeft als resultaat de lengte van een tekenreeks LENGTH('ABC') geeft als resultaat 3 MONTH LN LOG Geeft als resultaat het maandgedeelte van een datum MONTH(DATE ' ') geeft als resultaat 1 Geeft als resultaat de natuurlijke logaritme van het argument Geeft als resultaat de algemene logaritme van het argument MAX Geeft als resultaat het grootste van twee getallen MAX(66,89) geeft als resultaat 89 MIN Geeft als resultaat het kleinste van twee getallen MIN (66,89) geeft als resultaat 66 MINUTE NUMVAL PI RADIANS Geeft als resultaat het minutengedeelte van een tijdwaarde Converteert een tekenreeks naar een getal. De functie werkt niet als de tekenreeks geen geldig getal is. Geeft als resultaat de constante waarde van de wiskundige constante pi Geeft als resultaat het aantal radialen voor een argument dat in graden is uitgedrukt NUMVAL ('123') geeft als resultaat 123
34 Hoofdstuk 2 Ondersteunde standaarden 34 Functies die getallen als resultaat geven Beschrijving ROUND Rondt een getal af ROUND(123,456,0) geeft als resultaat 123 ROUND(123,456,2) geeft als resultaat 123,46 ROUND(123,456,-2) geeft als resultaat 100 SECOND SIGN SIN SQRT TAN Geeft als resultaat het secondengedeelte van een tijdwaarde Een indicator van het teken van het argument: -1 voor negatief, 0 voor 0 en 1 voor positief Geeft als resultaat de sinus van een argument Geeft als resultaat de vierkantswortel van een argument Geeft als resultaat de tangens van een argument YEAR Geeft als resultaat het jaargedeelte van een datum YEAR(DATE ' ') geeft als resultaat 2019 Functies die datums als resultaat geven Functies die datums als resultaat geven Beschrijving CURDATE CURRENT_DATE CURTIME CURRENT_TIME CURTIMESTAMP CURRENT_TIMESTAMP TIMESTAMPVAL DATE TODAY DATEVAL Geeft als resultaat de huidige datum Geeft als resultaat de huidige tijd Geeft als resultaat de huidige tijdstempelwaarde Converteert een tekenreeks naar een tijdstempel Geeft als resultaat de huidige datum Converteert een tekenreeks naar een datum TIMESTAMPVAL(' :00:00') geeft de tijdstempelwaarde Als het vandaag is, geeft DATE ( ) als resultaat DATEVAL (' ') geeft als resultaat Opmerking De functie DATE() wordt niet meer gebruikt. Gebruik in plaats daarvan de SQLstandaard CURRENT_DATE.
35 Hoofdstuk 2 Ondersteunde standaarden 35 Voorwaardelijke functies Voorwaardelijke functies Beschrijving CASE WHEN Eenvoudige CASE-syntaxis Vergelijkt de waarde van invoer_uitdr met de waarden van de argumenten waarde_uitdr om het resultaat te bepalen. CASE invoer_uitdr {WHEN waarde_uitdr THEN resultaat...} [ELSE resultaat] END SELECT Factuur-ID, CASE Naam_bedrijf WHEN 'Export VK' THEN 'Export VK gevonden' WHEN 'Leveranciers huismeubilair' THEN 'Leveranciers huismeubilair gevonden' ELSE 'Geen export VK noch Leveranciers huismeubilair' END, Verkoper-ID FROM Verkoopgegevens Gezochte CASE-syntaxis Geeft een resultaat naargelang de opgegeven voorwaarde door een WHEN-uitdrukkingen waar is. CASE {WHEN Booleaanse_uitdr THEN resultaat...} [ELSE resultaat] END SELECT Factuur-ID, Bedrag, CASE WHEN Bedrag > 3000 THEN 'Hoger dan 3000' WHEN Bedrag < 1000 THEN 'Lager dan 3000' ELSE 'Tussen 1000 en 3000' END, Verkoper-ID FROM Verkoopgegevens COALESCE Geeft de eerste waarde die niet NULL is SELECT Verkoper-ID, COALESCE(Verkoopmanager, Verkoper) FROM Verkopers NULLIF Vergelijkt twee waarden en geeft NULL als resultaat als de twee waarden gelijk zijn; anders wordt de eerste waarde als resultaat gegeven SELECT Factuur-ID, NULLIF(Bedrag, -1), Verkoper-ID FROM Verkoopgegevens
36 Hoofdstuk 2 Ondersteunde standaarden 36 FileMaker-systeemobjecten De FileMaker-databasebestanden bevatten de volgende systeemobjecten waar u met SQLopvragen toegang toe hebt. FileMaker-systeemtabellen Elke FileMaker-databasebestand bevat twee systeemtabellen: FileMaker_Tables en FileMaker_Fields. Bij ODBC-toepassingen worden deze tabellen toegevoegd aan de informatie die door de catalogusfunctie SQLTables wordt gegeven. Bij JDBC-toepassingen worden deze tabellen toegevoegd aan de informatie die door de DatabaseMetaData-methode gettables wordt gegeven. De tabellen kunnen ook in ExecuteSQL-functies worden gebruikt. FileMaker_Tables De tabel FileMaker_Tables bevat informatie over de databasetabellen die in het FileMakerbestand zijn gedefinieerd. De tabel FileMaker_Tables bevat een rij voor elke tabelvermelding in de relatiegrafiek met de volgende kolommen: 1 TableName - De naam van de tabelvermelding. 1 TableId - De unieke ID voor de tabelvermelding. 1 BaseTableName - De naam van de basistabel vanwaar de tabelvermelding is gemaakt. 1 BaseFileName - De FileMaker-bestandsnaam voor het databasebestand dat de basistabel bevat. 1 ModCount - Het totale aantal wijzigingen aan de definitie van deze tabel. SELECT TableName FROM FileMaker_Tables WHERE TableName LIKE 'Verkoop%' De tabel FileMaker_Fields De tabel FileMaker_Fields bevat informatie over de velden die in het FileMaker-bestand zijn gedefinieerd. De tabel FileMaker_Fields bevat de volgende kolommen: 1 TableName - De naam van de tabel dat het veld bevat. 1 FieldName - De naam van het veld. 1 FieldType - Het SQL-gegevenstype van het veld. 1 FieldId - De unieke ID voor het veld. 1 FieldClass - Een van drie waarden: Resumé, voor resumévelden; Berekening, voor berekende resultaten; of Normaal. 1 FieldReps - Het aantal herhalingen van het veld. 1 ModCount - Het totale aantal wijzigingen aan de definitie van deze tabel.
37 Hoofdstuk 2 Ondersteunde standaarden 37 SELECT * FROM FileMaker_Fields WHERE TableName='Verkoop' FileMaker-systeemkolommen FileMaker voegt systeemkolommen (velden) toe aan alle rijen (records) in alle tabellen die in het FileMaker-bestand zijn gedefinieerd. Bij ODBC-toepassingen worden deze kolommen toegevoegd aan de informatie die door de catalogusfunctie SQLSpecialColumns wordt gegeven. Bij JDBC-toepassingen worden deze kolommen toegevoegd aan de informatie die door de DatabaseMetaData-methode getversioncolumns wordt gegeven. De kolommen kunnen ook in ExecuteSQL-functies worden gebruikt. De kolom ROWID De systeemkolom ROWID bevat de unieke ID van de record. Dit is dezelfde waarde die de functie Get (RecordID) van FileMaker Pro als resultaat geeft. De kolom ROWMODID De systeemkolom ROWMODID bevat het totale aantal wijzigingen aan de huidige record. Dit is dezelfde waarde die de functie Get (TellingRecordwijzigingen) van FileMaker Pro als resultaat geeft. SELECT ROWID, ROWMODID FROM MijnTabel WHERE ROWMODID > 3
38 Hoofdstuk 2 Ondersteunde standaarden 38 Gereserveerde SQL-trefwoorden De volgende sectie bevat gereserveerde trefwoorden die niet mogen worden gebruikt als naam voor kolommen, tabellen, aliassen of andere zelf gedefinieerde objecten. Als syntaxisfouten optreden, worden die mogelijk veroorzaakt door het gebruik van een van deze gereserveerde woorden. Indien u een van deze trefwoorden wilt gebruiken, dient u dit tussen aanhalingstekens te plaatsen om te voorkomen dat het als een trefwoord wordt verwerkt. Gebruik het trefwoord DEC als naam voor een gegevenselement. create table t ("dec" numeric) ABSOLUTE ACTION ADD ALL ALLOCATE ALTER AND ANY ARE AS ASC ASSERTION AT AUTHORIZATION AVG BEGIN BETWEEN BINARY BIT BIT_LENGTH BLOB BOOLEAN BOTH BY CASCADE CASCADED CASE CAST CATALOG CHAR CHARACTER CHARACTER_LENGTH CHAR_LENGTH CHECK CHR CLOSE COALESCE COLLATE COLLATION COLUMN COMMIT CONNECT CONNECTION CONSTRAINT CONSTRAINTS CONTINUE CONVERT CORRESPONDING COUNT CREATE CROSS CURDATE CURRENT CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CURTIME CURTIMESTAMP DATE DATEVAL DAY DAYNAME DAYOFWEEK DEALLOCATE DEC DECIMAL DECLARE DEFAULT DEFERRABLE DEFERRED DELETE DESC DESCRIBE DESCRIPTOR DIAGNOSTICS DISCONNECT DISTINCT DOMAIN DOUBLE DROP ELSE END
39 Hoofdstuk 2 Ondersteunde standaarden 39 END_EXEC ESCAPE EVERY EXCEPT EXCEPTION EXEC EXECUTE EXISTS EXTERNAL EXTRACT FALSE FETCH FIRST FLOAT FOR FOREIGN FOUND FROM FULL GET GLOBAL GO GOTO GRANT GROUP HAVING HOUR IDENTITY IMMEDIATE IN INDEX INDICATOR INITIALLY INNER INPUT INSENSITIVE INSERT INT INTEGER INTERSECT INTERVAL INTO IS ISOLATION JOIN KEY LANGUAGE LAST LEADING LEFT LENGTH LEVEL LIKE LOCAL LONGVARBINARY LOWER LTRIM MATCH MAX MIN MINUTE MODULE MONTH MONTHNAME NAMES NATIONAL NATURAL NCHAR NEXT NO NOT NULL NULLIF NUMERIC NUMVAL OCTET_LENGTH OF OFFSET ON ONLY OPEN OPTION OR ORDER OUTER OUTPUT OVERLAPS PAD PART PARTIAL PERCENT POSITION PRECISION PREPARE PRESERVE PRIMARY PRIOR PRIVILEGES PROCEDURE PUBLIC READ REAL REFERENCES RELATIVE RESTRICT REVOKE RIGHT ROLLBACK ROUND ROW ROWID ROWS RTRIM SCHEMA SCROLL
40 Hoofdstuk 2 Ondersteunde standaarden 40 SECOND SECTION SELECT SESSION SESSION_USER SET SIZE SMALLINT SOME SPACE SQL SQLCODE SQLERROR SQLSTATE STRVAL SUBSTRING SUM SYSTEM_USER TABLE TEMPORARY THEN TIES TIME TIMESTAMP TIMESTAMPVAL TIMEVAL TIMEZONE_HOUR TIMEZONE_MINUTE TO TODAY TRAILING TRANSACTION TRANSLATE TRANSLATION TRIM TRUE TRUNCATE UNION UNIQUE UNKNOWN UPDATE UPPER USAGE USER USERNAME USING VALUE VALUES VARBINARY VARCHAR VARYING VIEW WHEN WHENEVER WHERE WITH WORK WRITE YEAR ZONE
41 Index A ABS, functie 33 ALL, operator 27 ALTER TABLE (SQL-instructie) 22 AND, operator 28 ANY, operator 27 ATAN, functie 33 ATAN2, functie 33 B BaseFileName 36 BaseTableName 36 BETWEEN, operator 27 binaire gegevens, gebruiken in SELECT 15 BLOB-gegevenstype, gebruiken in SELECT 15 C CASE WHEN, functie 35 CAST-functie 16 CEIL, functie 33 CEILING, functie 33 CHR, functie 31 COALESCE, functie 35 constanten in SQL-uitdrukkingen 24 containerveld extern opgeslagen 21 met CREATE TABLE-instructie 21, 22 met INSERT-instructie 18 met PutAs, functie 18 met SELECT-instructie 16 met UPDATE-instructie 20 CREATE INDEX (SQL-instructie) 23 CREATE TABLE (SQL-instructie) 20 CURDATE, functie 34 CURRENT_DATE, functie 34 CURRENT_TIME, functie 34 CURRENT_TIMESTAMP, functie 34 CURRENT_USER, functie 31 cursors in ODBC 14 CURTIME, functie 34 CURTIMESTAMP, functie 34 D DATE, functie 34 DATEVAL, functie 34 datumoperatoren in SQL-uitdrukkingen 26 datumopmaak 25 DAY, functie 33 DAYNAME, functie 31 DAYOFWEEK, functie 33 DEFAULT (SQL-element) 21 DEG, functie 33 DEGREES, functie 33 DELETE (SQL-instructie) 17 DISTINCT, operator 8 DROP INDEX (SQL-instructie) 23 E ExecuteSQL, functie 6 EXISTS, operator 27 EXP, functie 33 exponentiële opmaak in SQL-uitdrukkingen 26 EXTERNAL (SQL-element) 21 F FETCH FIRST (SQL-element) 14 FieldClass 36 FieldId 36 FieldName 36 FieldReps 36 FieldType 36 FileMaker_Fields 36 FileMaker_Tables 36 FLOOR, functie 33 FOR UPDATE (SQL-element) 14 FROM (SQL-element) 9 FULL OUTER JOIN 10 functies in SQL-uitdrukkingen 29 G geplaatste (positioned) updates en verwijderingen 14 gereserveerde SQL-trefwoorden 38 GetAs-functie 16 GROUP BY (SQL-element) 11 H HAVING (SQL-element) 12 HOUR, functie 33 I IN, operator 27 INNER JOIN 10 INSERT (SQL-instructie) 17 INT, functie 33 IS NOT NULL, operator 27 IS NULL, operator 27
42 Index 42 J JDBC-clientstuurprogramma portalen 7 Unicode-ondersteuning 7 join 10 K kolomaliassen 8 L LEFT OUTER JOIN 10 LEFT, functie 31 lege tekenreeks, gebruiken in SELECT 15 lege waarde in kolommen 18 LENGTH, functie 33 LIKE, operator 27 LN, functie 33 LOG, functie 33 logische operatoren in SQL-uitdrukkingen 28 LOWER, functie 31 LTRIM, functie 31 M MAX, functie 33 MIN, functie 33 MINUTE, functie 33 MOD, functie 33 ModCount 36 MONTH, functie 33 MONTHNAME, functie 31 N NOT IN, operator 27 NOT LIKE, operator 27 NOT NULL (SQL-element) 21 NOT, operator 28 NULL 18 NULLIF, functie 35 numerieke operatoren in SQL-uitdrukkingen 26 NUMVAL, functie 33 O ODBC-clientstuurprogramma portalen 7 Unicode-ondersteuning 7 ODBC-standaarden, naleving 7 OFFSET (SQL-element) 13 operatoren voor lettertekens in SQL-uitdrukkingen 26 operatorprioriteit in SQL-uitdrukkingen 29 OR, operator 28 ORDER BY (SQL-element) 13 OUTER JOIN 10 P peerrijen 14 PI, functie 33 portalen 7 PREVENT INDEX CREATION 24 PutAs, functie 18, 20 R RADIANS, functie 33 relationele operatoren in SQL-uitdrukkingen 27 RIGHT OUTER JOIN 10 RIGHT, functie 31 ROUND, functie 34 ROWID-systeemkolom 37 ROWMODID-systeemkolom 37 RTRIM, functie 31 S SECOND, functie 34 SELECT (SQL-instructie) 8 binaire gegevens 15 BLOB-gegevenstype 15 lege tekenreeks 15 SIGN, functie 34 SIN, functie 34 sorteervolgorde 13 SPACE, functie 31 spaties 26 SQL_C_WCHAR, gegevenstype 7 SQL-92 7 SQL-instructies ALTER TABLE 22 CREATE INDEX 23 CREATE TABLE 20 DELETE 17 DROP INDEX 23 gereserveerde trefwoorden 38 INSERT 17 ondersteund door clientstuurprogramma's 7 SELECT 8 TRUNCATE TABLE 22 UPDATE 19 SQL-standaarden, naleving 7 SQL-totaalfuncties 30 SQL-uitdrukkingen 24 constanten 24 datumoperatoren 26 exponentiële of wetenschappelijke opmaak 26 functies 29 logische operatoren 28 numerieke operatoren 26 operatoren voor lettertekens 26 prioriteit van operatoren 29 relationele operatoren 27 veldnamen 24 SQRT, functie 34
43 Index 43 standaarden naleven 7 STRVAL, functie 31 subopvragen 18 SUBSTR, functie 31 SUBSTRING, functie 31 syntaxisfouten 38 systeemtabellen 36 T tabelaliassen 8, 9 TableId 36 TableName 36 TAN, functie 34 tekenreeks, functies 31 tijdopmaak 25 tijdstempelopmaak 25 TIME, functie 32 TIMESTAMPVAL, functie 34 TIMEVAL, functie 32 TODAY, functie 34 totaalfuncties in SQL 30 trefwoorden, gereserveerde SQL-trefwoorden 38 TRIM, functie 31 TRUNCATE TABLE (SQL-instructie) 22 U uitdrukkingen in SQL 24 Unicode-ondersteuning 7 UNION ( SQL-operator ) 12 UNIQUE (SQL-element) 21 UPDATE (SQL-instructie) 19 UPPER, functie 31 USERNAME, functie 32 V VALUES (SQL-element) 18 veldherhalingen 18, 20 veldnamen in SQL-uitdrukkingen 24 W wetenschappelijke opmaak in SQL-uitdrukkingen 26 WHERE (SQL-element) 11 WITH TIES (SQL-element) 14 Y YEAR, functie 34
FileMaker 13. Naslaggegevens voor SQL
FileMaker 13 Naslaggegevens voor SQL 2013 FileMaker, Inc. Alle rechten voorbehouden. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, VS FileMaker en Bento zijn handelsmerken van
FileMaker 15. Naslaggegevens voor SQL
FileMaker 15 Naslaggegevens voor SQL 2013-2016 FileMaker, Inc. Alle rechten voorbehouden. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, VS FileMaker en FileMaker Go zijn handelsmerken
SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.
BASISINSTRUCTIES SQL SQL : Structured Query Language is een taal gericht op het ondervragen van een relationele database en die aan veel klassieke databasemanagementsystemen kan worden gekoppeld. SQL is
Query SQL Boekje. Fredrik Hamer
Query SQL Boekje Query SQL Boekje Fredrik Hamer Schrijver: Fredrik Hamer Coverontwerp: Fredrik Hamer ISBN: 9789402162103 Fredrik Hamer Inhoudsopgave A. Aanhef bepalen 17 Aantal 18 Aantal dagen tussen
Databases - Inleiding
Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden
12. Meer dan één tabel gebruiken en sub-queries
12. Meer dan één tabel gebruiken en sub-queries 12.1. Inleiding In de vorige hoofdstukken heb je telkens queries uitgevoerd op één tabel. In de praktijk is het raadplegen van gegevens over het algemeen
SQL datadefinitietaal
SQL datadefinitietaal We kunnen er het schema van de database mee bepalen: metadata toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: CREATE : toevoegen van metagegevens DROP : verwijderen
Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64
Klas Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters JONGENS Number Integer MEISJES Number Integer Lessen Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters DOCCODE Short Text 3 Characters
1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model...
1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model... 4 1.1.4. Wat is SQL?... 6 1.1.5. Verschillende categorieên
SQL Aantekeningen 3. Maarten de Rijke [email protected]. 22 mei 2003
SQL Aantekeningen 3 Maarten de Rijke [email protected] 22 mei 2003 Samenvatting In deze aflevering: het selecteren van tuples, operaties op strings, en aggregatie functies. Verder kijken we naar iets
Structured Query Language (SQL)
Structured Query Language (SQL) Huub de Beer Eindhoven, 4 juni 2011 Database: in essentie 0 of meer tabellen elke tabel nul of meer kolommen (of velden) elke tabel nul of meer unieke rijen elke query werkt
DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.
SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Relationele databases
SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC
Aantekeningen IRDB Vak: IRDB > Infrma1ca Rela1nele DataBase Onderstaande database scripts zijn gebaseerd p PstgreSQL. Standaarden Schrijf SQL wrden al1jd in hfdlefers, k al werkt het met kleine lefers;
Les S-02: Meer geavanceerde SQL-instructies
Les S-02: Meer geavanceerde SQL-instructies 2.0 Overzicht les 1: De basisvorm van een SQL query ziet er als volgt uit: (DISTINCT) selecteer de velden uit de tabel waar de volgende voorwaarde geldt ; Bij
SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.
SQL manipulatietaal We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: INSERT : toevoegen van gegevens DELETE : verwijderen van gegevens UPDATE : wijzigen van gegevens
Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster
4. 4. Inhoud rste BAC Toegepaste Biologische Wetenschappen Hoofdstuk 4 Databank Terminologie, Navigeren, Importeren Tabellen Records/Velden manipuleren Queries (Vragen) [Ook in SQL] sorteren filter volgens
[TOETS SQL INLEIDING]
2011 ROC ter AA afdeling T&T Team ICT Toets SQL Inleiding Duur: 100 minuten Hulpmiddelen: Alleen Pen en Papier Er is één voorblad en vijf opgaven pagina s. Normering: Deel I: 14 punten (7x2 Deel II: 10
Data Manipulation Language
Data Manipulation Language (DML) In de vorige les hebben we een database structuur gemaakt van 4 tabellen. Hiervoor worden de volgende scripts gebruikt voor de verschillende tabellen: Tabel A ROBERT ELLIS
Sparse columns in SQL server 2008
Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : [email protected] www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG
Spiekboekje Excel Query SQL
Spiekboekje Excel Query SQL Spiekboekje Excel Query SQL Fredrik Hamer Schrijver: Fredrik Hamer Coverontwerp: Fredrik Hamer ISBN: 9789402163100 Fredrik Hamer Inhoudsopgave Excel functies Inhoudsopgave
Informatie & Databases
Informatie Wat is informatie en waaruit het bestaat? Stel op een kaart staat het getal 37 geschreven. Wat kun je dan zeggen van het cijfer 37? Niets bijzonders, toch? Alleen dat het een getal is. Gaat
DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen.
SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Op dit moment gebruiken
Les 2 Eenvoudige queries
Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten
Structured Query Language
Structured Query Language SQL = internationale standaardtaal. Origineel IBM. SQL92 (SQL2), SQL99 (SQL3), SQL:2003, SQL:2007 en SQL:2008. Vele dialecten. In wat volgt beperken we ons tot wat tot de kern
Introductie (relationele) databases
Eerste les Introductie (relationele) databases Database en DBMS Een verzameling van gestructureerd opgeslagen gegevens Dus ook een kaartenbak is een database Van oudsher waren er hiërarchische en netwerkdatabases
FileMaker Pro 10 en FileMaker Pro 10 Advanced
FileMaker Pro 10 en FileMaker Pro 10 Advanced Dit document bevat informatie over de recentste en andere problemen in FileMaker Pro 10 en FileMaker Pro 10 Advanced. Voor algemene informatie raadpleegt u
= > >= < <= BETWEEN IS NULL IS NOT NULL
Select queries SELECT...FROM... SELECT DISINCT...FROM... WHERE...AND...OR...NOT...LIKE...IN = > >= <
Inleiding... 3. 1 Databases en Data Base Management Systems... 3. 2 Tabellen... 3. 3 Wat is SQL?... 5
1 Inhoudsopgave. Inleiding.... 3 1 Databases en Data Base Management Systems.... 3 2 Tabellen.... 3 3 Wat is SQL?... 5 4 Gegevens opvragen (deel 1).... 5 4.1 Boolean operatoren.... 7 4.2 IN en BETWEEN
8. De invoer van gegevens
8. De invoer van gegevens 8.1. Inleiding Voor het invoeren van gegevens kan het DML-statement INSERT INTO worden gebruikt. Om dit statement correct te kunnen gebruiken, moet je wel antwoord weten op de
Les 11 : Basis SQL (deel2).
Les 11 : Basis SQL (deel2). Wat is SQL? SQL gaan we gebruiken voor het raadplegen van de database. We gaan gegevens invoegen in de database, selecteren, aanpassen en verwijderen van de database. Om dit
DATABASEBEHEER IN EXCEL
DATABASEBEHEER IN EXCEL 1. LIJSTEN Een lijst is een reeks van rijen met gelijksoortige gegevens waarvan de eerste rij de labels (veldnamen) bevat. Een voorbeeld: Je kunt een lijst beschouwen als een eenvoudige
Miniles gegevensbanken bevragen met SQL
Miniles gegevensbanken bevragen met SQL In deze miniles gaat het over gegevensbanken of databases. Dit zijn bestanden waarin gegevens kunnen worden opgeslagen. Het is dan van belang dat je op een eenvoudige
Data Definition Language
Data Definition Language We gaan hier dezelfde database gebruiken als in de vorige les. Nu gaan we deze echter maken met behulp van DDL gedeelte van SQL. Om in het SQL deel van Microsoft Access te komen
6. Het maken van een database
6. Het maken van een database 6.1. Inleiding In hoofdstuk 5 heb je de oefendatabase gemaakt doormiddel van een script. In dit hoofdstuk ga je zelf een database maken en deze vullen met tabellen. Hiervoor
11. Het selecteren van gegevens deel II
11. Het selecteren van gegevens deel II 11.1. Inleiding In hoofdstuk 7 heb je kennis gemaakt met het statement Select. In dit hoofdstuk ga je wat dieper in op het statement. Je gaat sorteren / groeperen
ExpertHandboek Business Intelligence met Power BI in Excel Wim de Groot
ExpertHandboek Business Intelligence met Power BI in Excel Wim de Groot Van Duuren Media, ISBN 9789463560665 Inhoud Voorwoord 1. Goed beginnen Voor wie is dit boek bedoeld? Werken met dit boek Afspraken
Handleiding Afdrukken samenvoegen
Handleiding Afdrukken samenvoegen Versie: 1.0 Afdrukken Samenvoegen Datum: 17-07-2013 Brieven afdrukken met afdruk samenvoegen U gebruikt Afdruk samenvoegen wanneer u een reeks documenten maakt, bijvoorbeeld
Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Anatomie van een databank
Inhoud Computervaardigheden Hoofdstuk 5 Databanken (Let op: dit is enkel voor studenten Bio-Ingenieur.) Terminologie Data importeren Basis queries Allerhande Joins Doe dit. Aandachtspunt! Wat gebeurt hier?
Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank
v Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank 1 Introductie: data en informatie 1.0 Wat leer je in dit hoofdstuk? 1.1 Verschil tussen gegevens en
Technische nota AbiFire5 Rapporten maken via ODBC
Technische nota AbiFire5 Rapporten maken via ODBC Laatste revisie: 29 juli 2009 Inhoudsopgave Inleiding... 2 1 Installatie ODBC driver... 2 2 Systeeminstellingen in AbiFire5... 3 2.1 Aanmaken extern profiel...
FileMaker 14. Handleiding voor ODBC/JDBC
FileMaker 14 Handleiding voor ODBC/JDBC 2004 2015 FileMaker, Inc. Alle rechten voorbehouden. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, VS FileMaker en FileMaker Go zijn handelsmerken
INSTRUCT Samenvatting Praktijk Access 2010, H2 SAMENVATTING HOOFDSTUK 2
SAMENVATTING HOOFDSTUK 2 Sorteren en filteren in een tabel Sorteren kun je met de knoppen (Oplopend) en (Aflopend). Hiermee zet je records in alfabetische of numerieke volgorde. Er wordt gesorteerd op
ADVANCED DATABASES Syllabus versie 2.0
ECDL-MODULE ADVANCED DATABASES Syllabus versie 2.0 Doel Dit document bevat de syllabus van de module Advanced Databases. In de syllabus worden aan de hand van leeruitkomsten de kennis en vaardigheden uiteengezet
Databases gebruiken. Databases gebruiken
Databases gebruiken In deze module wordt van de kandidaat verwacht dat hij een goed begrip heeft van databases en aantoont competent te zijn in het gebruik van een database. Doel van de module De kandidaat:
2.2 Een tabel ontwerpen
2.2 Een tabel ontwerpen 2.2.1 Gegevens analyse Alvorens de tabellen van een database te kunnen gaan opzetten, dient u eerst te bepalen, welke gegevens daarin moeten worden opgenomen. Bepaal eerst het doel
Hoofdstuk: 1 Principes van databases
DBSQLF Databases en SQL Hoofdstuk: 1 Principes van databases aant Css: 4 732 blz 9 1.1 Doel ve database - om op het juiste moment op de juiste plaats de juiste gegevens beschikbaar te hebben richten we
Het omzetten van een ER-diagram naar SQL
Het omzetten van een ER-diagram naar SQL Huub de Beer Eindhoven, 4 juni 2011 Omzetting ER-diagram naar SQL in twee stappen 1: ER-Diagram relationeel model Onderwerp van hoofdstuk 3 Entiteittype relatie,
FileMaker 13. Handleiding voor ODBC/JDBC
FileMaker 13 Handleiding voor ODBC/JDBC 2004-2013 FileMaker, Inc. Alle rechten voorbehouden. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, VS FileMaker en Bento zijn handelsmerken
DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1
DATAMODEL SQL Middelbare School Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 INHOUDSOPGAVE 1. Informatiedomein 3 1.1 Informatiedomein 3 1.2 Toepassingen 3 2.
Inhoudsopgave. Theorie... 14 Praktijk... 14. Gegevens uit Database halen... 13 DML commando s... 14
SQL 2013 Inhoudsopgave Inhoudsopgave... 2 SQL begrippen... 3 Maken Database... 4 Rechten voor een Database... 4 User aanmaken... 5 Rol Toekennen aan een user... 5 Backup... 6 Theorie... 6 In SQL... 6 SQL
6.8 Lijsten: oefeningen
6.8 Lijsten: oefeningen Opgaven 44.: Records zoeken Open het document "Autokosten". Klik in de lijst. Kies de opdracht 'Data - Formulier' [Data - Form]. Klik de knop 'Criteria' [Criteria]. Vul als zoekcriterium
Bijlage Inlezen nieuwe tarieven per verzekeraar
! Bijlage inlezen nieuwe tarieven (vanaf 3.2) Bijlage Inlezen nieuwe tarieven per verzekeraar Scipio 3.303 biedt ondersteuning om gebruikers alle tarieven van de verschillende verzekeraars in één keer
INHOUDSOPGAVE Ms Access 2007
INHOUDSOPGAVE Ms Access 2007 Woord vooraf... 11 Inleiding... 12 1 Een inleiding tot databanken... 12 2 Een databank ontwerpen... 13 3 Wat is Microsoft Access?... 16 DEEL 1 Een relationele databank opstellen...
Les S-01: De basisbeginselen van SQL
Les S-01: De basisbeginselen van SQL 1.0 Relationele databases en SQL Een database is een bestand waarin gegevens worden opgeslagen in de vorm van tabellen. Zo kan een huisarts met behulp van een database
SQL.
SQL [email protected] Mogelijkheden Tabellen maken: create table Tabellen verwijderen: drop table Tabellen vullen: insert into Tabellen wijzigen: update, delete from Gegevens opvragen: select
oefeningen TOP2000 antwoorden
oefeningen TOP2000 antwoorden vragen niveau 1 Niveau 1 beslaat de volgende onderwerpen: SELECT, FROM, WHERE, DISTINCT, ORDER BY, LIKE, BETWEEN, IN, wildcards, eenvoudige vergelijkingen, eenvoudige logische
EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE
EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE The European Computer Driving Licence Foundation Ltd. Portview House Thorncastle Street Dublin 4 Ierland Tel: + 353 1 630
Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010
4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen. 4.1 Starten met MS Access Als je het programma Microsoft Access
SQL & Relationele datamodellen in interactieve media
SQL & Relationele datamodellen in interactieve media HVA-CMD-V1-datamodelleren oefeningen deel 1: SQL 2012-2013 Inhoud Inhoud... 2 Selecties uit een enkelvoudige datatabel... 3 Selecties uit een meerdere
Technische nota AbiFire Rapporten maken via ODBC
Technische nota AbiFire Rapporten maken via ODBC Laatste revisie: 23 januari 2018 Inhoudsopgave 1 Inleiding... 2 2 Systeeminstellingen in AbiFire... 3 2.1 Aanmaken extern profiel... 3 2.2 Toewijzing extern
Inhoud. Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2
v Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2 1 Introductie: data en informatie 3 1.0 Wat leer je in dit hoofdstuk? 3 1.1 Verschil tussen
2.6 Veldeigenschappen
2.6 Veldeigenschappen Afhankelijk van het veldtype kan er per veld een aantal veldeigenschappen worden ingesteld. Deze worden onder in het tabelontwerpvenster ingesteld. Kies de menu-optie n - Ontwerpweergave
FileMaker 16. Handleiding voor ODBC/JDBC
FileMaker 16 Handleiding voor ODBC/JDBC 2004-2017 FileMaker, Inc. Alle rechten voorbehouden. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, VS FileMaker, FileMaker Go en het bestandsmaplogo
COMPUTERWOORDEN.NL SQL - basis
Inhoudsopgave... 1 Introductie: SQL... 7 SQL... 7 SQL geschiedenis...7 SQL dialecten...7 Basis SQL-commando's...8 CREATE TABLE... 8... 8... 8 Datatype...8 Grootte...10 Veldtype... 10 DELETE FROM... 10...
Zelftest SQL Workshop
Zelftest SQL Workshop Document: n0087test.fm 25/06/2014 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST SQL WORKSHOP Handleiding Deze test
Les S-01: De basisbeginselen van SQL
Les S-01: De basisbeginselen van SQL 1.0 Relationele databases en SQL Een database is een bestand waarin gegevens worden opgeslagen in de vorm van tabellen. Zo kan een huisarts met behulp van een database
Het gegevensmodel en kubusformules. (tip 196)
Het gegevensmodel en kubusformules. (tip 196) Deze tip heeft betrekking op draaitabellen gemaakt met Excel 2010 PowerPivot, Excel 2013 PowerPivot en draaitabellen gemaakt van het Gegevensmodel Excel 2013.
Subrapporten. 5.1 Inleiding
5 Subrapporten 5.1 Inleiding Een subrapport is een rapport in een rapport. Een subrapport maak je dan ook net zoals je een gewoon rapport maakt. Een subrapport heeft bijna alle eigenschappen die een normaal
Digitaal Staatsexamen VWO 2010
Onderdeel I - Meerkeuzevragen Kies het juiste alternatief. Digitaal Staatsexamen VWO 2010 1) Wat is de decimale waarde van het binaire getal 101110? A. 4 B. 23 C. 46 D. 92 2) Bekijk bovenstaand model voor
ECDL / ICDL Module 5, Databases Advanced Level Versie 1.0. Voorbeeldexamen module 5 (AM5), Advanced Level
ECDL / ICDL Module 5, Databases Advanced Level Versie 1.0 Voorbeeldexamen module 5 (AM5), Advanced Level 4 april 2003 1 Pag. 1 VOORBEELDEXAMEN ECDL/ICDL VOOR MODULE AM5 Hieronder volgt een voorbeeldexamen
E-MAILS VERZENDEN MET AFDRUK SAMENVOEGEN
E-MAILS VERZENDEN MET AFDRUK SAMENVOEGEN Met E-mail samenvoegen voor Word en Outlook kunt u o.a. een brochure of nieuwsbrief maken en deze per e-mail verzenden naar uw Outlook-lijst met contactpersonen
PHP en een MySQL database.
mysql_php.doc 1/5 PHP en een MySQL database. Om informatie uit een MySQL database op te halen moet je de volgende stappen uitvoeren: 1. een verbinding maken met mysql; 2. een mysql database selecteren;
INHOUDSOPGAVE Ms Access 2010
Inhoudsopgave Ms Access 2010-1 INHOUDSOPGAVE Ms Access 2010 Woord vooraf... 11 Inleiding... 12 1 Een inleiding tot databanken... 12 2 Een databank ontwerpen... 13 3 Wat is Microsoft Access?... 16 DEEL
FileMaker 11. Handleiding voor ODBC/JDBC
FileMaker 11 Handleiding voor ODBC/JDBC 2004-2010 FileMaker, Inc. Alle rechten voorbehouden. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, VS FileMaker is een handelsmerk van
U ziet de progressie van de download aan de groene blokjes in het balkje helemaal onder aan de pagina.
Gegevens exporteren en bewerken vanuit GRIEL Stap 1. Selecteer de juiste gegevens en download deze 1. Stel het datumfilter in op de gewenste periode. Druk op ververs. 2. Maak met behulp van het filter
Een website maken met databasetoegang.
Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,
7.8 Lijsten oefeningen
7.8 Lijsten oefeningen Opgaven 58.: Gegevensvalidatie Open het document Autokosten.xls. Selecteer kolom-a. Selecteer Gegevens Gegevensvalidatie Gegevensvalidatie [Data Data Validation Data Validation].
Databases en SQL Foundation (DBSQLF.NL)
Databases en SQL Foundation (DBSQLF.NL) EXIN Hét exameninstituut voor ICT ers Janssoenborch - Hoog Catharijne Godebaldkwartier 365 3511 DT Utrecht Postbus 19147 3501 DC Utrecht Nederland T +31 30 234 48
Datamodelleren en databases 2011
Datamodelleren en databases 21 Capita selecta 1 In dit college Modelleren Normaliseren Functionele afhankelijkheid 1-3N M:N-relaties, associatieve entiteittypes, ternaire relaties Weak entiteittypes Multivalued
Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens
Info-books HA40c Toegepaste Informatica Handleiding Deel 40c : Gegevensbeheer en algoritmen in Access Jos Gils Erik Goossens Veldlengte Het maximale aantal tekens dat in een veld kan ingevoerd worden.
Gebruikers Handleiding
Gebruikers Handleiding (De SQL module) Versie 2.14 Pagina 2 van 14 Versie 2.14 Inhoudsopgave NGP SQL...5 Het Menu... 6 De instellingen... 7 De database informatie... 9 Het Script... 10 Pagina 3 van 14
Aan de slag met AdminView
Aan de slag met AdminView uitgebreide handleiding S for Software B.V. Gildeweg 6 3771 NB Barneveld tel 0342 820 996 fax 0342 820 997 e-mail [email protected] web www.sforsoftware.nl Inhoudsopgave 1.
Dit is een onderdeel waarin veel functionaliteit is toegevoegd aan de 2010 versie (zie paragraaf 22.6).
Hoofdstuk 22: Draaitabellen * 2010 22.0 Inleiding Dit hoofdstuk had ook snel gegevens samenvatten genoemd kunnen worden. Excel biedt een heel degelijk hulpmiddel om met tabellen gegevens samen te vatten
Het Gegevensmodel en draaitabellen in Excel 2013 (tip 193)
Het Gegevensmodel en draaitabellen in Excel 2013 (tip 193) In vorige versies van Excel moest men om data te analyseren van verschillende bronnen deze data eerst ingeven of importeren in Excel, en om deze
FileMaker Pro 11. FileMaker Pro 11 uitvoeren op Terminal Services
FileMaker Pro 11 FileMaker Pro 11 uitvoeren op Terminal Services 2007-2010 FileMaker, Inc. Alle rechten voorbehouden. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054, VS FileMaker
oefeningen eredivisie antwoorden
oefeningen eredivisie antwoorden vragen niveau 1 Niveau 1 beslaat de volgende onderwerpen: SELECT,, WHERE, DISTINCT, ORDER BY, eenvoudige vergelijkingen, LIKE, wildcards en eenvoudige logische operatoren.
1. Gegevensbeheer met Microsoft ACCESS INHOUDSTAFEL
1. Gegevensbeheer met Microsoft ACCESS INHOUDSTAFEL 1.1. WAT IS EEN DATABASE?...2 1.2. ACCESS ACTIVEREN...3 1.2.1. Access openen om een nieuwe databank te maken... 3 1.2.2. Access openen met een bestaande
Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts
Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Studenten: Peter Asnong Rik Broens Tom De Keyser Daan Gielen Kris Gregoire Koen Olaerts Toon Wouters Inhoudsopgave
Excel Controller. Handleiding Excel Controller Wizard
Excel Controller Handleiding Excel Controller Wizard 1 Inhoud Inleiding... 3 Eigen SQL... 3 Stap 1 Eigen SQL... 3 Stap 2 Testen SQL... 8 Stap 3 Wizard... 11 Stap 4 Parameters... 13 Voorbeeld Eigen Parameter...
Zelftest DB2 for z/os basiscursus
Zelftest DB2 for z/os basiscursus Document: n1067test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST DB2 FOR Z/OS BASISCURSUS
Met een mailing of massaverzending kunt u een groot aantal documenten verzenden naar gebruikelijke adressen, die in een gegevensbestand staan.
Een mailing verzorgen Met een mailing of massaverzending kunt u een groot aantal documenten verzenden naar gebruikelijke adressen, die in een gegevensbestand staan. Voor deze techniek zijn twee bestanden
1 DATABASE MANAGEMENT
1 DATABASE MANAGEMENT 1.1 Inleiding Excel wordt veel gebruikt om met lijsten te werken. Meestal om informatie, zoals klantgegevens, op te slaan. Ook worden lijsten vaak gebruikt om gegevens te verwerken
FileMaker Pro 13. Een Remote Desktop Connection gebruiken met FileMaker Pro 13
FileMaker Pro 13 Een Remote Desktop Connection gebruiken met FileMaker Pro 13 2007-2013 FileMaker, Inc. Alle rechten voorbehouden. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054,
Handleiding Macromedia Contribute
Handleiding Macromedia Contribute Marcel Lemmen en Frank Coenders maart 2008 Handleiding Macromedia Contribute 1 Contribute in vogelvlucht Contribute werkt simpel en intuïtief. Het bewerken van een website
3.4 De Wizard voor het samenvoegen
3.4 De Wizard voor het samenvoegen Het hoofddocument kan een brief, maar kan ook een etiket of enveloppe zijn. Bij het samenvoegen van het hoofddocument met het gegevensbestand worden telkens de gegevens
Gebruikershandleiding. FileMaker Pro. gebruiken met Microsoft Excel. Making FileMaker Pro Your Office Companion page 1
Gebruikershandleiding FileMaker Pro gebruiken met Microsoft Excel Making FileMaker Pro Your Office Companion page 1 Inleiding Spreadsheetprogramma s, zoals Microsoft Excel, zijn geweldige hulpmiddelen
Catalogger 9.0 features
features Catalogger software maakt het onderhouden van productassortimenten en het genereren van catalogi steeds eenvoudiger. Versie 9.0 zit vol met nieuwe features en verbeteringen. Vanaf nu is er Unicode
Sorteren, groeperen en totaliseren
6 Sorteren, groeperen en totaliseren 6.1 Inleiding Een rapport maken begint met het selecteren van de tabellen en het plaatsen van de velden die u in uw rapport wilt afdrukken. Vervolgens sorteert, groepeert
