15
ECM BY SYSOPENDIGIA APPETITE 2007 TIETOKANNAN HALLINTASUUNNITELMA Holm Timo [email protected] Kilpeläinen Mika [email protected] IST5SO CREATIVE COMMONS LISENSOITU http://creativecommons.org/licenses/by-nc-sa/1.0/fi/

ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

ECM BY SYSOPENDIGIA APPETITE 2007

TIETOKANNAN HALLINTASUUNNITELMA

Holm Timo – [email protected]

Kilpeläinen Mika – [email protected]

IST5SO

CREATIVE COMMONS LISENSOITU

http://creativecommons.org/licenses/by-nc-sa/1.0/fi/

Page 2: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 2 / 15 Copyright © E.S.A.

SISÄLLYS

1 YLEISTÄ ............................................................................................ 3

2 KANNAN METATIETO JA DOKUMENTOINTI .............................................. 3

3 LAITTEISTO JA OHJELMISTOT ............................................................... 3

3.1 Levyositus............................................................................................. 4

4 TESTAUS ........................................................................................... 5

5 VARMUUSKOPIOINTI ........................................................................... 5

6 HAJAUTUS ......................................................................................... 7

7 KÄYTTÄJÄT JA KÄYTTÖOIKEUDET .......................................................... 7

8 OPTIMOINTI ...................................................................................... 8

8.1 Indeksit ................................................................................................ 8

8.2 Näkymät ............................................................................................... 9

8.2.1 YKSITYISASIAKKAAT ........................................................................... 9

8.2.2 YRITYSASIAKKAAT ............................................................................ 10

8.2.3 Näkymäskripti .................................................................................. 11

9 TAULUKOOT .................................................................................... 11

10 MAHDOLLISESTA HÄIRIÖSTÄ PALAUTUMINEN JA

ONNETTOMUUSTILANTEET ................................................................. 12

LIITE I TIETOKANNAN LUONTISKRIPTI .................................................. 13

Page 3: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 3 / 15 Copyright © E.S.A.

1 YLEISTÄ

Tässä dokumentissa on kuvattu ECM Appetite – projektin MS SQL SERVER 2005- tietokannan

hallintasuunnitelma. Tietokanta tuotetaan Ohjelmistoprojekti – opintojaksolle sekä tietokanta –

opintomoduuliin. Tietokannan rakenne on kuvattu dokumentissa ”Appetite – projektin

tietokantasuunnitelma”.

Työryhmänä toimi Timo Holm ja Mika Kilpeläinen.

2 KANNAN METATIETO JA DOKUMENTOINTI

Suunniteltu kanta on dokumentoitu tarkasti kaavioineen dokumentissa ”Appetite –

tietokantasuunnitelma”. Tulevaisuudessa tehdyt muutokset merkitään dokumenttiin sekä tehdään

erillinen lisenssi- ja versionhallintataulu, johon kuvataan lyhyesti muutokset päivämäärineen ja

tekijöineen. Kuviossa 1 on kuvattu versionhallintaulun rakenne.

Kuvio 1 Versionhallintaulu tulevaisuudessa

VERSIO

PK versioID int

versio varchar(10)

muutokset varchar(250)

tekijä varchar(50)

pvm datetime

3 LAITTEISTO JA OHJELMISTOT

3.1 Asennettavat ohjelmistot ja laitteistovaatimukset

Tietokanta tulee toimimaan MS SQL Server 2005 – tietokantaohjelmistolla. Kannan

käyttöliittymäjärjestelmänä toimii MS Office Sharepoint Server 2007, joka vaatii seuraavat

ohjelmistot:

MS SQL Server 2005 - tietokantaohjelmisto

Windows Server 2003 - palvelinohjelmisto

IIS - julkaisupalvelin

ASP.NET 2.0 – ASP – sivujen sovelluskehys

.NET Framework 3.5 – C# - koodin sovelluskehys

Page 4: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 4 / 15 Copyright © E.S.A.

Tuotantokäyttöön suositellut laitteistovaatimukset SQL Server 2005 ja Sharepoint Server –

kokoonpanolle ovat

vähintään 2.5 GHz prosessori

vähintään 2 GB keskusmuistia

tarvittava määrä kiintolevytilaa, joka on alustettu NTFS – tiedostojärjestelmään.

Kaikissa ohjelmistoissa tulee olla ohjelmistopäivitykset asennettuna. Taulukossa 1 on esitetty

tarkemmin ohjelmistovaatimukset.

Taulukko 1: Asennettava ohjelmistot asennusjärjestyksessä

Ohjelmisto Kuvaus Hankinta Huomautus

Windows Server 2003 palvelinohjelmisto CD/DVD/image kaupallisena

Internetistä

Lataa ja asenna päivitykset

heti asennuksen jälkeen

.NET Framework .NET ohjelmistokehys Internetistä, Microsoftin sivuilta Asenna seuraavassa järjestyksessä:

1) .NET 2.0

2) .NET 3.0

3) .NET 3.5

ASP.NET 2.0 ASP.NET sovelluskehys Internetistä, Microsoftin sivuilta

IIS julkaisupalvelin Windows Server 2003 Vaatii erillisasennuksen ja konfiguroinnin

SQL Server 2005 tietokantaohjelmisto CD/DVD/image kaupallisena

Internetistä

Asenna

ohjelmistopäivitykset

Microsoft Sharepoint

Office Server 2007

Palvelinohjelmisto CD/DVD/image kaupallisena

Internetistä

Asennus ja konfiguronti

saattaa vaatia

erityisasiantuntemusta

3.2 Levyositus

Appetite tietokannan levyositukseen käytetään RAID1 tekniikkaa, missä sama data tallennetaan

kahdelle (tai useammalle) erilliselle levylle, jolloin toisen levyn hajotessa kaikki data säästyy.

Periaatteessa tekniikka myös kaksinkertaistaa lukunopeuden.

Page 5: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 5 / 15 Copyright © E.S.A.

Kuvio 2 RAID1

4 TESTAUS

Laitteistoa ja tietokantaa tullaan testaamaan vähintään puolen vuoden välein. Testit suoritetaan

yksinkertaisesti tarkistamalla senhetkisten SQL - hakujen nopeus (oltava alle 1 ms) sekä laitteiston

yleinen toiminta.

5 VARMUUSKOPIOINTI

Tietokannasta otetaan varmuuskopiot automaattisesti viikottain, sunnuntaisin kello 00.00.

Varmuuskopiot menevät omalle levyosiolle. Varmuuskopiointiin käytetään kuvion 3 mukaista

Maintance Plan Wizard – työkalua, johon määritetään työtehtävät ja aikataulut kuvioiden 4 ja 5

mukaisesti. Varmuuskopionnin yhteydessä tarkistetaan automaattisesti tietokannan yhteys ja

järjestetään indeksit tarvittaessa uudelleen.

Page 6: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 6 / 15 Copyright © E.S.A.

Kuvio 3 Maintance Plan Wizard

Kuvio 4 Määritetään tehtävät

Page 7: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 7 / 15 Copyright © E.S.A.

Kuvio 5 Määritetään aikataulutus

6 HAJAUTUS

Tietokanta tullaan hajauttamaan seuraavasti:

tietokantaohjelmisto SQL Server asennetaan C – aseman juureen

Sharepoint – ohjelman oma tietokanta sijoitetaan D – aseman juureen

Projektissa toteutettu kanta sijoitetaan D - aseman juureen

varmuuskopio E – aseman juureen.

Tällä saadaan loogisesti erotettua nämä eri kokonaisuudet toisistaan.

7 KÄYTTÄJÄT JA KÄYTTÖOIKEUDET

Tietokantaa luodaan 5 eri tason käyttäryhmää, jotka on kuvattu taulukossa 2

Taulukko 2: Käyttäryhmät

Käyttäjäryhmä Kuvaus Oikeudet Taulut

SYSAdmin Järjestelmän

hallinnoija

Kaikki oikeudet

järjestelmä- ja tietokantatasolla

KÄSITTELIJÄ,

HENKILÖ,

KULUTTAJA,

YRITYS,

ASIAKAS,

POSTINUMERO,

KOORDINAATTI,

TARJOUSPYYNTÖ,

SAHKOSOPIMUS,

JONO

Page 8: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 8 / 15 Copyright © E.S.A.

Käyttäjäryhmä Kuvaus Oikeudet Taulut

DBAdmin tietokannan

hallinnoija

Kaikki oikeudet

tietokantatasolla

KÄSITTELIJÄ,

HENKILÖ,

KULUTTAJA,

YRITYS,

ASIAKAS,

POSTINUMERO,

KOORDINAATTI,

TARJOUSPYYNTÖ,

SAHKOSOPIMUS,

JONO

Sovelluskehittäjä tietokannan

ohjelmoija

tietokannan

rakenteen muutokset

KÄSITTELIJÄ,

HENKILÖ,

KULUTTAJA,

YRITYS,

ASIAKAS,

POSTINUMERO,

KOORDINAATTI,

TARJOUSPYYNTÖ,

SAHKOSOPIMUS,

JONO

Käsittelijä Sähköyhtiössä

työskentelevä asian käsittelijä omassa

käyttöliittymässään

luku, lisäys ja

päivitys omiin tauluihin.

KÄSITTELIJÄ,

HENKILÖ,

KULUTTAJA,

YRITYS,

ASIAKAS,

POSTINUMERO,

KOORDINAATTI,

TARJOUSPYYNTÖ,

SAHKOSOPIMUS,

JONO

Asiakas Kooditaso ASP.NET –

sivuilla

luku ja lisäys HENKILÖ,

KULUTTAJA,

YRITYS,

ASIAKAS,

POSTINUMERO,

KOORDINAATTI,

TARJOUSPYYNTÖ,

SAHKOSOPIMUS,

JONO

8 OPTIMOINTI JA NÄKYMÄT

8.1 Indeksit

Kun SQL Serverissä luo työkaluilla uuden taulun, laittaa se oletusarvoisesti klusteroidun indeksin

sarakkeeseen, joka on määritelty perusavaimeksi. Tämän ansiosta lisäindeksien luontia ei tarvita.

Tärkeinpänä indeksinä suorituskyvyn kannalta on postinumerotaulun postinumero, mikä on osana

Live.com karttapalvelun hauissa.

Page 9: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 9 / 15 Copyright © E.S.A.

8.2 Näkymät

Tietokantahaut tullaan tekemään näkymistä. Tässä luvussa kuvataan yksityiskohtaisesti

tietokannan näkymät ja niiden sarakkeet. Jokaisesta näkymästä on kuvattu taulukoissa sarakkeen

nimi sekä kuvaus.

8.2.1 YKSITYISASIAKKAAT

Tehdään näkymä Live.com karttapalvelua varten yksityisasiakkaiden hakua varten.

Taulukko 3 YKSITYISASIAKKAAT - näkymä

Sarake Kuvaus

lat_koord asiakkaan latitude koordinaatti

lon_koord asiakkaan longitude koordinaatti

etunimi asiakkaan etunimi

sukunimi asiakkaan sukunimi

lahiosoite asiakkaan lähiosoite

postinumero asiakkaan postinumero

postitoimipaikka asiakkaan postitoimipaikka

Skripti

CREATE VIEW YKSITYISASIAKKAAT

AS

SELECT

dbo.HENKILO.etunimi,

dbo.HENKILO.sukunimi,

dbo.KOORDINAATTI.lahiosoite,

dbo.KOORDINAATTI.maa,

dbo.KOORDINAATTI.lat_koord,

dbo.KOORDINAATTI.lon_koord,

dbo.KOORDINAATTI.postinro,

dbo.POSTINUMERO.postitoimipaikka

FROM

dbo.ASIAKAS INNER JOIN

dbo.KULUTTAJA ON

dbo.ASIAKAS.kuluttajaID = dbo.KULUTTAJA.kuluttajaID INNER JOIN

dbo.HENKILO ON

dbo.KULUTTAJA.henkiloID = dbo.HENKILO.henkiloID INNER JOIN

dbo.KOORDINAATTI ON

dbo.KULUTTAJA.koordinaattiID = dbo.KOORDINAATTI.koordinaattiID INNER JOIN

dbo.POSTINUMERO ON

dbo.KOORDINAATTI.postinro = dbo.POSTINUMERO.postinumero INNER JOIN

dbo.TARJOUSPYYNTO ON

dbo.ASIAKAS.asiakasID = dbo.TARJOUSPYYNTO.asiakasID INNER JOIN

dbo.SAHKOSOPIMUS ON dbo.TARJOUSPYYNTO.tarjouspyyntoID =

dbo.SAHKOSOPIMUS.tarjouspyyntoID

Page 10: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 10 / 15 Copyright © E.S.A.

8.2.2 YRITYSASIAKKAAT

Tehdään näkymä Live.com karttapalvelua varten yritysasiakkaiden hakua varten.

Taulukko 4 YRITYSASIAKKAAT - näkymä

Sarake Kuvaus

lat_koord yritysasiakkaan latitude koordinaatti

lon_koord yritysasiakkaan longitude koordinaatti

yritys_nimi yritysasiakkaan nimi

lahiosoite yritysasiakkaan lähiosoite

postinumero yritysasiakkaan postinumero

postitoimipaikka yritysasiakkaan postitoimipaikka

Page 11: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 11 / 15 Copyright © E.S.A.

8.2.3 Näkymäskripti

CREATE VIEW YRITYSASIAKKAAT

AS

SELECT

dbo.YRITYS.yritys_nimi,

dbo.KOORDINAATTI.lahiosoite,

dbo.KOORDINAATTI.lat_koord,

dbo.KOORDINAATTI.maa,

dbo.KOORDINAATTI.lon_koord,

dbo.KOORDINAATTI.postinro,

dbo.POSTINUMERO.postitoimipaikka

FROM

dbo.TARJOUSPYYNTO INNER JOIN

dbo.ASIAKAS ON dbo.TARJOUSPYYNTO.asiakasID = dbo.ASIAKAS.asiakasID INNER

JOIN

dbo.SAHKOSOPIMUS ON dbo.TARJOUSPYYNTO.tarjouspyyntoID =

dbo.SAHKOSOPIMUS.tarjouspyyntoID INNER JOIN

dbo.YRITYS ON dbo.ASIAKAS.yritysID = dbo.YRITYS.yritysID INNER JOIN

dbo.POSTINUMERO INNER JOIN

dbo.KOORDINAATTI ON dbo.POSTINUMERO.postinumero = dbo.KOORDINAATTI.postinro

ON dbo.YRITYS.koordinaattiID = dbo.KOORDINAATTI.koordinaattiID

9 TAULUKOOT

Tässä luvussa on arvioitu laskettuna taulujen koot ja sillä perusteella tilantarve. Taulukossa 5 on

kuvauttu taulujen koot.

Taulukko 5 Taulujen koot

Taulu Sarakemäärä Arvioitu rivimäärä Arvoitu keskim. rivin pituus Taulun nettoko

KULUTTAJA 5 100 000 10 1 000 000

YRITYS 9 50 000 15 750 000

ASIAKAS 4 150 000 5 750 000

TARJOUSPYYNTO 9 150 000 12 1 800 000

JONO 3 10 000 1 10 000

SAHKOSOPIMUS 3 140 000 2 280 000

HENKILO 3 100 100 20 2 002 000

KASITTELIJA 2 100 10 1 000

POSTINUMERO 2 yhden kaupunkialueen

arvio 100,

Suomessa max 3100

20 2000

KOORDINAATTI 6 150 000 150 22 500 000

Taulukon perusteella tilantarve tietokannalle on laskukaavan mukaan:

tilantarve = isoimpien taulujen nettokoko * 5

eli tilantarve on

22 500 000 * 5 = 112 500 000 B = 107.28836 MB

Page 12: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 12 / 15 Copyright © E.S.A.

10 MAHDOLLISESTA HÄIRIÖSTÄ PALAUTUMINEN JA

ONNETTOMUUSTILANTEET

Kaikista häiriöistä tietokantajärjestelmässä ilmoitetaan järjestelmän IT – osastolle. Käyttäjille

näkyvistä häiriöistä ilmoitetaan käyttäjien ASP.NET –sivuilla.

Mikäli sattuu jokin häiriö, joka oleellisesti haittaa tietokannan toimintaa, tietokanta ajetaan alas

mikäli näin voidaan vain olosuhteiden sallitessa tehdä. Käyttäjille jätetään ilmoitus

käyttöliittymään: ”Järjestelmälle tehdään huolto. Kokeile uudestaan 2 tunnin päästä”. Tämän aikan

pyritään saamaan ongelma selville ja korjaamaan se.

Jos tietokannan tietoja sattuu katoamaan häiriön aikana, järjestelmä ajetaan alas ja otetaan

viimeisin varmuuskopio käyttöön sekä tarkistetaan kaikkien tietojen oikeellisuus.

Suuremmissa ongelmissa otetaan yhteys IT – osaston henkilöihin ja tarvittaessa Microsoftin SQL

SQL Server – tukeen.

Tietokannan hoitajan onnettomuustilanteiden varalta salasanoja säilytetään kassakaapissa, ei

pelkästään hoitajan muistilokeroissa.

Page 13: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 13 / 15 Copyright © E.S.A.

LIITE I TIETOKANNAN LUONTISKRIPTI

CREATE DATABASE appetite

go

use appetite

go

-- Create tables section -------------------------------------------------

-- Table KULUTTAJA

CREATE TABLE KULUTTAJA

(

kuluttajaID Int IDENTITY(1,1)PRIMARY KEY CLUSTERED,

puhelinnumero Varchar(20) NOT NULL,

sahkopostiosoite Varchar(25) NOT NULL,

henkiloID Int NOT NULL,

koordinaattiID Int NULL

)

go

-- Table YRITYS

CREATE TABLE YRITYS

(

yritysID Int IDENTITY(1,1) PRIMARY KEY CLUSTERED,

y_tunnus char(10) NOT NULL,

yritys_nimi Varchar(50) NOT NULL,

toimiala Varchar(50) NOT NULL,

puhelin Varchar(20) NOT NULL,

sahkopostiosoite Varchar(25) NOT NULL,

fax_numero Varchar(20) NULL,

kotisivut Varchar(25) NULL,

koordinaattiID Int NULL

)

go

-- Table POSTINUMERO

CREATE TABLE POSTINUMERO

(

postinumero char(5) PRIMARY KEY CLUSTERED,

postitoimipaikka Varchar(50) NOT NULL

)

go

-- Table KOORDINAATTI

CREATE TABLE KOORDINAATTI

(

koordinaattiID Int IDENTITY(1,1)PRIMARY KEY CLUSTERED,

lahiosoite Varchar(50) NOT NULL,

maa Varchar(50) NOT NULL,

lat_koord Varchar(50) NOT NULL,

Page 14: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 14 / 15 Copyright © E.S.A.

lon_koord Varchar(50) NOT NULL,

postinro char(5) NOT NULL

)

go

-- Table HENKILO

CREATE TABLE HENKILO

(

henkiloID Int IDENTITY(1,1) PRIMARY KEY CLUSTERED,

etunimi Varchar(25) NOT NULL,

sukunimi Varchar(25) NOT NULL

)

go

-- Table KASITTELIJA

CREATE TABLE KASITTELIJA

(

kasittelijaTunnus Varchar(10) PRIMARY KEY CLUSTERED,

henkiloID int NOT NULL

)

go

-- Table ASIAKAS

CREATE TABLE ASIAKAS

(

asiakasID Int IDENTITY(1,1) PRIMARY KEY CLUSTERED,

asiakastyyppi int NOT NULL CHECK(asiakastyyppi IN (0, 1)),

kuluttajaID int NULL,

yritysID int NULL

)

go

-- Table SAHKOSOPIMUS

CREATE TABLE SAHKOSOPIMUS

(

sopimusID Int IDENTITY(1,1)PRIMARY KEY CLUSTERED,

sopimuspvm Smalldatetime NOT NULL,

tarjouspyyntoID int NOT NULL

)

go

-- Table TARJOUSPYYNTO

CREATE TABLE TARJOUSPYYNTO

(

tarjouspyyntoID Int IDENTITY(1,1)PRIMARY KEY CLUSTERED,

kayttopaikka varchar(30) NOT NULL,

lammitystapa varchar(30) NOT NULL,

etusulake varchar(10) NOT NULL,

kohde_pa varchar(10) NOT NULL,

toim_pvm Smalldatetime NOT NULL,

jakelija varchar(30)NOT NULL,

asiakasID int NOT NULL,

kasittelijaTunnus Varchar(10) NULL

)

-- Table JONO

Page 15: ECM BY SYSOPENDIGIA APPETITE 2007 - homes.jamk.fihomes.jamk.fi/~huojo/opetus/TTOW0110/examples/Hallintasuunnitel… · 1) .NET 2.0 2) .NET 3.0 3) .NET 3.5 ASP.NET 2.0 ASP.NET sovelluskehys

HALLINTASUUNNITELMA 9.3.2010

hallintasuunnitelma_1.31 Sivu 15 / 15 Copyright © E.S.A.

CREATE TABLE JONO

(

jonoID Int IDENTITY(1,1)PRIMARY KEY CLUSTERED,

tila tinyint NOT NULL CHECK (tila IN (0, 1, 2, 3)),

tarjouspyyntoID int NOT NULL

)

go

-- Create relationships section ------------------------------------------------

-

ALTER TABLE KOORDINAATTI ADD CONSTRAINT postinumero2 FOREIGN KEY (postinro)

REFERENCES POSTINUMERO (postinumero) ON DELETE NO ACTION

go

ALTER TABLE YRITYS ADD CONSTRAINT koordinaattiID FOREIGN KEY (koordinaattiID)

REFERENCES KOORDINAATTI (koordinaattiID) ON DELETE SET NULL

go

ALTER TABLE KULUTTAJA ADD CONSTRAINT koordinaattiID2 FOREIGN KEY

(koordinaattiID) REFERENCES KOORDINAATTI (koordinaattiID) ON DELETE SET NULL

go

ALTER TABLE KULUTTAJA ADD CONSTRAINT henkiloID FOREIGN KEY (henkiloID)

REFERENCES HENKILO (henkiloID) ON DELETE NO ACTION

go

ALTER TABLE ASIAKAS ADD CONSTRAINT kuluttajaID FOREIGN KEY (kuluttajaID)

REFERENCES KULUTTAJA (kuluttajaID) ON DELETE NO ACTION

go

ALTER TABLE ASIAKAS ADD CONSTRAINT yritysID FOREIGN KEY (yritysID) REFERENCES

YRITYS (yritysID) ON DELETE NO ACTION

go

ALTER TABLE KASITTELIJA ADD CONSTRAINT henkiloID2 FOREIGN KEY (henkiloID)

REFERENCES HENKILO (henkiloID) ON DELETE CASCADE

go

ALTER TABLE TARJOUSPYYNTO ADD CONSTRAINT kasittelijaTunnus FOREIGN KEY

(kasittelijaTunnus) REFERENCES KASITTELIJA (kasittelijaTunnus) ON DELETE SET

NULL

go

ALTER TABLE TARJOUSPYYNTO ADD CONSTRAINT asiakasID FOREIGN KEY (asiakasID)

REFERENCES ASIAKAS (asiakasID) ON DELETE CASCADE

go

ALTER TABLE JONO ADD CONSTRAINT tarjouspyyntoID FOREIGN KEY (tarjouspyyntoID)

REFERENCES TARJOUSPYYNTO (tarjouspyyntoID) ON DELETE NO ACTION

go

ALTER TABLE SAHKOSOPIMUS ADD CONSTRAINT tarjouspyyntoID2 FOREIGN KEY

(tarjouspyyntoID) REFERENCES TARJOUSPYYNTO (tarjouspyyntoID) ON DELETE CASCADE go