46
1. PROBLĒMSFĒRAS APRAKSTS Darba ietvaros tiks apskatīts iedomāts uzņēmums X, kurš nodarbojas ar saimniecības preču mazumtirdzniecību. Uzņēmums jau kādu laiku veiksmīgi strādā un plāno paplašināties. Viens no paplašināšanās aspektiem ir efektīvas IT sistēmas ieviešana uzņēmuma darbības nodrošināšanai. Darba ietvaros apskatīsim daļu no tās. Uzņēmumā ir izveidojusies mārketinga nodaļa, kura uztur informāciju par lojālajiem klientiem un veic PR funkcijas. Šajā nodaļā darbinieki ne pārāk labi pārzina informācijas tehnoloģijas un visu informāciju glabā Microsoft Excel dokumentā. Uzņēmums sastāv no galvenā biroja/veikala, noliktavas un filiālēm dažās pilsētās. Katrā no veikaliem tiek izmantoti kases aparāti, kas informāciju saglabā teksta faila formā. Šajos failos tiek glabāta informācija par katru pirkumu – preces ID, daudzums, kases aparāta ID, samaksātā summa, datums. Noliktavā tiek izmantota specializēta programmatūra, kas visu informāciju glabā Microsoft SQL datu bāzē. Tur ir iespējams saglabāt informāciju par noliktavu – pieejamajām precēm, to daudzumu. Uzņēmums ir uzrādījis labus pārdošanas rādītājus un plāno modernizēt savu darbību, lai spētu palielināt apgrozījumu. Pirmkārt, tiks izstrādāta kopēja informācijas sistēma uzņēmuma iekšienē, lai atvieglotu datu par uzņēmuma darbību izgūšanu reāllaikā un spētu pieņemt ātrus lēmumus. Šīs sistēmas ietvaros būs nepieciešams integrēt gan mārketinga komandas pienākumus, gan saglabāt informāciju par veiktajiem pirkumiem, kā arī pārskatīt noliktavu statusu. Lai nezaudētu eksistējoši informāciju, tai jābūt pārsūtītai un saglabātai jaunizveidotās sistēmas datu bāzē. Bez eksistējošās informācijas pieņemts lēmums par citiem datiem, kas uzņēmumam varētu būt svarīgi un būs nepieciešami jaunajā informācijas sistēmā.

PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

Embed Size (px)

Citation preview

Page 1: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

1. PROBLĒMSFĒRAS APRAKSTS

Darba ietvaros tiks apskatīts iedomāts uzņēmums X, kurš nodarbojas ar saimniecības preču mazumtirdzniecību. Uzņēmums jau kādu laiku veiksmīgi strādā un plāno paplašināties. Viens no paplašināšanās aspektiem ir efektīvas IT sistēmas ieviešana uzņēmuma darbības nodrošināšanai. Darba ietvaros apskatīsim daļu no tās.

Uzņēmumā ir izveidojusies mārketinga nodaļa, kura uztur informāciju par lojālajiem klientiem un veic PR funkcijas. Šajā nodaļā darbinieki ne pārāk labi pārzina informācijas tehnoloģijas un visu informāciju glabā Microsoft Excel dokumentā.

Uzņēmums sastāv no galvenā biroja/veikala, noliktavas un filiālēm dažās pilsētās. Katrā no veikaliem tiek izmantoti kases aparāti, kas informāciju saglabā teksta faila formā. Šajos failos tiek glabāta informācija par katru pirkumu – preces ID, daudzums, kases aparāta ID, samaksātā summa, datums.

Noliktavā tiek izmantota specializēta programmatūra, kas visu informāciju glabā Microsoft SQL datu bāzē. Tur ir iespējams saglabāt informāciju par noliktavu – pieejamajām precēm, to daudzumu.

Uzņēmums ir uzrādījis labus pārdošanas rādītājus un plāno modernizēt savu darbību, lai spētu palielināt apgrozījumu. Pirmkārt, tiks izstrādāta kopēja informācijas sistēma uzņēmuma iekšienē, lai atvieglotu datu par uzņēmuma darbību izgūšanu reāllaikā un spētu pieņemt ātrus lēmumus. Šīs sistēmas ietvaros būs nepieciešams integrēt gan mārketinga komandas pienākumus, gan saglabāt informāciju par veiktajiem pirkumiem, kā arī pārskatīt noliktavu statusu. Lai nezaudētu eksistējoši informāciju, tai jābūt pārsūtītai un saglabātai jaunizveidotās sistēmas datu bāzē. Bez eksistējošās informācijas pieņemts lēmums par citiem datiem, kas uzņēmumam varētu būt svarīgi un būs nepieciešami jaunajā informācijas sistēmā.

Page 2: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

2

1.1. Mārketinga nodaļas datu shēma

Mārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju uzņēmumam – vārdu, uzvārdu, adresi, dzimšanas datumu, tālruņa numuru, epastu. Otrkārt, tiek glabāta informācija par veiktajām PR aktivitātēm – sūtītajiem epastiem, kā arī mārketinga aktivitātēm pasākumu ietvaros, pieejamajiem mārketinga materiāliem (plakātiem, krūzītēm un tml).

Fiziski Microsoft Excel failā ir 4 lapas – Klienti, Sūtītie epasti, Mārketinga aktivitātes, Mārketinga materiāli.

Kopumā datus var attēlot šādi:

Jāņem vērā, ka šīs ir 4 tabulas ir savā starpā nesaistītas. Tāpat apskatot klientu datus, var redzēt, ka ir lietderīgi uzvārda, vārda lauku sadalīt divos laukos, kā arī adresi sadalīt sīkākos laukos, lai vēlāk varētu vieglāk veidot pārskatus, kas balstīti uz reģioniem. Tāpat mārketinga aktivitātēm ieguldījumu varētu izveidot kā atsevišķu tabulu, kurā varētu sīkāk aprakstīt kāds ieguldījums tika izmantots.

Page 3: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

3

1.2. Kases aparātu sistēmas datu shēma

Kases aparāti izmanto izstrādātāja nodrošināto programmatūru, taču papildus tam nosūta žurnalēšanas datus par veiktajiem pirkumiem. Tā satur dažādu informāciju par iegādātajām precēm – preces kodu, preces nosaukumu, pirkuma datumu, summu, skaitu, kases aparāta kodu -, kā arī par veiktajiem pirkumiem – to datumu, summu un maksājuma veidu. Tāpat tiek saglabāti dati par kļūdām, kas radušās, - kļūdas kods, kļūdas apraksts, diagnostikas datu vērtības kļūdas laikā, kļūdas laiks.

Šī informācija glabājas uz diska teksta failā, lauki ir atdalīti ar semikolu.

Kopumā informāciju var attēlot šādi:

Jāņem vērā, ka šīs tabulas/dati nav saistītas.

Tāpat daudzums šajā gadījumā ir simbolu virkne, kura sākas ar “GB”, ja preces cena ir par preces vienību, ar “L”, ja cena norādīta par tilpumu (litru) vai “KG”, ja preces cena ir norādīta par svara vienību (kilogramu).

Page 4: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

4

1.3. Noliktavas datu shēma

Noliktavā tiek izmantota specializēta datorprogrammatūra. Tā datus glabā SQL datu bāzē – tur ir pieejama informācija par precēm, to daudzumu noliktavā, veiktajiem papildinājumiem.

Pirmkārt, ir redzama informācija par noliktavām (tādas var būt vairākas). Katrā noliktavā ir pieejamas preces – tām ir konkrēts daudzums un derīguma termiņš. Katrai precei ir unikāls kods (svītru kods), kopā tās veido preču katalogu jeb uzņēmumā pārdotās preces. Tāpat uzņēmumam ir vairāki piegādātāji un informācija par katru piegādi tiek saglabāta.

Page 5: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

5

2. SHĒMU INTEGRĀCIJAS ANALĪZE

Uzņēmums plāno visas atsevišķās komponentes integrēt vienā kopējā sistēmā, lai uzņēmumam būtu viena centrāla pārvaldības sistēmas, kas nākotnē varētu būt papildināma, kā arī būtu centrāla informācijas ieguves vieta, kas saturētu aktuālo informāciju un uzņēmums, balstoties uz to, spētu pieņemt pamatotus lēmumus.

Apskatot kases aparātu datu shēmu un noliktavas datu shēmu, var redzēt, ka tabulas “Pirkumu dati” un “Prece” ir iespējams sasaistīt, balstoties uz preces svītru kodu. Tas nozīmē, ka tabula “Pirkuma dati” tiks iekļauta jaunās sistēmas datu shēmā, taču ar nosaukumu “Iegādātās preces” un sasaistīta ar tabulu “Prece”. Jaunās tabulas lauki būs tādi paši kā sākumā, taču tiks papildināti ar jaunu lauku – “Vienība”, kura saturēs vērtību “L”, “KG” vai “GB” atkarībā no tā, kāda vērtība būs “Pirkumu dati” laukā “Daudzums”.

Tabula “Kļūdas” tiks iekļauta kopējā sistēmā, taču tiks veidota viena kopēja tabula, kur glabāsies visas sistēmas kļūdas, līdz ar to tiks izveidots papildus lauks “Kļūdas avots”, kura vērtība kases aparātu kļūdu ierakstiem būs “KasesAparats”.

Uzņēmums paplašināšanās ietvaros plāno izveidot arī pārdošanas portālu, kurā klienti varēs preces iegādāties tiešsaistē. Lai to darītu, lietotājiem nāksies veikt reģistrāciju. Tas ļaus uzņēmuma uzturēt datus par klientiem, apskatīt to iepirkšanās paradumus. Tas nozīmē, ka būs nepieciešams pievienot divas jaunas tabulas “Klients” un “Pasūtījumi”.

Tabula “Klients” saturēs visu reģistrācijas informāciju, kas kopumā ir vairāk informācijas lauku, kā šobrīd uzņēmuma mārketinga nodaļas pārvaldībā. Rezultātā pieņemts lēmums “Klients” tabulā iekļaut tādu lauku kā “Reģistrēts”, kas noteiks, vai lietotājs ir reģistrējies. Kā lietotājvārds kalpos e-pasts, līdz ar to nedrīkst būt divi reģistrētie lietotāji, kuriem e-pasts sakritīs. Gadījumā, kad sistēmā būs reģistrēts lietotājs ar tādu pašu e-pastu, kā nereģistrētam lietotājam, sistēma tos apvienos, ja pārējie lauki sakritīs.

Tabula “Pasūtījumi” būs saistīti ar preču kataloga tabulu, balstoties uz preces svītru kodu.

Jaunajā sistēmā tabulas “Mārketinga aktivitātes”, “Sūtītie e-pasti”, “Mārketinga materiāli saglabāsies”, taču tabula “Mārketinga aktivitātes”, tiks saistīts ar jaunu tabulu “MārketingaPreces”, kurā glabāsies informācija par mārketinga aktivitāšu laikā izmantotajām precēm (bieži vien uzņēmumi izmanto savu produkciju mārketinga aktivitātēs).

Tālāk var apskatīt vienā attēlā apvienotos datu elementus, kā arī Visual Studio rīkā izstrādātu ER diagrammu, kura veido rezultāta sistēmas datu bāzi. Tā tiks izmantota, lai uzģenerētu datu bāzes shēmu.

Page 6: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju
Page 7: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

7

Page 8: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

Uzģenerētais SQL skripts gala datu bāzes sagatavošanai:

-- ---------------------------------------------------- Entity Designer DDL Script for SQL Server 2005, 2008, 2012 and Azure-- ---------------------------------------------------- Date Created: 09/27/2015 22:09:58-- Generated from EDMX file: E:\Visual Studio Projects\MultibazesModeling\ErDiagram\Marketings.edmx-- --------------------------------------------------

SET QUOTED_IDENTIFIER OFF;GOUSE [multibazestesting];GOIF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]');GO

-- ---------------------------------------------------- Dropping existing FOREIGN KEY constraints-- --------------------------------------------------

-- ---------------------------------------------------- Dropping existing tables-- --------------------------------------------------

-- ---------------------------------------------------- Creating all tables-- --------------------------------------------------

-- Creating table 'PieejamasPrecesSet'CREATE TABLE [dbo].[PieejamasPrecesSet] ( [Id] int IDENTITY(1,1) NOT NULL, [Daudzums] nvarchar(max) NOT NULL, [DerigumaTerminaSakums] nvarchar(max) NOT NULL, [DerigumaTerminaBeigas] nvarchar(max) NOT NULL, [Prece_Id] int NOT NULL, [Noliktava_NoliktavasId] int NOT NULL);GO

-- Creating table 'PrecuKatalogsSet'CREATE TABLE [dbo].[PrecuKatalogsSet] ( [Id] int IDENTITY(1,1) NOT NULL, [PrecesKods] nvarchar(max) NOT NULL, [Nosaukums] nvarchar(max) NOT NULL, [MarketingaIegulditasPreces_Id] int NOT NULL);GO

Page 9: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

9

-- Creating table 'PiegadatajsSet'CREATE TABLE [dbo].[PiegadatajsSet] ( [PiegadatajaId] int IDENTITY(1,1) NOT NULL, [Nosaukums] nvarchar(max) NOT NULL, [Adrese] nvarchar(max) NOT NULL);GO

-- Creating table 'PiegadatajuPrecesSet'CREATE TABLE [dbo].[PiegadatajuPrecesSet] ( [Id] int IDENTITY(1,1) NOT NULL, [Cena] nvarchar(max) NOT NULL, [PiegadesIlgums] nvarchar(max) NOT NULL, [Piegadatajs_PiegadatajaId] int NOT NULL, [Prece_Id] int NOT NULL);GO

-- Creating table 'NoliktavaSet'CREATE TABLE [dbo].[NoliktavaSet] ( [NoliktavasId] int IDENTITY(1,1) NOT NULL, [Adrese] nvarchar(max) NOT NULL, [Komentari] nvarchar(max) NOT NULL);GO

-- Creating table 'PiegadatasPrecesSet'CREATE TABLE [dbo].[PiegadatasPrecesSet] ( [Id] int IDENTITY(1,1) NOT NULL, [Daudzums] nvarchar(max) NOT NULL, [DerigumaTerminaSakums] nvarchar(max) NOT NULL, [DerigumaTerminaBeigas] nvarchar(max) NOT NULL, [Prece_Id] int NOT NULL, [Noliktava_NoliktavasId] int NOT NULL);GO

-- Creating table 'KlientsSet'CREATE TABLE [dbo].[KlientsSet] ( [Id] int IDENTITY(1,1) NOT NULL, [Vards] nvarchar(max) NOT NULL, [Uzvards] nvarchar(max) NOT NULL, [DzimsanasGads] nvarchar(max) NOT NULL, [Pilseta] nvarchar(max) NOT NULL, [Iela] nvarchar(max) NOT NULL, [Novads] nvarchar(max), [Talrunis] nvarchar(max) NOT NULL, [Epasts] nvarchar(max) NOT NULL, [Registrets] int NOT NULL, [ParolesHash] nvarchar(max));GO

Page 10: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

10

-- Creating table 'PasutijumiSet'CREATE TABLE [dbo].[PasutijumiSet] ( [Id] int IDENTITY(1,1) NOT NULL, [Daudzums] nvarchar(max) NOT NULL, [PasutijumaDatums] nvarchar(max) NOT NULL, [Klients_Id] int NOT NULL);GO

-- Creating table 'MarketingaMaterialiSet'CREATE TABLE [dbo].[MarketingaMaterialiSet] ( [Id] int IDENTITY(1,1) NOT NULL, [Pozicija] nvarchar(max) NOT NULL, [Daudzums] nvarchar(max) NOT NULL, [PedejoReiziAtjaunots] nvarchar(max) NOT NULL);GO

-- Creating table 'MarketingaAktivitatesSet'CREATE TABLE [dbo].[MarketingaAktivitatesSet] ( [Id] int IDENTITY(1,1) NOT NULL, [Nosaukums] nvarchar(max) NOT NULL, [NorisesSakums] nvarchar(max) NOT NULL, [NorisesBeigas] nvarchar(max) NOT NULL, [SasniegtaisCilvekuSkaits] nvarchar(max) NOT NULL, [Komentari] nvarchar(max) NOT NULL);GO

-- Creating table 'MarketingaIegulditasPrecesSet'CREATE TABLE [dbo].[MarketingaIegulditasPrecesSet] ( [Id] int IDENTITY(1,1) NOT NULL, [Daudzums] nvarchar(max) NOT NULL, [MarketingaAktivitates_Id] int NOT NULL);GO

-- Creating table 'SutitieEpastiSet'CREATE TABLE [dbo].[SutitieEpastiSet] ( [Id] int IDENTITY(1,1) NOT NULL, [Merkis] nvarchar(max) NOT NULL, [Saturs] nvarchar(max) NOT NULL, [Adresati] nvarchar(max) NOT NULL, [SutisanasDatums] nvarchar(max) NOT NULL);GO

-- Creating table 'IegadatasPrecesSet'CREATE TABLE [dbo].[IegadatasPrecesSet] ( [Id] int IDENTITY(1,1) NOT NULL, [IegadesDatums] nvarchar(max) NOT NULL,

Page 11: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

11

[IegadesCena] nvarchar(max) NOT NULL, [IegadesDaudzums] nvarchar(max) NOT NULL, [KasesAparataKods] nvarchar(max) NOT NULL, [Vieniba] nvarchar(max) NOT NULL, [PrecuKatalogs_Id] int NOT NULL);GO

-- Creating table 'VeiktiePirkumiSet'CREATE TABLE [dbo].[VeiktiePirkumiSet] ( [Id] int IDENTITY(1,1) NOT NULL, [PirkumaDatums] nvarchar(max) NOT NULL, [PirkumaSumma] nvarchar(max) NOT NULL, [MaksajumaVeids] nvarchar(max) NOT NULL);GO

-- Creating table 'KludasSet'CREATE TABLE [dbo].[KludasSet] ( [Id] int IDENTITY(1,1) NOT NULL, [KludasKods] nvarchar(max) NOT NULL, [KludasApraksts] nvarchar(max) NOT NULL, [DiagnostikasDati] nvarchar(max) NOT NULL, [KludasLaiks] nvarchar(max) NOT NULL);GO

-- Creating table 'PasutijumiPrecuKatalogs'CREATE TABLE [dbo].[PasutijumiPrecuKatalogs] ( [Pasutijumi_Id] int NOT NULL, [Preces_Id] int NOT NULL);GO

-- ---------------------------------------------------- Creating all PRIMARY KEY constraints-- --------------------------------------------------

-- Creating primary key on [Id] in table 'PieejamasPrecesSet'ALTER TABLE [dbo].[PieejamasPrecesSet]ADD CONSTRAINT [PK_PieejamasPrecesSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [Id] in table 'PrecuKatalogsSet'ALTER TABLE [dbo].[PrecuKatalogsSet]ADD CONSTRAINT [PK_PrecuKatalogsSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [PiegadatajaId] in table 'PiegadatajsSet'ALTER TABLE [dbo].[PiegadatajsSet]

Page 12: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

12

ADD CONSTRAINT [PK_PiegadatajsSet] PRIMARY KEY CLUSTERED ([PiegadatajaId] ASC);GO

-- Creating primary key on [Id] in table 'PiegadatajuPrecesSet'ALTER TABLE [dbo].[PiegadatajuPrecesSet]ADD CONSTRAINT [PK_PiegadatajuPrecesSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [NoliktavasId] in table 'NoliktavaSet'ALTER TABLE [dbo].[NoliktavaSet]ADD CONSTRAINT [PK_NoliktavaSet] PRIMARY KEY CLUSTERED ([NoliktavasId] ASC);GO

-- Creating primary key on [Id] in table 'PiegadatasPrecesSet'ALTER TABLE [dbo].[PiegadatasPrecesSet]ADD CONSTRAINT [PK_PiegadatasPrecesSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [Id] in table 'KlientsSet'ALTER TABLE [dbo].[KlientsSet]ADD CONSTRAINT [PK_KlientsSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [Id] in table 'PasutijumiSet'ALTER TABLE [dbo].[PasutijumiSet]ADD CONSTRAINT [PK_PasutijumiSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [Id] in table 'MarketingaMaterialiSet'ALTER TABLE [dbo].[MarketingaMaterialiSet]ADD CONSTRAINT [PK_MarketingaMaterialiSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [Id] in table 'MarketingaAktivitatesSet'ALTER TABLE [dbo].[MarketingaAktivitatesSet]ADD CONSTRAINT [PK_MarketingaAktivitatesSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [Id] in table 'MarketingaIegulditasPrecesSet'ALTER TABLE [dbo].[MarketingaIegulditasPrecesSet]ADD CONSTRAINT [PK_MarketingaIegulditasPrecesSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

Page 13: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

13

-- Creating primary key on [Id] in table 'SutitieEpastiSet'ALTER TABLE [dbo].[SutitieEpastiSet]ADD CONSTRAINT [PK_SutitieEpastiSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [Id] in table 'IegadatasPrecesSet'ALTER TABLE [dbo].[IegadatasPrecesSet]ADD CONSTRAINT [PK_IegadatasPrecesSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [Id] in table 'VeiktiePirkumiSet'ALTER TABLE [dbo].[VeiktiePirkumiSet]ADD CONSTRAINT [PK_VeiktiePirkumiSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [Id] in table 'KludasSet'ALTER TABLE [dbo].[KludasSet]ADD CONSTRAINT [PK_KludasSet] PRIMARY KEY CLUSTERED ([Id] ASC);GO

-- Creating primary key on [Pasutijumi_Id], [Preces_Id] in table 'PasutijumiPrecuKatalogs'ALTER TABLE [dbo].[PasutijumiPrecuKatalogs]ADD CONSTRAINT [PK_PasutijumiPrecuKatalogs] PRIMARY KEY CLUSTERED ([Pasutijumi_Id], [Preces_Id] ASC);GO

-- ---------------------------------------------------- Creating all FOREIGN KEY constraints-- --------------------------------------------------

-- Creating foreign key on [Prece_Id] in table 'PieejamasPrecesSet'ALTER TABLE [dbo].[PieejamasPrecesSet]ADD CONSTRAINT [FK_PieejamasPrecesPrecuKatalogs] FOREIGN KEY ([Prece_Id]) REFERENCES [dbo].[PrecuKatalogsSet] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating non-clustered index for FOREIGN KEY 'FK_PieejamasPrecesPrecuKatalogs'CREATE INDEX [IX_FK_PieejamasPrecesPrecuKatalogs]ON [dbo].[PieejamasPrecesSet] ([Prece_Id]);GO

-- Creating foreign key on [Prece_Id] in table 'PiegadatasPrecesSet'ALTER TABLE [dbo].[PiegadatasPrecesSet]ADD CONSTRAINT [FK_PiegadatasPrecesPrecuKatalogs]

Page 14: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

14

FOREIGN KEY ([Prece_Id]) REFERENCES [dbo].[PrecuKatalogsSet] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating non-clustered index for FOREIGN KEY 'FK_PiegadatasPrecesPrecuKatalogs'CREATE INDEX [IX_FK_PiegadatasPrecesPrecuKatalogs]ON [dbo].[PiegadatasPrecesSet] ([Prece_Id]);GO

-- Creating foreign key on [Noliktava_NoliktavasId] in table 'PieejamasPrecesSet'ALTER TABLE [dbo].[PieejamasPrecesSet]ADD CONSTRAINT [FK_PieejamasPrecesNoliktava] FOREIGN KEY ([Noliktava_NoliktavasId]) REFERENCES [dbo].[NoliktavaSet] ([NoliktavasId]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating non-clustered index for FOREIGN KEY 'FK_PieejamasPrecesNoliktava'CREATE INDEX [IX_FK_PieejamasPrecesNoliktava]ON [dbo].[PieejamasPrecesSet] ([Noliktava_NoliktavasId]);GO

-- Creating foreign key on [Noliktava_NoliktavasId] in table 'PiegadatasPrecesSet'ALTER TABLE [dbo].[PiegadatasPrecesSet]ADD CONSTRAINT [FK_NoliktavaPiegadatasPreces] FOREIGN KEY ([Noliktava_NoliktavasId]) REFERENCES [dbo].[NoliktavaSet] ([NoliktavasId]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating non-clustered index for FOREIGN KEY 'FK_NoliktavaPiegadatasPreces'CREATE INDEX [IX_FK_NoliktavaPiegadatasPreces]ON [dbo].[PiegadatasPrecesSet] ([Noliktava_NoliktavasId]);GO

-- Creating foreign key on [Pasutijumi_Id] in table 'PasutijumiPrecuKatalogs'ALTER TABLE [dbo].[PasutijumiPrecuKatalogs]ADD CONSTRAINT [FK_PasutijumiPrecuKatalogs_Pasutijumi] FOREIGN KEY ([Pasutijumi_Id]) REFERENCES [dbo].[PasutijumiSet] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating foreign key on [Preces_Id] in table 'PasutijumiPrecuKatalogs'

Page 15: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

15

ALTER TABLE [dbo].[PasutijumiPrecuKatalogs]ADD CONSTRAINT [FK_PasutijumiPrecuKatalogs_PrecuKatalogs] FOREIGN KEY ([Preces_Id]) REFERENCES [dbo].[PrecuKatalogsSet] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating non-clustered index for FOREIGN KEY 'FK_PasutijumiPrecuKatalogs_PrecuKatalogs'CREATE INDEX [IX_FK_PasutijumiPrecuKatalogs_PrecuKatalogs]ON [dbo].[PasutijumiPrecuKatalogs] ([Preces_Id]);GO

-- Creating foreign key on [Klients_Id] in table 'PasutijumiSet'ALTER TABLE [dbo].[PasutijumiSet]ADD CONSTRAINT [FK_KlientsPasutijumi] FOREIGN KEY ([Klients_Id]) REFERENCES [dbo].[KlientsSet] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating non-clustered index for FOREIGN KEY 'FK_KlientsPasutijumi'CREATE INDEX [IX_FK_KlientsPasutijumi]ON [dbo].[PasutijumiSet] ([Klients_Id]);GO

-- Creating foreign key on [MarketingaIegulditasPreces_Id] in table 'PrecuKatalogsSet'ALTER TABLE [dbo].[PrecuKatalogsSet]ADD CONSTRAINT [FK_PrecuKatalogsMarketingaIegulditasPreces] FOREIGN KEY ([MarketingaIegulditasPreces_Id]) REFERENCES [dbo].[MarketingaIegulditasPrecesSet] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating non-clustered index for FOREIGN KEY 'FK_PrecuKatalogsMarketingaIegulditasPreces'CREATE INDEX [IX_FK_PrecuKatalogsMarketingaIegulditasPreces]ON [dbo].[PrecuKatalogsSet] ([MarketingaIegulditasPreces_Id]);GO

-- Creating foreign key on [MarketingaAktivitates_Id] in table 'MarketingaIegulditasPrecesSet'ALTER TABLE [dbo].[MarketingaIegulditasPrecesSet]ADD CONSTRAINT [FK_MarketingaAktivitatesMarketingaIegulditasPreces] FOREIGN KEY ([MarketingaAktivitates_Id]) REFERENCES [dbo].[MarketingaAktivitatesSet] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

Page 16: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

16

GO

-- Creating non-clustered index for FOREIGN KEY 'FK_MarketingaAktivitatesMarketingaIegulditasPreces'CREATE INDEX [IX_FK_MarketingaAktivitatesMarketingaIegulditasPreces]ON [dbo].[MarketingaIegulditasPrecesSet] ([MarketingaAktivitates_Id]);GO

-- Creating foreign key on [PrecuKatalogs_Id] in table 'IegadatasPrecesSet'ALTER TABLE [dbo].[IegadatasPrecesSet]ADD CONSTRAINT [FK_IegadatasPrecesPrecuKatalogs] FOREIGN KEY ([PrecuKatalogs_Id]) REFERENCES [dbo].[PrecuKatalogsSet] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating non-clustered index for FOREIGN KEY 'FK_IegadatasPrecesPrecuKatalogs'CREATE INDEX [IX_FK_IegadatasPrecesPrecuKatalogs]ON [dbo].[IegadatasPrecesSet] ([PrecuKatalogs_Id]);GO

-- Creating foreign key on [Piegadatajs_PiegadatajaId] in table 'PiegadatajuPrecesSet'ALTER TABLE [dbo].[PiegadatajuPrecesSet]ADD CONSTRAINT [FK_PiegadatajsPiegadatajuPreces] FOREIGN KEY ([Piegadatajs_PiegadatajaId]) REFERENCES [dbo].[PiegadatajsSet] ([PiegadatajaId]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating non-clustered index for FOREIGN KEY 'FK_PiegadatajsPiegadatajuPreces'CREATE INDEX [IX_FK_PiegadatajsPiegadatajuPreces]ON [dbo].[PiegadatajuPrecesSet] ([Piegadatajs_PiegadatajaId]);GO

-- Creating foreign key on [Prece_Id] in table 'PiegadatajuPrecesSet'ALTER TABLE [dbo].[PiegadatajuPrecesSet]ADD CONSTRAINT [FK_PiegadatajuPrecesPrecuKatalogs] FOREIGN KEY ([Prece_Id]) REFERENCES [dbo].[PrecuKatalogsSet] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;GO

-- Creating non-clustered index for FOREIGN KEY 'FK_PiegadatajuPrecesPrecuKatalogs'CREATE INDEX [IX_FK_PiegadatajuPrecesPrecuKatalogs]ON [dbo].[PiegadatajuPrecesSet] ([Prece_Id]);

Page 17: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

17

GO

-- ---------------------------------------------------- Script has ended-- --------------------------------------------------

Izpildes rezultāts:

Page 18: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

18

3. SQL SERVER INTEGRATION SERVICES IZMANTOŠANA

Pēc veiktās globālās shēmas izveides ir sekojoša situācija:

- Ir definēts datu avots no teksta faila- Ir definēts datu avots no Excel faila- Ir definēts datu avots no SQL datubāzes- Ir definēta shēma datiem, kurā tiks apvienoti visi datu avoti

SQL Server Integration Services ir rīks, kas papildina .NET ietvara rīku klāstu ar iespēju integrēt dažādus datu avotus. Mūsu gadījumā būs jāapskata trīs dažādi datu ieguves veidi, kā arī viens datu izvades veids.

Kā pirmais ir jāizveido jauns projekts, izmantojot IDE rīku Visual Studio, ar tipu Integration Services:

Tālāk var definēt konkrēti datu izgūšanas un tālākās plūsmas, izmantojot veidnes no IDE klāsta:

Page 19: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

19

Kā redzams rīks atbalsta ļoti daudz dažādus veidus, kā izgūt datus, kā ar tiem manipulēt.

3.1. Vadības plūsmas definēšana

Page 20: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

20

Rīkā nepieciešams vispirms definēt vadības plūsmu (Control Flow). Mūsu gadījumā tā sastāvēs no vienkārša datu plūsmas uzdevuma (Data Flow Task), kas sevī ietvers arī datu transformācijas.

3.2. Datu izgūšana no faila

No rīka veidnēm tiek izvēlēta veidne “Flat File Source”:

Pēc tam tiek definētas tā vērtības:

Tiek definēts faila pārvaldnieks (Flat File manager) – definē kā failā tiek izkārtoti dati, kādi ir kolonu nosaukumi un datu tipi:

Page 21: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

21

Page 22: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

22

Pēc tam var apskatīt, kādas kolonas būs datiem, kā arī apstiprināt pārvaldnieka izveidošanu.

Page 23: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

23

Tā kā katram failam nepieciešams izveidot savu faila pārvaldnieku, tāpēc nepieciešams pievienot vēl divas faila datu izgūšanas veidnes un tajās definēt datu struktūras:

Testēšanai tika izveidoti šādi trīs teksta faili:

3.3. Datu izgūšana no Excel faila

No rīku veidnēm tiek izvēlēta veidne “Excel Source”.

Pēc tam attiecīgi tā tiek nokonfigurēta – tiek izvēlēts fails un definētas kolonas:

Page 24: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

24

Tā nepieciešams izdarīt arī atlikušajām 3 darba lapām.

Page 25: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

25

Kā avots tika izveidots Excel fails ar 4 darba lapām ar testa datiem.

3.4. Datu izgūšana no MS SQL datubāzes

Tika izveidota MS SQL datu bāze, balstoties uz definēto datu struktūru noliktavas sistēmai.

Izveidošanai tika izmantots sekojošs SQL skripts:

USE [multibazesnoliktava]GO

DROP TABLE [dbo].[PieejamasPreces]GO

DROP TABLE [dbo].[Noliktava]GO

DROP TABLE [dbo].[PiegadatasPreces]GO

Page 26: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

26

DROP TABLE [dbo].[Piegadatajs]GO

DROP TABLE [dbo].[PiegadatajuPreces]GO

DROP TABLE [dbo].[PrecuKatalogs]GO

CREATE TABLE [dbo].[PieejamasPreces]([Id] [int] IDENTITY(1,1) NOT NULL,[PrecesKods] [nvarchar](50) NOT NULL,[Daudzums] [nvarchar](10) NOT NULL,[DerīgumaTerminaSakums] [datetime] NOT NULL,[DerigumatTerminaBeigas] [datetime] NOT NULL,[NoliktavaId] [int] NOT NULL,[PrecuKatalogsId] [int] NOT NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[Noliktava]([Id] [int] IDENTITY(1,1) NOT NULL,[Adrese] [nvarchar](50) NOT NULL,[Komentari] [nvarchar](50) NOT NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[PiegadatasPreces]([Id] [int] IDENTITY(1,1) NOT NULL,[PrecesKods] [nvarchar](50) NOT NULL,[Daudzums] [nvarchar](10) NOT NULL,[DerīgumaTerminaSakums] [datetime] NOT NULL,[DerigumatTerminaBeigas] [datetime] NOT NULL,[NoliktavaId] [int] NOT NULL,[PrecuKatalogsId] [int] NOT NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[Piegadatajs]([Id] [int] IDENTITY(1,1) NOT NULL,[Nosaukums] [nvarchar](50) NOT NULL,[Adrese] [nvarchar](10) NOT NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[PiegadatajuPreces]([Id] [int] IDENTITY(1,1) NOT NULL,[Cena] [nvarchar](50) NOT NULL,

Page 27: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

27

[PiegadesIlgums] [nvarchar](10) NOT NULL,[PiegadatajsId] [int] NOT NULL,[PrecuKatalogsId] [int] NOT NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[PrecuKatalogs]([Id] [int] IDENTITY(1,1) NOT NULL,[PrecesKods] [nvarchar](50) NOT NULL,[Nosaukums] [nvarchar](10) NOT NULL

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[PieejamasPreces]ADD CONSTRAINT [PK_PieejamasPreces] PRIMARY KEY CLUSTERED ([Id] ASC);GO

ALTER TABLE [dbo].[Noliktava]ADD CONSTRAINT [PK_Noliktava] PRIMARY KEY CLUSTERED ([Id] ASC);GO

ALTER TABLE [dbo].[PiegadatasPreces]ADD CONSTRAINT [PK_PiegadatasPreces] PRIMARY KEY CLUSTERED ([Id] ASC);GO

ALTER TABLE [dbo].[Piegadatajs]ADD CONSTRAINT [PK_Piegadatajs] PRIMARY KEY CLUSTERED ([Id] ASC);GO

ALTER TABLE [dbo].[PiegadatajuPreces]ADD CONSTRAINT [PK_PiegadatajuPreces] PRIMARY KEY CLUSTERED ([Id] ASC);GO

ALTER TABLE [dbo].[PrecuKatalogs]ADD CONSTRAINT [PK_PrecuKatalogs] PRIMARY KEY CLUSTERED ([Id] ASC);GO

ALTER TABLE [dbo].[PieejamasPreces]ADD CONSTRAINT [FK_PieejamasPrecesNoliktava] FOREIGN KEY ([NoliktavaId]) REFERENCES [dbo].[Noliktava] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

Page 28: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

28

GO

ALTER TABLE [dbo].[PieejamasPreces]ADD CONSTRAINT [FK_PieejamasPrecesPrecuKatalogs] FOREIGN KEY ([PrecuKatalogsId]) REFERENCES [dbo].[PrecuKatalogs] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

GO

ALTER TABLE [dbo].[PiegadatasPreces]ADD CONSTRAINT [FK_PiegadatasPrecesNoliktava] FOREIGN KEY ([NoliktavaId]) REFERENCES [dbo].[Noliktava] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

GO

ALTER TABLE [dbo].[PiegadatasPreces]ADD CONSTRAINT [FK_PiegadatasPrecesPrecuKatalogs] FOREIGN KEY ([PrecuKatalogsId]) REFERENCES [dbo].[PrecuKatalogs] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

GO

ALTER TABLE [dbo].[PiegadatajuPreces]ADD CONSTRAINT [FK_PiegadatajuPrecesNoliktava] FOREIGN KEY ([PiegadatajsId]) REFERENCES [dbo].[Piegadatajs] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

GO

ALTER TABLE [dbo].[PiegadatajuPreces]ADD CONSTRAINT [FK_PiegadatajuPrecesPrecuKatalogs] FOREIGN KEY ([PrecuKatalogsId]) REFERENCES [dbo].[PrecuKatalogs] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

GO

Rezultātā tika iegūta sekojoša datubāze:

Page 29: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

29

Page 30: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

30

Lai izgūtu datus no MS SQL datubāzes, nepieciešams izmantot veidni “ADO NET Source”:

Pēc tam ir jānokonfigurē savienojums ar datubāzi:

Pēc tam jānorāda, kuras tabulas datus jāizmanto:

Page 31: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

31

Līdzīgā manierē jānokonfigurē datu izguves veidnes pārējām tabulām:

3.5. Datu izvade SQL Server mākoņpakalpojumā Windows Azure

Izmantojot mākoņpakalpojumu Windows Azure, tika izveidots datu bāžu serveris un MS SQL datu bāze. Tam pieslēgties var caur portālu vai izmantojot rīku Microsoft SQL Server Management Studio. Izvēlējos izmantot rīku. Jau iepriekš tika minēts, ka pēc shēmu integrācijas analīzes tika uzģenerēts SQL skripts, kas tika izpildīts minētajā datu bāzē. Tagad nepieciešams ievadīt tikai datus izveidotajā struktūrā.

Pirms tiek sākta datu izvades konfigurēšana, nepieciešams definēt savienojuma pārvaldnieku:

Page 32: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

32

Ir jānorāda servera adrese, lietotājvārds, parole un datu bāzes nosaukums. Kad savienojuma pārvaldnieks ir izveidots, to var izmantot izejas plūsmu definēšanai:

Šāda veidne būs nepieciešama katrai izejas tabulai. Kopā tādas ir 16.

3.5.1. Kļūdu tabulas transformēšana

Sākotnēji ir teksta fails, kurā tiek žurnalētas visas kļūdas kases aparātos. Rezultātā tika definēta datu bāzes tabulā, kurā šie dati tiks nosūtīti.

Lai definētu šādu datu plūsmu tiek savienotas veidnes (datu izguves veidne tiek savienota ar datu izvades veidni).

Page 33: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

33

Pēc tam iespējams konfigurēt kādas būs saistības starp kolonnām.

Page 34: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

34

Tā kā teksta failā netiek izšķirti datu tipi, bet SQL tabulā tiek, tad nepieciešams veikt datu konvertāciju izmantojot veidni, kas jāievieto datu plūsmas vidū. Piemēram, kļūdu gadījumos tiek reģistrēts laiks, kuru nepieciešams konvertēt.

Tāpat šeit varētu definēt arī, piemēram, citādākus garumus maksimālajam simbolu virknes garumam, taču mūsu gadījumā datu bāzē ir atstāti garumi 50 simbolu virkņu garumā.

Page 35: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

35

Pēc tam, kad konvērtācija ir definēta, nepieciešams definēt, kā tiks kartētas kolonas. Kā redzams konvertēšana izveido papildus kolonas, līdz ar to konvertācijas veidnē nebija nepieciešams aprakstīt visas kolonas, bet gan tikai tās, kurās konvertācija nepieciešama.

Pēc apstiprinājuma ir redzama kļūda, ka nevar tik konvertētas simbolu virknes, jo avotā ir ne Unicode simbolu kodējums, taču SQL datu bāzē simbolu virknes tiek kodētas Unicode kodējumā. Lai to labotu, nepieciešams papildus veikt simbolu virkņu konvertēšanu.

Page 36: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

36

Tagad kļūdas vairs nav redzamas.

Page 37: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

37

3.5.2. 1:1 datu konvertēšana

Līdzīgi kā kļūdu tabulu, jāaizpilda 1:1 ir arī tādas tabulas kā veiktie pirkumi, mārketinga materiāli, sūtītie epasti. Tajos ir kolonas, kuru tipu jāmaina uz Unicode simbolu virknēm, decimālu skaitļa tipu, datuma tipu.

3.5.3. Klientu datu konvertēšana

--->

Šajā gadījumā tiek pievienotas papildus kolonas (Registrēts un ParolesHash). Laukam Reģistrēts būtu jāaizpildās ar vērtību “Nepatiess”, taču laukam ParolesHash būtu jāpaliek tukšam. Tāpat kolonas Uzvārds, vārds un Adrese tiek dalīta daļās.

Page 38: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

38

Lai pievienotu papildus kolonas un veiktu manipulācijas ar datiem, jāizmanto veidne Derived Column Transformation. Tās ieejas dati ir dati no datu avota (Excel tabulas) un izejas dati tiek nodoti tālāk rezultāta tabulā.

Veidojot datu transformācijas, jāveido funkcijas. Piemēram, lai sadalītu Uzvārds, vārds kolonu divās kolonnās, tika izveidotas divas jaunas kolonnas, kuras dati tiek iegūti no kopīgās kolonnas, uzvārda kolonā ievietojot lauka pirmo daļu pirms komata, bet vārda kolonā ievietojot lauka otro daļu pēc komata.

SUBSTRING([Uzvārds, vārds],1,FINDSTRING([Uzvārds, vārds], ",", 1))

SUBSTRING([Uzvārds, vārds],FINDSTRING([Uzvārds, vārds], ",", 1)+2, LEN([Uzvārds, vārds]) - FINDSTRING([Uzvārds, vārds], ",", 1) -2)

Līdzīgi var izveidot jaunas kolonnas ar definētiem datiem, piemēram, ParolesHash lauku aizpildot ar NULL, Registrēts laukus aizpildot ar “0”.

NULL(DT_WSTR, 50)

0

Page 39: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

39

3.5.4. Saistītu datu pārvietošana

Saistītu datu izgūšana no SQL datu bāzes un pārvietošana saistītās tabulās visieteicamākais būtu 1:1 datu pārvietošana, atstājot tās pašas primāro atslēgu un ārējo atslēgu vērtības. Pēc tam, kad datu bāzi izmantos jaunā sistēma, tā varēs norādīt primārās atslēgas ar lielākām vērtībām (izvēloties jaunu pamata vērtību), kas neradīs konfliktus primārās atslēgas vērtības ģenerēšanas procesā. Otrs variants būtu izmantot veidnes Merge Join un OLE DB Command, lai sākumā visus datus apvienotu un ar SQL komandu palīdzību datus ievietotu jaunajās tabulās, kurās primārās atslēgas tad ģenerēsies pašas, taču šāda procesa izplānošana, implementācija un realizācija ir daudz sarežģītāka un neparedzamāka.

3.5.5. Papildus veidņu izmantošana

Priekšmeta ietvaros semināra laikā tika demonstrēta citu veidņu izmantošana. Semināra laikā tika parādītas veidnes, kuras ir tipiskas datu noliktavu veidošanā (pārskatu veidošanā). Šīs veidnes ir:

Aggregate ļauj veikt datu agregāciju pēc konkrētiem laukiem un izmantot agregācijas funkcijas, piemēram, COUNT, AVERAGE, MAX, SUM un citas.

Multicast ļauj datu plūsmas kopēt.

Conditional Split ļauj datu plūsmu sadalīt, balstoties uz konkrētu nosacījumu (kāda lauka vērtību).

Page 40: PROBLĒMSFĒRAS APRAKSTS - …€¦  · Web viewMārketinga nodaļa datus glabā Excel tabulās. Pirmkārt, tiek glabāta informācija par cilvēkiem, kas ir atstājuši savu kontaktinformāciju

40

SECINĀJUMI

Darba ietvaros tika izdomāta problēmsfēra, kura tika aprakstīta ar nelielu uzņēmumu, kas plāno paplašināties un izstrādā jaunu IT sistēmu. Jaunajā IT sistēmā plānots iekļaut eksistējošos datus, kā arī to izmantot pārskatu veidošanai. Sākotnēji tiek izvēlēti 3 datu avoti – teksta faili, Excel tabulas, kā arī SQL datu bāze. Dati no tiem tiek pārvietoti uz mākoņpakalpojumā Azure izveidotu SQL datu bāzi.

Tika apskatīts rīks SSIS (Microsoft SQL Server Integration Services), kas ļauj izstrādāt datu pārvietošanas risinājumus. Tika apskatītas dažas tipiskas problēmas, kas jāatrisina ar SSIS rīku, lai nodrošinātu datu pārvietošanu – kā pārveidot datu tipus, kā sadalīt kolonas, kā ģenerēt jaunas kolonas, kā aizpildīt saistītas tabulas.

Tāpat semināra ietvaros tika apskatītas arī citas veidnes datu agregācijai un datu plūsmas sadalīšanai/kopēšanai.

SSIS rīks piedāvā ļoti plašas iespējas integrācijas risinājumu veidošanai. Tāpat jaunākās versijas ļauj veikt datizraces operācijas ar atsevišķu veidņu palīdzību. No lietotāju perspektīvas rīks bija ļoti vienkārši izprotams. Protams nācās pavadīt laiku mācoties saprast kā strādā dažādas veidnes un kā realizēt konkrētas problēmas.

Sākotnēji uzdevums bija jāveic komandās (pa diviem cilvēkiem), taču dažādu apstākļu dēļ beigās darbu izstrādāju viens un ieguldīju ļoti daudz laika tā izveidošanā. Darba ietvaros sastapos ar daudz un dažādām problēmām, kā arī sanāca izpētīt dažādas SSIS izmantošanas iespējas, kas, manuprāt, ļoti noderēs mana darba ikdienā.