Frågor om att börja med databas

Permalänk
Medlem

Frågor om att börja med databas

Jag är inte alls säker på om det här är rätt ställe att fråga om detta (tråden får gärna flyttas till rätt plats), men…

Jag vill lära mig att använda databas, och skapa lite olika databaser för att lagra/sortera/använda (och, i vissa fall, göra beräkningar baserat på de olika data man har i, analyserar…) diverse information. (inkl kopplingar till internetlänkar, lokala filer, och annat) En del olika databaser, för olika sorters info. (med koppling mellan en bunt utav dem. Är inte helt säker på vilka som ska vara separata med länkade, och vilka som helt enkelt ska vara i en och samma databas)

…och, i flera fall, helst vill se till att det automatiskt kan dra fram relevant information från vissa internetsidor (Wikipedia, diverse databaser… [så som IMDB, t.ex. Det är dock knappast är en av de främsta jag tänker på, men…]), och se till att jag kan markera att vissa fält i sidorna motsvarar vissa fält i databasen och därmed ger valet att kopiera (helt eller delvis …och med val att se till att X från sida A, konverteras till Y i databasen) från det. (detta är önskvärt, men något jag anar kan, potentiellt, vara lite svårt/bökigt eller t o m, iaf i vissa fall, omöjligt utan att skapa ett eget program, för att utföra det …men om det går, utan sådana problem, så blir jag glad)

Med det i åtanke, så skulle jag vara väldigt tacksam, om jag skulle kunna få svar på dessa frågor:
Kan någon säga mig vad finns det för olika alternativ, vad gäller databas-system, program, och sånt?
Behöver man skaffa ett separat program, för att få till den presentation utav informationen (samt smidig inmatning, mer eller mindre, inom den presentationen), som man vill ha? (eller ännu värre: måste man skapa ett, själv? I så fall: Hur? Vad behövs, för det? Skulle föredra om det inte skulle kräva att jag lär mig programmera ordentligt [kan en liten gnutta. Lär mig iofs gärna lite mer, men…])
…och för att göra analys/beräkningar?

När jag väl vet vad jag ska använda mig utav, så borde det väl rimligtvis inte vara allt för svårt att leta rätt på källor för information om hur man lär sig använda det, även om det sen kan ta ett tag, innan man lär sig tillräckligt, för att få det att funka och vara uppbyggt så som man vill, men då är det väl bara att läsa/lära/fippla/experimentera/kämpa på, tills det blir rätt. (och sen fortsätta finslipa/vidareutveckla, såklart)

Visa signatur

/A-lan

Permalänk
Medlem

Kan börja med att det du frågar efter är ganska avancerat.
1. Lära dig en databas, är inte svårt i sig, går ganska snabbt om man nöjer sig med grunderna.
Välj en databas du vill arbeta med, tex MySQL, mariadb.
Installera och testa.

2. Du vill integrera något mot databasen, här blir det snabbt väldigt avancerat (beroende på vilken information du vill spara).
Du vill att den skall hämta information från hemsidor och ev visa informationen (på en egen hemsida?)
Det går att visa datan direkt från databasen, ibland finns det program som kan visa databasen, annars går det utmärkt från terminalen.

3. Analyser och beräkningar kan göras i databasen eller om du hämtar datan från databasen och analyserar med annat program.
Gör det som är enklast för dig.

Som du säger, läsa, testa och experimentera.
Börja med mindre projekt, tutorials på Youtube.
Finns mycket bra information på:
https://www.w3schools.com/

Många kör databasen från Linux, men är inget krav (beror även på vilken databas du vill använda)

Permalänk
Medlem
Skrivet av A-lan:

…och, i flera fall, helst vill se till att det automatiskt kan dra fram relevant information från vissa internetsidor (Wikipedia, diverse databaser… [så som IMDB, t.ex. Det är dock knappast är en av de främsta jag tänker på, men…]), och se till att jag kan markera att vissa fält i sidorna motsvarar vissa fält i databasen och därmed ger valet att kopiera (helt eller delvis …och med val att se till att X från sida A, konverteras till Y i databasen) från det. (detta är önskvärt, men något jag anar kan, potentiellt, vara lite svårt/bökigt eller t o m, iaf i vissa fall, omöjligt utan att skapa ett eget program, för att utföra det …men om det går, utan sådana problem, så blir jag glad)

Söktermen för det du söker är ”web scraping”. Det finns med stor sannolikhet kommersiella lösningar för allt eller delar av det du vill göra, det är bara att hala fram kreditkortet.

Förutom de moraliska och juridiska problemen med att kopiera andras data finns det en rad praktiska problem. En webbsida är som bäst halvstrukturerad och man får räkna med att strukturen ändras över tid. Ett av mina första programmeringsprojekt på 90-talet var att ladda ner en samling seriestrippar från olika sajter varje natt. Det krävdes en hel del underhåll för att få det att fungera över tid.

Du kan räkna med att de större sajterna analyserar sina loggar manuellt, halvautomtiskt eller helautomatiskt (ungefär samma övning som du vill göra faktiskt) och sätter upp spärrar för dem som skrapar deras sida. Jag har kollegor som ägnar sig åt det som delarbetsuppgift. De kommersiella tjänsterna för skrapning erbjuder lösningar för att hantera captcha och proxy-servrar. Sannolikt kommer du att behöva kunna HTML, hantera sidor som byggs dynamiskt av JavaScript och i framtiden hantera sidor kompilerade till WebAssembly. Förståelse av robots.txt, SiteMap.xml och reguljära uttryck (regexp) lär inte skada.

Att bygga själv är inte alls omöjligt. Bra datamodellering är dock viktigt för att kunna göra data användbar. Det låter som om du behöver en rätt hög abstraktionsnivå om du ska nå din ambitionsnivå. Min erfarenhet säger att det är en begränsad mängd människor som har både praktisk kunskap och kognitiv förmåga nog att bygga en komplex, högnormaliserad databas med hög grad av abstraktion. Det tar om inte annat tid att lära sig.

Huvudalternativen är relationsdatabaser (SQL) och dokumentdatabaser, ”No-SQL”. Det finns mängder av alternativ, titta på MariaDB, Postgres, MongoDB och Solr som exempel.

Separat program för presentation: ja. Räkna med komersiella closed-source-lösningar om du vill ha något användarvänligt och avancerat som funkar på din helt (för programtillverkaren) ospecificerade data. Och det kommer ändå ta tid att sätta upp.

Permalänk
Medlem
Skrivet av KAD:

Söktermen för det du söker är ”web scraping”. Det finns med stor sannolikhet kommersiella lösningar för allt eller delar av det du vill göra, det är bara att hala fram kreditkortet.

Eh, nej tack.
Gör hellre manuellt, än betalar.

Citat:

Förutom de moraliska och juridiska problemen med att kopiera andras data

Moraliska/juridiska problem, med att utnyttja öppet och allmänt tillgänglig data?
…som dessutom skapats av frivilliga individer? (på, mer eller mindre, samma vis som med Wikipedia …utom när det gäller Wikipedia, förstås, där det är på exakt det viset)
Med möjligt undantag för IMDB, då, men det är inte en sida jag hade tänkt ha mycket att göra med. Nämnde den sidan, mest för att den nog var mest känd för folk, så att man förstår vad jag menar.

Citat:

finns det en rad praktiska problem.

Ja, jag inser det.
Ändras sidan, så måste skrapningen ändras, för att hänga med, OSV

Citat:

Du kan räkna med att de större sajterna analyserar sina loggar manuellt, halvautomtiskt eller helautomatiskt (ungefär samma övning som du vill göra faktiskt) och sätter upp spärrar för dem som skrapar deras sida.

För kommersiella sajter, så kan jag tänka mig att de sätter upp sånt, men…

Citat:

Sannolikt kommer du att behöva kunna HTML, hantera sidor som byggs dynamiskt av JavaScript och i framtiden hantera sidor kompilerade till WebAssembly. Förståelse av robots.txt, SiteMap.xml och reguljära uttryck (regexp) lär inte skada.

HTML är enkelt. Kan lite enkel JavaScript. Ingen aning om WebAssembly, däremot
…men, som sagt, så ser jag inget skäl, till varför något av det vore nödvändigt.
[quote]Att bygga själv är inte alls omöjligt.[quote]
Ju mindre jag måste bygga själv, desto bättre. Särskilt om det krävs ordentlig programmering. (kan ju bara litegrann, och det tar ju tid att lära sig… Nog för att jag inte är emot att lära mig, men jag kommer ju vara upptagen med att lära mig databas. Vill helst kunna vänta med, och ta det sakta, med lärandet av programmering)

Citat:

Bra datamodellering är dock viktigt för att kunna göra data användbar.

Beroende på vilka data det gäller.
Är mest bara en grej, där jag skulle behöva datamodellering.
Vore trevligt ifall jag kunde få tag på nån som kan göra det åt mig, men det verkar inte riktigt vara ett alternativ, så jag tror nog att jag blir tvungen att göra det själv… och då vet jag inte heller riktigt hur/vad som bör göras med datan.
(men bortsett från den grejen/databasen, så är resten av det jag vill ha i databas, saker som bara behöver matas in, kopplas/relateras till varandra, och ses till att stämma överens, och inget mer än så. Det kräver ingen datamodellering)

Citat:

Separat program för presentation: ja. Räkna med komersiella closed-source-lösningar om du vill ha något användarvänligt och avancerat som funkar på din helt (för programtillverkaren) ospecificerade data. Och det kommer ändå ta tid att sätta upp.


Det måste väl ändå finnas nåt gratis/open-source? Hoppas jag…
(inser att mycket som man kan tycka borde finnas, inte finns, men… vill ändå tro att det här inte är ett exempel på det)

Och ja, att det ändå sen behöver justeras och fipplas, rätt ordentlig, förstår jag är självklart.

Visa signatur

/A-lan

Permalänk
Avstängd
Skrivet av A-lan:

Eh, nej tack.
Gör hellre manuellt, än betalar.
Moraliska/juridiska problem, med att utnyttja öppet och allmänt tillgänglig data?
…som dessutom skapats av frivilliga individer? (på, mer eller mindre, samma vis som med Wikipedia …utom när det gäller Wikipedia, förstås, där det är på exakt det viset)
Med möjligt undantag för IMDB, då, men det är inte en sida jag hade tänkt ha mycket att göra med. Nämnde den sidan, mest för att den nog var mest känd för folk, så att man förstår vad jag menar.
Ja, jag inser det.
Ändras sidan, så måste skrapningen ändras, för att hänga med, OSV
För kommersiella sajter, så kan jag tänka mig att de sätter upp sånt, men…
HTML är enkelt. Kan lite enkel JavaScript. Ingen aning om WebAssembly, däremot
…men, som sagt, så ser jag inget skäl, till varför något av det vore nödvändigt.
[quote]Att bygga själv är inte alls omöjligt.[quote]
Ju mindre jag måste bygga själv, desto bättre. Särskilt om det krävs ordentlig programmering. (kan ju bara litegrann, och det tar ju tid att lära sig… Nog för att jag inte är emot att lära mig, men jag kommer ju vara upptagen med att lära mig databas. Vill helst kunna vänta med, och ta det sakta, med lärandet av programmering)
Beroende på vilka data det gäller.
Är mest bara en grej, där jag skulle behöva datamodellering.
Vore trevligt ifall jag kunde få tag på nån som kan göra det åt mig, men det verkar inte riktigt vara ett alternativ, så jag tror nog att jag blir tvungen att göra det själv… och då vet jag inte heller riktigt hur/vad som bör göras med datan.
(men bortsett från den grejen/databasen, så är resten av det jag vill ha i databas, saker som bara behöver matas in, kopplas/relateras till varandra, och ses till att stämma överens, och inget mer än så. Det kräver ingen datamodellering)

Det måste väl ändå finnas nåt gratis/open-source? Hoppas jag…
(inser att mycket som man kan tycka borde finnas, inte finns, men… vill ändå tro att det här inte är ett exempel på det)

Och ja, att det ändå sen behöver justeras och fipplas, rätt ordentlig, förstår jag är självklart.

Även fritt tillgänglig information kan vara skyddad av copyright och liknande. Och handlar det om personuppgifter så är det ju väldigt olagligt att bygga någon form av egen databas utan alla deltagares uttalade tillåtelse.

Annars håller jag med övriga i att det är lite olika saker du fråga efter här. Mjukvara för databaser finns gratis och lättillgängligt, och det är inte så svårt att lära sig, men scraping är svårare och mer komplicerat. När det gäller presentation av data på ett trevligt sett så finns det också massor av olika lösningar men om man inte behöver göra det automatiskt eller ändra så mycket så är det oftast enklast att plocka ut informationen på ett bra sätt från databasen och sen importera i Excel eller liknande och där skapa grafer eller så.

Vill då gå MS "proffs"-väg så är det bara att ladda ner SQL Server Express och SSMS (SQL Server Management Studio), SSRS (SQL Server Reporting Services, kan skapa fina diagram och rapporter även interaktiva) tror jag dock man måste betala för, men Excel funkar ju.

Permalänk
Medlem
Skrivet av snajk:

Även fritt tillgänglig information kan vara skyddad av copyright och liknande.

Inte de källor jag tänker på. (iaf inte de flesta)
…och till den grad som vissa ändå täcks av copyright, så handlar det om att begränsa andras rätt att sprida/publicera informationen, vilket ju knappast är relevant, här.

Citat:

Och handlar det om personuppgifter så är det ju väldigt olagligt att bygga någon form av egen databas utan alla deltagares uttalade tillåtelse.

Så om jag har en adressbok, där jag skriver ner namn och kontaktuppgifter till folk jag känner, så är det olagligt?
Verkligen?
Då är nog runt 90% av Jordens befolkning, brottslingar.

Citat:

Annars håller jag med övriga i att det är lite olika saker du fråga efter här.

1. Var har någon annan uttryckt att det är "lite olika saker" jag frågar efter här?
2. Nej, det är en sak, som ska kunna hantera ett par olika saker. Det är knappast en konstig eller ny grej. (bildvisningsprogram brukar också kunna köra slideshows …och ofta även enklare bildredigering. Filhanterare kan inte bara visa/navigera filsystemet, men även kopiera, flytta, byta namn, radera, skapa ny fil/mapp, koppla till nätverk…)

Citat:

Mjukvara för databaser finns gratis och lättillgängligt

Visst, men vilket system är bäst. (eller mer korrekt: Vad är deras olika för- och nackdelar?)
Sen vore det bra med samma fråga, vad gäller program för att skapa/hantera databas också.

Citat:

men scraping är svårare och mer komplicerat.

I värsta fall, så kan jag göra det manuellt (vill iofs skaffa nåt program som scrapar från Twitter, så att jag kan få tag på alla bilder, från vissa konton där, trots Twitters försök att försvåra en att se något annat än det allra nyaste som postats… Men det är något helt annat, och har inget med denna diskussion/fråga att göra), men det vore mycket trevligare att bara göra det med ett klick (och sen välja vilka bitar man importerar i databasen, vilka man inte importerar …och vilka man importerar med viss modifiering [gärna med möjlighet att få programmet (scraparen, eller databasens hanterande utav det den får ifrån den) att ändra X från källa A, till Y])

Citat:

När det gäller presentation av data på ett trevligt sett så finns det också massor av olika lösningar men om man inte behöver göra det automatiskt eller ändra så mycket så är det oftast enklast att plocka ut informationen på ett bra sätt från databasen och sen importera i Excel eller liknande och där skapa grafer eller så.

För just den (iofs rätt så viktiga) grejen, där jag gärna vill ha analys och så, så skulle det kunna funka. (låter dock bökigt)
För allt annat, för allt annat, så skulle det vara uruselt.

Vad jag, förövrigt, verkar ha helt glömt att nämna, är att jag ska kunna söka/filtrera, kolla hur olika saker är kopplade/relaterade till varandra, och diverse annat. (i både biten med analys, samt även övriga delar)

Citat:

Vill då gå MS "proffs"-väg

Nä du, jag vill hålla mig långt ifrån Microsoft!
Open Source skulle kännas mest pålitligt/säkert. (när jag talar om säkerhet, så pratar jag inte om skydd från hackers, utan snarare från tillverkarna)

…och Excel är ju fint och trevligt, för vissa syften, men för det jag talar om här…

Visa signatur

/A-lan

Permalänk
Vila i frid
Skrivet av A-lan:

jag vill hålla mig långt ifrån Microsoft!

Det är bra att kunna lite om mycket. Det är inte helt bortkastad tid att kika på Visual Studio 2022 Community/Visual Studio Code och SQL Express. Office On The Web är även den gratis.

Permalänk
Medlem

Kan ha missförstått något efter alla diskussioner som har varit men det låter ju nästan som om att du behöver en hemsida som agerar interface mot olika API:er där du själv kan välja och vraka vad som skall lagras i din databas.

Både IMDb och Twitter har väl API med öppen (kanske betallösning) tillgång? För den informationen du inte kan plocka ut via API:er så får du nog köra scraping.

MySQL, MariaDB och PostgreSQL är relationsdatabaser vilket borde duga för det du vill göra. Annars kan du läsa på om olika databastyper för att se om det finns någon som passar dina ändamål bättre. Relationsdatabaser är nog dock det jag skulle rekommendera i det här fallet.

Den här boken är nog ingenting lättläst för en nybörjare men jag läste den utan vidare förkunskap och fick ett par tankeställare. För små hobbyprojekt är det dock overkill.
https://www.amazon.com/Designing-Data-Intensive-Applications-...

Visa signatur

Grubblare

Permalänk
Avstängd
Skrivet av A-lan:

Inte de källor jag tänker på. (iaf inte de flesta)
…och till den grad som vissa ändå täcks av copyright, så handlar det om att begränsa andras rätt att sprida/publicera informationen, vilket ju knappast är relevant, här.

Eftersom du inte säger vad det handlar om så är det svårt att veta.

Citat:

Så om jag har en adressbok, där jag skriver ner namn och kontaktuppgifter till folk jag känner, så är det olagligt?
Verkligen?
Då är nog runt 90% av Jordens befolkning, brottslingar.

Nja, GDPR gäller i EU inte i hela världen, och det finns förstås undantag för rent privat behandling av uppgifter som i en adressbok för användning i ett hushåll. Men om du exempelvis administrerar en förenings medlemsregister och inte har inhämtat ett godkännande av alla medlemmar så bryter du mot lagen, eller om du har ett företag och registrerar de anställdas arbetstider utan godkännande. För mer info: https://www.imy.se/verksamhet/dataskydd/det-har-galler-enligt...

Citat:

1. Var har någon annan uttryckt att det är "lite olika saker" jag frågar efter här?

Det första svaret du fick exempelvis. Vad jag menar är att rubriken frågar om databaser, och det finns massvis av databaser för olika syften och situationer, men problemet är ju vad du ska använda till att samla in informationen för det har inget med databasen att göra.

Citat:

2. Nej, det är en sak, som ska kunna hantera ett par olika saker. Det är knappast en konstig eller ny grej. (bildvisningsprogram brukar också kunna köra slideshows …och ofta även enklare bildredigering. Filhanterare kan inte bara visa/navigera filsystemet, men även kopiera, flytta, byta namn, radera, skapa ny fil/mapp, koppla till nätverk…)

Jo visst, men att skrapa information från webben är väldigt skilt från en databas. Du är i programmeringsdelen av forumet här så jag antar att du har tänkt att bygga en lösning, inte bara välja en färdig, och då har du fått rekommendationer på saker som man kan använda i sin egen mjukvara, som databaser och presentationsverktyg. Skrapverktyg är en egen kategori dock och där kan inte jag hjälpa dig så mycket. Däremot hade jag ju kunnat hjälpa dig om du ville bygga ett sånt verktyg själv, men det är knappast effektivt förstås, och så mycket hjälp får du inte av mig gratis tyvärr. Men du kan förstås bara googla efter "best scraping tools" eller liknande och hitta rekommendationer och säkerligen guider om hur man gör på bästa sätt.

Citat:

Visst, men vilket system är bäst. (eller mer korrekt: Vad är deras olika för- och nackdelar?)

Det finns böcker om vilken databas som är bäst för vilket syfte, men det är svårt att säga utan att veta vad det är du lagrar och hur det ska användas. På en högre nivå finns det några typer, tidigare använde man mestadels relationsdatabaser, SQL Server exempelvis, eller SQLite, MariaDB etc. Där lagras data i tabeller och man korsrefererar för att filtrera eller avgränsa resultat, alltså relationer mellan data i olika tabeller, därav benämningen relationsdatabas. De flesta av dessa använder liknande syntax och har liknande grundfunktionalitet även om mer avancerad funktionalitet skiljer sig åt. En annan kategori som är poppis nu, och som jag har erfarenhet av, är dokumentbaserade databaser, som MongoDB exempelvis. Där lagras data inte (i första hand i alla fall) i tabeller utan i samlingar med dokument. Detta underlättar när man inte vill sätta rigida regler för formen på data.

Exempel: Om du ska bygga en adressbok i en relationsdatabas kan du förstås lägga all information i samma tabell, men det blir snabbt oöverskådligt och jobbigt att använda. Men säg att du har bara en tabell som heter "person", och i den har du ett fält för gata, ett för gatunummer, ett för telefonnummer kanske och så vidare. Men om en person du ska få in råkar ha två adresser, eller telefonnummer, så fallerar det ganska direkt liksom. Alltså bygger du upp det med relationer så du har en person-tabell med namn och kanske personnummer om du har tillgång till det. Sen har du en adresstabell med en relation till persontabellen där du kan ha flera adresser kopplade till samma person, sen en telefontabell kanske och så vidare. Då kan du också koppla en adress till flera personer, om det handlar om en idrottsförening exempelvis så kanske båda föräldrarna och alla barnen är medlemmar men de har samma adress och då kanske du bara refererar till samma rad i adressdatabasen. Normalt så gör man inte det dock.

Men säg att du plötsligt kommer på att du behöver e-postadress också, då löser du normalt det genom att lägga till en ny tabell för e-post med en koppling till persontabellen förstås. Sen kanske du kommer på att du vill ha användarnamn på twitter, och kanske instagram också, ska du lägga till tabeller för dessa också eller kanske göra "e-post"-tabellen mer generell, och förstås kalla den något annat? På mitt gamla jobb hade vi exempelvis en tabell Telephone och en annan "typ av telefon"-tabell med väldigt få poster som bara var ett ID och typ "Home", "Work", "Mobile", "Fax" eller vad man nu behöver. Telefontabellen hade då en referens till personens ID, en till typtabellens ID och själva telefonnumret, och förstås lite metadata om när posten skapades och ändrades senast, av vem och så. Sen kan man förstås ta det för långt. Ska du ha ett fält i adresstabellen för postort eller ska du bara ha en referens till postortstabellen? Det beror ju på, hur tung är databasen, hur många poster kommer den att ha, hur klen är datorn den körs på, vad är prestandakraven och så vidare. Ett fält gör ju att det inte är några problem att typ skriva in "Oslo" där även om du tidigare bara hade svenska orter, medan om du har en separat postortstabell så måste du ju lägga till Oslo där. Å andra sidan kanske du använder "stad" på andra platser också och då kan det ju underlätta att bara referera till postortstabellen.

I en dokumentbaserad databas däremot kanske du bara har en samling med personer. På varje persons dokument kan du lägga till ett eller flera adressobjekt, telefonnummerobjekt och så vidare och kommer du på att du också vill spara något mer, säg att du efter ett tag kommer på att du också behöver ålder på personerna, så är det bara att lägga till det utan att det ändrar databasmodellen. Problemet är ju att detta inte är lika effektivt att söka igenom som en relationsdatabas. Det löser man genom att skapa index, så om du exempelvis använder personnummer och stad som söktermer normalt sett så kan du skapa ett index baserat på personnummer och ett på stad och då blir det i princip en tabell i den ordningen, med personnummer och ett ID exempelvis, som är snabb att söka igenom, och sen plockas dokumentet fram från ID och du kommer åt allt om denna person. Eller i fallet stad så får du fram ID på alla som bor i den staden och kan komma åt allt.

Sen finns det andra typer av databaser också men i allmänhet hamnar de någonstans mellan dessa. Gemensamt för de flesta är att de inte är gjorda för att användas av en person utan av ett annat program. Normalt har man inte ett användarvänligt gränssnitt alltså utan det är upp till en själv att bygga det eller välja någon annan mjukvara som kan filtrera och/eller presentera informationen. Ett undantag är program som Access som är en enkel databasmotor med ett anpassningsbart gränssnitt för att bygga databaslösningar utan att behöva programmera.

Citat:

Sen vore det bra med samma fråga, vad gäller program för att skapa/hantera databas också.

Ja men det beror på som sagt. Ska du använda detta verktyg för att söka själv eller för att bygga en mjukvara? Idag bygger man normalt inte databasen "för hand" om man har en relationsdatabas utan man använder någon ORM, Object Relational Mapping, som gör det åt en baserat på mjukvaran man bygger. Entity Framework är vanlig exempelvis, och den jag har erfarenhet av.

Citat:

I värsta fall, så kan jag göra det manuellt (vill iofs skaffa nåt program som scrapar från Twitter, så att jag kan få tag på alla bilder, från vissa konton där, trots Twitters försök att försvåra en att se något annat än det allra nyaste som postats… Men det är något helt annat, och har inget med denna diskussion/fråga att göra), men det vore mycket trevligare att bara göra det med ett klick (och sen välja vilka bitar man importerar i databasen, vilka man inte importerar …och vilka man importerar med viss modifiering [gärna med möjlighet att få programmet (scraparen, eller databasens hanterande utav det den får ifrån den) att ändra X från källa A, till Y])

Läs: https://towardsdatascience.com/how-to-scrape-tweets-from-twit...

Citat:

För just den (iofs rätt så viktiga) grejen, där jag gärna vill ha analys och så, så skulle det kunna funka. (låter dock bökigt)
För allt annat, för allt annat, så skulle det vara uruselt.

Vad jag, förövrigt, verkar ha helt glömt att nämna, är att jag ska kunna söka/filtrera, kolla hur olika saker är kopplade/relaterade till varandra, och diverse annat. (i både biten med analys, samt även övriga delar)

Jo det är ofta det man gör med en databas, förutom då att lagra information. ELK-stacken kanske kan vara något att titta på, eller du behöver ju inte Logstash (L) för det är inte loggar du har i din databas men Elastic och Kibana kan nog vara till stor hjälp.

Citat:

Nä du, jag vill hålla mig långt ifrån Microsoft!
Open Source skulle kännas mest pålitligt/säkert. (när jag talar om säkerhet, så pratar jag inte om skydd från hackers, utan snarare från tillverkarna)

Fördelen med MS är ju att det finns väldigt mycket hjälp att få, och förstås att det är förhållandevis stabila produkter. Men om du inte litar på att MS inte granskar dina databaser så vet jag inte varför du skulle lita på någon random utvecklare heller liksom.

Citat:

…och Excel är ju fint och trevligt, för vissa syften, men för det jag talar om här…

Excel är extremt kraftfullt. Det är inte det smidigaste att jobba med alltid men gränssnittet är ju familjärt för de flesta och så, och gräver man lite djupare så har det verktyg för det mesta inom databehandling och -presentation. På mitt förra jobb byggde jag exempelvis ett Excel-dokument som var uppkopplat mot en (MS) SQL-databas och skapade månadsrapporter baserat på databasen med ett klick på en knapp i dokumentet, med grafer och drop-downs för att filtrera och kategorisera.

Men Kibana är rätt trevligt för liknande saker också, dock krävs det ju mer mekande för att få det bra. Annars finns ju QlikView från ett svenskt bolag, det är inte gratis och är ett jävla helvete att få igång, och de flesta använder typ 0,1% av funktionaliteten, men det ser väldigt imponerande ut.

Permalänk
Medlem

Jag har visst råkat missa/glömma att jag fått svar här! Hoppsan. Missade det tacksamt nog inte så länge.

Skrivet av drwlz:

Kan ha missförstått något efter alla diskussioner som har varit men det låter ju nästan som om att du behöver en hemsida som agerar interface mot olika API:er där du själv kan välja och vraka vad som skall lagras i din databas.

Nä, inte en hemsida. Ett program.

Citat:

MySQL, MariaDB och PostgreSQL är relationsdatabaser vilket borde duga för det du vill göra. /…/ Relationsdatabaser är nog dock det jag skulle rekommendera i det här fallet.

Hm…
Mina egna (begränsade) efterforskningar verkade peka åt att åtminstone börja där, då även de system som inte är rent relations-databaser, som lät vettigast, är tillägg på en relationsdatabas-bas.
…och de svar jag fått här, har klart och tydligt pekat åt det hållet, i ditt fall (tacksamt) uttryckligen.
Blir nog att köra på det.

Citat:

Den här boken är nog ingenting lättläst för en nybörjare men jag läste den utan vidare förkunskap och fick ett par tankeställare. För små hobbyprojekt är det dock overkill.

Får se om jag kanske tar en titt på den. (samt absolut söka efter diverse nät-källor) Tack för tipset, i vilket fall.

Visa signatur

/A-lan

Permalänk
Medlem
Skrivet av snajk:

Eftersom du inte säger vad det handlar om så är det svårt att veta.

När man inte vet, så bör man agera/tala som att man inte vet:
Ställa frågor, be om vidare förklaringar, nämna olika info/möjligheter beroende på potentiella situationer…
Det är inte vidare bra eller produktivt, att agera/tala som att det självklart är på ett särskilt vis, när man inte har någon grund för det antagandet.

Citat:

Nja, GDPR gäller i EU inte i hela världen, och det finns förstås undantag för rent privat behandling av uppgifter som i en adressbok för användning i ett hushåll.

…och vad fick dig att anta, att det definitivt//absolut var något annat jag hade i åtanke?

Citat:

Men om du exempelvis administrerar en förenings medlemsregister och inte har inhämtat ett godkännande av alla medlemmar så bryter du mot lagen

Hm?
Jag har varit i sådan position (inte längre), fast jag skulle ju då iofs använda föreningens register för sånt syfte, inte min egen databas.
…men borde inte faktumet att medlemmarna ombeds och ger den informationen till föreningen, i processen av att registreras som medlem, räknas som godkännande?
Om inte, så bryter nog de flesta föreningar mot lagen. (större föreningar, samt sådana som har nära kontakt med kommun, har rimligtvis koll, men…)

Citat:

eller om du har ett företag och registrerar de anställdas arbetstider utan godkännande.

Ser inget skäl till att se det som troligt, att det skulle vara relevant, här. Än mindre att anta att det var fallet.

Citat:

Det första svaret du fick exempelvis.

Ser inget i det svaret, som ens kommer i närheten utav att antyda, att personen anser att det är "lite olika saker" jag frågar efter ("avancerat"≠"lite olika saker"), och du har inte pekat på vad i det svaret, som du menar uttrycker det.

Citat:

det finns massvis av databaser för olika syften och situationer

Därav mina frågor om hur de olika systemen skiljer sig, samt vilket som bäst skulle passa för det jag vill ha.
…och på vilket vis, ska jag inte ha förklarat, vad jag vill ha? Vad jag vill göra med databasen, och hur jag vill använda den? (om du anser att det behöver mer detaljer/förtydligande/förklaring, så… Visst, det är inget problem. Men att mena på att jag inte sagt något…)

Citat:

men problemet är ju vad du ska använda till att samla in informationen för det har inget med databasen att göra.

För att citera från första inlägget (med betoning):
"för att lagra/sortera/använda (och, i vissa fall, göra beräkningar baserat på de olika data man har i, analyserar…) diverse information. (inkl kopplingar till internetlänkar, lokala filer, och annat) En del olika databaser, för olika sorters info. (med koppling mellan en bunt utav dem. /…/ helst vill se till att det automatiskt kan dra fram relevant information från vissa internetsidor (Wikipedia, diverse databaser/…/
Behöver man skaffa ett separat program, för att få till den presentation utav informationen/…/, som man vill ha? (eller ännu värre: måste man skapa ett, själv? I så fall: Hur? Vad behövs, för det?/…/
…och för att göra analys/beräkningar?"

Så hur har jag inte redan, från första början, besvarat det?
…och hur har jag inte redan frågat om program som presenterar informationen i databasen? (som också ska kunna ändra/lägga till information, förstås)

Citat:

Du är i programmeringsdelen av forumet här så jag antar att du har tänkt att bygga en lösning, inte bara välja en färdig

Nej, detta är inte programmeringsdelen. Det är delen för "programmering och digitalt skapande", och att skapa en databas kan väl räknas som digitalt skapande? Kanske?
För att, återigen, citera från första inlägget:
"Jag är inte alls säker på om det här är rätt ställe att fråga om detta (tråden får gärna flyttas till rätt plats), men…"
Var annars, skulle denna tråd passa bäst? Det var absolut inte något som jag tycker verkar tydligt.
Jag vill förvisso gärna kunna ordentlig programmering (har, som sagt, uttryckt att jag bara kan litegrann), men jag har vid flera tillfällen i denna tråd, uttryckt att jag inte vill vara tvungen att skapa en egen lösning, men att jag till största mån vill ha något som är färdigt. (men som antingen gör det jag vill, eller kan justeras till att göra det)
Det kan sedan ersättas av mer och mer eget, allt eftersom jag lär mig, men det kan ju ta ett bra tag.

Citat:

Skrapverktyg är en egen kategori dock och där kan inte jag hjälpa dig så mycket.

Synd, men sen hade jag inte allt för höga förväntningar, på den punkten.

Citat:

Det finns böcker om vilken databas som är bäst för vilket syfte, men det är svårt att säga utan att veta vad det är du lagrar och hur det ska användas.

Det har jag, som sagt, redan, sagt.
Men för att förtydliga:
Info om böcker, serietidningar, tv-serier, filmer, spel (inkl bräd-/kort-spel), samt vad utav dem jag sett/läst/har/äger. (och alla kopplingar mellan dem, info om, författare, tecknare [inkl tecknare som bara gör bilder jag gillar, okopplat till böcker/filmer/spel eller sånt], skådisar, regissörer etc etc …kunna kolla vilka som samma person haft X position i… etc …för att inte tala om att kunna söka/filtrera baserat på taggar/genrer/årtal/whatever), personlig adressbok, datum och kalender… (med diverse, även okonventionella/insider, årsdagar/högtider och sånt)

Det är det jag kommer på/ihåg, på rak arm.

Det och den grejen som kräver analys, men där jag tyvärr inte riktigt vet hur/vad som bör analyseras:
Sömndagbok.
Ja, det finns en del existerande lösningar, men ingen av de jag känner till, är ens i närheten utav relevanta/vettiga för någon med min nivå utav kaotiskt dygnsrytm, samt inte har den presentation/analys som jag behöver, så jag behöver fixa nåt eget. Vore bra om jag kan hitta nån som kan analys och statistik och sånt, som kan hjälpa med den aspekten. Om inte (vilket låter troligt), så får jag försöka mitt bästa, själv…

Citat:

Exempel:

Riktigt bra info/förklaring. 👍
Låter som att det för mig, är klart bättre att köra med relationsdatabas, än dokumentbaserat.

Citat:

Gemensamt för de flesta är att de inte är gjorda för att användas av en person utan av ett annat program. Normalt har man inte ett användarvänligt gränssnitt alltså utan det är upp till en själv att bygga det eller välja någon annan mjukvara som kan filtrera och/eller presentera informationen.

Mm, jag behöver ett vettigt "gränssnittsprogram". (men också ett rent databasprogram, för att fixa grundstrukturen för databasen, antar jag? Klart bra att ha/kunna, oavsett, så att man kan justera manuellt, vid eventuellt behov)
Jag hoppas på att det ska finnas nåt färdigt, som är rätt så justerbart, som jag kan anpassa för mina syften
…eller kanske finns det program för skapandet utav "gränssnittsprogram"? (utan att, nödvändigtvis, programmera)

Citat:

Ja men det beror på som sagt. Ska du använda detta verktyg för att söka själv eller för att bygga en mjukvara?

Med "söka själv", menar du söka i databasen, antar jag?
Jag vill ha ett "gränssnittsprogram", ja.
Vad menar du med "för att bygga en mjukvara"? Om du menar att ha ett program som bygger ett "gränssnittsprogram", har jag förstås svarat det precis ovan, i detta inlägg.

Citat:

Idag bygger man normalt inte databasen "för hand" om man har en relationsdatabas utan man använder någon ORM, Object Relational Mapping, som gör det åt en baserat på mjukvaran man bygger. Entity Framework är vanlig exempelvis, och den jag har erfarenhet av.

Hm… får ta och kolla upp om det.

Det ska jag göra : )

Citat:

Jo det är ofta det man gör med en databas, förutom då att lagra information. ELK-stacken kanske kan vara något att titta på, eller du behöver ju inte Logstash (L) för det är inte loggar du har i din databas men Elastic och Kibana kan nog vara till stor hjälp.

Av en snabb koll om ELK, så låter det onekligen intressant. Det får jag ta och kolla upp om.

Citat:

Fördelen med MS är ju att det finns väldigt mycket hjälp att få, och förstås att det är förhållandevis stabila produkter.

Ja, det är ju allt sant.

Citat:

Men om du inte litar på att MS inte granskar dina databaser

Njä, det är inte det jag tror de gör. (såvida det inte är en online/moln-lösning, förstås) Det är lite bökigt att förklara…

Citat:

Excel är extremt kraftfullt.

…men det är inte ett databas-program. Den kan koppla till det, ja, men…
Och jag har viss koll på vad för mer avancerade saker den kan göra, men det är ju fortfarande inte på samma nivå som saker som specifikt är gjort för/med databaser. Kör hellre med en mer ordentlig lösning, som är gjort för saken, från grunden.

Men dina andra förslag låter onekligen riktigt bra/intressant.
Ett väldigt informativt inlägg.

Visa signatur

/A-lan

Permalänk
Medlem

Kollade lite snabbt om de föreslagna MySQL, MariaDB, PostgreSQL, och SQLite, på Wikipedia (samt kollat deras "Comparison of relational database management systems"), där det låter som att MariaDB är rätt väg att gå? (särskilt att MariaDB är att föredra framför MySQL, mtp varför det avgrenades från det)
Var dock mindre klart, vad gäller PostgreSQL, så jag gjorde en internetsökning på jämförelser mellan PostgreSQL och MariaDB, vilket verkar bekräfta att jag förmodligen bör välja MariaDB, för just mina syften, så…
Det får bli MariaDB, då.
Det verkar ha löst frågan om själva grund-databasen.

Visa signatur

/A-lan

Permalänk
Medlem
Skrivet av snajk:

Men Kibana är rätt trevligt för liknande saker också, dock krävs det ju mer mekande för att få det bra. Annars finns ju QlikView från ett svenskt bolag, det är inte gratis och är ett jävla helvete att få igång, och de flesta använder typ 0,1% av funktionaliteten, men det ser väldigt imponerande ut.

Dock är QlikView inte längre aktuellt, utan det är QlikSense som gäller. Råkar jobba lite med QlikView ibland och vi kommer se över möjligheten att migrera alla våra QlikView appar till QlikSense

Visa signatur

5700x3D | RTX 2060 Super | 2 TB M.2 | 32 GB RAM | Gigabyte DS3H| 750 WATT

Permalänk
Medlem

Jag skulle börja med SQL lite, supersmidig liten databas som jag använder till allt för snabb analys av små dataset.

När den inte längre hänger med så är postgres ett bra val.

Väljer du sen att jobba via tex SQL alchemy så kan du byta underliggande utan större förändringar av kodbasen.

Visa signatur

Ei bor i stockholm och tar inget ansvar för allt som han säger
7900, 64 gig ram, radeon r290
Solna arbetscenter

Permalänk
Hedersmedlem
Skrivet av Ei:

Jag skulle börja med SQL lite, supersmidig liten databas som jag använder till allt för snabb analys av små dataset.

När den inte längre hänger med så är postgres ett bra val.

Väljer du sen att jobba via tex SQL alchemy så kan du byta underliggande utan större förändringar av kodbasen.

+1
Jag kan också rekommendera DB Browser for SQLite för enklare administration och överblick.

Permalänk
Medlem

Hindret är inte val av DB utan hur datamodellen ska se ut och hur du ska få in data.
Börja med något som är gratis och jobba dig vidare.

Kan vara enklast att använda någon typ av dokumentdatabas där du läser in json/xml/annan ostrukturerad data. Då behöver du inte tänka på datamodellen det första du gör.

Sen integration är som alla skrivit att scraper är ett alternativ. Ett annat är att se om du kan göra api-anrop eftersom du pratar om att det är öppet data.

Permalänk
Medlem
Skrivet av Wiinis:

Hindret är inte val av DB

Jo, nog är DB ett hinder, men där kör jag nog med MariaDB, som sagt.

Bör påpeka att en hög prioritet, är att saker är stabilt, säkert, och pålitligt …och med säkert, så menar jag inte från externa angrepp. [kommer ju bara vara på personliga datorn, och inte koppla till, eller öppet till tillgång från, nätet. Annat än att det är på en internetkopplad dator, då] Att det som är i databasen inte korrumperas. Sen kör vissa databaser med system som hanterar situationer med när en person läser en uppgift, samtidigt som en annan skriver i samma …vilket förstås inte är relevant, när jag är den enda som ska använda den.
Säg gärna till, ifall nåt av det betyder att jag kanske borde tänka om, vad gäller val av MariaDB.

Citat:

utan hur datamodellen ska se ut och hur du ska få in data.

Mm, det verkar onekligen vara det större problemet, vilket jag rätt mycket anade.
Betraktade ändå DB-valet, som något som behöver tas hand om först, för att det ju är grunden på vilket resten bygger (och "gränssnittsprogram", som jag valt att kalla det här, behöver vara ett som funkar med den DB man väljer. Iofs klarar nog en del, kanske t o m många, flera DB)

Välkommnar tips, på den punkten.
Antar att ELK-tipset var (iaf delvis?) ett tips om det (har inte riktigt kollat upp om det, riktigt än), men vill gärna ha koll på lite fler alternativ.

Citat:

Börja med något som är gratis och jobba dig vidare.

Jag har, i regel, större tillit till Open Source, än kommersiella lösningar.
(beror lite på, och i vissa program/företag kan ju skapa sig ett gott rykte/tillit, men generellt sett, och definitivt i det här området…)

Dels så är det långt mer öppet och transparant, undviker gömda motiv/korruption hos skaparna, gömda funktioner/bloat/ineffektivitet i program… (för man har ju en drös oberoende/okopplade folk som kollar igenom koden) etc
Samt även att man undviker effekten utav dåliga val/omdömen från skapare, baserat på inkompetens (oftast inte så mycket från de som faktiskt skapar programmen, så mycket som deras chefer), korruption, val som görs av rena marknadsföringsskäl (snarare än vad som vore bra) och/eller att skaparna/cheferna är i sin egen lilla bubbla och inte har nån koll på vad användarna vill/behöver.
Får för sig att "X blir bra", utan att det finns nåt som skulle tyda på det, och det sen visar sig vara sämre, men de förnekar, eller inte ser, det och insisterar med att fortsätta med det… (något som är extremt vanligt, nuförtiden)

Ah, jag minns hur det var förr, då "nyare version" i princip alltid betydde "bättre version"… (snarare än att långt oftare betyda sämre)

Om ett Open Source-projekt går helt åt helt fel håll, så tar ju oftast nån/några andra och skapar avgrening(ar) …och/eller ett helt nytt alternativ.

Visa signatur

/A-lan

Permalänk
Medlem
Skrivet av A-lan:

Jo, nog är DB ett hinder, men där kör jag nog med MariaDB, som sagt.

Bör påpeka att en hög prioritet, är att saker är stabilt, säkert, och pålitligt …och med säkert, så menar jag inte från externa angrepp. [kommer ju bara vara på personliga datorn, och inte koppla till, eller öppet till tillgång från, nätet. Annat än att det är på en internetkopplad dator, då] Att det som är i databasen inte korrumperas. Sen kör vissa databaser med system som hanterar situationer med när en person läser en uppgift, samtidigt som en annan skriver i samma …vilket förstås inte är relevant, när jag är den enda som ska använda den.
Säg gärna till, ifall nåt av det betyder att jag kanske borde tänka om, vad gäller val av MariaDB.
Mm, det verkar onekligen vara det större problemet, vilket jag rätt mycket anade.
Betraktade ändå DB-valet, som något som behöver tas hand om först, för att det ju är grunden på vilket resten bygger (och "gränssnittsprogram", som jag valt att kalla det här, behöver vara ett som funkar med den DB man väljer. Iofs klarar nog en del, kanske t o m många, flera DB)

Välkommnar tips, på den punkten.
Antar att ELK-tipset var (iaf delvis?) ett tips om det (har inte riktigt kollat upp om det, riktigt än), men vill gärna ha koll på lite fler alternativ.
Jag har, i regel, större tillit till Open Source, än kommersiella lösningar.
(beror lite på, och i vissa program/företag kan ju skapa sig ett gott rykte/tillit, men generellt sett, och definitivt i det här området…)

Dels så är det långt mer öppet och transparant, undviker gömda motiv/korruption hos skaparna, gömda funktioner/bloat/ineffektivitet i program… (för man har ju en drös oberoende/okopplade folk som kollar igenom koden) etc
Samt även att man undviker effekten utav dåliga val/omdömen från skapare, baserat på inkompetens (oftast inte så mycket från de som faktiskt skapar programmen, så mycket som deras chefer), korruption, val som görs av rena marknadsföringsskäl (snarare än vad som vore bra) och/eller att skaparna/cheferna är i sin egen lilla bubbla och inte har nån koll på vad användarna vill/behöver.
Får för sig att "X blir bra", utan att det finns nåt som skulle tyda på det, och det sen visar sig vara sämre, men de förnekar, eller inte ser, det och insisterar med att fortsätta med det… (något som är extremt vanligt, nuförtiden)

Ah, jag minns hur det var förr, då "nyare version" i princip alltid betydde "bättre version"… (snarare än att långt oftare betyda sämre)

Om ett Open Source-projekt går helt åt helt fel håll, så tar ju oftast nån/några andra och skapar avgrening(ar) …och/eller ett helt nytt alternativ.

Tänk inte för långt framåt utan börja med något och fortsätt därifrån. Du kan inte lösa allt på en gång utan ta det stegvis.
Sen kommer du får göra om vissa delar för du inser att dina behov ändras eller du tänkt fel osv.

Lycka till.

Permalänk
Medlem

Jag har använt Postgresql till det mesta, dels därför att den har en SQL som är ett superset till standarden (så standard SQL funkar bra) och dels eftersom den har en bra optimerare så man kan skriva lite klantiga frågor och det går snabbt ändå och dels för att den är säker. Lite knepig att få igång men väl igång så går den som tåget.
Har använt den både i kommersiella (stora) applikationer och i småprojekt. Vet inte om MariaDB är lika komplett, men den duger säkert till det mesta som du kan hitta på. Vet att MariaDB knoppades av från MySQL och drevs vidare som open source när MySQL köptes upp av Oracle.
Det du behöver är någon form av litteratur för att förstå hur man skapar en databas som stämmer med det lagringsbehov man har. Jag har en massa gratisböcker på pdf-format och kanske på epubformat, alltifrån de allra enklaste (som inte är såå enkla) upp till böcker som behandlar de matematiska teorierna för databaser. Kan skicka lista över dem med kommentarer om nivå.
Jag är numera pensionär men har sysslat med databaser i runt 40 år.
Jag har också programmerat applikationer som letar efter info på nätet och samlar på sig och lagrar undan intressanta data i databaserna, det var ganska kul programmering och inte så krångligt om man visste var man skulle leta. Språket jag använde heter Groovy, vet inte hur populärt det är men i det språket var det lätt programmering. Skulle tro att de flesta programspråken har vad som krävs. Python (vers 3) är nog ett hyggligt val som jag använde för att bygga en applikation för japanska tecken och översättning till engelska där allt lagrades i en databas som blev väldigt enkel.

Det viktigaste trot jag är att skapa sig en bra uppfattning om hur man konstruerar själva databasen. Hur man går från en rimlig del av verkligheten till en modell som avspeglar ens behov på ett rimligt sätt.

Eftersom jag är pensionär sedan länge är ingen av böckerna nya men det har inte hänt så mycket vad gäller databaser, tekniken är ganska gammal och beprövad så böckerna jag har kan nog fungera bra trots sin ålder. Vad gäller grundläggande koncept ser jag ingen skillnad mot nyare böcker.

Permalänk
Medlem
Skrivet av serafim:

Kan skicka lista över dem med kommentarer om nivå.

Det vore riktigt trevligt!

Citat:

Eftersom jag är pensionär sedan länge är ingen av böckerna nya men det har inte hänt så mycket vad gäller databaser, tekniken är ganska gammal och beprövad så böckerna jag har kan nog fungera bra trots sin ålder. Vad gäller grundläggande koncept ser jag ingen skillnad mot nyare böcker.

Mm, de grundläggande strukturerna och principerna, bör ju inte ha ändrats nämnvärt.
Det är ju mer när man går in i detaljerna/koderna/kommandona, där det är lite viktigare med nåt som är lite mer uppdaterat. (men generellt inte behöver vara cutting-edge)

Visa signatur

/A-lan

Permalänk
Medlem
Skrivet av A-lan:

Det vore riktigt trevligt!
Mm, de grundläggande strukturerna och principerna, bör ju inte ha ändrats nämnvärt.
Det är ju mer när man går in i detaljerna/koderna/kommandona, där det är lite viktigare med nåt som är lite mer uppdaterat. (men generellt inte behöver vara cutting-edge)

Nej, har faktiskt inte hänt så mycket inom kodning heller. Förutom Linq (sql-liknande slagningar direkt i koden) så handlar det mer om IDE-förbättringar och hjälpbibliotek (färdikkodade småbitar för vanliga funktioner).

Du kodar ju fortfarande mot x86-arkitekturen liksom

Sen har du tre grejer du vill lösa.
1. Skapande av data
2. Lagring av data
3. Presentation av data

Det svåra med lagring av data är att optimera för läsning eller utrymme. Men om det är en personlig databas så känns det som att storleken är ganska begränsad och då är det skit samma. Bara ta vilken relationsdatabas som helst och släng upp ett gäng tabeller. Det blir tillräckligt snabbt ändå. Ska du däremot ha miljontals nya dataobjekt dagligen som ska fördelas på hundratals tabeller? Ja, då är databasplaneringen den viktigaste punkten av de tre.

Så som alltid inom utveckling: "Det beror på..."

Visa signatur

Processor: Motorola 68000 | Klockfrekvens: 7,09 Mhz (PAL) | Minne: 256 kB ROM / 512 kB RAM | Bussbredd: 24 bit | Joystick: Tac2 | Operativsystem: Amiga OS 1.3

Permalänk
Medlem
Skrivet av A-lan:

Det vore riktigt trevligt!
Mm, de grundläggande strukturerna och principerna, bör ju inte ha ändrats nämnvärt.
Det är ju mer när man går in i detaljerna/koderna/kommandona, där det är lite viktigare med nåt som är lite mer uppdaterat. (men generellt inte behöver vara cutting-edge)

Jag har fått det mesta direkt från författarna under min tid som föreläsare på KTH utom "Fundamental of Database Systems" som jag fick ett par år efter pensionen. Kände de flesta av författarna, några var (lite) egna men det säger en del om mig oxå. Många av böckerna finns nog numera att direkt ladda ner från nätet. Skickar gärna via mail (PM med mailadress) ett zip-arkiv med det du väljer.

Favoriter bland läroböcker på grundläggande nivå, men gillar numera inte deras grafiska representation av modeller, blir lätt plottrigt:

  • Elmasri, Navathe - Fundamentals of Database Systems och

  • Silberschatz, Korth & Sudarshan - Database System Concepts,
    till denna finns nog föreläsningsbilder, sök på nätet efter "Database System Concepts slides"

Favoriter på hög teoretisk nivå:

  • Maier - The-Theory of Relational Databases, som jag kompletterade med

  • Atzeni, de Antonellis - Relational Database Theory

Här är ett urval av intressanta böcker (jag har ner än tusen böcker och artiklar, mest artiklar, totalt 32GB, men de flesta är av forskningskaraktär, ibland funderar jag över hur jag lyckades ta mig igenom alla). Asterisk ('*') vid de jag gillar mest av grundläggande böcker.

Läroböcker (på universitetsnivå alla är OK), grunderna:

  • * Elmasri, Navathe - Fundamentals of Database Systems

  • Molina, Ullman - Database Systems - The Complete Book

  • Ramakrishnan, Gehrke - Database Management Systems

  • * Silberschatz, Korth & Sudarshan - Database System Concepts

  • * Fehili - SQL

Grundläggande men specialiserat:

  • Whitehorn, Marklyn - Inside Relational Databases

  • IBM - Database_fundamentals (mest om DB2, IBMs flaggskepp)

  • Bertino, Martino - Object Oriented Database Systems

  • Marty - Accessing Databases with JDBC

  • Marty - Configuring Databases

Databasdesign:

  • Ambler, Sadalage - Refactoring Databases

  • Churcher - Beginning Database Design

  • Hernandez - Database Design for Mere Mortals

  • * Powell - Beginning Database Design. Gillar deras grafiska notation.

  • Teorey - Database Design

Teori och matematik, djuplodande, mest med utifall att intresset skulle finnas:

  • Abiteboul, Hull, Vianu - Foundations of Databases

  • Atzeni, de Antonellis - Relational Database Theory

  • Darwen - An Introduction to Relational Database Theory

  • Date - Database Design & Relational Theory

  • Maier - The Theory of Relational Databases

  • de Haan, Koppelaars - Applied Mathematics for Database Professionals

Permalänk
Medlem
Skrivet av talonmas:

Sen har du tre grejer du vill lösa.
1. Skapande av data
2. Lagring av data
3. Presentation av data

Skrapningen är, som sagt, inte obligatorisk. (men vore mycket trevligare att ha, än att tvingas göra det helt manuellt …plus även för att få tag på bilder från vissa konton, men det är ju som sagt ett annat ämne)
Jag får ta och leta efter det, men det är som sagt en lägre prioritet.
Leta efter skrapprogram, alltså …men kanske värt att ta en titt på kodande för skrapning, för att se om det kanske inte är så svårt att sätta sig in i? I vilket fall, så känner jag på mig, att jag nog kommer vara lite sakta i mitt sökande. (men det återstår att se, förstås)

Presentationen är nog det viktigaste, som återstår att hitta en lösning på.

Citat:

Det svåra med lagring av data är att optimera för läsning eller utrymme.

Lagringen är väl bara att låta databasen sköta, hur den nu gör det?
På det mest stabila/pålitliga viset, med minst risk för korrumpering, om det går. (och lite redundans skulle inte skada)
Det viktigaste för mig är stabilitet/pålitlighet.

Så länge det inte är allt för sakta, så är det inte hastigheten vidare viktigt
…men, som du säger, så borde ju varken hastighet eller utrymme vara värst nämnvärt, för det jag ska göra.

Visa signatur

/A-lan

Permalänk
Medlem

Försökte kolla lite om Kibana (eller OpenSearch, som är en avgrening som skapats av samma sorts skäl som MariaDB grenades av från MySQL), men det verkar vara till för ett eget DB-system, snarare än något man använder för en MariaDB-databas…
En internetsökning på "does kibana work with mariaDB", gav mig en sida som talar om hur man kan få Kibana/OpenSearch att importera data från en MySQL/MariaDB-databas, för att bygga upp en egen databas som den sen söker i och presenterar, men det låter då som flera onödiga extra-steg.

Visa signatur

/A-lan

Permalänk
Medlem
Skrivet av A-lan:

Försökte kolla lite om Kibana (eller OpenSearch, som är en avgrening som skapats av samma sorts skäl som MariaDB grenades av från MySQL), men det verkar vara till för ett eget DB-system, snarare än något man använder för en MariaDB-databas…
En internetsökning på "does kibana work with mariaDB", gav mig en sida som talar om hur man kan få Kibana/OpenSearch att importera data från en MySQL/MariaDB-databas, för att bygga upp en egen databas som den sen söker i och presenterar, men det låter då som flera onödiga extra-steg.

Alltså, det är ser ut som en glasklart fall av ett XY-problem (https://xyproblem.info/).
Kan du inte bara berätta exakt vad det är du vill uppnå?
Det är rätt många skott i mörkret här och du verkar sålla bort ganska bra information från rätt erfarna användare bara för att det inte passar vad du redan föreställt dig.

Visa signatur

Brass knuckles and a 2x4

Permalänk
Medlem

Det enklaste är att börja med frågeställningen. Vad ska du lagra info om? Hur beror de olika delarna av varandra?
Exempel:
Jag lagrar en hel del musik med mycket hög kvalitet. Så jag lagrar info om musiken, vem som skrivit den och när, vad det är för musikgenre, vilka inspelningar som finns, vilka orkestrar och vilka soloartister och eller körer som är inblandade i de olika inspelningarna, kvaliteten på varje inspelning och lite annat.
Den typen av info är nödvändig för att kunna avgöra vilken typ av databas man ska använda och det i sin tur avgör hur man modellerar databasen. Nu har du, vad det verkar, valt MariaDB som är en relationsdatabashanterare och det är utifrån det jag satt ihop min litteraturlista som med ett undantag handlar om just relationsdatabaser.

Hittade förresten en sida där man gratis kan ladda ner en massa databaslitteratur

Permalänk
Hedersmedlem
Skrivet av serafim:

Elmasri, Navathe - Fundamentals of Database Systems

Den här kan även jag rekommendera. Såhär 15 år senare kommer jag inte ihåg om det var för att den var välskriven, spännande eller intressant men det är en av få läroböcker som jag har läst från pärm till pärm.

Permalänk
Medlem
Skrivet av Elgot:

Den här kan även jag rekommendera. Såhär 15 år senare kommer jag inte ihåg om det var för att den var välskriven, spännande eller intressant men det är en av få läroböcker som jag har läst från pärm till pärm.

Ja, den är välskriven precis som den andra jag listat som favorit. Mitt problem med alla amerikanska böcker är att de är så ordrika. Mycket pladder innan de kommer fram till väsentligheterna. Men, med det sagt, mina studenter gillade också boken.

Permalänk
Medlem
Skrivet av jonasc:

Kan du inte bara berätta exakt vad det är du vill uppnå?

För att citera vad jag sagt innan:
"för att lagra/sortera/använda (och, i vissa fall, göra beräkningar baserat på de olika data man har i, analyserar…) diverse information. (inkl kopplingar till internetlänkar, lokala filer, och annat) En del olika databaser, för olika sorters info. (med koppling mellan en bunt utav dem. /…/ helst vill se till att det automatiskt kan dra fram relevant information från vissa internetsidor (Wikipedia, diverse databaser/…/
Behöver man skaffa ett separat program, för att få till den presentation utav informationen/…/, som man vill ha? (eller ännu värre: måste man skapa ett, själv? I så fall: Hur? Vad behövs, för det?/…/
…och för att göra analys/beräkningar?"
/…/
"Info om böcker, serietidningar, tv-serier, filmer, spel (inkl bräd-/kort-spel), samt vad utav dem jag sett/läst/har/äger. (och alla kopplingar mellan dem, info om, författare, tecknare [inkl tecknare som bara gör bilder jag gillar, okopplat till böcker/filmer/spel eller sånt], skådisar, regissörer etc etc …kunna kolla vilka som samma person haft X position i… etc …för att inte tala om att kunna söka/filtrera baserat på taggar/genrer/årtal/whatever), personlig adressbok, datum och kalender… (med diverse, även okonventionella/insider, årsdagar/högtider och sånt)

Det är det jag kommer på/ihåg, på rak arm.

Det och den grejen som kräver analys, men där jag tyvärr inte riktigt vet hur/vad som bör analyseras:
Sömndagbok.
Ja, det finns en del existerande lösningar, men ingen av de jag känner till, är ens i närheten utav relevanta/vettiga för någon med min nivå utav kaotiskt dygnsrytm, samt inte har den presentation/analys som jag behöver, så jag behöver fixa nåt eget. Vore bra om jag kan hitta nån som kan analys och statistik och sånt, som kan hjälpa med den aspekten. Om inte (vilket låter troligt), så får jag försöka mitt bästa, själv…"

Till det jag sagt innan, så kan jag också lägga till, att jag också tänker ha med en receptsamling (har, för tillfället, bara ett att lägga in, men…), där jag också ska se till att ha recepten på olika språk. (på språken jag kan, mest översatt av mig …och kanske lite fler, om nån annan är villig och kan. Borde gå rätt enkelt att ha med automatisk översättning på de flesta ingredienser/verktyg [med möjlighet att justera manuellt vid behov], vilket skulle göra processen av att fixa ytterligare språkvarianter, lite snabbare)

Vill du ha ytterligare förtydligande/detaljer, så…
Vad ska jag förklara/förtydliga?
Vad är det, som ni behöver veta/ha klart för er, för att förstå hur/vad ni ska tipsa om och/eller förklara?

Citat:

Det är rätt många skott i mörkret här och du verkar sålla bort ganska bra information från rätt erfarna användare bara för att det inte passar vad du redan föreställt dig.

Hm?
Jag tycker då att jag fått rätt bra tips om databaser, som hjälpt mig göra val där, samt en del bra boktips (iofs tyckte jag att jag nog kan hitta sån info själv, men nog uppskattades det, och det verkar som att det blir bättre, än om jag letade själv), men…

När det gäller program för sökning/presentering/inmatning, så…
Jag fick tips om Excel, och ELK.
Det är bara två tips, från bara en användare.
Låter inte så mycket som "många skott i mörkret"
(och om du, iaf delvis, skulle tala om hur folk talade om att programmera själv, när jag ju vill unvika det, så kan jag ju peka på att jag redan i första inlägget, klart och tydligt uttryckte att jag helst ville ha färdiga lösningar och jag bara kan väldigt lite programmering, och därför helst inte vill ha nåt som kräver ordentligt programmerande… Så hur det kan vara pga att jag inte förklarat vad jag är ute efter, eller varit otydlig, kan jag då inte se)

Excel… det kan ju göra en hel del mer, än de flesta anar, men känns inte som att det riktigt skulle passa mig, och jag skulle föredra att köra med något som är till för databas, från grunden. Det kan du kanske mena mest bara är mina fördomar om Excel som talar. Kanske har du även rätt i det (tvivlar jag starkt på, men kan inte 100% utesluta) …men att tala om ett beteendemönster, när jag gjort en sak bara en gång, känns konstigt.

ELK verkar ju köra med sin egen (dokument?)databas, vilket inte alls känns som vad jag vill ha …men sen kom ju det tipset, när jag inte riktigt visste vilket sorts system jag föredrog. (och det var ju dessutom i samma inlägg som förklarade dokumentdatabas vs relationsdatabas, vilket hjälpte mig att bestämma mig för relationsdatabas)

Visa signatur

/A-lan

Permalänk
Medlem
Skrivet av A-lan:

För att citera vad jag sagt innan:
"för att lagra/sortera/använda (och, i vissa fall, göra beräkningar baserat på de olika data man har i, analyserar…) diverse information. (inkl kopplingar till internetlänkar, lokala filer, och annat) En del olika databaser, för olika sorters info. (med koppling mellan en bunt utav dem. /…/ helst vill se till att det automatiskt kan dra fram relevant information från vissa internetsidor (Wikipedia, diverse databaser/…/
Behöver man skaffa ett separat program, för att få till den presentation utav informationen/…/, som man vill ha? (eller ännu värre: måste man skapa ett, själv? I så fall: Hur? Vad behövs, för det?/…/
…och för att göra analys/beräkningar?"
/…/
"Info om böcker, serietidningar, tv-serier, filmer, spel (inkl bräd-/kort-spel), samt vad utav dem jag sett/läst/har/äger. (och alla kopplingar mellan dem, info om, författare, tecknare [inkl tecknare som bara gör bilder jag gillar, okopplat till böcker/filmer/spel eller sånt], skådisar, regissörer etc etc …kunna kolla vilka som samma person haft X position i… etc …för att inte tala om att kunna söka/filtrera baserat på taggar/genrer/årtal/whatever), personlig adressbok, datum och kalender… (med diverse, även okonventionella/insider, årsdagar/högtider och sånt)

Det är det jag kommer på/ihåg, på rak arm.

Det och den grejen som kräver analys, men där jag tyvärr inte riktigt vet hur/vad som bör analyseras:
Sömndagbok.
Ja, det finns en del existerande lösningar, men ingen av de jag känner till, är ens i närheten utav relevanta/vettiga för någon med min nivå utav kaotiskt dygnsrytm, samt inte har den presentation/analys som jag behöver, så jag behöver fixa nåt eget. Vore bra om jag kan hitta nån som kan analys och statistik och sånt, som kan hjälpa med den aspekten. Om inte (vilket låter troligt), så får jag försöka mitt bästa, själv…"

Till det jag sagt innan, så kan jag också lägga till, att jag också tänker ha med en receptsamling (har, för tillfället, bara ett att lägga in, men…), där jag också ska se till att ha recepten på olika språk. (på språken jag kan, mest översatt av mig …och kanske lite fler, om nån annan är villig och kan. Borde gå rätt enkelt att ha med automatisk översättning på de flesta ingredienser/verktyg [med möjlighet att justera manuellt vid behov], vilket skulle göra processen av att fixa ytterligare språkvarianter, lite snabbare)

Vill du ha ytterligare förtydligande/detaljer, så…
Vad ska jag förklara/förtydliga?
Vad är det, som ni behöver veta/ha klart för er, för att förstå hur/vad ni ska tipsa om och/eller förklara?
Hm?
Jag tycker då att jag fått rätt bra tips om databaser, som hjälpt mig göra val där, samt en del bra boktips (iofs tyckte jag att jag nog kan hitta sån info själv, men nog uppskattades det, och det verkar som att det blir bättre, än om jag letade själv), men…

När det gäller program för sökning/presentering/inmatning, så…
Jag fick tips om Excel, och ELK.
Det är bara två tips, från bara en användare.
Låter inte så mycket som "många skott i mörkret"
(och om du, iaf delvis, skulle tala om hur folk talade om att programmera själv, när jag ju vill unvika det, så kan jag ju peka på att jag redan i första inlägget, klart och tydligt uttryckte att jag helst ville ha färdiga lösningar och jag bara kan väldigt lite programmering, och därför helst inte vill ha nåt som kräver ordentligt programmerande… Så hur det kan vara pga att jag inte förklarat vad jag är ute efter, eller varit otydlig, kan jag då inte se)

Excel… det kan ju göra en hel del mer, än de flesta anar, men känns inte som att det riktigt skulle passa mig, och jag skulle föredra att köra med något som är till för databas, från grunden. Det kan du kanske mena mest bara är mina fördomar om Excel som talar. Kanske har du även rätt i det (tvivlar jag starkt på, men kan inte 100% utesluta) …men att tala om ett beteendemönster, när jag gjort en sak bara en gång, känns konstigt.

ELK verkar ju köra med sin egen (dokument?)databas, vilket inte alls känns som vad jag vill ha …men sen kom ju det tipset, när jag inte riktigt visste vilket sorts system jag föredrog. (och det var ju dessutom i samma inlägg som förklarade dokumentdatabas vs relationsdatabas, vilket hjälpte mig att bestämma mig för relationsdatabas)

Bara för att du inte vill lära dig programmera så betyder ju inte det att det finns en färdig lösning som gör allt det där du vill.
Din kravspec är helt enkelt lös i kanterna och helt vild.

Du får antingen köra en wiki lokalt, eller använda något i stil med MS Access och börja bygga tabeller, formulär och vyer.
När du sen känner att du behöver automatkonvertera mellan cups och dl eller hämta information från IMDB så får du väl bita i det sura äpplet och börja lära dig programmering.

Visa signatur

Brass knuckles and a 2x4