Relaties maken nodig?

Status
Niet open voor verdere reacties.
Je niet laten afschrikken hé. Dat "stevig leermomentje" valt heus wel mee. De meesten leren het wel door zelfstudie. Het is meer een klik maken en op een andere manier denken. Maar an sich is Access helemaal niet moeilijker dan Excel. Het is anders.
 
#NoellaG,

Ik hoop van niet. Maar ik vindt Exel "simpel" in die zin ik voer het in en ik filter op artiest of titel etc. Klaar. Ik lees op diverse fora hoe een muziek collectie is / wordt gemaakt. Met 1 tabel, met wel 3 en meerdere. Dus ik zie , even, de bomen door het bos niet meer. Op Youtube worden ook veel dingen duidelijk gemaakt met betrekking tot een formulier.

Dan komen ze met een formulier en sub-formulier.....Pffffffff. Even gehad, denk ik, ga wel verder......


Han
 
Access is echt wel moeilijker dan Excel, al was het maar omdat Excel een 'platte' applicatie (echt WYSIWYG) en je bij Access dus veel meer kennis van zaken moet hebben van databases. Zelfstudie kan best (ben daar zelf een (hopelijk) goed bewijs van) maar kost gewoon een berg tijd. Het is onmogelijk om met een schriftelijke cursus een goede chirurg te worden. En er zijn meer beroepen die een leercurve hebben. En iets vergelijkbaars heb je dus óók met Access. Mensen zeggen dat het níet zo is, kletsen m.i. redelijk uit hun nek. Je móet je gewoon verdiepen in de materie, het is niet anders.
Neemt niet weg dat een muziekcollectie een leuk object is om te maken. Uiteraard heb ik er zelf ook een gemaakt, en die kan ik wel posten als voorbeeldje.
 
#Octafish,

Is prima. Dat zou ik dan, eventueel, als voorbeeld kunnen nemen. Ben er al 1 tegen gekomen met 6 tabellen.
Misschien een domme vraag. Wil men zoveel mogelijkheden hebben om een muziek arttiest / titel te filteren?
Ik snap dat je een tabel artiesten-album-genre aanmaakt, maar met locatie-genre etc? Waarom? Ik zou hem gewoon in de tabel-album gooien.

Trouwens mijn muziek collectie staat netjes in alfabetische mappen en getagt.

Han
 
Hannes, de structuur hangt ook af van wat jij wil doen en/of bereiken. Als je niet op locatie wil zoeken dan hoef je dat ook niet bij te houden. Bepaal eerst voor jezelf op welke velden je wil zoeken en welke informatie je wil zien. Dat bepaalt welke velden je nodig hebt. Als je een transport database hebt zal je waarschijnlijk ook de schoenmaat van de chauffeur niet bijhouden.
Zoekvelden zet je meestal in een aparte lookup tabel omdat je wil vermijden dat het genre bv. in één record wordt omschreven als "Country & Western" en in een ander record als "Country" . Als je die in een aparte tabel zet met een nummer als PK (Primary Key). Dan hoef je in het foreign key veld alleen dit nummer te herhalen. Een beetje als een persoon identificeren met zijn sociaal zekerheidsnummer. Met dit nummer kan je alle andere gegevens ophalen.
 
Bij een database ontwerp is één van de belangrijkste vragen: 'welke informatie wil ik er uit kunnen halen?' Voor de één is dat niet hetzelfde als voor een ander. Simpel voorbeeldje: in jouw db heb je in de tabel [ALBUMav] een veld [Kbit/s]. Bij het splitsen van de tabel heeft Access 3 (extra) tabellen aangemaakt, waarvan tabel 2 de velden [Album Artiest] en [Tabel4_ID] gebruik maken van tabellen 3 en 4. In de laatste tabel vind je de [Kbit/s] terug. Tabel 2 lijkt de plaattitel + artiest dus te combineren met de [Kbit/s]. Dat líjkt logisch, en voor een zelftaper is het dat waarschijnlijk ook. Als ik een cd rip (mp3 of Flac bijvoorbeeld) dan doe ik dat met één rip instelling. Alle numnmers krijgen dus dezelfde [Kbit/s]. Ergo: voor mij is het voldoende om de [Kbit/s] op Albumniveau vast te leggen.
Aan de andere kant heb je mensen die alle nummers van een album bij elkaar grissen door ze te downloaden. Dan loop je de kans dat de nummers op verschillende manieren zijn geript. In dát geval is het belangrijk om de [Kbit/s] op nummerniveau vast te leggen.
Nog een voorbeeldje: het veld [Genre]. Je kunt een plaat kopen van één artiest, en dan zal je die hoogstwaarschijnlijk aan één genre hangen. Voer je een verzamelalbum in, dan kan het heel goed zijn dat je bij alle nummers apart een genre wilt toevoegen. Ik heb verzamelplaten genoeg waar Blues, Chanson, Singer/Songwriter en Hard rock gezellig bij elkaar staan op één plaat. Kortom: er gaan verschillende wegen naar Rotterdam :).

Het is maar, wil ik hier mee zeggen, op welk niveau je de informatie nodig hebt. Als je het proces van normaliseren bekijkt (en dat ligt ten grondslag aan alle goede databases) dan ga je binnen een tabel kijken naar de gegevensgroepen binnen een tabel. Daarbij kijk je vooral naar herhalende gegevens, want dat is een ijzersterke indicatie dat er wat verkeerd zit in een tabel. Kijken we bijvoorbeeld naar de eerste 3 nummers van jouw tabel, dan valt al gelijk wat op:
HTML:
Id	Artiest	     Titel	     Track	     Album Artiest	 Album	     Tijd	Jaar	     Genre	   MB	Kbit/s
1	B.B. King	Payin' The Cost To Be The Boss	1	VA	Blues & The City	00:06:13	2009	Blues	14,3	CBR 320
2	Muddy Waters	Goin' Home	2	VA	Blues & The City	00:02:33	2009	Blues	5,9	CBR 320
3	Howlin' Wolf	Highway 49	3	VA	Blues & The City	00:03:05	2009	Blues	7,11	CBR 320

Om te beginnen: er zijn twee soorten albums: albums van één artiest, en verzamelalbums. Jij hebt een verzamelalbum aangeleverd, en dat levert voor de Artiest dus een probleem op, want je hebt er verschillende. Daar zul je dus iets mee moeten. In dit geval leg je de artiest dan bij het nummer vast, wat echter bij een plaat van één artiest herhalende
gegevens zou opleveren. Dus daar zou je het weer níet willen. Ik heb hierboven al uitgelegd dat je ook verschillen kan hebben in genres op een verzamelalbum.

Daarnaast heb je nog het 'probleem' dat een uitgave uit meerdere schijven kan bestaan; met al die luxe uitgaven van tegenwoordig komt dat best vaak voor. Hoe ga je dat vastleggen? Je kunt dat oplossen door een subtabel AlbumDisc te gebruiken, die je aan de tabel Albums hangt bijvoorbeeld, maar je kunt ook een volgnummer in de tabel Albums zetten. Het ene is niet automatisch beter als het andere. Ook hier geldt weer: tot op welk niveau wil je differentiatie kunnen aanbrengen? Stel dat ik een mooie uitgave heb (Beatles, Witte album bijvoorbeeld) met een stuk of wat schijven. Dan kan ik ze in één tabel zetten met een volgnummer, maar dan houdt het wel een beetje op. Gebruik ik een extra tabel, dan kan ik voor elke tabel een eigen genre kiezen. Of Type (heb je nog niet). Het White Album bestaat bijvoorbeeld uit een originele versie, een opgekrikte versie, en een versie met demo's van de liedjes. Gebruik ik een aparte tabel, dan kan ik dat keurig specificeren op albumniveau. Heb ik maar één tabel, dan kan ik dat ook wel doen, maar dan moet ik dat per nummer gaan vastleggen. En dat vind ik dus niet handig. Maar als jij die informatie niet handig/nutteloos/overbodig vind, dan ga je dat waarschijnlijk niet eens invoeren, dus dan hoef je je daar ook niet druk over te maken!

Wat ik dus bedoel te zeggen is: je moet jezelf van te voren de vraag stellen: 'Wat wil ik uit de database kunnen opvragen?' Is dat een lijst met alle demo liedjes die je hebt? Dan moet je die informatie opslaan. Wil je weten op welke nummers Eric Clapton allemaal heeft meegespeeld? Wil je weten wie er op het moment van uitbrengen van een plaat allemaal in de band zaten? Dan moet je die informatie opslaan. En dat wordt dan weer een extra tabel (die je dus ook moet invullen :)).
Bepaal dus welke informatie je wilt kunnen terugvinden; dat bepaalt grotendeels hoe je tabellen er uit gaan zien.
 
#OctaFish,

Dank je wel voor je hulp. Ik zie dat je ook van Blues en Blues Rock houdt.......:cool:

Ik zal er eens voor gaan zitten.

Han
 
Moet mijn voorbeeldje nog wel een beetje opschonen; zoals hij er nu bij staat is hij niet echt publiceerbaar :).
 
Ok,

Pffffff. Ik snap er niks meer van. Gewoon een simpele muziek collectie maken. Ik hou het bij Exel. Misschien niet de oplossing, maar het werkt gewoon voor mij. Het is "simpel" en ik kom meer muziek collectie tegen in Exel en zien er gewoon goed uit.

Ik kan er meerdere bladen maken op alfabetische volg orde en daar de zaak in zetten. Simpel, maar doeltreffend ......voor mij, althans.

Ik ben eens gaan kijken wat ik heb staan in Exel.

Artiest - Land - Album - Titel - Track No. - Tijd - Jaar - Genre - Notitieveld.

Meer niet. Nogmaals, ik kan er filteren wat ik wil. Op artiest en / of album, titels , jaar etc.

ASccess is mij te hoog gegrepen. Ik heb echt gezocht en gevonden, maar zo uitgebreid, met diverse id er dan weer in een tabel.

Ik vond iets met een "centrale tabel" en vele lijntjes. Het leek net of er dan 1 id niet verbonden was en dat klopte, schijnbaar, ook.
Waardeer deze site en zeker de hulp. Maar ik hou het bij exel. Het werkt, ziet er niet gelikt uit, maar het doet wat het moet doen voor mij.

Han
 
Prima, natuurlijk. Een belangrijk onderdeel van automatiseringsoplossingen bedenken is: wat heeft de klant nodig? En daar zoek je dan een oplossing voor. Andersom werken (hier is de oplossing, welk probleem wil je hebben?) werkt meestal niet :).
 
Het credo van elke IT-er of technieker:
If it works, don't fix it.

Voor die paar velden werkt Excel inderdaad uitstekend.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan