TryckVågen Postad 20 december, 2016 Share Postad 20 december, 2016 Jag ska försöka förklara mig kort, har utbildat mig inom IT infrastruktur och bara använt SQL att ansluta till och gjort några övningar i SQL. Nu har jag fått ett jobbtillfälle men de vill också att jag kan hantera databaser någorlunda. En uppgift jag fått är att skapa en databas för hyrbilar: Problemlösning: Vi vill ha en databas för en hyrbilsfirma. Firman har ett ~20 bilar av olika märken och modeller. De olika modellerna har olika förbrukning De olika modellerna har olika drivmedel De olika drivmedlen kostar olika mycket varje månad. Varje bil kostar firman X kronor per månad och Y kronor per mil. Varje bil drar in X kronor per uthyrningsdygn och Y kronor per mil. Efter varje uthyrning registreras mätarställningen på bilen. (Viktigt med ganska många mätarställningar, >500st totalt för alla bilar.) Skapa databasen och fyll den med informationVilka bilar tjänar firman mest på ?Lista bilar efter hur populära de är vid korta sträckor respektive långa sträckorTa ut totalkostnad för en viss bränsletyp över en periodTa ut totalkostnad per mil, både totalt och per bilTa fram vilken bil som gått längstVilken bil kostar minst? DÅ till frågan, TROR ni att det är möjligt för mig att lära mig skapa en sådan databas till 10 januari och hur avancerat är det egentligen? Länk till kommentar Dela på andra webbplatser More sharing options...
TB-000 Postad 20 december, 2016 Share Postad 20 december, 2016 Det här beror helt på vilka förutsättningar du har. Är du van vid att programmera i något språk alls? Om du är van att tänka som programmerare (oberoende om det är java, C, bash-script, python, swift, apple-script eller något annat) så kan du ganska enkelt plugga in den SQL du behöver, och lösa uppgiften. Om du å andra sidan aldrig har programmerat så är det ganska mycket nytt tänkande du ska få till för att lösa uppgiften. Som uppgiften är beskriven kan man nog göra många olika lösningar i SQL. Jag tror att det är meningen. Jag tror att de med uppgiften vill se hur du tänker och hur du skulle angripa problemet. De är nog nöjda även om lösningen är en helt annan än den de tänkte på, om du bara kan förklara hur du tänkte och varför du lade upp lösningen som du gjorde. Några länkar du kan ha nytta av: http://postgresapp.com http://www.w3schools.com/sql/ https://www.ntu.edu.sg/home/ehchua/programming/sql/Relational_Database_Design.html Länk till kommentar Dela på andra webbplatser More sharing options...
TryckVågen Postad 20 december, 2016 Författare Share Postad 20 december, 2016 Det här beror helt på vilka förutsättningar du har. Är du van vid att programmera i något språk alls? Om du är van att tänka som programmerare (oberoende om det är java, C, bash-script, python, swift, apple-script eller något annat) så kan du ganska enkelt plugga in den SQL du behöver, och lösa uppgiften. Om du å andra sidan aldrig har programmerat så är det ganska mycket nytt tänkande du ska få till för att lösa uppgiften. Som uppgiften är beskriven kan man nog göra många olika lösningar i SQL. Jag tror att det är meningen. Jag tror att de med uppgiften vill se hur du tänker och hur du skulle angripa problemet. De är nog nöjda även om lösningen är en helt annan än den de tänkte på, om du bara kan förklara hur du tänkte och varför du lade upp lösningen som du gjorde. Några länkar du kan ha nytta av: http://postgresapp.com http://www.w3schools.com/sql/ https://www.ntu.edu.sg/home/ehchua/programming/sql/Relational_Database_Design.html Inte van att programmera något alls, har endel script med mig men inte mer än så. Ska jag börja med att skapa tabellerna i t.ex PhpMyAdmin? Är det en bra start? Länk till kommentar Dela på andra webbplatser More sharing options...
Mattiasgbg Postad 20 december, 2016 Share Postad 20 december, 2016 Jag kan inte SQL, men det går nog lättare om har koll på https://sv.wikipedia.org/wiki/Boolesk_algebra och https://en.wikipedia.org/wiki/Finitary_relation På tre veckor borde det vara väldigt genomförbart. Länk till kommentar Dela på andra webbplatser More sharing options...
Mattiasgbg Postad 20 december, 2016 Share Postad 20 december, 2016 Inte van att programmera något alls, har endel script med mig men inte mer än så. Ska jag börja med att skapa tabellerna i t.ex PhpMyAdmin? Är det en bra start? Skulle säga att du ska börja med att släppa datorn och istället rita upp relationerna. Länk till kommentar Dela på andra webbplatser More sharing options...
Telly82 Postad 21 december, 2016 Share Postad 21 december, 2016 Skulle säga att du ska börja med att släppa datorn och istället rita upp relationerna. Precis. Vilka tabeller ska du ha, vilka kolumner ska de innehålla och hur är de relaterade till varandra. Sedan låter det inte som om du ska skriva något program alls, utan de SQL-frågor som ger svaren till deluppgifterna. Därmed faller hela problematiken om programspråk etc. Så svaret på din fråga: Jodå, det är helt klart görbart till den 10 januari. Länk till kommentar Dela på andra webbplatser More sharing options...
TryckVågen Postad 21 december, 2016 Författare Share Postad 21 december, 2016 Tack för svaren! Försöker installera MySql på macen nu, man ska kolla så att checksumman stämmer osv, det gör den. Men det går inte att installera, står att den är manipulerad eller liknande, kommer inte vidare hur som. Någon som känner igen det? Hittar ingenting någonstans Länk till kommentar Dela på andra webbplatser More sharing options...
TryckVågen Postad 21 december, 2016 Författare Share Postad 21 december, 2016 Tack för svaren! Försöker installera MySql på macen nu, man ska kolla så att checksumman stämmer osv, det gör den. Men det går inte att installera, står att den är manipulerad eller liknande, kommer inte vidare hur som. Någon som känner igen det? Hittar ingenting någonstans Den digitala signaturen är ogiltig Länk till kommentar Dela på andra webbplatser More sharing options...
TryckVågen Postad 21 december, 2016 Författare Share Postad 21 december, 2016 2016-12-21 12-50-48.pdfJag förstår att det kanske inte är så här enkelt ni menar, men vet inte riktigt vart jag ska börja. Länk till kommentar Dela på andra webbplatser More sharing options...
TB-000 Postad 21 december, 2016 Share Postad 21 december, 2016 Därmed faller hela problematiken om programspråk etc. Min orsak till att nämna programmeringsspråk är att det är betydligt enklare att skriva SQL-statements om man är van vid att tänka som en programmerare. Om man är van vid att programmera i vilket språk som helst, så är det lättare att fatta vad man gör med SQL. Om inte arbetsgivaren sagt något om vilken SQL-miljö som ska användas, så skulle jag rekommendera PostgreSQL. (Se t.ex. länk som jag postade tidigare.) PostgreSQL har den mest kompletta implementationen av standard SQL. MySql är litet speciellt så jag skulle inte rekommendera det som första val. Vad som är görbart beror på förutsättningarna... En person som är duktig på SQL gör den här uppgiften på en eller två timmar. Du måste själv avgöra hur mycket tid du tror du behöver för att lära dig en databasdesignkunskap och den SQL-kunskap som behövs. Ingen av oss andra kan veta vilka förutsättningar du har för att lära dig. Mitt råd är att undvika PhpMyAdmin och liknande. Rita tabeller, kolumner och relationer på papper. Sedan skriver du det som SQL-statements. Länk till kommentar Dela på andra webbplatser More sharing options...
TB-000 Postad 21 december, 2016 Share Postad 21 december, 2016 2016-12-21 12-50-48.pdfJag förstår att det kanske inte är så här enkelt ni menar, men vet inte riktigt vart jag ska börja. Titta på länken jag postade tidigare: https://www.ntu.edu.sg/home/ehchua/programming/sql/Relational_Database_Design.html Texten beskriver vad man ska tänka på vid databasdesign (på enkel nivå). De illustrationer som finns där är samma sorts skisser som jag rekommenderar att du gör på papper. Länk till kommentar Dela på andra webbplatser More sharing options...
Mattiasgbg Postad 21 december, 2016 Share Postad 21 december, 2016 2016-12-21 12-50-48.pdfJag förstår att det kanske inte är så här enkelt ni menar, men vet inte riktigt vart jag ska börja. En viss bil har en modellbeteckning OCH är tillverkad av en tillverkare, som för övrigt tillverkar bilar med just den modellbeteckningen. Så en (dubbelriktad) pil mellan bil och modell? Länk till kommentar Dela på andra webbplatser More sharing options...
TryckVågen Postad 26 december, 2016 Författare Share Postad 26 december, 2016 Hur skulle ni säga att jag ska gå vidare? Förstår ju nu hur jag bygger databasen och fyller den med data osv, ska jag börja göra det för att kunna besvara frågorna som ställs? Länk till kommentar Dela på andra webbplatser More sharing options...
Telly82 Postad 26 december, 2016 Share Postad 26 december, 2016 Det är ju lämpligt att fylla databasen med testdata, ja. Borde väl räcka med en handfull bilmodeller eller kanske 10 stycken. Sedan ska du ju ha runt 20 bilar av dessa modeller. Länk till kommentar Dela på andra webbplatser More sharing options...
TryckVågen Postad 28 december, 2016 Författare Share Postad 28 december, 2016 Det är ju lämpligt att fylla databasen med testdata, ja. Borde väl räcka med en handfull bilmodeller eller kanske 10 stycken. Sedan ska du ju ha runt 20 bilar av dessa modeller. Vad kan jag tänkas behöva för data: CREATE TABLE bilartest ( id INT PRIMARY key, märke char(30), modell CHAR(30), drivmedel INT, förbrukning INT färg char(20) ); Länk till kommentar Dela på andra webbplatser More sharing options...
TryckVågen Postad 28 december, 2016 Författare Share Postad 28 december, 2016 Vad mer kan behövas för tabell? Vart ska jag lägga mätarställning? Länk till kommentar Dela på andra webbplatser More sharing options...
Telly82 Postad 28 december, 2016 Share Postad 28 december, 2016 2016-12-28 12-03-36.jpg Vad mer kan behövas för tabell? Vart ska jag lägga mätarställning? En tabell för varje fysisk bil. Kan innehålla regnr, mätarställning och modell. Modell innehåller då tillverkare och drivmedel. Länk till kommentar Dela på andra webbplatser More sharing options...
TB-000 Postad 28 december, 2016 Share Postad 28 december, 2016 En tabell för varje fysisk bil. Kan innehålla regnr, mätarställning och modell. Modell innehåller då tillverkare och drivmedel. Du menar väl en tabell med namnet fysisk_bil, som har kolumner för regnr, mätarställning, modell_id. Att ha en separat tabell för varje fysisk bil är nog ingen bra idé Länk till kommentar Dela på andra webbplatser More sharing options...
Telly82 Postad 28 december, 2016 Share Postad 28 december, 2016 Du menar väl en tabell med namnet fysisk_bil, som har kolumner för regnr, mätarställning, modell_id. Att ha en separat tabell för varje fysisk bil är nog ingen bra idé Som det kan bli. Naturligtvis menar jag som du skriver: En tabell med en rad för varje fysisk bil. Länk till kommentar Dela på andra webbplatser More sharing options...
TryckVågen Postad 28 december, 2016 Författare Share Postad 28 december, 2016 En tabell för varje fysisk bil. Kan innehålla regnr, mätarställning och modell. Modell innehåller då tillverkare och drivmedel. Du menar väl en tabell med namnet fysisk_bil, som har kolumner för regnr, mätarställning, modell_id. Att ha en separat tabell för varje fysisk bil är nog ingen bra idé Något liknande? https://docs.google.com/spreadsheets/d/1XUTH62zE3pRjyE6Yd0dhFK2GR6MXQEGAMph-dCTKlqM/edit?usp=sharing Länk till kommentar Dela på andra webbplatser More sharing options...
Telly82 Postad 28 december, 2016 Share Postad 28 december, 2016 Något liknande? https://docs.google.com/spreadsheets/d/1XUTH62zE3pRjyE6Yd0dhFK2GR6MXQEGAMph-dCTKlqM/edit?usp=sharing Vart tog tabellerna för tillverkare respektive modell vägen? Länk till kommentar Dela på andra webbplatser More sharing options...
TryckVågen Postad 28 december, 2016 Författare Share Postad 28 december, 2016 Vart tog tabellerna för tillverkare respektive modell vägen? Menar du att jag ska ha en tabell för tillverkare + tabell för modell? Jag tänker ju att det räcker med en tabell för alla fysiska bilar och kompletterar dessa med data från andra tabeller? Länk till kommentar Dela på andra webbplatser More sharing options...
Telly82 Postad 28 december, 2016 Share Postad 28 december, 2016 Menar du att jag ska ha en tabell för tillverkare + tabell för modell? Jag tänker ju att det räcker med en tabell för alla fysiska bilar och kompletterar dessa med data från andra tabeller? Det är en smaksak. Du hade ju ritat separata tabeller innan och nu var de borta. Länk till kommentar Dela på andra webbplatser More sharing options...
TryckVågen Postad 28 december, 2016 Författare Share Postad 28 december, 2016 Det är en smaksak. Du hade ju ritat separata tabeller innan och nu var de borta. Det är lite svårt å få ihop det i början vilka tabeller som man ska ha de olika data i för att sen få ihop dem med joins. Men jag ser ju denna databasen som att det finns ett antal bilar och de ska inte köpas in fler eller så, då kanske man skulle haft ett table för bara tillverkare osv också Länk till kommentar Dela på andra webbplatser More sharing options...
Telly82 Postad 29 december, 2016 Share Postad 29 december, 2016 Man får ju göra ett avvägande mellan att ha ett fåtal tabeller med många kolumner i mot att ha flera tabeller med färre kolumner. I det förstnämnda fallet så får du mycket likadan info ifall du har många bilar av samma modell. Det sistnämnda fallet skalar upp bättre mot tusentals bilar. Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster
Arkiverat
Det här ämnet är nu arkiverat och är stängt för ytterligare svar.