SQL voor SAS Programmeurs - Inleiding
12 april 2009 door: Blink 7Wat is SQL?
SQL staat voor Structured Query Language en is ontworpen voor de ontwikkeling en het onderhoud binnen een Database Management System (DBMS). Een DBMS bestaat uit een of meer tabellen van de gegevens, trad meestal in een hiërarchische wijze, en een reeks van programma's voor het organiseren van de gegevens.
Typische taken met SQL-code omvatten het volgende:
- Ophalen (of query) gegevens uit een of meer gegevenstabellen
- Manipuleren van gegevens binnen de bestaande tabellen
- Definieer nieuwe tafels en creëren van nieuwe gegevens in tabel
- Alter bestaande tabel definities
- Machtigingen instellen voor verschillende gebruikers toegang tot bestaande tabellen
De originele uitvoering van SQL werd ontwikkeld door IBM om gegevens te manipuleren in haar systeem R. Hoewel de taal inmiddels gestandaardiseerd door ANSI en de ISO, de meeste grote DBMS te breiden SQL query's op basis van procedurele syntaxis taal bevatten constructen zoals voorwaardelijke verklaringen en variabele opslag . De uitbreidingen zijn vaak specifiek voor de DBMS, wat resulteert in verschillende sub-talen zoals PL / SQL (Oracle) en T-SQL (Microsoft SQL Server).
SAS SQL implementeert met behulp van de PROC SQL-instructie. PROC SQL kan worden gebruikt als een alternatief voor de DATA stap voor het creëren en manipuleren van gegevens, waarbij elke SAS dataset wordt behandeld als een tabel. De meeste van de commando's in de gegevens stap kan worden gebruikt in PROC SQL, terwijl de verklaring kan worden gebruikt om macro-variabelen en scherm output controle.
Waarom Hier SQL toen SAS heeft het DATA stap?
SAS De meeste programmeurs zijn al vertrouwd met het DATA stap - misschien wel de belangrijkste verklaring in de SAS-taal. Dus, waarom leren een andere verklaring dat dezelfde taken uitvoert? SQL biedt veel voordelen ten opzichte van het DATA stap en andere verklaringen, waaronder de volgende:
- Interoperabiliteit. PROC SQL kan worden gebruikt om gegevens rechtstreeks ophalen uit bronnen die anders niet beschikbaar zijn om het DATA-Step. Zo kan De Oracle PIPE bestuurder worden gebruikt door PROC SQL tot uitgifte van pass-through verklaringen rechtstreeks naar een Oracle-database (via Oracle SQL syntax) en ophalen van de resultaten aan de SAS-omgeving.
- Krachtige gegevens samenvoegen van faciliteiten. De SQL programmeertaal geen gegevens nodig sets te worden gesorteerd voordat samenvoegen. De syntax voor het uitvoeren van de verschillende fuseert (inner join, outer join, left join, Rechts Word) is relatief eenvoudig in vergelijking met het DATA stap
- Vereenvoudigde rapportage. Een SQL-instructie kunt u gegevens ophalen uit een of meer gegevens, samenvatten van de gegevens en de output van de resultaten aan het scherm. Voor het uitvoeren van dezelfde taak zou ten minste een DATA Step en een PROC PRINT verklaring.
Of PROC SQL superieur is aan de DATA stap of vice-versa is een religieus debat dat woedt op, zelfs onder SAS instructeurs tijdens de training klassen. In de praktijk heb ik vastgesteld dat elke uitspraak uitblinkt in verschillende situaties en dat de meest complexe projecten te betrekken veelvuldig gebruik van beide.
Welke potentiële voordelen kunnen bieden voor de SQL SAS Universum?
De PROC SQL-opdracht biedt een eenvoudige toegangspunt voor het grote aantal SQL-programmeurs die onbekend zijn met SAS. Hoewel SAS meestal wordt gebruikt als een statistisch instrument, bestaan er zeer krachtige voorzieningen die zou maken SAS een aantrekkelijk platform voor andere database-toepassingen, zoals ETL en main-frame verwerking.
Ook het leren van SQL kunnen profiteren van de SAS-programmeur alleen door de invoering van een taal die bijna altijd in vraag buiten de SAS-universum en voor die banen voorhanden zijn. Hoewel exacte implementaties van SQL verschillen tussen de verschillende databases, blijven de kern opdrachten consistent in bijna alle databases.
Het Project
De volgende tutorial zal worden gebaseerd op gegevens die zijn gegenereerd voor een fictief elektronica winkel. De belangrijkste gegevensverzameling / tabel bestaat uit 10 dagen van de transactie gegevens bevat de volgende soorten informatie:
- Unieke transactie-ID
- Datum van de transactie
- ID van de employe die de verkoop
- Betalingsmethode
- Transactiebedrag
Houden met DBMS aanbevolen praktijken, werknemer en betalingsmethode informatie worden opgeslagen in de transactie tabellen als numerieke ID's. Twee meer referentie tabellen zijn gemaakt om extra informatie over elke werknemer en wijze van betaling.
Tutorial Index
De SAS PROC SQL Cursus bestaat uit de volgende onderdelen --
Deel 1 - Extracting Data
Deel 2 - Het manipuleren van gegevens (coming soon!)
Deel 3 - Het combineren van gegevens (coming soon!)
Deel 4 - Geavanceerde technieken (coming soon!)








