Vorige aflevering | Search TidBITS | TidBITS Homepage | Volgende aflevering

TidBITS#580/14-May-01

Deze week bekijken we twee blijvertjes in de technologie: modems en databases. Kevin Savetz schrijft over V.92, de nieuwe modemstandaard voor degenen die geen breedbandverbinding kunnen krijgen en Jonathan Rentzsch begint een verslag over relationele databases voor Mac OS X met uit te leggen wat een relationele database eigenlijk is. In het nieuws, Mac OS X 10.0.3, Casady & Greene stopt met SoundJam, Macromedia levert FreeHand 10 en we staan stil bij het overlijden van auteur Douglas Adams.

Onderwerpen:

Copyright 2001 TidBITS Electronic Publishing. All rights reserved.
Information: <info@tidbits.com> Comments: <editors@tidbits.com>


-> Denk je dat TidBITS interessant is voor <-
-> je vrienden, kennissen, collega's? Geef <-
-> hen de tip zich ook GRATIS te abonneren <-
-> of stuur deze aflevering naar hen door! <-


Je kunt je gratis abonneren op de Nederlandse afleveringen van TidBITS door een (blanco) mailtje te sturen naar: tidbits-nl-on@tidbits.com. Je krijgt deze dan per e-mail toegestuurd.
Om je abonnement op te zeggen, kun je een mailtje sturen naar: tidbits-nl-off@tidbits.com.


Deze editie van TidBITS werd gedeeltelijk gesponsord door:


De Nederlandse editie van TidBITS is een letterlijke vertaling van de oorspronkelijke Engelse versie. Daarom is het mogelijk dat een deel van de inhoud niet geldt in bepaalde landen buiten de USA.

Dit nummer werd uit het Engels vertaald door:

Verder werkten mee:


MailBITS/14-May-01

[vertaling: PEP]

Vaarwel, en bedankt voor al 't plezier -- Geen paniek! De bekende Britse humorist en Macintosh-fan Douglas Adams overleed onverwacht op vrijdag aan een hartaanval in een sportcentrum dicht bij zijn huis in Californië. Hij was 49 jaar. Naast zijn vele andere bezigheden (hij bouwde schuren, werkte als lijfwacht, speelde gitaar bij rockband Pink Floyd) schreef Adams de klassieke 'Hitchhiker's Guide to the Galaxy'-serie die begon als een radiohoorspel voor de BBC en leidde tot beeldromans, langspeelplaten, een toneelstuk, een computerspel, en een tv-serie. Adams was bezig voor Disney een film te maken van de Hitchhiker's Guide. Hoewel het niet zijn bedoeling was om met het schrijven van sciencefiction een voorspelling over de toekomst te doen, inspireerde zijn verhalen een grote verzameling van internet- en popcultuurtermen (zoals de naam BabelFish voor het vertaalprogramma van AltaVista) en zijn fictieve 'Guide' - ontstaan lang voor het Web - kan het best worden omschreven als een online universumvullend samenwerkingssysteem. Eerbewijzen van vrienden en fans worden verzameld op Adams's webpagina. [GD]

<http://www.douglasadams.com/>

SoundJam eindigt op 1 juni 2001 -- De toekomst was onzeker voor SoundJam MP van Casady & Greene sinds de programmeurs van SoundJam bij Apple zijn gaan werken waar zij de gratis iTunes bouwden op basis van SoundJam-programma's (zie "SoundJam blijft spelen" in TidBITS-535 voor een bespreking). Casady & Greene laat nu weten dat zij, op verzoek van de programmeurs, per 1 juni 2001 niet langer SoundJam op de markt aanbieden; maar, petje af, voor alle huidige SoundJam-bezitters blijft Casady & Greene technische ondersteuning aanbieden. Alle andere Casady & Greene-producten blijven onveranderd. [ACE]

<http://www.casadyg.com/>
<http://db.tidbits.com/getbits.acgi?tbart=05988>

FreeHand 10 geschikt voor Mac OS X, en met nieuwe functies -- Macromedia heeft FreeHand 10 uitgebracht, het vector-tekenprogramma is nu beter geïntegreerd met Flash 5 en geheel draaiend onder Mac OS X. Nieuwe functies zijn master pages, de Macromedia Standard Pen Tool (een veelzijdig tekengereedschap dat op één en dezelfde manier werkt in FreeHand, Flash en Fireworks), en de toepassing van de Macromedia gebruikersinterface. De volledige FreeHand 10 is verkrijgbaar als een online download voor $400; updates van eerdere versies zijn $130. Je kunt het vanaf eind mei ook in de winkel aanschaffen. Aangezien Macromedia nog steeds updates in het systeem aanbrengt om aankopen en downloads van Mac OS X te ondersteunen adviseren zij Mac OS X-gebruikers het in de winkel aan te schaffen. [JLC]

<http://www.macromedia.com/software/freehand/>


TenBITS/14-May-01

door TidBITS Staff <editors@tidbits.com>
[vertaling: DPF, HvH]

Mac OS X 10.0.3 is uit -- Slechts een paar dagen na het uitbrengen van Mac OS X 10.0.2 (zie "TenBITS/07-May-01" in TidBITS-579) is Apple al met een update naar versie 10.0.3 gekomen. Apple zegt dat de Mac OS X 10.0.3 update een probleem met de Mac OS X Finder oplost waarbij mappen met een ongebruikelijk groot aantal items niet al hun inhoud laten zien. Het installeren van Mac OS X 10.0.3 op een Mac met versie 10.0.1 biedt bovendien alle verbeteringen van 10.0.2, zoals de mogelijkheid voor het branden van CD's, hogere stabiliteit en een nieuwe FTP server. Je kunt gebruikmaken van het Software Update-regelpaneel in de Systeemvoorkeuren om de update te downloaden (automatische controles blijken voor verscheidene mensen niet te werken; wanneer dit ook bij jou het geval blijkt is het verstandig eens op de Update Now-knop van het Software Update-regelpaneel te klikken). Wanneer een firewall of iets dergelijks het Software Update-regelpaneel blokkeert is het ook mogelijk om de updater handmatig te downloaden (een disk image van 14,9 MB). Deze benadering vereist dat je versie 10.0.1 of nieuwer al geïnstalleerd hebt; anders zul je eerst de Mac OS X 10.0.1 updater moeten installeren (beschikbaar op de laatste URL hieronder). [MHA]

<http://db.tidbits.com/getbits.acgi?tbart=06421>
<http://til.info.apple.com/techinfo.nsf/artnum/n75134>
<http://til.info.apple.com/techinfo.nsf/artnum/n75125>

Kensington MouseWorks 1.0 voor Mac OS X -- Kensington heeft de eerste volledige versie van haar MouseWorks-software uitgebracht, die Kensington muizen en trackballs ondersteunt onder Mac OS X. Alhoewel muizen met twee knoppen of scrollwieltjes ook uit zichzelf werken onder Mac OS X, stelt MouseWorks 1.0 voor Mac OS X eigenaars van Kensington-apparaten in staat om knopacties aan te passen. Er zijn nog wel een paar addertjes onder het gras met deze 1.0 versie: éénknops muizen en producten uit de TurboMouse 1.0 tot 4.0 serie (de oudere, tweeknops-versies) worden niet ondersteund, en bepaalde functionaliteit van MouseWorks onder Mac OS 9 is niet beschikbaar, zoals het combineren van knoppen, 'Application Sets', en 'Rest Reminders'. Desalniettemin, als iemand die vertrouwd op het gebruik van rechter-muisklikken voor het dubbelklikken van items, ben ik blij te zien dat de basis in orde is. Kensington MouseWorks 1.0 voor Mac OS X is een gratis download van 3,3 MB. [JLC]

<http://www.kensington.com/support/sup_1283.html>

UpdateAgent X Preview -- Het aantal Mac OS X-compatibele programma's stijgt voortdurend. De grootste programma's krijgen meestal de meeste aandacht, maar hoe zit het met kleinere, maar niet minder essentiële gereedschappen? Insider Software heeft een preview-versie vrijgegeven van UpdateAgent X, een programma dat je harde schijf nakijkt en automatisch beschikbare updates voor de aanwezige programma's zal downloaden. Alhoewel deze versie hier en daar nog een beetje ruw is (meest opvallend is het Classic-achtige kader rond de default knoppen in plaats van het pulserende kleureneffect van Mac OS X) biedt UpdateAgent X alles wat het beloofd. Een gratis demo die alleen geschikt is voor de Mac OS updates van Apple is verkrijgbaar als een download van 2,5 MB; de demo toont verder een lijst van andere programma's uit een database van 5.000 programma's. De volledige versie kost 50 dollar per jaar. Op dit moment werkt UpdateAgent alleen met Classic en Carbon applicaties; ondersteuning voor Cocoa programma's zal beschikbaar komen in een gratis update. [JLC]

<http://www.insidersoftware.com/updateagent/mac/>
<http://www.insidersoftware.com/updateagent/mac/demoinfo.html>

De onderhoudsploeg van Mac OS X -- Eén van de manieren waarop Unix haar beruchte betrouwbaarheid bereikt is door middel van een roosterprogramma met de naam Cron, dat scripts uitvoert die de rotzooi opruimen die overblijven na normaal systeemgebruik. Mac OS X wijkt hier niet van af en kent dagelijkse, wekelijkse en maandelijkse scripts die logbestanden legen, een backup maken van interne databases en andere essentiële taken uitvoeren, vaak tussen 3 en 5 uur 's ochtends. Helaas wijkt Mac OS X af van Unix systemen in die zin dat veel Macs gedurende die periode uitgeschakeld zijn of slapen als ze niet gebruikt worden, terwijl veel Unix-machines voortdurend aanstaan. Cron is krachtig en flexibel, maar haalt taken die niet uitgevoerd konden worden doordat de Mac uitstond of sliep niet in. Brian Hill heeft een gratis programma geschreven voor deze gevallen onder de naam MacJanitor. Dit programma laat je handmatig de scripts van Mac OS X starten. Je moet MacJanitor wel zelf starten, maar zolang je dat af en toe doet is het prima dat je je Mac gedurende de periode dat het graag de boel schoon zou houden uitzet of laat slapen. [ACE]

<http://personalpages.tds.net/~brian_hill/macjanitor.html>

Setext bekijken op Mac OS X -- Sinds 1992 worden de e-mail-afleveringen van TidBITS geformatteerd met behulp van het structure-enhanced text-formaat. Setext, uitgesproken als "see text", is door Ian Feldman, met hulp van mij, ontwikkeld in 1991. Het is een impliciete opmaaktaal, dus de meeste mensen weten niet eens dat ze het lezen, maar het is mogelijk om programma's te schrijven die de sectie- en stijl-opmaak binnen setext kunnen interpreteren - de tekstbewerkers BBEdit en Alpha herkennen bijvoorbeeld automatisch de structuur van setext-documenten. Hèt programma voor het bekijken van setext-documenten is Akif Eyler's Easy View 2.6.2, maar enkele jaren geleden verklaarde Akif dat hij niet van plan was het verder uit te werken en gaf de broncode vrij. Het werkt nog steeds (tenminste onder Mac OS 9.1), maar het heeft ongetwijfeld zijn beste tijd gehad. Een recente opleving in belangstelling voor setext heeft geleid tot Sascha Bigalke's SmartView 2.0, dat werkt onder Mac OS 9 en in Classic mode in Mac OS X, en Samizdat Software's SetextView 0.3, dat alleen werkt in Mac OS X. Beiden moeten overduidelijk nog verder ontwikkeld worden, ze bieden slechts rudimentair ondersteuning voor het bekijken van meerdere bestanden zoals Easy View dat deed, maar als je geïnteresseerd bent in setext, zijn ze de moeite waard. [ACE]

<ftp://ftp.tidbits.com/info-mac/text/smart-view-20.hqx>
<http://homepage.mac.com/samizdat/>


V.92 Modems: worden inbelverbindingen nog sneller?

door Kevin Savetz <savetz@northcoast.com>
[vertaling: GH, TK]

Een nieuwe generatie modems - onder de vergetenswaardige naam V.92 - verschijnt op de schappen van computer winkels. Ze beloven handige opties en persen elke overgebleven druppel snelheid uit analoge telefoonlijnen. Maar haast je niet om te upgraden - het zal wel even duren voordat Internet service providers deze standaard zullen ondersteunen.

<http://www.v92.com/>

Als ze dat doen zul je de volgende vier V.92 mogelijkheden als lokkertjes nog wel horen:

<http://www.v92.com/v44.htm>

<http://db.tidbits.com/getbits.acgi?tbser=1014>
<http://db.tidbits.com/getbits.acgi?nbart=04451>

(Die mysterieuze V.watdanook benaming conventie heeft zijn oorsprong in Zwitserland bij de International Telecommunications Union, een organisatie die telecommunicatienetwerken en -diensten coördineert. Protocollen waarvan de namen starten met "V." - van V.1 tot V.300 - geven standaarden voor datacommunicatie over het telefoonnetwerk.)

<http://www.itu.int/>

Het verstopte uiteinde van de leiding -- Hoewel verscheidene modemfabrikanten al seriële en USB V.92 modellen hebben uitgebracht (die allemaal bruikbaar zouden moeten zijn met een Mac), kunnen computergebruikers niet genieten van de nieuwe mogelijkheden zolang de Internetproviders hun apparatuur niet met de nieuwe protocols upgraden, wat waarschijnlijk maanden zal duren.

Ik verwacht dat de grootste Internetproviders tests met V.92 tegen midden 2001 zullen beginnen, met de officiële invoering tegen het einde van het jaar of het begin van 2002. Kleinere serviceproviders zullen mogelijk vroeger V.92-toegang aanbieden.

America Online, de grootste Internetprovider, heeft nog geen officiële ondersteuning van V.92 aangekondigd. "Deze versie van consumentenmodems zien we nu pas op de markt verschijnen," aldus zegsman Nicholas Graham. "Net zoals bij de V.90-modems, zullen we V.92-modems te gepasten tijde grondig testen en debuggen."

Vertegenwoordigers van EarthLink en MSN, de tweede en derde grootste inbelproviders, legden gelijkaardige verklaringen af. "We beginnen met testen van V.92 zodra wij vinden dat het stabiel en betrouwbaar genoeg is om in onze systemen op te nemen," zei Kurt Rahn, zegsman voor EarthLink. "Op dit ogenblik hebben we echter geen onmiddellijke plannen om V.92 te ondersteunen."

Je huidige, werkende 56 Kbps-modem vervangen door een V.92-model zou voorbarig zijn. Maar als je toch al van plan was een nieuwe modem aan te schaffen, dan is het geen slecht idee om een V.92-model te kopen. Nu zal het werken met de bestaande V.90-standaard, en wanneer je Internetprovider klaar is met V.92, heb je de juiste hardware al. Bovendien zijn er geen financiële redenen om géén V.92-modem te kopen, aangezien de prijs ongeveer dezelfde is als die voor een V.90-model. Volgens een prijsvergelijking bij CNET Shopper zijn er modellen van $65 tot $150.

Misschien hoef je niet eens een nieuwe modem kopen om van deze nieuwe mogelijkheden te kunnen genieten. Sommige modemfabrikanten zijn van plan gratis "flash upgrade" software beschikbaar te stellen, waarmee je de interne software (of firmware) van bepaalde recente modem-modellen kunt updaten zodat zij ook V.92 ondersteunen. De meeste oudere modems kunnen echter niet worden opgewaardeerd omdat de hardware niet krachtig genoeg is voor de verbeterde compressie en de oproep-in-wacht-functie. Kijk op de website van je modemfabrikant of er een upgrade komt voor jouw modem.

Ik vroeg Apple of zij V.92-modems zullen installeren in nieuwe Macs, en of zij een firmware-upgrade kunnen aanbieden voor de huidige interne Macintosh V.90-modems, maar ik kreeg geen antwoord.

De producenten van zowel de consumentenmodems als de "head end"-apparatuur - de communicatie-hardware die Internetproviders gebruiken - zijn hun V.92-software nog aan het verfijnen. Veel van de nieuwe mogelijkheden in V.92 worden nog verbeterd. Dus zelfs als je vandaag een nieuwe V.92-modem koopt, zul je de hardware waarschijnlijk binnen een paar maanden moeten flash-upgraden: hierdoor zul je dan de recentste en (in theorie) beste firmware hebben. Het is nu nog te vroeg om te zeggen of deze flash-updaters ook voor de Mac beschikbaar zullen zijn. Als de fabrikant van jouw modem alleen een updater voor PC's uitbrengt, zul je de updater misschien moeten draaien via een product zoals Virtual PC of je modem op een PC van een vriend moeten aansluiten om V.92-ondersteuning toe te voegen.

"Wij denken dat mensen die geen 56K-modem hebben of die vandaag een nieuwe modem moeten kopen, beter in het V.92-platform kunnen investeren, maar we verwachten dat zij de modem zullen willen upgraden zodra de diensten echt beschikbaar worden," zegt Larry Hancock, marketingdirecteur bij Zoom Telephonics, een belangrijke modemfabrikant en eigenaar van zowel Hayes als van Global Village.

<http://www.zoom.com/>
<http://www.hayesmicro.com/>
<http://www.globalvillage.com/>

Met de steeds groeiende behoefte aan hogesnelheidstoegang tot het Internet en de dalende kosten voor breedbanddiensten zoals kabelmodems en DSL, zitten analoge modems misschien aan het einde van hun rit - V.92 zou wel eens de laatste belangrijke modemstandaard kunnen zijn. Maar voorlopig is er nog steeds plaats voor modemaansluitingen, ongeacht de relatief lage snelheden en de saaie reputatie. Modemtoegang is tenslotte toch voordeliger, eenvoudiger te installeren, en beschikbaar waar er geen breedbandtoegang is.

[Kevin Savetz is een freelance computerjournalist gespecialiseerd in het Internet en de Macintosh.]

<http://www.savetz.com/>


Relationele Databases en Mac OS X, Deel 1

door Jonathan "Wolf" Rentzsch <tidbits@redshed.net>
[vertaling: MSH, AV, HvH, JB]

Of je het nu leuk vindt of niet, Mac OS X wordt geleverd met Unix erin. Als gebruiker maak ik me zorgen dat het Mac-gevoel zou kunnen verworden tot het bewerken van fragiele textconfiguratiebestanden en het typen van duistere en kwalijke commando's. Als programmeur ben ik dolblij omdat we nu als Mac-gebruikers toegang hebben tot bepaalde superkrachtige software. Dit is het type software die de Fortune 500 bedrijven aanstuurt, uiterst complexe chemische reacties berekent en de films die we bekijken genereert . Aangezien ik geen filmmaker ben en geen wetenschapsman, heb ik de meeste belangstelling voor de zakelijke kant van deze software. In het bijzonder ben ik geinteresseerd in relationele databases.

In de klassieke Mac besturingssystemen domineren FileMaker Pro en 4D. Ik ben gesteld op de nieuweling Valentina, andere lieden zweren bij Helix RADE of Frontier [voor de context, zie Matt Neuburg's artikelen over deze laatste twee.-Adam]. Helaas kwalificeren geen van deze databases zich als "industrie-kwaliteit." Versta me goed: ze doen hun werk naar behoren, maar ontberen de kwaliteiten waar veel database-professionals naar snakken: SQL en ACID. Maar voordat we in deze twee acronymen duiken, wil ik je het relationele databasemodel voorstellen. In het vervolg op dit artikel zullen we enkele relationele databases bekijken, die voor Mac-gebruikers beschikbaar komen onder Mac OS X.

<http://db.tidbits.com/getbits.acgi?tbart=05814>
<http://db.tidbits.com/getbits.acgi?tbart=05351>

Relationele databases -- Alhoewel er verschillende soorten databases zijn (vrije vorm, hiërarchisch, netwerk en object relationeel om er een paar te noemen), is het relationele database-model de favoriet van bedrijven.

Geïntroduceerd door de wiskundige Dr. E. F. Codd in het begin van de jaren zeventig, het model is simpel (veel boeken maken het echter obscuur door het wiskundige jargon). Stel je een spreadsheet voor, met een lijst van je klanten:

CUSTOMER Table
CUSTOMER_ID    NAME                EMAIL
1              Steve Jobs          sjobs@apple.com
2              John Sculley        jsculley987@hotmail.com
3              Michael Spindler    mspindler654@yahoo.com
4              Gil Amelio          ameliorator321@hotmail.com

Merk op dat je kolommen met informatie hebt en elk kolom bevat een bepaald deel van de informatie. Je hebt vier klanten, elk vertegenwoordigd door een eigen rij.

Het relationele model noemt deze data lay-out een "tabel" een relationele database bevat een of meer tabellen. Alhoewel het in concept gelijk is aan een spreadsheet, is een tabel anders omdat een kolom maar een type data kan bevatten. Bijvoorbeeld, het zou illegaal zijn om tekst in de kolom "CUSTOMER_ID" te zetten - het bevat alleen getallen. Eveneens anders dan in een spreadsheet, staat het relationele model niet toe dat een cel een formule bevat (elke cel staat op zichzelf en kan niet verwijzen naar een andere cel).

Als je gewend bent bij databases te denken aan een stapel index-kaarten (zoals in FileMaker), is hier een handige hulp: een tabel is gelijk aan een stapel kaarten, een rij is gelijk aan één enkele kaart (een record) en een kolom staat gelijk aan een enkel veld op een kaart.

Stel nu dat je wilt bijhouden wat je klanten kopen. Je maakt een nieuwe tabel:

PURCHASE Table
PURCHASE_ID    CUSTOMER_ID    DESCRIPTION
1              1              Black turtleneck shirt
2              2              Book: "How to Sell Sugar Water"
3              1              Faded blue jeans
4              3              Golden parachute
5              1              12-pack, bottled water
6              4              Book: "The Second Coming of Steve Jobs"

Je kunt nu rijen aan deze tabel toevoegen als klanten aankopen doen. Elke aankoop heeft een "CUSTOMER_ID"-kolom, welke gebruikt kan worden om een aankoop aan een klant te verbinden. Bijvoorbeeld, in deze tabel zien we dat aankoop #1 gedaan is door klant #1.

Laten we nu uitzoeken hoe deze relaties kunnen werken. Gegeven een PURCHASE_ID, is het voor ons eenvoudig om het e-mailadres van de klant te achterhalen. Stel dat we geïnteresseerd zijn in de vierde aankoop; het CUSTOMER_ID veld staat op 3. Door in onze klantenlijst te zoeken naar een klant met een ID 3, vinden we al snel een Michael Spindler, e-mailadres <mspindler654@yahoo.com>.

Relaties kunnen ook de andere kant op werken: gegeven een CUSTOMER_ID, kunnen we achteruit werken om een lijst te maken van gemaakte aankopen. Laten we beginnen met Steve Jobs, welke een CUSTOMER_ID heeft van 1. Nu doorzoeken we onze aankooplijst, waar we drie rijen ontdekken met de juiste CUSTOMER_ID-velden: aankopen 1, 3 en 5.

Door het volgen van goede ontwerpregels bij het opzetten van de tabellen, zal je database weinig of geen dubbele gegevens bevatten en zal deze alleen juiste data accepteren. Een ander voordeel is dat je database niet is gekoppeld aan een specifiek programma - als je uit je huidige programma bent gegroeid kun je eenvoudig naar een ander overstappen.

Tenslotte zijn relationele databases erg eenvoudig uitbreidbaar. Je kunt beginnen met een PC van $400 met Linux en dezelfde database verhuizen naar een IBM mainframe van $400.000. Het enige verschil is snelheid en betrouwbaarheid. Je zult begrijpen waarom bedrijven van relationele databases houden.

Nu je een beetje op de hoogte bent van het algemene idee van relationele databases, kunnen we de eerder genoemde SQL en ACID acroniemen gaan decoderen.

SQL -- SQL staat voor Structured Query Language, en de correcte uitspraak is het spellen van de letters ("es kjoe el"). Sommige mensen spreken het uit als "sequel," ["siekwul," (vert.)] maar dat is niet juist: er was ooit een taal genaamd SEQUEL, de voorloper van SQL. Een minderheid spreekt SQL uit als "squeal," ["skwiel," (vert.)] maar dat is nooit echt aangeslagen, waarschijnlijk om de zelfde reden waarom SCSI nooit uitgesproken werd als "sexy" - het klonk raar in de directievertrekken. ("We moeten een sexy drive met onze squeal server verbinden." Hoor je het jezelf al zeggen tegen de grote baas?)

SQL is de standaard-taal die gebruikt wordt om te communiceren met relationele databases. Omdat het eigenlijk een volledige taal is, kunnen gebruikers, ontwikkelaars, en software-programmeurs deze gebruiken om tabellen en de rijen met informatie die deze bevatten, te maken, te veranderen, en te wissen. Het gebruik van een standaard-taal maakt relationele databases toegankelijk voor een grote verscheidenheid aan interfaces en methodes die anders één voor één hadden moeten worden ontwikkeld voor andere vormen van databases. Dit is één van de beperkingen van traditionele Macintosh-databases.

Net als HTML is SQL een beschrijvende taal. De taal bevat geen variabelen of lussen, en is eenvoudig te leren zelfs voor de niet-programmeur. Met een niet-beschrijvende taal, moet je elke stap uitspellen die nodig is om een taak te completeren. Anderzijds kun je in een beschrijvende taal eenvoudigweg het verlangde eind-resultaat verklaren. SQL is een oudere taal, en ofschoon ze hoofdlettergevoelig is wordt bijna alles in kapitalen beschreven. Hier volgt een valide SQL-verklaring om de hierboven beschreven klanten-tabel te maken:

 CREATE TABLE "CUSTOMER"(
   "CUSTOMER_ID" INTEGER,
   "NAME"        CHAR(100),
   "EMAIL"       CHAR(200)
 );

Dit commando creëert een tabel genaamd CUSTOMER met drie kolommen: CUSTOMER_ID, NAME en EMAIL. Gedefiniëerd is dat de CUSTOMER_ID kolom alleen een nummer kan bevatten, terwijl de NAME en EMAIL kolommen respectievelijk 100 en 200 karakters kunnen bevatten.

Het is eenvoudig om informatie in een tabel in te voeren met de INSERT-term:

 INSERT INTO "CUSTOMER"(
   "CUSTOMER_ID",
   "NAME",
   "EMAIL"
 ) VALUES (
   1,
   'Steve Jobs',
   'sjobs@apple.com'
 );

Ik heb te weinig ruimte om de syntax voor het veranderen en wissen van rijen en tabellen te bespreken, maar het is even eenvoudig als het maken en invoegen van tabellen en rijen.

De belangrijkste SQL-term is SELECT, waarmee je informatie uit een database kunt halen en filteren. We kunnen bijvoorbeeld zo het e-mailadres van een klant nakijken:

 SELECT "EMAIL"
 FROM "CUSTOMER"
 WHERE "NAME" = 'Gil Amelio';

Dit is het resultaat:

EMAIL
ameliorator321@hotmail.com

Het resultaat heeft de vorm van een tabel. Toegegeven, in dit geval is het een tabel met maar één kolom, maar niettemin een tabel.

Als laatste voorbeeld, uitgaande van een naam geeft het volgende verzoek een overzicht van alle aankopen van een klant. Het geeft niet als je het niet helemaal begrijpt, ik wilde gewoon laten zien wat je met SQL allemaal kunt doen.

 SELECT "PURCHASE_ID","DESCRIPTION"
 FROM "PURCHASES" WHERE "CUSTOMER_ID" = (
   SELECT "CUSTOMER_ID"
   FROM "CUSTOMER"
   WHERE "NAME" = 'Steve Jobs'
 );

Het resultaat:

PURCHASE_ID    DESCRIPTION
1              Black turtleneck shirt
3              Faded blue jeans
5              12-pack, bottled water

De ACID-test -- ACID staat voor "Atomicity, Consistency, Isolation en Durability." (Ondeelbaarheid, Consistentie, Isolatie en Duurzaamheid.) Dit zijn de aspecten die de professionele programma's (Oracle, PostgreSQL) onderscheiden van eerder consumentgerichte apparatuur (4D, FileMaker Pro). Als je bedrijf afhankelijk is van de kwaliteit van je informatie, dan is ACID de toepassing die ervoor zorgt dat je op twee oren kunt slapen.

Atomicity (uitgesproken als "atom-i-sit-ie") is afkomstig van het woord atoom en zijn oorspronkelijke betekenis: dat wat ondeelbaar is. In een database wil dat zeggen dat de verscheidene handelingen allemaal gebundeld zijn in één onsplitsbare handeling. Ofwel gebeurt de gehele cyclus van handelingen, ofwel gebeurt er niets. Dit zorgt mede voor de constante validiteit van de database.

Consistentie is het principe dat alleen operaties die voldoen aan alle validatievoorwaarden van de database plaats vinden. Uiteindelijk zorgt dat ervoor dat illegale operaties niet toegelaten zijn, of ze nu extern zijn (misschien voerde de gebruiker ongeldige informatie in) of intern (misschien raakt een schijf vol en kan een vereiste rij niet toegevoegd worden).

In deze wereld gedomineerd door het World Wide Web, krijgen databases te maken met meerdere gelijktijdige wijzigingen. Maar wat gebeurt er wanneer de transactie van Alice de tabel die Bob aan het lezen is wijzigt? Isolatie verzekert dat Bob ofwel de originele tabel te zien krijgt (voor de aanpassingen van Alice) ofwel de aanpaste tabel, maar nooit een tussenstadium.

Tenslotte is duurzaamheid het principe dat wanneer een transactie volledig is, een 'simpele' systeemcrash de nieuwe informatie niet zal wissen. In de praktijk betekent het dat transacties niet als volledig worden beschouwd totdat alle informatie is weggeschreven naar een schijf.

Wat is er beschikbaar? In de volgende aflevering van dit artikel zal ik de kwaliteiten van een handvol databaseprogramma's die onder Mac OS X kunnen draaien behandelen (oa. MySQL en FrontBase). Bovendien besteed ik aandacht aan de mogelijke intrede van Oracle in de Mac-wereld.

[Jonathan "Wolf" Rentzsch is de belichaming van Red Shed Software en organiseert maandelijks een samenkomst van Mac-programmeurs in Noord-West Illinois.]


Niet-winstgevende en niet-commerciële publicaties en Websites mogen artikels overnemen of een HTML link maken als de bron duidelijk en volledig vermeld wordt. Anderen gelieve ons te contacteren. We garanderen de precisie van de artikels niet. Caveat lector. Publicatie-, product- en firmanamen kunnen gedeponeerde merken zijn van hun ondernemingen.

Vorige aflevering | Search TidBITS | TidBITS Homepage | Volgende aflevering