Abstract. Webbsida för lagring av alumner i en databas. Website containing a database for the storage of alumni contact information.

Storlek: px
Starta visningen från sidan:

Download "Abstract. Webbsida för lagring av alumner i en databas. Website containing a database for the storage of alumni contact information."

Transkript

1 Abstract Webbsida för lagring av alumner i en databas Website containing a database for the storage of alumni contact information Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0 Postadress: Box Uppsala Telefon: Telefax: Hemsida: Joel Sundström In supporting an efficient way to gather and develop contact information for the Uppsala Association of Technology Physicist alumni, it is crucial to have in place an adequate and user-friendly system allowing the continuous collection and storage of such contact information. This can achieved by the creation of a website where alumni can enter information about themselves and where such information in turn is stored in a database. A database containing relevant tables has been developed in MySQL. In utilizing phpmyadmin, the programming language PHP and Web Server Apache, a fully functional website to be included on the Association's website has been created. Handledare: Ingen handledare Ämnesgranskare: Roland Bol Examinator: Urban Lundin ISSN: , TVE

2 TVE Examensarbete 15 hp Juni 2011 Webbsida för lagring av alumner i en databas Självständigt arbete i teknisk fysik Joel Sundström

3 Institutionen för teknikvetenskaper Webbsida för lagring av alumner i en databas Självständigt arbete i Teknisk fysik Vårterminen 2011 Uppsala Författare: Joel Sundström

4 Sammanfattning För att samla och utveckla kontakterna till Föreningen Uppsala Tekniska Fysikers alumner är det avgörande att på ett effektivt och användarvänligt sätt kontinuerligt samla och lagra alumnernas, personer som har en examen från teknisk fysik, personuppgifter. Detta kan åstadkommas genom att konstruera en webbsida där alumner kan skriva in information om sig själva och där informationen lagras i en databas. En databas med relevanta tabeller arbetades fram i MySQL. Användandet av phpmyadmin, programmeringsspråket php och webbservern Apache resulterade i en fullt funktionell webbsida som kommer att användas på föreningens hemsida. 2

5 Innehållsförteckning 1. Inledning Bakgrund Syfte Teori Databas Design av databas SQL Normalformer Från ER till tabeller Kopplingen mellan de olika delarna i systemet Metod Verktyg XAMPP Apache MySQL PHP Inbyggda metoder phpmyadmin Implementation Designen av databasen Resulterande tabeller i databasen Design av webbsidan Metoder och klasser till webbsidan Klasser och metoder Diskussion Åtgärder innan lansering Utvecklingsmöjligheter Referenser Appendix

6 1. Inledning 1.1 Bakgrund Föreningen Uppsala Tekniska Fysiker har under en längre tid haft en alumnverksamhet som inte har levt upp till de mål som föreningen har satt upp för denna verksamhet. Anledningen till detta har till största del varit att hitta de alumner som tagit examen från civilingenjörsprogrammet Teknisk fysik och samla information om dem på ett och samma ställe. Föreningens alumnverksamhet har som mål att bland annat anordna alumnmiddagar där gamla studenter kan träffas och utbyta erfarenheter. En väl fungerande alumnverksamhet är viktigt för föreningen då alumnerna utgör en värdefull resurs för programmet och således även studenterna. 1.2 Syfte Målet med detta projektarbete har varit att konstruera ett effektivt sätt att samla alla alumner på samma ställe och att detta ska kunna ske på ett långsiktigt hållbart sätt. För att erhålla detta smidiga lagringssätt har syftet varit att databasen och tillhörande interface ska vara designat på ett sådant sätt att alumnerna ska kunna logga in med mailadress och valfritt lösenord. Syftet med detta har varit att man på ett enkelt sätt ska kunna ändra sina personliga uppgifter när man till exempel flyttar eller byter jobb. 4

7 2. Teori 2.1 Databas Design av databas Med databas menas ofta en samling data som hör ihop på något sätt och där data inte försvinner även när datorn stängs av eller programmet avslutas. 1 När något från verkligheten ska beskrivas i en databas rekommenderas det att man börjar med att skapa en översiktsbild av hur verkligheten ser ut. Detta görs lämpligast genom en ERmodell, entitet-relationsmodell, där verkligheten beskrivs på ett schematiskt sätt. Detta leder till en bättre design än om tabellerna skulle bestämmas från början. Det som bestämmer vilken typ av data som kan lagras i databasen är schemat. Schemat kan ses som en tabell där kolumnerna bestämmer typen av data som kan lagras. Schemats utseende avgörs av den datamodell som används. Den konceptuella datamodellen skapar en datamodell som beskriver hur verkligheten ser ut, resultatet blir då ett konceptuellt schema som illustreras med ett ER-diagram, se figur 1. Figur 1: Förenklad bild över de olika delarna i ett ER-diagram. Ett ER-diagram är en skiss över den information som ska lagras i databasen, entiteter, och hur dessa förhåller sig till varandra, relationer. Relationer kan ses som samband mellan entiteter där entiteter ofta är namn på saker och ting, till exempel Alumn, Företag och Land. Attributen talar om vilken typ av information som finns om entiteten, till exempel attributen förnamn och efternamn till entiteten Alumn. För att det ER-diagram som gjorts ska kunna implementeras i en dator måste skissen beskrivas med hjälp av någon implementationsmodell. 1 Thomas Padron-McCarthey, Tore Risch, Databasteknik, sid 8 5

8 Den vanligaste implementationsmodellen är relationsmodellen där ER-diagrammet översätts till tabeller där data lagras. 2 En databas där data lagras och organiseras i tabeller, relationer, kallas relationsdatabas och den som använts i detta projekt är MySQL SQL SQL, Structured Query Language, används för att kommunicera med databasen genom att bland annat hämta, sätta in, uppdatera och radera data i en databas. Detta görs genom att ställa frågor till databasen som då returnerar ett svar i form av en tabell Normalformer När en databas ska designas är det viktigt att undvika en dålig design. Med dålig design menas att samma data lagras på mer än ett ställe och att vissa typer av data inte lagras alls. För att undvika en dålig design utnyttjas normalformer. Det finns fyra olika typer av normalformer; första normalformen, andra normalformen, tredje normalformen och Boyce- Codds normalform. Innan de olika typerna av normalformer kan förklaras närmare måste en del begrepp presenteras. 4 Funktionellt beroende: Funktionellt beroende kan beskrivas genom att analysera attribut A och attribut B. Om A som kan innehålla flera attribut entydigt bestämmer värdet på attribut B sägs B vara funktionellt beroende av A. Fullständigt funktionellt beroende: Om samma exempel som ovan används för att beskriva fullständigt funktionellt beroende sägs B vara fullständigt funktionellt beroende av A om det ur A inte går att ta bort några attribut för att B ska vara funktionellt beroende av A. Primärnyckel: En primärnyckel är en eller flera kolumner i en tabell som har ett unikt värde för varje rad. 2 Ibid, sid 18 3 Thomas Padron-McCarthey, Tore Risch, Databasteknik, s 7 ff 4 Ibid, s 217 ff 6

9 Kandidatnyckel: Då en tabell har flera olika kandidater till primärnyckel sägs tabellen ha flera kandidatnycklar. En kandidatnyckel är en kolumn eller flera kolumner i en tabell som entydigt pekar ut varje rad i tabellen. Icke-nyckel attribut: Ett attribut som inte ingår i någon kandidatnyckel. Första normalformen, 1NF Första normalformen säger att varje kolumn ska innehålla atomära värden vilket innebär att det endast får förekomma ett värde per ruta. Till exempel är inte Nils Nilsson ett atomärt värde men Nils är det. Andra normalformen, 2NF Tabellen ska ha första normalform men för att det ska vara andra normalformen måste även varje icke-nyckelattribut vara fullständigt funktionellt beroende av varje kandidatnyckel. Tredje normalformen, 3NF Tabellen ska ha andra normalformen men det får inte förekomma något fullständigt funktionellt beroende mellan attribut utanför någon av kandidatnycklarna. Boyce-Codds normalform, BCNF Tabellen ska ha första normalformen samt att determinanten, det eller de attribut som bestämmer ett annat attribut, ska vara en kandidatnyckel Från ER till tabeller Det finns bestämda regler för hur översättningen från ER-modellen till relationsmodellen ska ske. En vanlig entitetstyp med tillhörande attribut översätts till en tabell där attributen utgör kolumner i denna tabell och där primärnyckeln i tabellen blir entitetstypens nyckel. En sambandstyp som har ett N:M-förhållande och tillhörande attribut blir en tabell där kolumnerna består av attributen samt primärnycklarna från de entiteter som sammankopplas 5 Thomas Padron-McCarthey, Tore Risch, Databasteknik, s 217 ff 7

10 genom sambandstypen. Primärnyckeln i tabellen är sammansatt av primärnyckeln från respektive entitet. Om en sambandstyp med ett N:1-förhållande används i ER-modellen kommer entiteten på N- sidan att erhålla ett referensattribut i form av primärnyckeln från den andra entiteten. Det vill säga att primärnyckeln från entiteten på 1-sidan kommer bli en kolumn i tabellen för N-sidans entitet Kopplingen mellan de olika delarna i systemet Då en webbsida programmeras där flera olika program används är det viktigt att förstå kommunikationen mellan programmen. För att den information som skrivs på webbsidan ska kunna sparas i databasen krävs en mellanhand som hämtar informationen och adderar den i databasen, se figur 2. I detta fall är det programmeringsspråket php som fungerar som länken mellan databasen och webbsidan. PhpMyadmin används för att skapa tabeller i databasen och kommunikationen sker med hjälp av php. PhpMyadmin utnyttjas även för att kontrollera att den information som läggs in eller uppdateras i tabellerna stämmer överens med tanken bakom ändringen eller adderingen av information. Figur 2: Schematisk bild över kommunikationen mellan de olika delarna i systemet. 3. Metod Kravställaren för detta arbete har varit Föreningen Uppsala Tekniska Fysiker och genom diskussion med styrelsen i denna förening bestämdes utformningen av arbetet. Med anledning av att endast en del av föreningens hemsida programmeras i detta arbete utnyttjades den 6 Ibid, s 85 ff 8

11 programmeringskunskap som fanns hos de personer som gjort andra delar av hemsidan. Förutom att dessa personers kompetens utnyttjats har även litteratur och internet använts för att hitta information, se Referenser. För att användarvänligheten ska vara tillfredställande kommer sidan att felsökas av mig men även av personer som inte varit insatta i projektet. Webbsidan kommer även att granskas av de personer som programmerat föreningens hemsida för att den programmeringskod som skrivits ska följa de riktlinjer som föreningen satt upp gällande hemsidan. Anledningen till att webbsidan kommer granskas av personer med varierande inblandning i projektet beror på att olika typer av fel kommer att detekteras och således kommer risken för fel vid lansering minimeras. Efter att felen åtgärdats kommer sidan att lanseras på föreningens hemsida och alumner kommer kunna registreras i föreningens alumnnätverk. 4. Verktyg Anledningen till valet av de verktyg som kommer presenteras i detta kapitel var att dessa använts vid programmering av föreningens hemsida. För att den webbsida som programmeras i detta projektarbete skulle kunna implementeras på ett smidigt sätt användes således Xampp, Apache, MySql, php och phpmyadmin, se figur 3. Figur 3: En schematisk bild över systemet där de tekniska bitarna har implementerats. 4.1 XAMPP Då en webbsida ska konstrueras är det bra att experimentera lokalt på en webbserver. I XAMPP, som är ett open source program, ingår de flesta program som behövs för att 9

12 genomföra detta. Dessa är bland annat webbservern Apache, databashanteraren MySQL och programmeringsspråket PHP. För att använda den lokala servern måste servrarna Apache och MySQL startas upp. Serverns aktivitet kan kollas genom att skriva som refererar till den dator eller det system som används. När php-filen skrivits sparas den i Xampp/htdocs som filnamn.php och filen kan köras genom att skriva i webbläsaren Apache Webbservern Apache exekverar den php-kod som programmerats om php installerats på webbservern. När ett anrop kommer från användaren behandlas denna på Apacheservern och eventuellt exekveras php-kod och resultatet skickas därefter tillbaka till användaren. Användaren tolkar resultatet genom webbläsaren. Om webbservern har php-kod som motsvarar anropet från användaren kommer php-koden inverka på resultatet som skickas tillbaka till användaren. 4.3 MySQL MySQL är en databashanterare där frågespråket SQL används för att kommunicera mellan databasen och tillämpningsprogrammet. Genom att ställa frågor till databasen kan data matas in, uppdateras eller raderas på ett smidigt sätt. MySQL är open source (datorprogram där källkoden kan användas, modifieras, läsas och vidaredistribueras) och kan således laddas ner och användas gratis. På grund av att det är gratis och lättillgängligt, men även anpassat för många olika programmeringsspråk, har det många användare vilket gör det lätt att få hjälp PHP PHP är ett programmeringsspråk som främst används till programmering av webbsidor där innehållet hämtas från en databas eller från användarens formulärdata. Programmeringsspråkets huvudsakliga uppgift är att fungera som ett filter där källkoden tolkas och omvandlas till en textström som skrivs ut. Vid programmering med php sker ofta kommunikation med databasen där information hämtas och skrivs ut av mottagaren som oftast 7 ( ) 8 Thomas Padron-McCarthey, Tore Risch, Databasteknik, s 615 ff 10

13 är en webbläsare. En av de största fördelarna med php är att stödjer många olika typer av databasprogram vilket underlättar arbetet med webbsidor Inbyggda metoder För att programmera webbsidan utnyttjades de inbyggda metoderna i Codeigniters bibiliotek. I klassen helper användes metoder som underlättade programmeringen av formuläret där informationen av alumnerna skrivs in. Dessa metoder genererade bland annat textfält, rullistor och submit-knappar. 9 Metoden post() som ligger i Codeigniter s klass input användes för att hämta ut information från de olika fälten som skapats i formuläret. Inparametern motsvaras av namnet på fältet som skapades i formuläret. Om den andra parametern sätts till TRUE kommer alla värden från fältet att hämtas. 10 Metoden phpsession som använts ingår inte i Codeigniter s bibliotek men är väldigt användbar då sidor med login programmeras. Phpsession används för att lagra information om användaren på servern men denna information är endast temporär och kommer raderas då användaren stänger sidan. Då ett login ska programmeras ska informationen om användaren sparas och således rekommenderas att informationen lagras i en databas phpmyadmin PhpMyadmin är ett gratis program skrivet i php som användes för administrering av MySQL på webben. Programmet underlättar hanteringen av databasen och det stödjer även vanliga SQL-frågor som används vid skapande av nya tabeller. Data från tabellerna kan exporteras till bland annat Excel, Word, PDF och vanliga textdokument ( ) 10 ( ) 11 ( ) 12 ( ) 11

14 5. Implementation 5.1 Designen av databasen ER-modellen användes för att analysera och få en helhetsbild av hur databasen skulle konstrueras. För att undvika en dum design på databasen analyserades först vilken typ av information som skulle lagras i databasen. Den naturliga utgångspunkten för designen av databasen blev alumn eftersom syftet med webbsidan var att information om alumner skulle lagras, se figur 3. Nästa steg i designen av databasen var att bestämma vilken typ av information som skulle lagras, det vill säga vilka attribut entiteten Alumn skulle ha. För att informationen om alumnerna skulle lagras på ett effektivt sätt med bra semantik gjordes en del attribut till entiteter där de kopplades till alumn med en sambandstyp. Detta var tanken då alumnerna anger vilka arbetsgivare de haft efter examen samt vilket land de bor i. Istället för att varje företagsnamn lagras som ett attribut för varje alumn skapades entiteten Företag med attributen företagsid och namn. Entiteten Företag länkades samman med alumn genom sambandstypen, Jobbar på. Detta gjordes för att undvika att samma företagsnamn lagras flera gånger för olika alumner men även för att göra lagringen mer effektiv. Sambandstypen mellan entiteten Alumn och entiteten Företag sattes till ett N:M-samband, många till många samband. N:M-sambandstypen valdes eftersom en alumn kan ha haft flera olika arbetsgivare efter examen och olika alumner kan ha haft samma arbetsgivare. För att mer information om varje alumns arbetsgivare sedan examens skulle kunna erhållas adderades en del attribut till sambandstypen Jobbar på. En tabell med alla världens länder användes i formuläret vilket gjorde att det blev smidigare att införa en sambandstyp, Bor i, mellan entiteten Alumn och Land. Sambandstypen mellan Alumn och Land sattes till N:1-samband eftersom varje alumn endast kan bo i ett land men flera alumner kan bo i samma land. 12

15 Figur 4: ER-diagram av databasen Mellan sambandstypen Bor i och entiteten Alumn infördes ett fullständigt deltagande eftersom en alumn måste bo i ett land. Mellan Bor i och Land är det ett partiellt deltagande eftersom varje land inte behöver vara bebott av en alumn. Det fullständiga deltagandet mellan Jobbar på och Företag innebär att varje företag måste ha en alumn vilket beror på att ett företag inte läggs in i databasen om inte en alumn har angett det företaget. Attributet presentation lagrar information om alumnen är intresserad av att hålla en inspirerande presentation för nuvarande studenter på programmet. Engagemang innehåller information om alumnens engagemang under studietiden och PUL lagrar information om alumnen accepterar att föreningen behandlar informationen om alumnen enligt personliga uppgiftslagen. I övrigt lagras information om alumnen som de andra fälten i formuläret inte täcker. För att kunna implementera designen i ER-diagrammet till en användbar databas utnyttjades relationsmodellen där ER-diagrammet översättas till vanliga tabeller. Dessa tabeller skapades sedan i relationsdatabasen MySQL genom att utnyttja SQL-frågor. 5.2 Resulterande tabeller i databasen Designen av databasen och översättningen från ER-modellen till relationsmodellen resulterade i fyra tabeller. Normalformen BCNF erhölls i tabellerna Alumnjobb, Alumnföretag och Alumnland. Tabellen Alumn erhöll ingen normalform eftersom den innehöll värden som inte var atomära och således inte uppfyllde 1NF. 13

16 Alumntabellen innehåller all information om alumnen där alumnid valdes till primärnyckel eftersom det är unikt för varje rad samt att sökningar i tabellen underlättas. Mailadressen och mobilnummer är kandidatnycklar. Av praktiska skäl och för att inte få en dålig semantik, det vill säga att tabellen blir svår att förstå, analyserades inte fler kombinationer av attribut som skulle kunna bilda en kandidatnyckel. Anledningen till att denna tabell inte erhöll BCNF var att värdena i kolumnerna adress, engagemang och övrigt inte var atomära, se figur 4. Figur 5: Tabellen Alumn med kolumnerna inom parenteserna samt funktionella beroenden. Alumnjobb innehåller all information om vilka arbetsgivare samt vilken position i företaget alumnen haft efter examen. Genom attributen startyear, startmonth, endyear och endmonth kan den period alumnen befunnit sig på det företaget registreras. Primärnyckeln i denna tabell består av fyra attribut, dessa är alumnid, företagsid, startyear och startmonth. Anledningen till denna primärnyckel är att alumnen kan byta titel inom samma företag under samma år. Anser även att en alumn kan ha två olika titlar på samma företag under samma år. Detta ger en tabell med normalformen BCNF eftersom alla attribut pekas ut av en kandidatnyckel, se figur 5. Figur 6: Tabellen Alumnjobb med kolumnerna inom parenteserna samt funktionella beroenden. Alumnföretag innehåller de företag som alumnerna jobbar på eller har jobbat på och primärnyckeln är företagsid som företaget erhåller då det läggs in i tabellen. Namn är kandidatnyckel i denna tabell eftersom flera företag inte kan ha samma namn. Tabellen erhöll normalformen BCNF eftersom varje attribut pekas ut av en kandidatnyckel, se figur 6. 14

17 Figur 7: Tabellen Alumnföretag med kolumnerna inom parenteserna samt funktionella beroenden. Alumnland innehåller alla länder i världen och varje land är kopplade till ett landid. Primärnyckeln i denna tabell är landid och namn är kandidatnyckel eftersom att det inte finns flera länder med samma namn. Tabellen erhöll normalformen BCNF eftersom varje attribut pekas ut av en kandidatnyckel, se figur 7. Figur 8:Tabellen Alumnland med kolumnerna inom parenteserna samt funktionella beroenden. Att tabellerna Alumnland, Alumnföretag och Alumnjobb erhöll normalformen BCNF innebär att databasen har designats på ett bra sätt. Tabellen Alumn som inte erhöll normalformen BCNF bör inte tolkas som någonting dåligt i detta fall eftersom det blir praktiskt svårt att lagra stora textsträngar som atomära värden. Om vikten vid designen av databasen låg i att erhålla normalformen BCNF för tabellen Alumn hade detta givit en tabell som varit svår att förstå. 5.3 Design av webbsidan Webbsidorna för alumner resulterade i tre stycken olika sidor där ena sidan enbart hanterar registrering av alumner, se figur 8. De resterande två sidorna blev inloggningssidan och sidan med all personlig information om alumnen. Registreringssidan och inloggningssidan programmerades på i stort sett samma sätt med två textfält för mailadress och lösenord samt submitknappar för att komma till nästa steg, se figur 9. 15

18 Figur 9: Webbsidan där alumnerna registrerar sig för att sedan kunna logga in på de personliga sidorna Figur 10: Inloggningssidan för att komma till den personliga sidan Mina sidor skiljer sig från de andra två genom att den visar den personliga informationen om alumnen vid inloggning och har avsevärt många fler textfält av olika slag. Sidan delas upp av två formulär. Ett formulär med kontaktuppgifter och studietidsrelaterade fält där alumnen kan beskriva mer utförligt vad som gjordes under studietiden. Det andra formuläret inriktas enbart på vilka företag alumnen har jobbat på efter examen, se appendix. 16

19 5.4 Metoder och klasser till webbsidan Programmet Xampp användes för att konstruera webbsidan som programmerades i php där koden skrevs i en vanlig texteditor. Xampp användes främst till att exekvera den kod som skrevs och genom att exekvera den via erhölls även felmeddelanden som annars brukar stå direkt i programmeringsmiljön vid programmering med till exempel Java och Matlab. I programmeringen utnyttjades en del färdigskrivna metoder från Codeigniters helperklass och inputklass. Programmeringen delades upp i två olika typer av php-filer, en av filerna hanterar endast kommunikationen med databasen och den andra innehåller programmeringen för webbsidan. Användaren måste först registrera sig som alumn på sidan Registrera dig innan hon eller han kan logga in. När alumnen loggar in på Mina sidor via Logga in kan den personliga informationen läggas in och när detta är gjort kan alumnen logga ut Klasser och metoder Dessa metoder användes vid programmering av webbsidan och skrevs i klassen app_alumn: output() det som skrivs i denna metod är det som skrivs ut på webbsidan, det vill säga det som användaren ser. Metoden kollar om användaren är inloggad genom att använda phpsession. Om användaren är inloggad anropas användarens personliga sida annars skickas användaren till inloggningssidan, se figur 10. login() anropas från output() om användaren inte skulle vara inloggad. Denna metod skapar formuläret för inloggningssidan. login_alumn() hämtar de data som skrivits in i fälten skapade i login() och jämför inloggningsuppgifterna med de som är lagrade i databasen. logout() när användaren trycker på Logga ut -knappen som skapas i metoden minasidor() anropas denna metod och användaren loggas ut. 17

20 Figur 11: Klassen Alumn och hur de olika metoderna är kopplade till varandra i denna klass minasidor() anropas från output om användaren är inloggad. Här skapas formuläret med de olika fälten där alumnen kan skriva in den personliga informationen. Den personliga informationen laddas även in från databas när användaren loggar in på sina sidor. Detta gäller även de arbetsgivare som användaren haft, se figur 11. addalumn_information() plockar ut alla information som har skrivits in i fälten som skapats i metoden minasidor() och formaterar det som skrivits in i textfälten. Det vill säga att alla namn som skrivs in i fälten lagras i databasen med första bokstaven stor och resten små. Sker en kontroll i denna metod så att inte användaren byter mailadress till en mailadress som någon annan alumn redan har. Anropar därefter en metod som lagrar den formaterade informationen i databasen. addforetag() hämtar all information från fälten som är knutna till vilka arbetsgivare man haft efter examen. Formaterar denna information för att alla företagsnamn ska börja med stor bokstav och resten av bokstäverna ska vara små. I denna metod görs en kontroll för att undvika att samma företag lagras fler gånger. Om det är ett nytt företag som skrivits in i företagsfältet lagras det i företagstabellen, om inte så lagras det ej och det företagsid som motsvarar företagsnamnet hämtas istället från företagstabellen. 18

21 Figur 12: Beskriver vad som sker i metoden minasidor() I klassen alumn skrevs metoderna för att hämta ut, lägga in och uppdatera information i databasen. Detta gjordes genom att ladda in Codeigniter s bibliotek för databasmetoder och således kunde informationen hanteras med SQL-frågor. Metoderna i denna klass anropas från klassen app_alumn då information i databasen ska hanteras. För hanteringen av nya alumner programmerades två separata klasser, app_alumnregistrering och alumnregistrering. app_alumnregistreing programmerades webbsidan som hanterar nya oregistrerade alumner där alumnerna får ange valfri mailadress och valfritt lösenord som sedan ska användas för att logga in på de personliga sidorna. I denna metod kontrolleras även om den inskrivna mailadressen redan existerar i databasen och om mailadressen är skriven på rätt form genom att utnyttja metoden valid_ () i klassen helper, se figur 12. alumnregistrering programmerades metoder där Codeigniter s bibliotek för databashantering utnyttjades. Således kunde SQL användas för att lägga in nya alumner i databasen samt plocka ut relevant information ur databasen. 19

22 Figur 13: Klassen Alumnregistrering och hur metoderna är kopplade till varandra i denna klass. För att öka säkerheten för användaren och inte riskera att deras lösenord sprids vidare i klartext programmerades en metod password_encrypt() för att hasha det lösenord som användaren skriver in. Detta innebär att lösenordet inte sparas i klartext utan som en sträng med 40 tecken innehållande siffror, stora bokstäver och små bokstäver. Även om någon nu skulle komma över lösenorden så måste de fortfarande lista ut hashning vilket är en väsentlig skillnad jämfört med om lösenordet hade stått i klartext. 6. Diskussion 6.1 Åtgärder innan lansering Innan sidan kan lanseras behöver webbsidan göras mer användarvänlig för att alumnerna ska kunna fylla i formuläret på rätt sätt. En av delarna som behöver införas före lansering handlar om att hjälpa användaren då något fel har uppstått vid inmatning i formuläret. Vid detta tillfälle ska en röd text skrivas ut där felet har uppstått för att alumnen ska kunna hitta det. 20

23 Alumnen kan vid ett sådant tillfälle ha fyllt i alla fält och tryckt på spara för att sedan märka att ett fel har uppstått och informationen i de fält som var korrekt ifyllda har försvunnit. Detta är något som återstår att programmera för att underlätta användningen för alumnen. För att göra formuläret och webbsidan mer tilltalande återstår det att programmera presentationsstilen av sidan och detta görs i programmeringsspråket CSS, cascading style sheets. Med CSS programmeras bland annat vilket typsnitt, färg och storlek texten ska ha men även de olika knapparnas och textfältens position på hemsidan. Detta är enbart designprogrammering men även detta är viktigt för att göra sidan mer attraktiv och tilltalande. Detta behöver även göras för att alumnsidan ska följa den standardmall som upprättats på föreningens hemsida. Hemsidan fick önskat utseende och fungerar väl förutom de få åtgärder som återstår innan den kan tas i drift. För att kunna ta webbsida i drift måste den flyttas från den lokala servern till det webbhotell som föreningen hyr. 6.2 Utvecklingsmöjligheter För att förbättra kontakten mellan alumnerna och för att alumnerna sinsemellan ska kunna planera återträffar skulle ett diskussionsforum behöva utvecklas. Detta skulle förbättra gemenskapen mellan de tekniska fysiker som befinner sig ute i arbetslivet och det skulle även ge alumnerna en plats att diskutera och upprätthålla kontakten på. Genom diskussionsforumet ska de studenter som sitter i föreningens styrelse kunna snappa upp när alumnerna är intresserade av en återträff och hjälpa till med arrangemanget av detta. En koppling till de sociala medierna Linkedin och Facebook skulle underlätta kontakten med alumnerna. Även spridningen av alumnverksamheten till icke-registrerade alumner skulle gynnas. Förhoppningen och målet med denna verksamhet är att i framtiden kunna anordna alumnsittningar med gamla studenter och att alumner ska ha kvar kontakten med studenttiden. Med denna databas av alumner kommer det även att bli lättare för föreningen att hitta framgångsrika personer som kan komma och inspirera studenterna på programmet. 21

24 7. Referenser Thomas Padron-McCarthey, Tore Risch, Databasteknik, Studentlitteratur, Indien 2010 Apachefriends. (Elektronisk) Tillgänglig: ( ) Codeigniter. (Elektronisk) Tillgänglig: ( ) Codeigniter. (Elektronisk) Tillgänglig: ( ) W3Schools. (Elektronisk) Tillgänglig: ( ) Phpmyadmin. (Elektronisk) Tillgänglig: ( ) 22

25 8. Appendix 23

Konceptuella datamodeller

Konceptuella datamodeller Databasdesign Relationer, Nycklar och Normalisering Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Konceptuella datamodeller Om man ska skapa en databas som beskriver en del av verkligheten

Läs mer

NORMALISERING. Mahmud Al Hakim

NORMALISERING. Mahmud Al Hakim NORMALISERING Mahmud Al Hakim mahmud@webacademy.se 1 SCHEMA Schema eller databasschema är en beskrivning av vilka data som kan finnas i en databas, oberoende av vilka data (innehållet) som råkar finnas

Läs mer

Databaser och Datamodellering Foreläsning IV

Databaser och Datamodellering Foreläsning IV Webbprogrammering - 725G54 Databaser och Datamodellering Foreläsning IV Agenda Databaser ERD SQL MySQL phpmyadmin Labb 4 Databaser Databas - samling med data Databashanterare Enkelt Kraftfullt Flexibelt

Läs mer

Webbprogrammering, grundkurs 725G54

Webbprogrammering, grundkurs 725G54 Webbprogrammering, grundkurs 725G54 Bootstrap jquery SEO RWD MuddyCards. Tidigare Muddycards Många positiva kommentarer Ibland för högt tempo på föreläsning Lägg ut labbar tidigare Mer föreläsningar (2

Läs mer

Logisk databasdesign

Logisk databasdesign NORMALISERING Peter Bellström Logisk databasdesign 2 Arbetssteget vars syfte är att konstruera en modell (diagram, schema), baserad på en specifik datamodell, över verksamhetens begrepp och samband. Modellen

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Introduktion till MySQL

Introduktion till MySQL Introduktion till MySQL Vad är MySQL? MySQL är ett programmerings- och frågespråk för databaser. Med programmeringsspråk menas att du kan skapa och administrera databaser med hjälp av MySQL, och med frågespråk

Läs mer

Innehåll. MySQL Grundkurs

Innehåll. MySQL Grundkurs MySQL Grundkurs Copyright 2014 Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Innehåll Introduktion till databaser Installera MySQL lokalt Webbserverprogrampaket (XAMPP) Introduktion till phpmyadmin

Läs mer

Tentamen ISGB01, ISGB24. Databasdesign 7,5 Poäng

Tentamen ISGB01, ISGB24. Databasdesign 7,5 Poäng Tentamen ISGB01, ISGB24 Databasdesign 7,5 Poäng Datum: 2016-09-30 Tid: 08.15-13.15 Lärare: Peter Bellström, Katarina Groth, Johan Högberg Tentamen är på 40 poäng. Gränsen för Godkänd (G) är 20 poäng. Gränsen

Läs mer

ER-Diagram. Databasutveckling Diagram

ER-Diagram. Databasutveckling Diagram Databasutveckling Diagram Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se ER-Diagram En vanlig konceptuell datamodell är den så kallade ER-modellen. "ER" står för "Entity-Relationship",

Läs mer

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion. Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Programdesign, databasdesign Databasdesign Konceptuell design Förstudie, behovsanalys

Läs mer

Webservice & ERP-Integration Rapport

Webservice & ERP-Integration Rapport Webservice & ERP-Integration Rapport Hardwood AB Mustafa Lazem 930916-9713 Jonas Ahrne 920325-0379 Hasan Nerjovaj 940130-7195 Stefan Liden 920628-0639 2014-05-18 Innehåll Bakgrund... 2 Syfte... 2 Projektbeskrivning...

Läs mer

Hemsideutveckling för Anjool AB

Hemsideutveckling för Anjool AB Beteckning: Akademin för teknik och miljö Hemsideutveckling för Anjool AB Christopher Gidlöf Maj 2012 Examensarbete 15hp B nivå Datavetenskap Internetteknologi Examinator: Carina Petterson Handledare:

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 * * * * DAV B04 - Databasteknik! "# $ %'&( ) KaU - Datavetenskap - DAV B04 - MGö 132 Riktlinjer när man vill skapa en databas 1) Designa så att det är lätt att förstå innebörden. Kombinera inte attribut

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-08-20 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information

Läs mer

INTRODUKTION TILL ER ENTITY-RELATIONSHIP

INTRODUKTION TILL ER ENTITY-RELATIONSHIP INTRODUKTION TILL ER ENTITY-RELATIONSHIP Mahmud Al Hakim mahmud@webacademy.se 1 REFERENS TILL DETTA MATERIAL: WWW.DATABASTEKNIK.SE/WEBBKURSEN 2 1 KONCEPTUELLA DATAMODELLER Om man ska skapa en databas som

Läs mer

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet WP-Edit Robin Larsson Martin Davik 2014 Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet Handledare: Anders Jackson Examinator: Carina Pettersson WP-Edit av Robin Larsson Martin

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Grunderna för relationsmodellen!

Grunderna för relationsmodellen! Grunderna för relationsmodellen! 1 Varför behöver jag lära mig relationsmodellen?! Relationsmodellen är den totalt dominerande datamodellen i moderna databassystem Beskriver databaser som en mängd tabeller

Läs mer

Garantianspråk. Manual

Garantianspråk. Manual 2014 Garantianspråk Manual Innehåll Åtkomst till systemet... 2 Inloggning... 2 Glömt lösenordet... 3 Registrering... 4 Garantianspråk... 6 Startsida... 6 Navigering... 6 Garantianspråk konsument... 7 Mina

Läs mer

Vidareutveckling av lokalbokningssystem

Vidareutveckling av lokalbokningssystem Beteckning: Institutionen för matematik, natur- och datavetenskap Vidareutveckling av lokalbokningssystem Mikael Eriksson juni 2007 Examensarbetete, 10 poäng, B Datavetenskap Internetteknologi Examinator:

Läs mer

Lektion 5 HTML, CSS, PHP och MySQL

Lektion 5 HTML, CSS, PHP och MySQL Lektion 5 HTML, CSS, PHP och MySQL I den här lektionen behandlas i huvudsak PHP för att läsa information från en databas, MySQL. Det förutsätts att tidigare lektioner är gjorda, eller att du har tillräckliga

Läs mer

Lathund för studenter på civil och högskoleingenjörsprogram

Lathund för studenter på civil och högskoleingenjörsprogram Lathund för studenter på civil och högskoleingenjörsprogram publicera examensarbeten från Uppsala universitet i DiVA Uppdaterad 2009 12 01 http://diva.ub.uu.se/helpdesk Tänk på att: Du kan spara din registrering

Läs mer

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Relationsmodellen Introducerades av Edward Codd 970 Mycket vanlig Stödjer kraftfulla

Läs mer

Webbprogrammering, grundkurs 725G54

Webbprogrammering, grundkurs 725G54 Webbprogrammering, grundkurs 725G54 Lab 4, 5 ERD PHP + MySQL Återblick Idag Sessions PHP och MySQL för samband Lab 6 725G54: Genomgång projektuppgift Avstämning av kursmål Om sessions På IDA måste ni göra

Läs mer

Installera din WordPress med 9 enkla steg

Installera din WordPress med 9 enkla steg Installera din WordPress med 9 enkla steg Den här artikeln förutsätter att du har satt upp en webbserver eller har köpt ett webbhotell där du kan placera din nya WordPress hemsida. Om du inte har det,

Läs mer

Åtkomst Du kommer till ditt system via en webblänk som erhålles från oss. Via denna länk ges tillgång till sökning i bibliotekets katalog.

Åtkomst Du kommer till ditt system via en webblänk som erhålles från oss. Via denna länk ges tillgång till sökning i bibliotekets katalog. Handledning för BIBBLAN bibliotekssystem BIBBLAN är ett svensktutvecklat biblioteksprogram helt webbaserat, som innebär att man endast behöver en uppkopplad dator mot nätet. Man slipper dessutom tänka

Läs mer

Instruktioner för att skapa konton i MV-login

Instruktioner för att skapa konton i MV-login Instruktioner för att skapa konton i MV-login MV-Login är ett inloggningssystem, avsett för inloggning i MV-Nordics program, webbprogram och appar. Administration av systemet samt webbprogramen finner

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-12-18 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Databaser Design och programmering

Databaser Design och programmering Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning 2 Varför normalisera? Metod att skydda

Läs mer

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information. Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling

Läs mer

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Vad är en databas? Databasutveckling Med MySQL/MariaDB Databasutveckling Med MySQL/MariaDB Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är en databas? Från Wikipedia En databas (tidigare databank) är en samling information som är organiserad

Läs mer

Användarbeskrivning ARBETSGIVARINTYG. för Sveriges alla arbetsgivare. arbetsgivarintyg.nu. En ingång för alla användare. Innehåll. Version 1.

Användarbeskrivning ARBETSGIVARINTYG. för Sveriges alla arbetsgivare. arbetsgivarintyg.nu. En ingång för alla användare. Innehåll. Version 1. 2015 05 17 Arbetslöshetskassornas samorganisation SO Version 1.0 ARBETSGIVARINTYG för Sveriges alla arbetsgivare Användarbeskrivning arbetsgivarintyg.nu Med tjänsten arbetsgivarintyg.nu kan du som arbetsgivare

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2013-12-12 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Skapa ett konto för rapportering till vaccinationsregistret

Skapa ett konto för rapportering till vaccinationsregistret Skapa ett konto för rapportering till vaccinationsregistret Version 3.1.1 2017-03-03 Inledning Detta dokument ger praktisk information till användare om hur ett konto skapas för rapportering till vaccinationsregistret.

Läs mer

Föreläsning 3 Dagens föreläsning går igenom

Föreläsning 3 Dagens föreläsning går igenom Databasbaserad publicering Föreläsning 3 1 Föreläsning 3 Dagens föreläsning går igenom E/R-modellen & Läs om E/R-diagram i kapitel 2-3 i boken "Databasteknik" eller motsvarande avsnitt på http://www.databasteknik.se/webbkursen/er/index.html

Läs mer

VAD GÖR DU / VEM ÄR DU?

VAD GÖR DU / VEM ÄR DU? INNEHÅLL Vad blir din roll Databaser vad är och varför Terminologi Datamodellering vad är och varför Utvecklingsprocessen SQL vad är det Data / Information / Kunskap Kapitel 1 delar av. Praktisk Datamodellering

Läs mer

Försöksnomineringssystem 2013

Försöksnomineringssystem 2013 Försöksnomineringssystem 2013 Försöksnomineringssystem 2013... 1 1 Nominering... 2 1.1 Nominera sig själv... 2 1.2 Nominera någon annan... 2 1.3 Nominera som förening m.fl.... 2 2 Deltagaruppgifter...

Läs mer

Instruktioner, QR-scanning

Instruktioner, QR-scanning ! 1 av! 6 Innehållsförteckning Exempel på appar... 3 iphone... 3 Android... 3 Inloggning... 3 Scanning... 4 Spara scanning... 4 lista över scannade koder... 4 Kategorier och kommentarer... 5 Övriga funktioner...

Läs mer

PREMIUM COMAI WEBBKALENDER

PREMIUM COMAI WEBBKALENDER 1 PREMIUM COMAI WEBBKALENDER 2.0 ADMINISTRATÖR utvecklar och säljer anpassningsbara smartphone 2 Innehåll 1 Inledning... 3 1.1 Terminologi... 3 1.2 Teknisk kravspecifikation... 4 1.3 Behörigheter... 4

Läs mer

Databasdesign. E-R-modellen

Databasdesign. E-R-modellen Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19

Läs mer

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2015-11-06 TID: 14 19 Ansvarig för tentamen: Anna Palmquist Förfrågningar: 0734-612003 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året 729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Webprogrammering och databaser Personal: Examinator Jalal Maleki, jalma@ida.liu.se

Läs mer

Tentamen DATABASTEKNIK - 1DL116

Tentamen DATABASTEKNIK - 1DL116 Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Tentamen 2003-05-20 DATABASTEKNIK - 1DL116 Datum...Tisdagen den 20 Maj, 2003 Tid...12:00-17:00 Jourhavande lärare...kjell Orsborn,

Läs mer

Manual för din hemsida

Manual för din hemsida Manual för din hemsida Dynamiska hemsidor är en lösning för att man på ett enkelt sätt skall kunna lägga till, ändra och ta bort sidor på sin hemsida. För att detta skall vara möjligt bygger lösningen

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 26 Relationsmodellen En formell teori som baserar sig på (främst) mängdlära predikatlogik Föreslogs av E.F Codd 1970 i

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Normalisering. Christer Stuxberg Institutionen för Informatik och Media Normalisering Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Normalisering Dataredundans och Uppdateringsanomalier Anomalier vid insättning Anomalier vid borttagning

Läs mer

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem Webprogrammering och databaser! Idag: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Start på ER-modellering! Webprogrammering Kursöversikt! Databasteori och praktik! Fö, le, la + projekt!

Läs mer

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng Datum: 2016-11-02 Tid: 08:15 13:15 Lärare: Peter Bellström, Katarina Groth, Remigijus Gustas Hjälpmedel: Inga Tentamen är på 40 poäng. Gränsen

Läs mer

Avancerade Webbteknologier

Avancerade Webbteknologier Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte

Läs mer

Manual webb-förening. Giltig från 2015-02-01. Kontakt: Emilia Lindberg, turist- och fritidskonsulent 0456-82 22 51 emilia.lindberg@bromolla.

Manual webb-förening. Giltig från 2015-02-01. Kontakt: Emilia Lindberg, turist- och fritidskonsulent 0456-82 22 51 emilia.lindberg@bromolla. Manual webb-förening Giltig från 2015-02-01 Kontakt: Emilia Lindberg, turist- och fritidskonsulent 0456-82 22 51 emilia.lindberg@bromolla.se Innehåll 1. Inledning 2. Föreningsregister på webben 3. Logga

Läs mer

Manual för ansökan till Stiftelsen Kjellbergska Flickskolans Donationer

Manual för ansökan till Stiftelsen Kjellbergska Flickskolans Donationer Manual för ansökan till Stiftelsen Kjellbergska Flickskolans Donationer Ver 3.0 Sida 1 av 19 1. Komma igång med din stipendieansökan 3 1.1 Läs texten Tänka på 3 1.2 Logga in eller Skapa nytt användarkonto

Läs mer

Ansökan om föreningsbidrag och kulturstöd via webben. Kundens ex. Gäller från

Ansökan om föreningsbidrag och kulturstöd via webben. Kundens ex. Gäller från Ansökan om föreningsbidrag och kulturstöd via webben Kundens ex Gäller från 2017-01-01 Innehåll Inledning... 2 Ansökan på webben... 2 Förutsättningar... 2 Logga in... 2 Ansökan... 3 Felmeddelanden... 4

Läs mer

Administration av asrp.se

Administration av asrp.se Administration av asrp.se Inloggning sker från: http://www.asrp.se/cms/admin_login.php Avdelningar/rubriker: - Sidor - Användare - Galleri - Övrigt - Annonser - Hästar - Faktablad - Logga ut SIDOR Under

Läs mer

Publicera och registrera uppsats (examensarbete) i DiVA

Publicera och registrera uppsats (examensarbete) i DiVA 2016-04-01 Lathund för studenter Publicera och registrera uppsats (examensarbete) i DiVA Enligt ett Högskolebeslut, Rutiner och ansvarsförhållanden för självständigt arbete (examensarbete) vid Högskolan

Läs mer

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 LiTH, Tekniska högskolan vid Linköpings universitet 1(5) IDA, Institutionen för datavetenskap Juha Takkinen Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 Lokal T2 och

Läs mer

Introduktion till frågespråket SQL (v0.91)

Introduktion till frågespråket SQL (v0.91) DD1370: Databaser och Informationssystem Hösten 2014 Petter Ögren Introduktion till frågespråket SQL (v0.91) 13:e November Disclaimer: Dessa anteckningar har producerats under viss tidspress, och kan därför

Läs mer

Webbprogrammering 725G54

Webbprogrammering 725G54 Webbprogrammering 725G54 Hej! Jakob Bandelin, gästadjunkt jakob.bandelin@liu.se Interaktionsdesign, webbdesign, apputveckling Agenda Kursmål och -upplägg HTML Teckenkodning Validering Lab 1. Kursmål exemplifiera

Läs mer

IT-system. BUP Användarmanual

IT-system. BUP Användarmanual IT-system Användarmanual Innehållsförteckning 1. Att komma igång med... 1 1.1 Installera... 1 1.1.1 Byt databas... 1 1.1.2 Behörighet att byta databas... 2 1.2 Logga in... 3 1.2 Inloggad... 3 1.3 Logga

Läs mer

Informationssystem och databasteknik

Informationssystem och databasteknik Informationssystem och databasteknik Föreläsning 5 Analytisk databasdesign F5! Funktionellt beroende: Pnr Namn Funktion (i vanlig mat. betydelse): 610321 11111 22222 33333 Maria Eva Sture Olle För varje

Läs mer

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text. Presentation av uppgiften Vi har fått i att skapa en webbapplikation med ett spelbart spel inbyt i sig. Eller som läraren formulerar sig: uppgiften är att skapa en webbapplikation där en eller flera spelare

Läs mer

IT i organisationer och databasteknik

IT i organisationer och databasteknik IT i organisationer och databasteknik Föreläsning 5 Analytisk databasdesign Arkitektur hos ett informationssystem Presentation Användargränssnitt via en browser Applikationslogik Data Java servlets som

Läs mer

Databaser. Vad du ska lära dig: Ordlista

Databaser. Vad du ska lära dig: Ordlista Databaser Vad du ska lära dig: Ordlista Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda en

Läs mer

Projekt Foreläsning VI

Projekt Foreläsning VI Webbprogrammering - 725G54 Projekt Foreläsning VI Agenda Sessions update Labb 5 Genomgång projektuppgift Kursinnehåll avstämning Kursmål avstämning Sessions På IDA måste ni göra session_save_path('dir)

Läs mer

Tentamen plus lösningsförslag

Tentamen plus lösningsförslag Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Tentamen plus lösningsförslag 2I-1100 Informationssystem och databasteknik Skriv bara på en sida av pappret Skriv namn på varje

Läs mer

Utvecklingen av ett tidregistrerings- och faktureringssystem

Utvecklingen av ett tidregistrerings- och faktureringssystem Datavetenskap Opponenter: Anders Heimer & Jonas Seffel Respondenter: Daniel Jansson & Mikael Jansson Utvecklingen av ett tidregistrerings- och faktureringssystem Oppositionsrapport, C-nivå 2006:10 1 Sammanfattat

Läs mer

Nya webbservern Dvwebb.mah.se

Nya webbservern Dvwebb.mah.se Nya webbservern Dvwebb.mah.se Bakgrund: BIT (Bibliotek och IT) beslutar att ta ner Novell systemet 28/3 som är en katalogtjänst som styr bland annat alla studenter s.k. hemkataloger på Malmö högskola såväl

Läs mer

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna Databasteknik 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen NDA01G Öppen för alla Tentamenskod: Tentamensdatum: 2017-11-02 Tid: 14:00-19:00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Webbprogrammering - 725G54 PHP. Foreläsning II

Webbprogrammering - 725G54 PHP. Foreläsning II Webbprogrammering - 725G54 PHP Foreläsning II Agenda Serverskript PHP Validering av data med serverskript Säkerhet Lab 2. Live coding Serverskript Kör ett program på servern och resultatet skickas till

Läs mer

Webbservrar, severskript & webbproduktion

Webbservrar, severskript & webbproduktion Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera

Läs mer

Användarmanual TextAppen Online

Användarmanual TextAppen Online Användarmanual TextAppen Online Innehåll Innehåll... 2 Registera dig... 3 Logga in på Textappen online... 5 Samtal... 6 Ringa samtal... 6 Avsluta samtal... 7 Spara samtal... 7 Besvara samtal... 8 Ringa

Läs mer

en stor bokstav och en siffra. Lösenordet får inte innehålla några tecken (!,,#,%,&)

en stor bokstav och en siffra. Lösenordet får inte innehålla några tecken (!,,#,%,&) Gå in på www.lernia.se Klicka på rubriken Registrera CV 1. Fyll i dina användaruppgifter. - Skriv in din e-postadress, glöm inte att upprepa e-postadressen - Skriv in ett önskat lösenord och upprepa detta.

Läs mer

Lathund för studenter vid Institutionen för socialt arbete

Lathund för studenter vid Institutionen för socialt arbete Lathund för studenter vid Institutionen för socialt arbete publicera studentuppsatser/examensarbeten i DiVA Om du har frågor eller behöver hjälp, kontakta institutionens DiVA-administratör; diva@socarb.su.se.

Läs mer

Introduktion MySQL och MariaDB

Introduktion MySQL och MariaDB Introduktion MySQL och MariaDB Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är MySQL? MySQL är en databashanterare. Den använder sig av frågespråket SQL. MySQL är fri programvara,

Läs mer

2009-08-20. Manual för Typo3 version 4.2

2009-08-20. Manual för Typo3 version 4.2 2009-08-20 Manual för Typo3 version 4.2 1 2 Innehåll: 1. Allmänt 4 2. Grunderna i Typo3 5 2.1 Knappar 5 2.2 Inloggning 5 2.3 Den inledande vyn 6 2.4 Sidträdet 7 3. Sidor 8 3.1 Skapa en ny sida 8 3.1.1

Läs mer

Biblioteket DiVA publikationsdatabas vid Röda Korsets Högskola

Biblioteket DiVA publikationsdatabas vid Röda Korsets Högskola Biblioteket 2017-12-12 DiVA publikationsdatabas vid Röda Korsets Högskola Innehåll Vad är DiVA?... 2 Registrera publikationer i DiVA... 2 Tänk på att... 2 Ändra i tidigare registreringar... 2 Gör så här...

Läs mer

Webbprogrammering. Sahand Sadjadee

Webbprogrammering. Sahand Sadjadee Webbprogrammering Sahand Sadjadee Agenda Webb The World Wide Web (WWW) is a network of online content that is formatted in HTML and accessed via HTTP. The term refers to all the interlinked HTML pages

Läs mer

Hur tycker du kursen har varit? Tycker du att kursens upplägg har underlättat för dig att uppnå lärandemålen?

Hur tycker du kursen har varit? Tycker du att kursens upplägg har underlättat för dig att uppnå lärandemålen? En sammanfattning av studenternas summativa kursvärdering AllmäntHur tycker du kursen har varit? antal Dåligt 1 7 Ganska bra 2 13 Bra 3 7 Mycket bra 6 Summa 33 Medel 2, Median 2 1 12 10 8 6 2 0 Hur tycker

Läs mer

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA... INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...6 2 (6) 2D1954 Programutvecklingsprojekt vt 2003 Installation

Läs mer

Så här gör du ditt gymnasieval

Så här gör du ditt gymnasieval Så här gör du ditt gymnasieval Länk till sökwebben finns på www.gymnasieantagningen.nu Inloggningssidan 1. Uppe till vänster på inloggningssidan har du två rullister, Så här gör du & Externa länkar. Du

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 16 Januari 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje

Läs mer

Webbsida och ett bokningssystem

Webbsida och ett bokningssystem Beteckning: Institutionen för matematik, natur- och datavetenskap Webbsida och ett bokningssystem Admir Grabovac juni 2008 Examensarbete, 15 högskolepoäng, B Datavetenskap Internetteknologi Handledare:

Läs mer

Universitetet: ER-diagram

Universitetet: ER-diagram Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning Varför normalisera? Metod att skydda

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 10 April 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje

Läs mer

Denna handbok behandlar ett standard konfigurerat Office Web 2007 system.

Denna handbok behandlar ett standard konfigurerat Office Web 2007 system. Netwise Office Web 2007 Handbok Denna handbok behandlar ett standard konfigurerat Office Web 2007 system. Har du frågor gällande Netwise systemet ska du vända dig till: IT service helpdesk tel. 031-786

Läs mer

Design och underhåll av databaser

Design och underhåll av databaser Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller

Läs mer

En personuppgift är information som kan kopplas till en fysisk person som är i livet. Även kodade uppgifter kan anses vara personuppgifter.

En personuppgift är information som kan kopplas till en fysisk person som är i livet. Även kodade uppgifter kan anses vara personuppgifter. Innehåll Vad finns i lathunden?... 2 Vad är Dataskyddsförordningen (GDPR)?... 2 Dataskyddsförordningen och formulär på webben... 2 Checklista inför skapandet av formulär... 2 Tacksida... 3 Formulärblock...

Läs mer

Lathund. Skolverkets behörighetssystem för e-tjänster. Rollen rektor

Lathund. Skolverkets behörighetssystem för e-tjänster. Rollen rektor Information 2014-12-03 1 (14) Lathund Skolverkets behörighetssystem för e-tjänster Rollen rektor Postadress: 106 20 Stockholm Besöksadress: Fleminggatan 14 Telefon: 08-527 332 00 vx Fax: 08-24 44 20 skolverket@skolverket.se

Läs mer

Lathund för Styret (version 1.0)

Lathund för Styret (version 1.0) Lathund för Styret (version 1.0) Välkommen till Styret! systemet som underlättar administrationen för dig som ledamot i styrelsen för en bostadsrättsförening och hjälper föreningen att ta kontroll. Denna

Läs mer

MANUAL NACKA24. För administratörer i grundskolan. Version 3 uppdaterad

MANUAL NACKA24. För administratörer i grundskolan. Version 3 uppdaterad MANUAL NACKA24 För administratörer i grundskolan Version 3 uppdaterad 2018-05-18 Innehållsförteckning 1 Användaruppgifter... 3 2 Elevens familjebild... 4 3 Elevöversikt... 5 4 Skicka e-post till vårdnadshavare...

Läs mer

ditt självständiga arbete i DiVA

ditt självständiga arbete i DiVA Lathund för studenter publicera och arkivera ditt självständiga arbete i DiVA (uppdaterad 2014-02-06) Gör så här: 1. Logga in i DiVA med ditt vanliga KMH-konto och lösenord. 2. Välj publikationstyp: Studentuppsats

Läs mer

Företagskatalog. för HLR-Rådet på webben. av posit.se. Innehåll

Företagskatalog. för HLR-Rådet på webben. av posit.se. Innehåll Företagskatalog för HLR-Rådet på webben av posit.se Innehåll Företagskatalog på hlr.nu... 2 Registrera företagsuppgifter... 4 Betalning... 7 Problem... 8 Kan inte logga in... 8 Du får ett mail men länken

Läs mer

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR I följande dokument hittar ni information om hur ni administrerar er nya hemsida. Manualen går endast igenom grundläggande administration. För mer avancerad redigering

Läs mer