Voordracht database ontwerp
alvast een voorproefje

Spreekbeurt "database ontwerp" door Henri Derksen op een bijeenkomst van regio Oost te Elst, in week 9 op zaterdagmiddag 5 maart 2005 van 14:30 - 15:30 uur.

Cultureel Centrum "De Wieken", Prinses Irenestraat 49, 6661 EA Elst
Begane grond zaal 0.2 geopend van 13:01 - 16:59 uur.
Telefooncel in de gang: 0481-375283
District 6, wijk 1 (= laatste 2 cijfers postcode, zie routeborden).
Plattegrond staat op Big Ben Club CD 4, zie het volgende pad:
BigBenCD4.$.Documents.BigBenClub.Regio.RegioOost.ELSTwiek02
Toegang gratis voor club leden, koffie gratis.

Zij die deze spreekbeurt, die ik op donderdagavond 10 februari 2005 bij de regio Den Haag hield, hebben gemist, hebben nu dus een herkansing ;-).

Globale (concept) indeling van het onderwerp:

Database ontwerp.

1.0 Stukje geschiedenis:

  1. Wat is een database en wat een bestand.
  2. Sequentieel, direct acces, in memory.
  3. Opslagmethodes: tape, disk, papierrol, ponskaart, magneetstrip
  4. Jargon kenmerken: record, veld, veldscheider, recordscheider, variabele veldlengtes, vaste veldlengtes.
  5. Soorten velden; numeriek, alfanumeriek, ascii, boolean (0/1), datum
  6. Indexering.
  7. Relationele database structuur, moeilijk maar uitgekiend.

2.0 Database programmatuur

  1. Zelfbouw, op maat, moeilijk ontwerp, moeilijk onderhoud.
  2. Single file databases, met hooguit een index bestand. Deze zijn er in vele soorten en maten, en op vele platformen.
  3. multiple file databases, relational. Relatietabellen met een 1 op N verhouding, of zelfs N op N verhouding.
  4. Uitwisselmogelijkheden, zoals importeren, maar vooral exporteren.
  5. Exportformaten, CVS en TSV, Gedcom, Lotus123, DBase3 etc. etc.

3.0 Wat is ons doel?

  1. Archivering, administratie, relatiebeheer, voorraadbeheer, boekhouding.
  2. Onderverdelen in hapklare brokken en bestanden, van te voren op papier! Let op redundancy, veel voorkomende data, dus uniek maken!
  3. Indelen van velden, met zo klein mogelijke eenheden. Samenvoegen is makkelijk, splitsen is moeilijker. Dus straatnaam, huisnummer en toevoeging in gescheiden velden. Logische indeling, b.v. gebruikers; loginnaam, wachtwoord, actief. Personen; naam, adres, woonplaats, telefoon, e-mail auto's; merk type motor, kleur, bouwjaar, aantal zitplaatsen. Geef elk bestand een unieke Primary Key. De Primary Key is ons belangrijkste unieke veld!
  4. Houd rekening met toekomstige eisen als het kan. Denk ook aan wetgeving zoals privacy e.d. Zie ProGeneralia. b.v. export van alleen de overledenen. Adressen bestand voor privé-doel mag altijd en overal.
  5. Wanneer numeriek, alfanumeriek, boolean. Ook zeer goed documenteren! En let vooral ook op het ruimtebeslag, zeker als de database ook met anderen uitgewisseld moet worden.
  6. Het meestvoorkomende: exporteren en printen. Voorbereidende handelingen, zoals conversie naar CSV, TSV Zie voorbeeld van Charles Deckers, ledenadmin met o.a. GAWK.
  7. Importeren in een DTP pakket, mailmerge met PTT-KIX

4.0 Enkele praktijk voorbeelden van eenvoudig tot moeilijk.

  1. Acorn BBC Basic
  2. DataBeest
  3. Reflex, Paradox voor DOS
  4. !WimpLink Msgbase formaat, idem ANT's Marcel formaat gooi index weg na aanpassing en laat die opnieuw opbouwen.
  5. Converteer een bestaande lijst naar een database. Voorbeeld leden uit *Asterisk.
  6. Importeren in een spreadsheet zoals !Eureka.
  7. CSV's omgooien alvorens verder te verwerken, b.v. met !CSVamp of zelf geschreven BBS Basic conversieprogs.
  8. Maak altijd een zeer grondig testvoorbeeld, en test vooral op extremen.
  9. Zoek naar bestaande programma's zoals disk catalogus programma's, die volautomatisch je harddisk en ook floppies kan uitlezen en rubriceren.

5.0 Nogmaals exporteren, maar dan anders.

  1. EDI = Electronic Data Interchange.
  2. Voorbeeld Fidonet.
  3. Digitale formulieren belastingdienst e.d.
  4. In de toekomst met internet is EDI niet meer weg te denken. Hier zijn we wel veel meer gebonden aan wat anderen ons opleggen.
  5. Queries zijn opvragingen uit databases. steeds meer databases via het web vanaf Unix/Linux systemen. Zie cursus MySQL van de Acorn Atom Club Limburg.
  6. SQL is een database standaard. www.mysql.com mysql-4.1.8-win.zip RUN setup. TCP/IP poort 3306.

6.0 Let op wijzingen, en het noodzakelijke onderhoud.

  1. B.v. bij wijziging van velden ook de conversieroutines aanpassen.
  2. Houd aantekening bij van waarom wat hoe gedaan wordt. v.b. huisnummer en toevoeging t.b.v. KIX, of speciale sorteervelden e.d.
  3. Zorg dat het ontwerp ook op de langere termijn bruikbaar blijft.
  4. Hou rekening met andere gebruikers, zoals opvolgers.
  5. Hoofdkenmerk in deze materie, maak altijd backups, totdat je zeker weet dat alle gewenste wijzigingen goed zijn aangebracht, en maak dan ook daar weer een backup van.
  6. Experimenteer veel om te leren, liefst van een kladbestand.

Grapje: bestand, maar waartegen, van Prof. Dr. I.S. Herschberg.

Verhuizen, huwen, kinderen, scheiden, overlijden, andere auto, andere telefoon (mobiel), etc.
M.a.w. een bestand is snel verouderd terwijl u wacht. Dus is bijhouden van belang.
Voorbeeld van fouten/misbruik, zoals kenteken deel 3 destijds.

7.0 Toekomst:

  1. Verwachtingen, houd de computerbladen in de gaten. Zoek altijd naar leuke hulptools.
  2. Wensen,
  3. Betere kansen,
  4. Bedreigingen, gevaar, of zelfs overname (utopie?) Let op aan wie je wat verstrekt, zoals sofi nummers b.v.
  5. Zou Windows, Linux or whatever OS, (veel) betere database kunnen beheren?

8.0 Nog vragen?

Dat mag uiteraard ook later na afloop van deze lezing/demo alsnog.
En/of via AcoNet of Intaconet, rubriek vraagbaak,
en/of via e- mailto:henri.derksen@aconet.org
en/of UniCorn BBS +31-(0)26-4425506
en/of telefax +31-(0)26-4425506.

9.0 Einde, dank voor uw aandacht en veel plezier met databases ontwerpen.

Let op: dit is een concept versie! Het is dus mogelijk dat ik tijdens de spreekbeurt een aangepaste versie hanteer, temeer daar er nog immer veel te ontdekken en uit te puzzelen valt... Indien gewenst kan van de laatste versie een (digitale) copie worden verstrekt.

Versie: 20050227.03:55

Tot weder-mails/-ziens,
Met een vriendelijke groet van Henri Derksen