Skapa en databas. Skapa en tabell. Gör man antingen genom kommandot



Relevanta dokument
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?

Design och underhåll av databaser

08/11/13. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Deadline på tisdag

Idag. Hur vet vi att vår databas är tillräckligt bra?

ELEV- HANDLEDNING (Ansökan via webben)

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

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

ANVÄNDARHANDLEDNING FÖR

RDS5000PC hjälpmedel uppföljning

TIMREDOVISNINGSSYSTEM

Idag. 1. En enkel databas. 2. Prata med databaser (frågepsråket SQL)

Manual för BPSD registret. Version 6 /

Administration Excelimport

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

Sveriges Trafikskolors Riksförbund Film om körkort för nysvenskar Speakertext - Svensk

Kiwiböckerna metod och begrepp

Lathund till Annonsportalen

Administrera utskick på utbildningstillfälle

Lathund, procent med bråk, åk 8

Föräldrar i Skola24. Schema

TIMREDOVISNINGSSYSTEM

Webb-bidrag. Sök bidrag på webben Gäller från

13/11/14. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Vad är en Databas?

Avsändare och mottagare

Programmera en NXT Robot

Vi skall skriva uppsats

Boken om Teknik. Boken om Teknik är en grundbok i Teknik för åk 4 6.

Idag: Dataabstraktion

Datorövning 2 Statistik med Excel (Office 2007, svenska)

Information sid 2 4. Beställning sid 5. Ändring/Nytt SIM sid 6. Avsluta abonnemang sid 7. Fakturafråga sid 8. Felanmälan/fråga sid 9.

Träning i bevisföring

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

Infobric Ease Snabbguide

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

Partnerskapsförord. giftorättsgods görs till enskild egendom 1, 2. Parter 3. Partnerskapsförordets innehåll: 4

Dina inloggningsuppgifter är samma som du använder för att logga in på skolans datorer.

Frågor och svar för föreningar om nya ansökningsregler för aktivitetsbidrag från och med 1 januari 2017

729G04 - Hemuppgift, Diskret matematik

BLUSTAR WEB DATOR Röstbrevlåda och aktiviteter på anknytningar för anställda på KI med KI ID, från en dator.

Individuellt Mjukvaruutvecklingsprojekt

VÄRDERINGSÖVNINGAR. Vad är Svenskt?

Bild Engelska Idrott

Funktionsbeskrivning

GHI-12:123 Rev B Cockpit Communicator. Release 7.3 Enklare och tydligare

Instruktioner för beställning och kontoadministration för abonnenter av inlästa läromedel

Skriva B gammalt nationellt prov

Laganmälan & Laghantering

Subtraktion - Analys och bedömning av elevarbeten

En skola fri från mobbning och kränkningar

Gissa det hemliga talet

Att komma igång. Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program

Administratör Rollbeskrivning och stödjande instruktion. e-tjänst för ansökan om statsbidrag Senast uppdaterad:

Skapa interaktiva vidoquizzar i LnuPlay/Mymoodle

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

Hur du arbetar med VFU-portfölj i Mondo. en lathund för student

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

Avgifter i skolan. Informationsblad

Uppdragsbeskrivning. Digital Skyltning. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info.

e-cm Elektronisk Cash Management dygnet runt, världen över.

THE EUROPEAN GREENBUILDING PROGRAMME. Riktlinjer för GreenBuilding Stödjande Företag

SA33 - Val av kurser inom program m terminsreg

Fullför installation av ELIQ

Generell användarmanual E-CO2

Statsbidrag för läxhjälp till huvudmän 2016

Ha det kul med att förmedla och utveckla ett knepigt område!

Två konstiga klockor

FRÅN A TILL Ö LäraMera Ab / och Allemansdata Ab / FRÅN A TILL Ö

När du som vårdpersonal vill ta del av information som finns hos en annan vårdgivare krävs det att:

Övningar i SQL. SQLAccess.doc Ove Lundgren

myabilia En introduktion

Medioteket. Introduktion till sli.se/medioteket för lärare

Vad är en webbläsare?

Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument

Hur skapar man formula r

Utbildningsmodulen i IdrottOnline-appen

Timeline dropbox för lärare och elever

Att koda en magnetremsa i plastkortskrivare med inbyggd magnetkodare.

Du ska nu skapa ett litet program som skriver ut Hello World.

DOP-matematik Copyright Tord Persson. Bråktal Läs av vilka tal på tallinjen, som pilarna pekar på. Uppgift nr

Sammanfattning på lättläst svenska

Hemsida Arbetsrum. Skapa arbetsrumslista

Lathund för validering av avhandlingar i LUCRIS

Uppdragsbeskrivning. Sportfiskewebben. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info.

Databaser och SQL - en kort introduktion

Visma Proceedo. Att attestera - Manual. Version 1.4. Version 1.4 /

MANUAL För externa leverantörer Projektportal Investera

skuldkollens ordlista

Guide för att hitta markavvattningssamfälligheter och täckdikningsplaner

Syftet är att öka medvetenheten dels om vilka språkliga handlingar som krävs i ämnet, dels om vilka som utförs.

Distribuerade Informationssystem VT-04

SKOLMATEN OCH ELEVINFLYTANDE

Databasteknik för D1, SDU1 m fl

Hel tjänstledighet för att prova annan anställning inom Göteborgs universitet.

Riktlinjer - Rekryteringsprocesser inom Föreningen Ekonomerna skall vara genomtänkta och välplanerade i syfte att säkerhetsställa professionalism.

Snabbslumpade uppgifter från flera moment.

Manual Individuell genomförandeplan Social dokumentation Omsorgspersonal

För dig som är valutaväxlare. Så här följer du reglerna om penningtvätt i din dagliga verksamhet INFORMATION FRÅN FINANSINSPEKTIONEN

Arbeta bäst där du är Dialect Unified Mi

DATASAMORDNING NYHETERNA I CHAOS Utbildning Chaos/Handledning - Nyheterna i Chaos 3/

Transkript:

Att konstruera och underhålla en databas Skapa en databas Då man gjort färdig sin modell, fört över den till en databasstruktur och normaliserat strukturen så måste man realisera databasen i någon databashanterare. Exakt hur det går till varierar lite från system till system. Det mesta är emellertid gemensamt för alla system eftersom det finns definierat i SQL-standarden. Det mesta kan man i Informix dessutom göra via dbaccess och man har då ett relativt intuitivt arbetssätt via hierarkiska menyer och inmatningsformulär. Gör man antingen genom kommandot CREATE DATABASE databasnamn eller genom att i dbaccess välja först kommandot menyalternativet database och sedan menyalternativet create. I fortsättningen kommer jag inte säga något om dbaccess eftersom allt man kan göra går att göra antingen direkt genom menyval i dbaccess eller genom att skriva en SQL-sats i dbaccess. CREATE DATABASE är en Informix-utökning av SQL. Det finns inget standardiserat sätt att skapa en databas. Föreläsning 6 Bild 1 av 19 Föreläsning 6 Bild 2 av 19 Skapa en databas... Den nyskapade databasen är privat. Den som skapat den är ägare och den ende som kan manipulera den. Det ändrar man genom att tilldela andra användare av systemet rättigheter att se, söka i och eventuellt uppdatera databasens innehåll. När man skapat databasen är den tom och man måste fortsätta med att ge den en egen struktur genom att fylla på med tabeller (som ska fyllas med data), göra index (vissa automatgenereras) och lägga på restriktioner på databasen. Man kan ta bort en databas genom DROP DATABASE databasnamn, men man får bara ta bort databaser man själv skapat. DBA och användaren informix får ta bort alla databaser. De flesta systemen kan man konfigurera så att bara DBA får göra databaser och dela ut privilegier. I Informix så som vi konfigurerat systemet kan alla vara sin egen BDA. Skapa en tabell CREATE TABLE tabellnamn (Kolumndefinition, Kolumndefinition,... ) Restriktioner... Där en kolumndefinition ser ut så kolumnnamn Typ Möjligen följd av något defaultvärde och kanske även av en speciell restriktion för just den kolumnen. Några exempel: Föreläsning 6 Bild 3 av 19 Föreläsning 6 Bild 4 av 19

carnumber char(6), color varchar(10,3), type varchar(15,2), color varchar(10,3) default red, type varchar(15,2) primary key (carnumber) Föreläsning 6 Bild 5 av 19 Föreläsning 6 Bild 6 av 19 color varchar(10,3) not null, type varchar(15,2) color varchar(10,3), type varchar(15,2) references cartype(type) Föreläsning 6 Bild 7 av 19 Föreläsning 6 Bild 8 av 19

Andra operationer på tabeller create table lån ( personnummer char(11), exemplarnummer smallint, utlånad date, åter date, Tabeller tas bort genom DROP TABLE tabellnamn. Du kan bara ta bort tabeller som du själv skapat. Du kan också ändra en tabell: Genom ADD-, DROP- och MODIFY-klausuler kan man lägga till, ta bort eller modifiera det mesta. Dock få man inte ta ta bort alla kolumner, en måste finnas kvar. primary key (personnummer, exemplarnummer, utlånad) Föreläsning 6 Bild 9 av 19 Föreläsning 6 Bild 10 av 19 Skapa en vy CREATE VIEW vynamn (kolumnnamn, kolumnnamn... ) AS SELECT-sats skapar en relationsvariabel som fungerar som en tabell. Man kan t.o.m. uppdatera databasen via en vy förutsatt att man inte konstruerat den med aggregat, DISTINCT, GROUP BY eller UNION. Det är inte heller möjligt att använda alla SELECT-konstruktioner i en vy. Man kan t.ex. inte använda ORDER BY. Vyer... Vyer används dels för att bryta ner komplexa frågor till hanterbara delar och dels för att låta folk se endast speciella delar av databaser. T.ex. kan man i ett system för personaladministration låta ekonomiavdelningens personal endast ha tillgång till en vy som bara tillåter åtkomst och uppdatering av löner, medan personalen på det företagsinterna biblioteket bara ser databasen genom den vy som hanterar lån av böcker. Vyer utplånas med DROP VIEW vynamn. Föreläsning 6 Bild 11 av 19 Föreläsning 6 Bild 12 av 19

Index Index, skapa... Index skapas med Index är speciella datastrukturer som är till för att effektivisera sökandet i stora system. Man har i princip två sätt att organisera index: Trädindex, där nycklar eller de delar av nycklarna som låter en skilja mellan poster lagras. Det effektivaste sättet för att få överblick och dessutom kunna räkna upp delar av data i nyckelordning. Hashtabeller, där nycklarna transformeras så att enkla beräkningar ska leda snabbt till den aktuella posten genom snabba tabellslagningar. Det snabbaste sättet för att söka efter enstaka poster, men tillåter inte uppräkning i ordning. Båda sätten ger naturligtvis extra redundans, men detta är nödvändigt för att snabba upp sökningarna. Samma datafil kan indexeras med flera olika index, organiserade på olika sätt. CREATE INDEX indexnamn ON tabellnamn (kolumn,... ) Ex.: CREATE INDEX bossindex ON employee (manager) Ex.: CREATE UNIQUE INDEX bossindex ON employee (manager) (vilket inte skulle gå eftersom flera har samma chef) Då man skapar hash-index måste man också tillhandahålla den funktion som används för att transformera nycklarna. Index skapas automatiskt för nycklarna i tabellerna. Index kastas bort med DROP INDEX indexnamn Föreläsning 6 Bild 13 av 19 Föreläsning 6 Bild 14 av 19 Accessrättigheter På databasnivå (man måste ha valt en databas) CONNECT GRANT RESOURCE TO användarnamnlista DBA På tabellnivå GRANT uppräkning ON tabellnamn TO användarnamnlista GRANT uppräkning ON tabellnamn TO användarnamnlista WITH GRANT OPTION Accessrättigheter... Där uppräkning är en eller flera av ALL då får uppräkningen innehålla bara detta värde INSERT DELETE SELECT UPDATE Ex.: GRANT SELECT ON elever TO PUBLIC GRANT SELECT,INSERT,UPDATE ON deltar TO serafim, kjellq GRANT SELECT,UPDATE(datum, resultat) ON laborationer TO serafim, tsu, md96-osv Föreläsning 6 Bild 15 av 19 Föreläsning 6 Bild 16 av 19

Accessrättigheter... Om man nu har givit t.ex. UPDATE-rättighet med GRANT OPTION till Kalle och han delegerat vidare Kalle Pelle Stina Johan kan Kalle kapa listan var som helst genom t.ex. REVOKE UPDATE ON laborationer FROM Stina varvid även Johan förlorar sina (UPDATE-)rättigheter. Har Kalle och de andra dessutom delegerat vidare med GRANT OPTION kan vem som helst rycka undan rättigheterna var som helst efter sig själv. Utökningar av servern Eftersom man inte kan täcka in alla databasbehov i en generell programvara har man olika möjligheter att utöka funktionaliteten. Stored procedures är procedurer och funktioner skrivna i ett speciellt programspråk, ofta kallat SPL (stored procedure language). Språket tillhandahåller speciella datastrukturer och möjligheter till iteration. Inbäddning, en möjlighet att skapa program som hanterar SQL-satser där programmen skrivs i vanliga programspråk, t.ex. C, C++, ADA, COBOL, Java. Man tillhandahåller en mängd möjligheter till konvertering mellan databashanterarens datastrukturer och det aktuella programspråkets datastrukturer. speciella rutinbibliotek (eller klassbibliotek) för att direkt koppla program skrivna i vanliga språk till databasen. Vanligt för språk som C++ och Java. I Java finns ett speciellt klassbibliotek som kallas JDBC (Java DataBase Connection). Microsoft har en egen lösning ODBC. Föreläsning 6 Bild 17 av 19 Föreläsning 6 Bild 18 av 19 Utökningar av servern... Informix har en egen lösning som tillåter användarna att t.o.m. specificera en egen utökning med egna datastrukturer och egna lösningar för indexering. Det finns lösningar för effektiv hantering av HTML-sidor, kartografi och allt möjligt annat. Med den nya SQL3-standarden finns möjlighet att också övervaka, med hjälp av s.k. triggers att inga felaktiga data kan matas in till databasen. De kan användas för all slags övervakning automatisk beställning av en vara då mängden når den s.k. brytpunkten är en möjlighet. Man kan även deklarera sina egna datatyper och operationer på dessa. Denna nya typ av databashanterare arbetar efter en ny modell som kallas objektrelationsmodell. Föreläsning 6 Bild 19 av 19