Databaser - Design och programmering

Relevanta dokument
Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

732G16: Databaser - Design och programmering

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

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

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

Databaser design och programmering. Design processen ER- modellering

VAD GÖR DU / VEM ÄR DU?

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12)

Föreläsning 2: Översikt över ett databassystem

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible:

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

VAD GÖR DU / VEM ÄR DU?

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

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Webbprogrammering, grundkurs 725G54

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

Databaser design och programmering. Fö 2: Design processen, ER-modellering

Tentamen DATABASTEKNIK - 1DL116

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

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

Introduktion till MySQL

Inga hjälpmedel är tillåtna

04/11/14. Välkomna till kursen: Databasteknik och informationssystem DD1370. Kursanvarig. Dagens föreläsning. Vad är en Databas?

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Universitetet: ER-diagram

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

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning

Databaser och Datamodellering Foreläsning IV

Databaser Kapitel 1: Introduktion!

Databasteknik för D1, SDU1 m fl

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

Prova på-laboration i SQL

Karlstads Universitet, Datavetenskap 1

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

Databasteknik för D1, SDU1 m fl

Relationsmodellen och syntetisk databasdesign

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

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Ett databashanteringssystem (DBHS) skiljer sig från andra programmeringssystem bl.a.

Design och underhåll av databaser

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

1. Treskiktsarkitektur 2. Applika1onsprogramvara 3. Teknisk programvara. Kapitel 6 sid

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server

Innehåll. MySQL Grundkurs

Databasutveckling Introduktion till SQL och TSQL

Sample exam questions. Database exam TIG058

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

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

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

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

Databaser. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?

Informationssystem och Databasteknik

Laboration 2, MS SQL. Observera. Tips. Förberedelse. Genomförande

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ;

1DV423 Databas med Administration

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18

Databaser. Vad du ska lära dig: Ordlista

Analytisk relationsdatabasdesign

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

Det är fullt tillåtet att göra laborationen innan laborationstillfället.

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

Vad är en databas? Databasutveckling Med MySQL/MariaDB

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

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

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

Genomgång av tentamen. Databasteknik ITHS 4/3 2016

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

INTRODUKTION TILL JDBC

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

1. Kvalitetsbegreppet 2. Kommunikation 4. Olika typer av datalagring. 5. Databas 6. DBMS 7. Molntjänster 8. Tabeller. 10. SQL 11.

Informa5onsmodellering

1. SQL DDL (Data Definition Language) 2. Skapa tabell

Idag. Hur skapar vi och underhåller en databas? Index? Vad är det och varför behövs de? Behöver jag bry mig om index?

An English version of the questions is found at the back of each page.

1. SQL DML (Data Manipulation Language) 2. Lägga till data. 4. Uppdatera data 5. Aktivera default value 6. Hantera datum 7.

Databasspråket SQL - online.

Databasspråket SQL - online.

Grunderna för relationsmodellen!

Databasdesign. E-R-modellen

Informationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3.

Transkript:

Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Fö 1; introduktion Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp

2 Kursöversikt Teori och praktik Kursbok, lektionshäfte, Föreläsningar (4hp) lektioner, sammanhängande labbserie (3,5hp=100h) Examination (tenta, labbserie) Datum för inlämningar/demo se kurshemsidan.

3 Labbuppgifterna fokuserar på utredning Analysera data om studenter Finns det samband mellan antagningspoäng och hur många poäng man tar vid högskolan? Skiljer det sig för obligatoriska kurser och valbara? Skiljer det sig för olika program? Designa databas, implementera den (SQL), lägga in data (R), manipulera data (SQL), analysera data (R).

4 Schema i terminsslutet Må Ti On To Fr v 21 24/5 Deadline Surveymet v22 31/5 Slutsem Surveymet v23 5/6 Fö Repetition 6/6 National- dag 25-26/5 Kristi himmelsfärd 8/6 Tenta 2/6 Demo labserien

5 Varför databaser? Varför ni? Varför överhuvudtaget? Vaddå enklare?

6 Exempel: telefonbok I vanligt pgmmeringsspråk, exjava: class person implements serializable { private String name: private int telnr;... public int gettelnr()...... for (i=0; i<plist.size() ;i++)... int tnr= gettelnr();

7 Telefonbok, forts Med databasspråket SQL: Skapa databasen create table person ( name varchar(20), telnr int); Lägga in data: insert into person values ( Anna, 234456) Söka Annas telefonnummer: select telnr from person where namn='anna';

8 Telefonbok, forts SQL: För att ändra: alter table person modify telnr varchar(12); För snabbare sökning: index create index nrindex on person(telnr); Logiskt och fysiskt dataoberoende

9 Tillgänglighet, säkerhet Namn Adress Telefon Betyg Klar Anna Andersson Studentv 23 1234456 G J Oskar Oskarsson Rydsv 987 77656565 - N Namn Adress Telefon Anna Andersson Studentv 23 1234456 Oskar Oskarsson Rydsv 987 77656565

10 Databas En databas är en samling data som: Har med varandra att göra Representerar (modellerar) en del av verkligheten för ett specifikt ändamål Är beständig (finns kvar) Har en strikt struktur som beskrivs i ett schema Inte innehåller motsägelser Lagras på dator

11 Databashanteringssystem (DBMS) Ett programsystem som Hanterar flera databaser enligt en datamodell med hjälp av ett databasspråk Kan anropas från applikationsprogram

12 Hantera databaser Skapa nya databaser Manipulera data (lägga till, ta bort, läsa ut) Säkerhet, åtkomst enskilt och samtidigt Säkerhet, återställning vid krasch Kontrollera korrekthet (integritet)

13 Hantera databasen: Databasintegritet Informationen i en databas måste vara korrekt! Rätt typ och rätt struktur, ett av en mängd Värden som måste fyllas i Överensstämmelse med andra värden Korrekthetsvillkor i db: integritetsvillkor Formuleras av db-administratören mha olika mekanismer i DBHS

14 Säkerhetsfunktioner Kontrollera integritetsvillkor Skydda data Återhämtning vid fel i hård/mjukvara Hantera samtidig åtkomst mot flera användare

15 Datamodell Hur vi ser världen Olika nivåer: Konceptuell (begreppsmässig) modell Representationsmodell (implementationsmodell) Fysisk datamodell

16

17 Datamodell Hur vi ser världen Olika nivåer: Konceptuell (begreppsmässig) modell Representationsmodell (implementationsmodell) Fysisk datamodell

18 Datamodell: Representationsmodeller Relationsmodellen Hierarkisk modell Nätverksbaserad Objektorienterad

19 Datamodell: Relationsmodellen Student Epost Namn Adress Kurs Annan123 Anna Andersson Rydsv 234 729G68 Ollol345 Olle Olsson Storgatan 1 732G16 Kurs Kurskod Namn Läsår Poäng 729G68 Databaser 07/08 7.5 732G16 Databaser 07/08 7.5 TTIT03 Introduktion till PBL 07/08 2

20 Datamodell: Instans och schema Databasen och dess beskrivning Instans = den samling data som finns i databasen vid en viss tidpunkt. Schema=beskrivning av databasen enligt någon datamodell. Förändras sällan. Instansen måste följa schemat. Schemat lagras i databasen

21 Datamodell: Metadata data om data Schemat är metadata Information om hur och var data lagras Struktur, organisation Tillgänglighet Användningsstatistik

22 Datamodell: Metadata - exempel på användning Användare: Vilken information finns i databasen Kostnaden för att ta fram info Y Databasadministratören: Hur mycket utnyttjas olika delar? Vilka svarstider har vanliga frågor? Har någon försökt knäcka säkerheten? Behövs optimering?

23 Databasspråk Klass av språk som används mot databaser Databeskrivningsspråk (DDL) Datamanipuleringsspråk (DML) Värdspråk

24 Databasspråk: DDL Används av databasadministratören för att utforma databasen (designa), och vid behov modifiera den efter driftsättning

25 Databasspråk: DML Används av databasanvändarna och applikationsprogrammerare för att manipulera data: Hämta Lägga till Ta bort Förändra Kallas frågespråk

26 Databasspråk: Exempel: sql Create table person (pnr varchar(10) not null, namn varchar(30), adress varchar (30), primary key(pnr)) Update person set adress 'Studentvägen 10' where pnr='7012120123' Select namn from person where pnr='7012120123'

27 Applikationsprogram Specialiserade program som gör användningen av databasen enklare för slutanvändare Specifik användargrupp och specifikt användningsområde Ex resebyråns flygplansbokning

28 Fördelar med databasteknik Självbeskrivnande Dataoberoende Stöder multipla vyer Säkerhetssystem (integritet, tillgänglighet, loggning) Stöder och reglerar samtidig användning Motverkar redundans

29 Nackdelar med databasteknik DBMS tar stor plats Overhead ger längre svarstider Ibland krångligt att lära sig hantera

30 När ska man inte använda DBMS Små mängder data Enstaka användning av data som sedan blir föråldrat/förkastat Enkel användning som aldrig ändras Om systemet måste ta liten plats Om systemet måste garantera korta svarstider (processövervakning etc)

31 Summering viktiga termer Databas databashanterare, dataoberoende databasintegritet datamodell (3 nivåer) ER-modell, relationsmodell Instans, schema, metadata Databasspråk, DDL, DML, SQL Applikationsprogram

Frågor? http://www.ida.liu.se/~732g16 eva.ragnemalm@liu.se www.liu.se