Pixiegnom Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 (redigerad) Hej! Jag sitter här och arbetar med kursen Databashantering och har stött på lite problem. Jag har en databas med tre tabeller (Artister, Album och Spår) och nu ska jag lägga till en fråga som ska göra så att endast låtar med betyget 5 ska visas. Problemet är att när jag skriver "=5" i rutan för villkor så får ALLA låtar 5 i betyg. Är det någon som är erfaren med databaser och vad detta kan bero på? Jag tänkte också passa på att fråga angående primärnycklar och relationer. På den bifogade bilden så kan ni se att de som står i fet text har jag satt som primärnycklar. Vilka skulle du satt som primärnycklar och hur skulle du sätta ut relationerna mellan tabellerna? Som ni också ser på bilden så har jag just nu inga relationer, för att när jag hade det så ville ingenting listas. Oerhört tacksam för hjälp! Puss. Redigerad 22 maj, 2011 av Pixiegnom 1 Citera Länk till kommentar Dela på andra sidor More sharing options...
GiZmo Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 (redigerad) Vad skriver du för kod? select låttitel from spår where betyg = 5; typ? edit: oh, du gör det helt grafiskt? Vad använder du för nått? edit2: ang primärnycklar, i Album hade jag satt Artist+Albumtitel. En artist kan ha flera album och det kan finnas album som heter lika, men att en artist ger ut album med samma namn kommer nog inte hända. I artist så.. artist och i spår spårID ;> Skulle ju kunna finnas flera artister med samma namn, känner man för att vara så petig kan man lägga in en ArtistID Redigerad 22 maj, 2011 av GiZmo 1 Citera Länk till kommentar Dela på andra sidor More sharing options...
Pixiegnom Skrivet 22 maj, 2011 Skapat av Rapportera Share Skrivet 22 maj, 2011 Vad skriver du för kod? select låttitel from spår where betyg = 5; typ? edit: oh, du gör det helt grafiskt? Vad använder du för nått? edit2: ang primärnycklar, i Album hade jag satt Artist+Albumtitel. En artist kan ha flera album och det kan finnas album som heter lika, men att en artist ger ut album med samma namn kommer nog inte hända. I artist så.. artist och i spår spårID ;> Skulle ju kunna finnas flera artister med samma namn, känner man för att vara så petig kan man lägga in en ArtistID Använder Microsoft Access 2003. Citera Länk till kommentar Dela på andra sidor More sharing options...
Mathias Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 (redigerad) Jag gillar inte access, men mitt tips är att skriva frågan i SQL-läge och skriva som Gizmo sa ovan. Om du skriver att "Betyg=5" är ett villkor för attributet och alla blir fem så låter det som att du bestämmer att betyget måste vara 5, snarare än att du skapar en fråga/query. Sedan har du "Album" i Spår-tabellen vilket jag antar att du tänkt ska fungera som Foreign Key. Där kan du omöjligt fylla i ett värde så att det går att koppla ihop album med spår. Mitt tips: Lägg till "AlbumID" som attribut i album som Primary Key, den kan du använda i tabellen "album_spår", typ. "Album_spår" innehåller AlbumID och SpårID som gemensamt skapar en Primary Key. Edit: Tabellen: Query: (SQL) Query: (Design) Resultat: Redigerad 22 maj, 2011 av Mathias 1 Citera Länk till kommentar Dela på andra sidor More sharing options...
GiZmo Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 Försökte ladda ner Access 2003 för att själv se hur man gör, men det är fan omöjligt att hitta 1 Citera Länk till kommentar Dela på andra sidor More sharing options...
Pixiegnom Skrivet 22 maj, 2011 Skapat av Rapportera Share Skrivet 22 maj, 2011 (redigerad) Jag gillar inte access, men mitt tips är att skriva frågan i SQL-läge och skriva som Gizmo sa ovan. Om du skriver att "Betyg=5" är ett villkor för attributet och alla blir fem så låter det som att du bestämmer att betyget måste vara 5, snarare än att du skapar en fråga/query. Sedan har du "Album" i Spår-tabellen vilket jag antar att du tänkt ska fungera som Foreign Key. Där kan du omöjligt fylla i ett värde så att det går att koppla ihop album med spår. Mitt tips: Lägg till "AlbumID" som attribut i album som Primary Key, den kan du använda i tabellen "album_spår", typ. "Album_spår" innehåller AlbumID och SpårID som gemensamt skapar en Primary Key. Edit: Tabellen: Query: Resultat: Tack för att du försöker hjälpa men grejen är den att det inte är jag som bestämmer vad som ska finnas i tabellerna, utan det är redan bestämt i kursen. Edit: Även hur frågan ska se ut är redan bestämt. (Artist, Albumtitel, Låttitel, Speltid, Solo/Duo/Grupp) Det konstiga är att jag gör precis som det står(och visas) i läroboken, men ändå blir det fel. Mailade läraren som sa att det kan ha att göra med relationerna. Försökte ladda ner Access 2003 för att själv se hur man gör, men det är fan omöjligt att hitta Bara att söka efter Office 2003. Redigerad 22 maj, 2011 av Pixiegnom Citera Länk till kommentar Dela på andra sidor More sharing options...
Mathias Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 (redigerad) Tack för att du försöker hjälpa men grejen är den att det inte är jag som bestämmer vad som ska finnas i tabellerna, utan det är redan bestämt i kursen. Edit: Även hur frågan ska se ut är redan bestämt. (Artist, Albumtitel, Låttitel, Speltid, Solo/Duo/Grupp) Det konstiga är att jag gör precis som det står(och visas) i läroboken, men ändå blir det fel. Mailade läraren som sa att det kan ha att göra med relationerna. Oj, först och främst, konstiga tabeller för att komma från en lärare. Nåväl. Är din bild ovan hela din fråga? För du har ju inte med betyg, vart skriver du i så fall in villkoret? Jag har tenta i Databasdesign imorgon, räknas detta som att plugga, btw? Redigerad 22 maj, 2011 av Mathias 1 Citera Länk till kommentar Dela på andra sidor More sharing options...
Pixiegnom Skrivet 22 maj, 2011 Skapat av Rapportera Share Skrivet 22 maj, 2011 Oj, först och främst, konstiga tabeller för att komma från en lärare. Nåväl. Är din bild ovan hela din fråga? För du har ju inte med betyg, vart skriver du i så fall in villkoret? Jag har tenta i Databasdesign imorgon, räknas detta som att plugga, btw? Jag antar att man ska lägga till den också, så jag gjorde det, men tog sen bort den igen. Citera Länk till kommentar Dela på andra sidor More sharing options...
Mathias Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 Den ska ju troligtvis vara med men "visa" urkryssad. För att visa de attributen från de tabeller du valt måste du koppla samman tabellerna (vilket hade blivit lättare om tabellerna sett ut som jag skrev innan). SQL-frågan hade sett ut: SELECT Album.Artist, Album.Albumtitel, Spår.Låttitel, Spår.Speltid, Artister.Solo/Duo/Grupp FROM Spår, Album Artister WHERE Spår.Betyg="5" AND Spår.Album=Album.Albumtitel AND Album.Artist=Artister.Artist; I designläget antar jag att man måste lägga till de jag nämnde ovan (de som inte finns redan) och ... ja, hur man nu gör.. men du måste koppla samman de i alla fall? Eller? För det känns ju som att den inte kopplar ihop betyget med de övriga. 1 Citera Länk till kommentar Dela på andra sidor More sharing options...
GiZmo Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 (redigerad) http://upl.gizgiz.nu/files/asdfasd-1.jpg Artister.Artist är joinat med Album.Artist och Artist.Albumtitel är joinat med Spår.Album win Redigerad 22 maj, 2011 av GiZmo 2 Citera Länk till kommentar Dela på andra sidor More sharing options...
Pixiegnom Skrivet 22 maj, 2011 Skapat av Rapportera Share Skrivet 22 maj, 2011 (redigerad) Den ska ju troligtvis vara med men "visa" urkryssad. För att visa de attributen från de tabeller du valt måste du koppla samman tabellerna (vilket hade blivit lättare om tabellerna sett ut som jag skrev innan). SQL-frågan hade sett ut: SELECT Album.Artist, Album.Albumtitel, Spår.Låttitel, Spår.Speltid, Artister.Solo/Duo/Grupp FROM Spår, Album Artister WHERE Spår.Betyg="5" AND Spår.Album=Album.Albumtitel AND Album.Artist=Artister.Artist; I designläget antar jag att man måste lägga till de jag nämnde ovan (de som inte finns redan) och ... ja, hur man nu gör.. men du måste koppla samman de i alla fall? Eller? För det känns ju som att den inte kopplar ihop betyget med de övriga. Hm, känns som det blir mer komplicerat än vad det egentligen ska vara. Läraren förväntar sig nog att jag ska göra på det sättet som är menat för uppgiften. Men om vi går tillbaka några steg och glömmer det här med frågan och går tillbaka till relationer, då det kan vara grunden till problemet. Jag ska ha två relationer: En av dom ska vara 1:N (en till flera) och en ska vara 1:1. Hur borde jag lösa det? Edit: Trevligt, Giz! Dock ska en relation vara 1:N. Redigerad 22 maj, 2011 av Pixiegnom Citera Länk till kommentar Dela på andra sidor More sharing options...
GiZmo Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 Jag ska ha två relationer: En av dom ska vara 1:N (en till flera) och en ska vara 1:1. Hur borde jag lösa det? Edit: Trevligt, Giz! Dock ska en relation vara 1:N. 1:1 tycker jag låter konstigt :/ En artist kan ha flera album, så där går inte 1:1. Ett album har flera låtar, så det går ju inte med 1:1 där heller Eller tänker jag fel? Citera Länk till kommentar Dela på andra sidor More sharing options...
kobbe Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 1:1 tycker jag låter konstigt :/ En artist kan ha flera album, så där går inte 1:1. Ett album har flera låtar, så det går ju inte med 1:1 där heller Eller tänker jag fel? Är väl bara en sketen uppgift som inte tar hänsyn till sådant? Citera Länk till kommentar Dela på andra sidor More sharing options...
GiZmo Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 (redigerad) Är väl bara en sketen uppgift som inte tar hänsyn till sådant? Dum uppgift Jag vill ha in en N:M där, damnit. Eller två kanske? D: Redigerad 22 maj, 2011 av GiZmo Citera Länk till kommentar Dela på andra sidor More sharing options...
Pixiegnom Skrivet 22 maj, 2011 Skapat av Rapportera Share Skrivet 22 maj, 2011 Inte så jättenoga tror jag. Men om man nu utgår från relationerna du satte ut Giz, vilken borde vara 1:N då? Album.Albumtitel - Spår.Album och Spår.Låttitel? Citera Länk till kommentar Dela på andra sidor More sharing options...
GiZmo Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 Inte så jättenoga tror jag. Men om man nu utgår från relationerna du satte ut Giz, vilken borde vara 1:N då? Album.Albumtitel - Spår.Album och Spår.Låttitel? Om de nu måste vara en 1:1 relation så får det vara mellan Artister.Artist och Album.Artist, dvs en artist får bara ha ett album/ett album får bara ha en artist. Det är det enda sättet jag ser man kan lösa det på, om man nu inte väljer att lägga in massa singel-albums Citera Länk till kommentar Dela på andra sidor More sharing options...
Pixiegnom Skrivet 22 maj, 2011 Skapat av Rapportera Share Skrivet 22 maj, 2011 Om de nu måste vara en 1:1 relation så får det vara mellan Artister.Artist och Album.Artist, dvs en artist får bara ha ett album/ett album får bara ha en artist. Det är det enda sättet jag ser man kan lösa det på, om man nu inte väljer att lägga in massa singel-albums Men 1:N då? Citera Länk till kommentar Dela på andra sidor More sharing options...
GiZmo Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 Men 1:N då? Mellan Album.Albumtitel och Spår.Album? Citera Länk till kommentar Dela på andra sidor More sharing options...
Pixiegnom Skrivet 22 maj, 2011 Skapat av Rapportera Share Skrivet 22 maj, 2011 Mellan Album.Albumtitel och Spår.Album? Men nu känner jag mig dum... Är inte 1:N att den ska gå från en till flera? Citera Länk till kommentar Dela på andra sidor More sharing options...
GiZmo Skrivet 22 maj, 2011 Rapportera Share Skrivet 22 maj, 2011 Men nu känner jag mig dum... Är inte 1:N att den ska gå från en till flera? Nein :3 1:N går fortfarande bara mellan två.. uh.. vad heter det.. trött... T.ex. Artister.Artist och Album.Artist. Fält? Ajja. Grejjen är att den säger att det får finnas ett värde i en tabell som får matcha flera i en annan. t.ex., en artist kan ha många albums. Är det 1:1 så säger relationen att en artist får bara ha ett album. Check this out Citera Länk till kommentar Dela på andra sidor More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.