Toon posts:

[VB.NET] Welke database?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

hier op school krijgen wij les in Visual Basic .Net. Wij moeten voor ons project een applicatie leveren met database. Alleen vanuit school moeten we Interbase gebruiken voor de database.Echter, niemand vind dit echt fijn werken en wij vroegen ons daarom af waar de meeste windows applicaties gebruik van maken.

Bij Interbase is het zo dat je IBConsole op de achtergrond moet draaien om van de database gebruik te maken. Is er een bepaald soort database die zonder een of ander programma werkt, zodat als je een programma bij iemand levert niet ook nog eens een ander programma hoeft te installeren?

Het gaat om een grote database dus Acces valt al af.

Alvast bedankt,

Groetjes Stef

  • whoami
  • Registratie: December 2000
  • Laatst online: 22-04 14:33
De database kies je -in 't echt- dus meestal naargelang de eisen van het pakket, de omgeving waarin het draait, het budget, etc....

Als je geen 'Access' wilt gebruiken, omdat de DB groot zal zijn (wat is groot?), en je een 'echt' DBMS wilt gebruiken, dan zal je zowiezo 'met een ander programma' moeten werken, zoals jij het noemt.
(Kijk bv maar naar Sql Server; daar is je database ook geen 'alleenstaande file'.

Maar goed, het is een opdracht voor school, en het kan zijn dat je niet graag met de technologie werkt, waarmee je moet werken.
Echter, dat is iets wat je in het latere leven nog wel zult tegenkomen. Je zal bij een klant ook niet zomaar moeten zeggen: 'hop, ik ga ff jouw Oracle DB vervangen door een Sql Server, want ik werk niet graag met Oracle'.

Je hoeft ook helemaal geen groeten te posten onder je post, want dat leest een beetje irritant.

[ Voor 38% gewijzigd door whoami op 02-12-2005 11:31 ]

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
En van SQL server is een 'light' versie die gratis is te downloaden: http://www.microsoft.com/...c397514b41&displaylang=en

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Verwijderd schreef op vrijdag 02 december 2005 @ 11:11:
Hallo,

hier op school krijgen wij les in Visual Basic .Net. Wij moeten voor ons project een applicatie leveren met database. Alleen vanuit school moeten we Interbase gebruiken voor de database.Echter, niemand vind dit echt fijn werken en wij vroegen ons daarom af waar de meeste windows applicaties gebruik van maken.
Voor .NET is MS SQL server waarschijnlijk de meest gebruikte oplossing.

Interbase heeft trouwens in mijn ogen maar 1 nadeel (voor beginners) en dat is dat Interbase geen autoinc veldtype heeft. Dat betekent dat je bent aangewezen op generators (en afhankelijk van je implementatie triggers) om die functionaliteit te verkrijgen. Maar als je begrijpt hoe dat werkt begrijp je ook waarom er zoveel problemen zijn met tabellen waar wel een autoinc veldtype bestaat. Op magische wijze de waarde van een PK veranderen en niet doorgeven aan de client betekent dat de client alsnog moet gaan rommelen om die nieuwe waarde binnen te krijgen. Dan kun je net zo eenvoudig als ontwikkelaar zelf de waarde van die PK bepalen (via generators of oracle's sequences) en die gewoon bij het opslaan meegeven. Beide methodes vereisen dat je een eenvoudig trucje leert, maar qua concept vind ik Generators logischer dan Autoinc velden. Daarnaast zijn er nog wat andere afwijkende eigenschappen maar die zul je niet al te snel tegenkomen bij simpele projecten
Bij Interbase is het zo dat je IBConsole op de achtergrond moet draaien om van de database gebruik te maken. Is er een bepaald soort database die zonder een of ander programma werkt, zodat als je een programma bij iemand levert niet ook nog eens een ander programma hoeft te installeren?
Je hebt twee soorten databases. Desktop databases (a la Access) en client server databases. Bij Client/Server databases heb je een databaseserver die de database beheert en maken alle client programma's verbinding met de server. Dus niet rechtsstreeks met de databasefile zelf. Op deze manier zijn zaken als concurrency goed te regelen. Alle(!) serieuze databases werken op deze manier. Wel is het zo dat deze werkwijze een beetje overdreven is voor single user applicaties. Vandaar dat simpele databases als DBase en Access inderdaad geen extra server nodig hebben. Maar gebruik je dat soort systemen met meer dan 2 personen tegelijk dan vraag je om problemen.

In productieomgevingen is het "extra programma" natuurlijk een minder groot probleem dan bij ontwikkelaars. Bij een klant installeer je 1 (interbase) databaseserver en hoef je op de client systemen enkel nog de echte applicatie en de interbase database client te installeren. Die database client is niets meer dan een extra DLL die door het installatieprogramma meegenomen moet worden dus daar merkt een gebruiker niets van.Bij het ontwikkelen draai je zowel de server als de client op één enkel systeem wat inderdaad dubbelop lijkt en meestal resources vreet. Gelukkig valt dat laatste in het geval van Interbase nog wel mee.