27. januar 2003 - 23:48Der er
11 kommentarer og 2 løsninger
How to - opbygning af kundekartotek
Jeg står og skal lave et kundekartotek til en ven. Jeg har selvfølgelig tænkt mig at bruge en database, men hvilken(access, mysql osv)? og bør jeg fx søge direkte i databasen eller skulle jeg heller smide hele databasen op i et binærttræ i rammen? Hvordan ville i bygge et kundekartotek op hvis det var jer?
Det er et ganske basalt kundekartotek med adr, tlfnr, email, øvrige bemærkninger osv. Det skal blot ligger lokalt på en pc.
Med mindre at det skal kunne noget specielt, ville jeg lave det i Access eller en anden "desktop-database". Uden særligt meget programmering overhovedet.
Hvis du *vil* bruge en masse tid på det, så er det oplagt at lave den som et lille intranet med Java (f. eks. jsp) og mysql. men det tager altså noget længere tid.
Jeg ville helt klart bruge MySQL til det, da access er en properitær database som kun virker på windows, så at bruge den er at skyde sig i foden.
Du søger her på sitet, finder min databasehandler klasse, bruger den til at snakke med MySQL (eller access), generere tabeller i basen, og laver så queries til den for at indsætte og udlæse data fra basen.
Der er faktisk ret nemt.
Du kan f.eks. lave 2 tabeller
En der indeholder: Navn, adresse, telefonnummer, email, postnummer
En anden der indeholder: Postnummer, by
Kan folk havde mere end et telefonnummer kan du vælge at tilføje flere felter til tabel 1, eller udvide den med et ID, og en 3 tabel, der kobler id sammen med et telefon nummer, så en bruger har 1 post i tabel 1, men måske 7 i tabel 3 hvis de har 7 telefonnumre. Det samme gælder f.eks. emails.
darkstar: Det tager ikke længere tid at lave en løsning i Java+MySQL end Java+Access, jeg vil sige tværtimod, da man ikke skal rode med properitære teknologier osv.
Access applikation - Access database Access applikation - database server Java applikation - Access database Java applikation - database server browser - JSP/servlet - Access server browser - JSP/servlet - database server browser - JSP/servlet - EJB - Access database browser - JSP/servlet - EJB- database server
Jeg kan ikke vurdere, hvad der passer bedst til dine behov.
Nogle betragtninger som måske kan hjælpe dig lidt: - en Access database er ikke særligt god til adgang fra mange samtidige brugere - udviklingsmæssigt betyder det ikke så meget om database server er MS SQLServer eller MySQL eller noget tredie - og MySQL har en fornuftig pris (gratis) - hvis man kun skal lave nogle ret primitive funktioner, så er en Access applikation langt det hurtigste at udvikle (men jeg formoder at der en grund til at du har stillet spørgsmålet i Java gruppen) - browser løsningerne kan give adgang via internet og ikke kun på LAN - de sidste J2EE løsninger kræver en del arbejde
Hvis det kun skal køre lokalt på en PC og funktionaliteten ikke er for avanceret, så ville jeg nok bare lave det med Access applikation til Access database. Det er det hurtigste og nemmeste.
Men det må du selv vurdere.
Husk at putte applikationen i en .MDB (eller .MDE) og data i en anden .MDB hvis du vælger Access-Access løsningen !
(så er det langt nemmere at opdatere applikationen)
Et er sikkert, jeg vil arbejde med databasen gennem java. Hvorvidt det blive access eller Mysql ved jeg ikke. Har ikke arbejde med Mysql før, så måske man skulle prøve det. Der dukker nok et par spørgsmål op undervejs, men det vil i jo nok opdage :o)
Darkstar du får ingen point da jeg selvfølgelig har tænkt mig at bruge java (eller havde jeg nok stillet spørgsmålet i en anden kategori)
Lige et spørgsmål til disky og arne_v: 1)Bør jeg arbejde direkte i databasen eller bør jeg smide databasens indhold over i fx et binærttræ? 2)Når man arbejde med access databaser bliver de jo hele tiden større for hver gang man har saver i den. I access er der en komprimeringsfunktion, kan man tilgå denne fra java?
Det afhænger meget af data'enes størrelse og hvordan du vil bruge dem.
Hvis du vælger en Java applikation som bruger JDBC direkte og data er relativt lille, så kan du sagtens læse alle data op fra databasen i memory og søge der.
Hvis data er meget store, så er det ikke praktisk.
Hvis du bruger et persisterings framework mellem din applikation og JDBC, så er det ikke sikkert, at det giver mening at læse data til memory (fordi det framework måske allerede helt eller delivist har gjort det).
Databasen bliver ikke voldsom stor, men man kan jo lige så godt prøve på at lave det ordenligt. Jeg så på http://www.eksperten.dk/spm/130223 at man formentlig (har ikke prøvet det efter endnu) kan bruge en kommando til det: C:\\Programmer\\Office\\MSAccess.exe C:\\Dokumenter\\MinDatabase.mdb /compact
Det burde man jo kunne lave i en runtime, men så skal man selvfølgelig kende stien. Det var nu rart hvis man kunne gøre det med java istedet...
disky>>> Jeg skrev ikke noget om at han skulle bruge Java. Mit argument er at det slet ikke er nødvendigt at programmere. Jeg mener at det er overkill at porgrammere noget som helst hvis det blot er et lille system, der skal laves.
Hvis du gerne vil lære at lave sådan noget i Java, så er Java det helt rigtige valg.
Hvis du bare skal have løst opgaven hurtigst muligt, så tror jeg ikke at Java er det bedste valg.
Ja - Access kan godt kaldes command-line til compacte.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.