För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

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

Design och underhåll av databaser

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

1.Lär känna MS SQL Observera. Tips. Förberedelse

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Structured query language (SQL)

Starta MySQL Query Browser

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

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

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

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

Skapa exempeldatabasen

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

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

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in.

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

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

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

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

Inga hjälpmedel är tillåtna

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

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

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

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

Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index

Relationsmodellen och syntetisk databasdesign

Karlstads Universitet, Datavetenskap 1

Filbeskrivningar Eller på särskild CD skiva

Innehåll Programability Del 2

SQL Server bygger på ett antal Windows tjänster (services), vilket är prioriterade program som körs i bakgrunden under OS kontroll.

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!

Databasföreläsning. Del 2 lagrade procedurer, vyer och transaktioner

NORMALISERING. Mahmud Al Hakim

Databasapplikationen HYR AKS. Vers 1.0 6, AKS har framtagits av ApplData AB på uppdrag av TillSaluGrejorAB

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

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

Databasspråket SQL - online.

Innehåll Översikt: Arbeta med databaser... 3 Översikt databaser i SQL Server... 4 Översikt databaser i SQL Server... 5 Hur information lagras i SQL

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

Innehåll Security. Chapter 4 och 7 Beginning SQL Server 2008 for Developers

Kompendium till databaser och informationssystem 10p för SY2 2000

Konceptuella datamodeller

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

Modul DB1-3 Datamodellering

Uppdatera Easy Planning till SQL

Databasspråket SQL - online.

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem

Historik Primära Delsystem Produkter MSSQL Installationen Objekten i MS SQL Server Namn konvention Datatyper

KAP 16 BACKUP, RESTORE OCH RECOVERY

Analytisk relationsdatabasdesign

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

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

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern.

Administrationsmanual ImageBank 2

TENTAMEN DATABASKUNSKAP ITEK12

2. Objekt, operatorer och integritetsregler 3. Databasobjekt

3. Dynamiska webbplatser, 20 Yhp (4 v)

WCMS-15, Webbutvecklare CMS

Innehåll MySQL Intro. Historik / Utveckling Produkter Primära delsystem Installation Tabell och datatyper Namnsättning

Övningar i SQL. SQLAccess.doc Ove Lundgren

Sample exam questions. Database exam TIG058

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

Databasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes

Informationssystem och Databasteknik

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

Informa5onsmodellering

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

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Konvertering från Klients databas till Norstedts Byrå

Stored procedure i ASP.NET

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern.

Databasspråket SQL - online.

MySQL - testmiljöer på minuter. Thomas Johansson IT-avdelningen

KAP 18 SQL SERVER AGENT

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?

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.

MySQL. Maths Göthe. 25 februari Inledning Några konventioner Licens... 2

Kunskapsbank ICARUS DB

Lösningsförslag, tentamen i Databaser

IT i organisationer och databasteknik

LEX INSTRUKTION LEX LDAP

Det finns även möjlighet att göra "Java - kopplingar" mot DB2 enligt diverse standarder som ODBC, SQLj mm.

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Tentamen DATABASTEKNIK - 1DL116

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

Labb 1. prompt> mysql -h db-und.ida.liu.se -u [liuid] -p Enter password. mysql --host=db-und.ida.liu.se --user=[liuid] --password=[lösen]

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

Stored procedure i ASP.NET

JobOffice SQL databas på server

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

Kapitel 4 Arkivmenyn Innehåll

Tentamen för DD1370 Databasteknik och informationssystem

LEX INSTRUKTION REPLIKERING UPPGRADERING

1.1 Skapa ett Inline-Script som skapar filen För att skapa ett inline script drar man InLine till där man vill ha själva scriptet.

IRONCAD KONFIGURATIONER

Transkript:

1

Datafiler tillhör alltid en filgrupp. Det måste alltid finnas en PRIMARY group. Det är inget som hindrar att datafiler på olika diskar tillhör samma filgrupp. PRIMARY gruppen innehåller huvudfilen till databasen, master data file, som default har filändelsen.mdf. Denna filen innehåller förutom användarens dataobjekt (tabeller, procedurer vyer etc.) även ett stort antal systemtabeller som hör till varje databas. dba (database administrator) kan också fördela databasen på flera datafiler där de nya bör ha filändelsen.ndf. Datafilerna bör ligga på diskar med högsta prestanda t ex RAID 10 eller RAID 5. Loggfilen (.ldf) ska inte ligga på samma disk som datafilerna, utan på en egen disk där säkerheten är prioriterad framför högsta hastighet t ex RAID 1 Tabeller som ofta läses samtidigt kan läggas i olika filgrupper på olika diskar för att öka prestanda. De kan då läsas samtidigt. Filerna läggs default i C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL Detta kan ändras via inställningar som nås via properties på Servern: För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra. 2

Lägg märke till att data och loggfilerna har både ett logiskt namn, t ex. MyDB, som används internt och ett fysiskt namn, tex.c:\data\mydbase.mdf, som används externt. Ursprunglig storlek (initial size) kan anges (minst 3MB). I Autogrowth anges om filen får växa, och i så fall hur mycket. Använd -knappen för att ställa in detta! Förutom den nödvändiga.mdf filen och.ldf filen har här skapats en extra datafil MyDB_data2.ndf på F: och som lagts i en egen filgrupp (som i detta fallet är read only) 3

CREATE DATABASE kommandot är i själva verket betydligt mer komplicerat. Se Books On Line (BOL) för detaljer Normalt ska du välja att titta på det avsnitt som är markerat (Transact SQL). De avsnitt i syntax-specifikationen som omges med [ ] kan utelämnas, tecknet betyder eller. Tyvärr innehåller många exempel så kallad dynamisk SQL som medger att man kan bygga upp kommandot med variabler. Exemplen ovan använder inga variabler. 4

Lägg märke till att parenteserna för alla grupper och loggfil ser i princip likadana ut. (Underlättar inskrivning!) Se "Books On Line" för fullständig syntax och fler exempel! De är inte dock alltid så enkla eftersom de är givna som dynamisk sql för att möjliggöra variabler i koden. 5

Nästan allt går att ändra via Management Studio, men det finns uppgifter som endast går eller görs bättre med DDL-kommandon. Administratörer vill gärna skripta databaser och köra skript med kommandon, vilket kräver viss kunskap om DDL-kommandon. 6

7

8

I DDL kan man även ange datatyper enligt ANSI 92. Tex integer istället för int. 9

10

11

12

13

14

15

16

Tabeller som innehåller data kan också ändras om inte ändringen kommer i konflikt med redan sparad data. Man kan inte direkt ändra en kolumn som innehåller en sträng eller float till ett int. Foreign key kan inte läggas till / ändras om det inte finns en motsvarande pk som passar. Man kan då vara tvungen att tillåta null-värden och i efterskott manuellt mata in passande data. 17

18

19

Alla constraint s (ej NULL/NOT NULL) har ett eget namn som skapas automatiskt om man inte definierar det själv. I kolumnen frakt i Orders visas hur man kan välja ett beskrivande namn. persid i Orders är en främmande nyckel (fk) till tabellen Personal. Kopplingen fk-pk görs med REFERENCES personal(persid). Primärnyckeln i Orderrad är sammansatt av orderid och radid. En sammansatt primärnyckel kan INTE definieras genom att skriva PRIMARY KEY på dessa båda rader. Det måste göras separat t ex sist i tabellen med PRIMARY KEY (orderid, radid), I orderrad har vi också satt Referentiell Integritet med ON DELETE CASCADE och ON UPDATE NO ACTION. Vi har alltså sett två sätt att definiera constraints i samband med tabelldefinitionen. - Antingen direkt i varje rad eller sist efter alla kolumnerna. 20

Innan du drar relationerna i ett diagram, måste båda tabellerna finnas i diagrammet. På samma sätt måste båda tabellerna finnas innan man refererar till föräldratabellen i FOREIGN key constraint. För att kunna skripta tabeller i godtycklig ordning måste man därför kunna lägga till constraint i efterhand. Detta gör man med ALTER TABLE med tillägget ADD För att lägga till den sammansatta primärnyckel n id1 och id2 till tabellen personprojekt blir det så här: ALTER TABLE Personprojekt ADD PRIMARY KEY (ID1,ID2); För koppla ihop tabellerna kund och orders skriver man så här: ALTER TABLE Orders ADD CONSTRAINT FK_Kund_Orders -- frivilligt namn FOREIGN KEY (kundid) REFERENCES kund(kundid) Vi får automatiskt NO ACTION på både DELETE och UPDATE 21

22

I definitionerna kan vi se att man använt constraints ihop med kolumndefinitioner, att man ibland använt constraintnamn och ibland inte. Vi kan också se att man lagt in kommentarer i tabelldefinitionerna. Här kommer ett exempel till: CREATE TABLE jobs ( job_id int PRIMARY KEY IDENTITY CLUSTERED NOT NULL, job_desc varchar(50) DEFAULT 'New Position NOT NULL, min_lvl tinyint CHECK (min_lvl >= 10) NOT NULL, max_lvl tinyint CHECK (max_lvl <= 250) NOT NULL ) 23

24

25

Förslag till svar till vissa uppgifter 4. CREATE DATABASE Firman 5. a) ALTER DATABASE MODIFY FILE (NAME=Firman_data, SIZE=10) b) DROP DATABASE Firman 6a) int, b) bit c) money el. decimal d) float/real e) char(11) f) varchar(100) g) varchar(max) h) varbinary(max) i) nvarchar(20) k) tinyint 10. I PRIMARY filegroup 11.Man kan skapa en beräknad kolumn som inte sparas utan beräknas på av SQL Server 13. ALTER TABLE Produkt ADD antal int default (0) check (between 0 and 99) NOT NULL 15 Ia) Går bra Ib) Går inte om den har produkter Ic) Går inte om det finns Produkt med detta KatID IIa) Går bra IIb) Går bra! Relaterade produkter raderas också IIc) Går bra! KatID i relaterade Produkter ändras också. 26