Datoriserade informaºonssystem bygger på en tre

Datoriserade informa.onssystem bygger på en tre-­‐skikts arkitektur •  Data Management layer (Implementerat veksamhetsspråk) •  Business layer (Verksamhetslogik) •  Interface layer (Användargränssni@) •  Kapitel 6 sid 172-­‐181 Figure 1.18: Layers of an ICT system
"
Data Management layer •  Database •  Data Base Management Systems (DBMS) Databas (Database) •  En organiserad samling av data •  Ska utgöra en representaOon av informaOonmodellen •  Data i databasen ska vara åtkomligt av flera användare samOdigt Databashanteringssystem Database Management System •  Programvara som används för a@ hantera en eller flera databaser •  Tillhandahåller följande funkOonalitet: –  Structural maintenance, förändra datastrukturerna i databasen –  Transac/on processing, lägga Oll, förändra och ta bort data I databasen –  Informa/on retrieval, söka och presentera data från databasen Oll applikaOoner (business layer) och användare –  Data base administra/on, sköta behörighet, trimma databsen etc. RelaOonsdatabaser •  Data lagras i tabeller •  Tabellerna består av rader och kolumner •  I en tabell måste det allOd finnas en uppsä@ning av a@ribut som gör varje rad unik de@a kallas tabellens primärnyckel (primary key) •  Referenser mellan olika tabeller sker med hjälp av primärnycklarna •  Om en primärnyckel finns i en annan tabell där den inte är primärnyckel kallas den för främmande nyckel (foreign key) Structured Query Language (SQL) •  De@a är e@ databasspråk som kan användas för a@ uZöra databaskommandon i samband med relaOonsdatabaser Transac.on processing med hjälp av SQL (Lägga .ll ta bort datastrukturer) •  De@a innebär a@ skapa och ta bort tabeller I databasen •  Med kommandot CREATE TABLE lägger man Oll tabeller I databasen och med kommandot DROP TABLE tar man bort tabeller i databasen •  Dessa kommandon uZörs o\ast av databasadministratören •  Ex. – 
– 
– 
CREATE TABLE Customer (Customer_no CHARACTER 7, Customer_name CHARACTER 7, PRIMARY KEY (Customer_no) CREATE TABLE Delivery_advice_note (Advice_no CHARACTER 6, Date DATE, PRIMARY KEY (Advice_no) FOREIGN KEY (Customer_No REFERENCES Customer) CREATE TABLE Order_lines (Order_no CHARACTER 8, Delivered_Qty INTEGER, Weight INTEGER, PRIMARY KEY (Order_no) FOREIGN KEY (Product_Code REFERENCES Product) Verksamhetsspråket är implementerat som tabeller i databasen Figure 1.18: Layers of an ICT system
"
Transac.on Processing med hjälp av SQL (Ändra data i databasen) •  De@a innebär a@ Lägga Oll, ändra, ta bort data i tabellerna •  De@a görs med följande kommandon: –  INSERT –  UPDATE –  DELETE –  Dessa databaskommandon anropas av applikaOonsprogram (som finns i skiktet verksamhetslogik) skrivna i programspråk som Visual Basic, C#, C++ INSERT UPDATE DELETE ApplikaOons-­‐ program skrivna i t.ex. C#, Visual Basic, C++, Pearl som bygger på verksamhets-­‐ Verksamhetsspråket logik och använder sig är implementerat som tabeller i databasen av tabellerna I databasen. Figure 1.18: Layers of an ICT system
"
Transac.on Processing med hjälp av SQL (Ändra data i databasen) •  Exempel lägga Oll data i databasen –  INSERT INTO Customer (’10067K’, ‘Blackwell Steel Products’) –  INSERT INTO Delivery_advice_note (‘13/1193G’, 2010-­‐11-­‐09, ’10067K’ ) –  INSERT INTO Order_lines (‘13/1193G’, 20, 145, ‘UL150’) •  Exempel ändra data i databasen –  UPDATE Order_Lines SET Delivered_Qty = 25 WHERE Order_No = ‘13/1193G’ •  Exempel ta bort data i databasen –  DELETE FROM Order_Lines WHERE Order_No = ‘13/1193G’ Exempel tabeller ur databasen Informa.on retrieval, söka och presentera data från databasen •  De@a görs med SELECT •  SELECT-­‐kommandot uZörs o\ast av e@ applikaOonsprogram (som finns i skiktet verksamhetslogik) •  Exempel –  SELECT * FROM Order_Lines Denna SELECT sats listar alla rader i tabellen Order_Lines –  SELECT Order_No, date, Product_DescripOon, Product_Code, Length, Delivered_Qty, Weight FROM Order_Lines, Product WHERE Order_Lines.Product_Code = Product.Product_code (Denna SELECT-­‐sats söker ut alla rader I Order-­‐Lines tabellen och matchar dessa rader mot Product tabellen på Product Code). Hur de olika skikten samverkar i samband med eK datoriserat informa.onssystem i en organisa.on Hårdvara, OperaOvsystem, Generell Programvara, Programspråk, DBMS, KommunikaOon INSERT UPDATE DELETE ApplikaOons-­‐ program, bygger på verksamhetslogik SELECT och verksamhetsregler, t.ex. funkOonen Jobs Användargränssni@et Verksamhetsspråket styr användarens möjlighet är implementerat a@ kommunicera genom den som tabeller i databasen verksamhetslogik som finns implementerad i applikaOons-­‐ Figure 1.18: Layers of an ICT system
programmenoch det implementera
verksamhetsspråket i databasen "
Användaren ska mata in det som ska levereras tillbaka till kunden för en specifik order-line (batch).
1) Användaren väljer Jobs
2) När användaren kommer till Jobs dokumentet har följande SQL-sats redan utförts
SELECT Order_No, date, Job_No, Product_Description, Product_Code, Length, Delivered_Qty, Weight
FROM Order_Lines, Product, Job, Dispatch_line
WHERE Order_Lines.Product_Code = Product.Product_code AND Job.Order_no = Order_Lines.Order_no
AND Dispatch_line.Order_No = Job.Order_no
3) Användaren fyller i “QTY returned” och “Weight returned “och trycker på save.
4) Programmet kontroller då att användaren fyllt i rimliga värden och utför sedan följande UPDATE-sats
UPDATE Dispatch_line SET Delivered_Qty = 20, SET Weigt =50 WHERE Dispatch_line.Order_No = ’13/1193G’