Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 14 van 14

Onderwerp: Ge´mporteerde gegevens rangschikken

  1. #1
    Senior Member
    Geregistreerd
    26 november 2013
    Vraag is niet opgelost

    Ge´mporteerde gegevens rangschikken

    Beste lezer(s),

    Graag het volgende.

    Het bijgevoegde bestand is een bestaande database die ik ge´mporteerd heb vanuit Excel waar heel veel verschillende radiostations voorkomen.
    Het geval is dat meerdere velden, o.a.. Freq, Radiostation en Doelgebied en nog meer velden in deze tabel in veelvoud voorkomen.
    Bijv. bij een telling constateerde ik dat er al meer dan 900 verschillende radiostations zijn!!

    Voor zover ik Access begrijp hoef je maar ÚÚn keer een bepaald veld in te vullen door normaliseren maar dat zou hier gigantisch veel tabellen opleveren waardoor het geheel onoverzichtelijk wordt.
    Mijn vraag is dan ook hoe ik deze tabel op correcte wijze kan normaliseren in liefst betrekkelijk korte tijd.

    Heel kort samenvattend: Hoe ga ik met deze tabel om in access.

    Voorbeeldbestand is bijgevoegd.

    Vriendelijke groet,
    Toby
    Bijgevoegde bestanden Bijgevoegde bestanden
    Laatst aangepast door JJZijlstra : 23 juni 2022 om 17:38
    Toby

  2. #2
    Junior Member xps351's avatar
    Geregistreerd
    22 juni 2022
    Zonder kennis van de materie is dit lastig. Ik zie inderdaad 999 unieke Radiostations (inclusief "Unknown Station") en 1455 unieke combinaties van Radiostation en Doelgebied. Voor de rest kan ik er bij gebrek aan kennis/informatie nog geen chocola van maken.
    Laatst aangepast door xps351 : 23 juni 2022 om 22:35

  3. #3
    Ik zou alleen de radiostations in een stamtabel zetten, zie bijlage.
    De database gaat dan van 2240 kB naar 1960 kB.
    Bijgevoegde bestanden Bijgevoegde bestanden

  4. #4
    Senior Member
    Geregistreerd
    26 november 2013
    @AHulpje,

    Hoe heb je dit voorelkaar gekregen?
    Je moet de stationsnummers wel bij de juiste gegevens in de hoofdtabel plaatsen?
    Hoe is je werkwijze ?

    Grt. Toby
    Toby

  5. #5
    CREATE TABLE Radiostations
    (Id AUTOINCREMENT PRIMARY KEY,
    Radiostation CHAR);


    INSERT INTO Radiostations
    SELECT DISTINCT Radiostation FROM [sked-a22];


    ALTER TABLE [sked-a22]
    ADD COLUMN IdRadiostation NUMERIC;


    UPDATE [sked-a22] INNER JOIN Radiostations ON [sked-a22].Radiostation = Radiostations.Radiostation
    SET IdRadiostation = Radiostations.Id;


    ALTER TABLE [sked-a22] DROP COLUMN Radiostation;

  6. #6
    Junior Member xps351's avatar
    Geregistreerd
    22 juni 2022
    Ik vraag me eerlijk gezegd af of je veel opschiet met de oplossingen van AHulpje.

    Als je alleen de namen van de stations in een tabel zet, dan is de rest van de data nog steeds niet genormaliseerd. Het beetje ruimtewinst lijkt me niet belangrijk.
    Ten aanzien van de "stationnummers" vraag ik me af wat je daar mee bedoelt (welke kolom?). Ik zou verwachten dat dat iets unieks is voor een station, maar in de kolom Id staan per stationsnaam meerdere waardes.

    Ik had zelf ook al een beginnetje gemaakt, door bijvoorbeeld per station vast te leggen bij welke doelgebieden ze horen. Zie schema. De tabellen heb ik ook gevuld op basis van de aangeleverde tabel.

    Mijn vraag blijft hoe de rest van de data te structureren. Ik zie bijvoorbeeld frequenties. Maar waar horen die bij? Bij een station, bij een station/uitzendgebied, bij ............? Idem ten aanzien van UTC (uitzendtijden???).
    Verder zie ik een kolom ITU (lijken landen), maar er zijn stations met meerdere landen, dus.....
    Voor het beantwoorden van al dit soort vragen is kennis van de materie nodig en die zal jij aan moeten leveren. Zonder antwoorden geen goede structuur.
    Bijgevoegde kleine afbeeldingen Bijgevoegde kleine afbeeldingen Klik op afbeelding voor grotere versie

Naam:  Radiostations.jpg‎
Bekeken: 9
Grootte:  18,4 KB  
    Groeten,

    Peter

  7. #7
    Senior Member
    Geregistreerd
    26 november 2013
    @xps351,

    Hier een beetje uitleg.
    Frequenties (= Freq) behoren bij een radiostation die op een aangegeven tijd (= UTC) uitzendt naar een gebied (= doelgebied), dat doelgebied kan overal op de wereld zijn. De thuisbasis van het radiostation oftewel het land waar het radiostation is gevestigd wordt hier aangeduid met het veld ITU.

    Je begrijpt misschien wel dat je op heel velden sorteringen kunt doen en dat het zeer moeilijk is om vanuit een bestaande database te normaliseren, dat geldt althans voor mij.
    Ik hoop dat je nu iets meer duidelijkheid hebt gekregen.

    @AHulpje,
    SQL is voor mij nieuw. Waar kan ik dat vinden in Access? Ooit heb ik gelezen dat daarvoor mogelijkheden zijn. Werkt sql makkelijker dan via access?

    Groet,
    Toby
    Toby

  8. #8
    Voor mij werkt SQL vaak makkelijker dan via de wizards, maar dat is heel persoonlijk.
    Je kunt de eerder genoemde query's op de volgende manier uitvoeren:

    Open de database

    Kies achtereenvolgens:
    - Maken
    - Queryontwerp
    - Sluiten
    - SQL Weergave

    En kopieer achtereenvolgens een voor een de query's in het queryvenster en klik op Uitvoeren.

  9. #9
    Junior Member xps351's avatar
    Geregistreerd
    22 juni 2022
    Quote Origineel gepost door JJZijlstra Bekijk Bericht
    Hier een beetje uitleg.
    Frequenties (= Freq) behoren bij een radiostation die op een aangegeven tijd (= UTC) uitzendt naar een gebied (= doelgebied), dat doelgebied kan overal op de wereld zijn. De thuisbasis van het radiostation oftewel het land waar het radiostation is gevestigd wordt hier aangeduid met het veld ITU.
    OkÚ, dat maakt een aantal zaken duidelijk(er). Ik heb het model wat omgebouwd.

    Een punt is nog wel het land. Ik heb een aantal stations(namen) gevonden waarbij meerdere landen genoemd worden. Zie bijgevoegd lijstje.
    Dat kan betekenen dat er in verschillende landen stations met dezelfde naam bestaan (dan moet het vullen van de tabel stations anders). Het kan ook dat ze echt meerdere vestigingslanden hebben; dan moet het model uitgebreid worden.

    Omdat een voorbeeld meer zegt dan 1000 woorden, heb ik mijn voorbeelddatabase bijgevoegd.
    De (nieuwe) tabellen zijn leeg. Als je de drie aanwezige query's na elkaar opent/uitvoert worden de tabellen gevuld.
    Ik heb het zo gemaakt dat rerecords met station "Unknown Station" worden genegeerd.
    Het is uiteraard nog niet af, maar het is een beginnetje.

    Zoals Ahulpje zei: geen zorgen over SQL. De query's heb ik bij elkaar geklikt in de ontwerpweergave. De SQL wordt op de achtergrond automatisch gemaakt. De tabellen heb ik met het handje gemaakt.
    Bijgevoegde kleine afbeeldingen Bijgevoegde kleine afbeeldingen Klik op afbeelding voor grotere versie

Naam:  ITU.jpg‎
Bekeken: 9
Grootte:  21,3 KB  
    Bijgevoegde bestanden Bijgevoegde bestanden
    Laatst aangepast door xps351 : 24 juni 2022 om 22:28
    Groeten,

    Peter

  10. #10
    Junior Member xps351's avatar
    Geregistreerd
    22 juni 2022
    Nog een kleine aanvulling.

    Ik heb het veld UTC gesplitst in twee (tijd)velden: Van en Tot. Dat is zuiverder en zo kan je makkelijker afdwingen dat er bestaande tijden ingevoerd worden.
    Punt is wel dat 24:00 geen geldige tijd is. Overal waar die voorkomt heb ik er 00:00 van gemaakt (nou ja, laten maken).
    Groeten,

    Peter

  11. #11
    Senior Member
    Geregistreerd
    26 november 2013
    @Peter,

    Het lijkt me ook wel verstandig om de UTC (tijd) in 2 velden te splitsen en de tijd 24:00 te vervangen door 00:00.

    Heb jouw database bekeken maar weet niet hoe ik er mee om moet gaan,
    Een gebruiksaanwijzing zou goed zijn. Ik weet nog lang niet alles van Access.

    Graag hoor ik meer.

    Grt.
    Johan
    Toby

  12. #12
    Junior Member xps351's avatar
    Geregistreerd
    22 juni 2022
    Er valt volgens mij niet veel uit te leggen. Het is gewoon zeer basic Access.
    Via het formulier dat automatisch geopend wordt bij opstarten kan je radiostations met bijbehorende uitzendingen bekijken, toevoegen, wijzigen, verwijderen.

    Zoals gezegd moet je de 3 query's qryMaakDoelgebieden, qryMaakStations en qryMaakUitzendingen uitvoeren (op dubbelklikken) om de data vanuit de tabel sked-a22 over te halen naar de "echte" tabellen.
    Als dat te moeilijk is, raad ik je aan je eerst eens wat verder te verdiepen in Access en relationele databases. Op deze site staan de nodige handleidingen.

    Meer is het (nog) niet. Wat je verder nodig hebt aan formulieren, rapporten en dergelijke weet ik niet (en kan ik ook niet weten).
    Laatst aangepast door xps351 : 25 juni 2022 om 11:22
    Groeten,

    Peter

  13. #13
    Senior Member
    Geregistreerd
    26 november 2013
    Dankje xps350 voor je reactie, je instructie is wel duidelijk, op zich is je uitleg niet moeilijk te begrijpen.

    Inderdaad ben ik nog in een beginstadium maar had alles m.b.t. relaties en relationele databases al grondig bekeken en toegepast zonder problemen.

    Zelf werk ik ook nog niet lang met access.

    Als je nog suggesties e.d. dergelijk hebt, verneem ik dat graag.


    grt.
    Toby
    Toby

  14. #14
    Junior Member xps351's avatar
    Geregistreerd
    22 juni 2022
    Het is duidelijk dat de database nog niet helemaal af is.
    We moeten in ieder geval nog kijken naar de kwestie van het land.
    Verder moeten de overige kolommen uit de oorspronkelijke tabel nog een plaatsje krijgen. Zijn dat ook uitzendinggegevens? Wellicht zijn er gegevens bij (taal?l waar we een tabel van moeten maken.
    Tot slot is het natuurlijk zo dat je dadelijk de gegevens netjes hebt staan. Dan is het de vraag wat je er allemaal mee wilt doen.
    Groeten,

    Peter

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren