20
1 Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera. 2. Otvorite novi prozor upita klikom na ikonu ili prečicom CTRL + N. 3. Iz padajućeg menija sa bazama odaberite AdventureWorksDW2012 bazu podataka. Meni se nalazi u gornjem levom uglu. 4. U Object Explorer-u, proširite karticu Databases, zatim proširite AdventureWorksDW2012 bazu. Desni klik na opciju Database Diagrams, New Database Diagram. Slika 1. Kreiranje dijagrama Ukoliko do sada nije korišćena ova opcija, iskočiće upozorenje da baza podataka ne sadrži potrebne objekte za kreiranje dijagrama. Klikom na yes, SSMS dodaje objekte koji nedostaju. 5. Sledeći korak je odabir tabela koje želimo da prikažemo na dijagramu.

Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

1

Vežba 1

Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom

1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera.

2. Otvorite novi prozor upita klikom na ikonu ili prečicom CTRL + N.

3. Iz padajućeg menija sa bazama odaberite AdventureWorksDW2012 bazu podataka. Meni se nalazi u

gornjem levom uglu.

4. U Object Explorer-u, proširite karticu Databases, zatim proširite AdventureWorksDW2012 bazu.

Desni klik na opciju Database Diagrams, New Database Diagram.

Slika 1. Kreiranje dijagrama

Ukoliko do sada nije korišćena ova opcija, iskočiće upozorenje da baza podataka ne sadrži potrebne

objekte za kreiranje dijagrama. Klikom na yes, SSMS dodaje objekte koji nedostaju.

5. Sledeći korak je odabir tabela koje želimo da prikažemo na dijagramu.

Page 2: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

2

Slika 2. Odabir tabela za kreiranje dijagrama

Odaberite sledeće tabele (klik na naziv tabele i add za dodavanje pojednične tabele, ili selektujte vise

željenih tabela kombinacijom tastera CTRL + levi klik):

DimCustomer

DimDate

DimGeography

DimProduct

DimProductCategory

DimProductSubcategory

FactInternetSales

Nakon potvrde, dijagram bi trebalo da izgleda kao na slici 3.

Page 3: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

3

Slika 3. Dijagram InternetSales

4. Analizirajte tabele, kolone i veze između tabela.

5. Sačuvajte dijagram kombinacijom tastera CTLR + S sa nazivom Cas_1_InternetSales.

Page 4: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

4

Zadatak 2: Upoznavanje sa AdventureWorksDW2012 dimenzijama

U ovoj vežbi kreiramo dijagram za tabele dimenzija.

1. Ukoliko ste zatvorili SSMS, pokrenite ponovo i konektujte se na default SQL Server instancu.

2. Desni klik na opciju Database Diagrams, New Database Diagram.

3. Sa opcije Add Table, odaberite sledeće tabele:

DimProduct

DimProductCategory

DimProductSubcategory

Dijagram bi trebalo da izgleda kao na slici.

Slika 4. Dijagram Dimensions

4. Sačuvajte dijagram kombinacijom tastera CTLR + S sa nazivom Cas_1_Dimensions.

Page 5: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

5

Zadatak 3: Upoznavanje sa AdventureWorksDW2012 fakt tabelama

U ovoj vežbi kreiramo dijagram za fakt tabele.

1. Ukoliko ste zatvorili SSMS, pokrenite ponovo i konektujte se na default SQL Server instancu.

2. Desni klik na opciju Database Diagrams, New Database Diagram.

3. Sa opcije Add Table, odaberite sledeće tabele:

DimProduct

DimDate

FactProductInventory

Dijagram bi trebalo da izgleda kao na slici.

Slika 5. Dijagram ProductInventory

4. Sačuvajte dijagram kombinacijom tastera CTLR + S sa nazivom Cas_1_ ProductInventory.

Page 6: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

6

Zadatak 4: Kreiranje baze za “skladište podataka” (Data Warehouse) i sekvence

1. Ukoliko ste zatvorili SSMS, pokrenite ponovo i konektujte se na default SQL Server instancu. Otvorite

novi prozor upita klikom na ikonu ili prečicom CTRL + N.

2. U sledećem koraku potrebno je napraviti novu bazu podataka koja će se zvati TK463DW.

Kod za kreiranje baze se nalazi u sledećem koraku.

USE master; IF DB_ID('TK463DW') IS NOT NULL DROP DATABASE TK463DW; GO CREATE DATABASE TK463DW ON PRIMARY (NAME = N'TK463DW', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\TK463DW.mdf', SIZE = 307200KB , FILEGROWTH = 10240KB ) LOG ON (NAME = N'TK463DW_log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\TK463DW_log.ldf', SIZE = 51200KB , FILEGROWTH = 10%); GO ALTER DATABASE TK463DW SET RECOVERY SIMPLE WITH NO_WAIT; GO

3. U okviru baze TK463DW, kreiramo sekvencu (objekat u bazi koji generiše niz numeričkih vrednosti

prema specifikaciji koja se zadaje prilikom kreiranja sekvence). Nazvacemo je SeqCustomerDwKey. U

deljem tekstu vežbe dat je kod za kreitanje sekvence.

USE TK463DW; GO IF OBJECT_ID('dbo.SeqCustomerDwKey','SO') IS NOT NULL DROP SEQUENCE dbo.SeqCustomerDwKey; GO CREATE SEQUENCE dbo.SeqCustomerDwKey AS INT START WITH 1 INCREMENT BY 1; GO

Page 7: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

7

Zadatak 5: Kreiranje tabela Dimenzija

1. Napraviti tabelu Customers.

Koristite sledeće podatke kako biste kreirali tabelu.

Column name Data type Nullability

CustomerDwKey INT NOT NULL

CustomerKey INT NOT NULL

FullName NVARCHAR(150) NULL

EmailAddress NVARCHAR(50) NULL

BirthDate DATE NULL

MaritalStatus NCHAR(1) NULL

Gender NCHAR(1) NULL

Education NVARCHAR(40) NULL

Occupation NVARCHAR(100) NULL

City NVARCHAR(30) NULL

StateProvince NVARCHAR(50) NULL

CountryRegion NVARCHAR(50) NULL

Age Inherited Inherited

CurrentFlag BIT NOT NULL

Kod za kreiranje tabele Customers:

CREATE TABLE dbo.Customers ( CustomerDwKey INT NOT NULL, CustomerKey INT NOT NULL, FullName NVARCHAR(150) NULL, EmailAddress NVARCHAR(50) NULL, BirthDate DATE NULL, MaritalStatus NCHAR(1) NULL, Gender NCHAR(1) NULL, Education NVARCHAR(40) NULL, Occupation NVARCHAR(100) NULL, City NVARCHAR(30) NULL, StateProvince NVARCHAR(50) NULL, CountryRegion NVARCHAR(50) NULL, Age AS CASE WHEN DATEDIFF(yy, BirthDate, CURRENT_TIMESTAMP) <= 40 THEN 'Younger' WHEN DATEDIFF(yy, BirthDate, CURRENT_TIMESTAMP) > 50 THEN 'Older' ELSE 'Middle Age' END, CurrentFlag BIT NOT NULL DEFAULT 1, CONSTRAINT PK_Customers PRIMARY KEY (CustomerDwKey) ); GO

Page 8: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

8

2. Napraviti tabelu Products.

Koristite sledeće podatke kako biste kreirali tabelu.

Column name Data type Nullability

ProductKey INT NOT NULL

ProductName NVARCHAR(50) NULL

Color NVARCHAR(15) NULL

Size NVARCHAR(50) NULL

SubcategoryName NVARCHAR(50) NULL

CategoryName NVARCHAR(50) NULL

Kod za kreiranje tabele Products:

CREATE TABLE dbo.Products ( ProductKey INT NOT NULL, ProductName NVARCHAR(50) NULL, Color NVARCHAR(15) NULL, Size NVARCHAR(50) NULL, SubcategoryName NVARCHAR(50) NULL, CategoryName NVARCHAR(50) NULL, CONSTRAINT PK_Products PRIMARY KEY (ProductKey) ); GO

3. Napraviti tabelu Dates.

Koristite sledeće podatke kako biste kreirali tabelu.

Column name Data type Nullability

DateKey INT NOT NULL

FullDate DATE NOT NULL

MonthNumberName NVARCHAR(15) NULL

CalendarQuarter TINYINT NULL

CalendarYear SMALLINT NULL

Kod za kreiranje tabele Dates:

CREATE TABLE dbo.Dates ( DateKey INT NOT NULL, FullDate DATE NOT NULL, MonthNumberName NVARCHAR(15) NULL, CalendarQuarter TINYINT NULL, CalendarYear SMALLINT NULL, CONSTRAINT PK_Dates PRIMARY KEY (DateKey) ); GO

Page 9: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

9

Zadatak 6: KreiranjeFakt tabela

U uprošćenoj verziji jednog skladišta podataka, kreiraćemo jednu fakt tabelu.

1. Napraviti InternetSales fakt tabelu. Ova tabela je ista kao i fakt tabela FactInternetSales u

AdventureWorksDW2012 bazi.

Koristite sledeće podatke kako biste kreirali tabelu.

Column name Data type Nullability

InternetSalesKey INT NOT NULL

CustomerDwKey INT NOT NULL

ProductKey INT NOT NULL

DateKey INT NOT NULL

OrderQuantity SMALLINT NOT NULL

SalesAmount MONEY NOT NULL

UnitPrice MONEY NOT NULL

DiscountAmount FLOAT NOT NULL

Kod za kreiranje tabele InternetSales:

CREATE TABLE dbo.InternetSales ( InternetSalesKey INT NOT NULL IDENTITY(1,1), CustomerDwKey INT NOT NULL, ProductKey INT NOT NULL, DateKey INT NOT NULL, OrderQuantity SMALLINT NOT NULL DEFAULT 0, SalesAmount MONEY NOT NULL DEFAULT 0, UnitPrice MONEY NOT NULL DEFAULT 0, DiscountAmount FLOAT NOT NULL DEFAULT 0, CONSTRAINT PK_InternetSales PRIMARY KEY (InternetSalesKey) ); GO

2. Povezati fakt tabelu InternetSales sa tabelama dimenzija, koje smo kreirali u prethodnoj vežbi

kreiranjem spoljnih ključeva (FOREIGN KEY).

Kod za ove izmene:

ALTER TABLE dbo.InternetSales ADD CONSTRAINT FK_InternetSales_Customers FOREIGN KEY(CustomerDwKey) REFERENCES dbo.Customers (CustomerDwKey); ALTER TABLE dbo.InternetSales ADD CONSTRAINT FK_InternetSales_Products FOREIGN KEY(ProductKey) REFERENCES dbo.Products (ProductKey); ALTER TABLE dbo.InternetSales ADD CONSTRAINT FK_InternetSales_Dates FOREIGN KEY(DateKey) REFERENCES dbo.Dates (DateKey); GO

Page 10: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

10

3. Kako bismo proverili da smo dobro napravili tabele i veze između tabela, napravićemo dijagram, u koji

ćemo dodati četiri tabele iz baze TK463DW.

Sačuvajte dijagram kombinacijom tastera CTLR + S sa nazivom Cas_1_InternetSalesDW.

Dijagram bi trebalo da izgleda kao na slici.

Slika 6. Dijagram InternetSalesDW

Zadatak 7: Unošenje podataka u tabele

1. Ukoliko ste zatvorili SSMS, pokrenite ponovo i konektujte se na default SQL Server instancu . Otvorite

novi prozor upita klikom na ikonu ili prečicom CTRL + N.

2. Odaberite TK463DW bazu i izvršite sledeći kod za dodavanje podataka u Customers tabelu.

INSERT INTO dbo.Customers (CustomerDwKey, CustomerKey, FullName, EmailAddress, BirthDate, MaritalStatus, Gender, Education, Occupation, City, StateProvince, CountryRegion) SELECT NEXT VALUE FOR dbo.SeqCustomerDwKey AS CustomerDwKey, C.CustomerKey, C.FirstName + ' ' + C.LastName AS FullName, C.EmailAddress, C.BirthDate, C.MaritalStatus, C.Gender, C.EnglishEducation, C.EnglishOccupation, G.City, G.StateProvinceName, G.EnglishCountryRegionName FROM AdventureWorksDW2012.dbo.DimCustomer AS C INNER JOIN AdventureWorksDW2012.dbo.DimGeography AS G ON C.GeographyKey = G.GeographyKey; GO

Page 11: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

11

3. Izvršite sledeći kod za dodavanje podataka u Products tabelu.

INSERT INTO dbo.Products (ProductKey, ProductName, Color, Size, SubcategoryName, CategoryName) SELECT P.ProductKey, P.EnglishProductName, P.Color, P.Size, S.EnglishProductSubcategoryName, C.EnglishProductCategoryName FROM AdventureWorksDW2012.dbo.DimProduct AS P INNER JOIN AdventureWorksDW2012.dbo.DimProductSubcategory AS S ON P.ProductSubcategoryKey = S.ProductSubcategoryKey INNER JOIN AdventureWorksDW2012.dbo.DimProductCategory AS C ON S.ProductCategoryKey = C.ProductCategoryKey; GO

4. Izvršite sledeći kod za dodavanje podataka u Dates tabelu.

INSERT INTO dbo.Dates (DateKey, FullDate, MonthNumberName, CalendarQuarter, CalendarYear) SELECT DateKey, FullDateAlternateKey, SUBSTRING(CONVERT(CHAR(8), FullDateAlternateKey, 112), 5, 2) + ' ' + EnglishMonthName, CalendarQuarter, CalendarYear FROM AdventureWorksDW2012.dbo.DimDate; GO

5. Izvršite sledeći kod za dodavanje podataka u InternetSales tabelu.

INSERT INTO dbo.InternetSales (CustomerDwKey, ProductKey, DateKey, OrderQuantity, SalesAmount, UnitPrice, DiscountAmount) SELECT C.CustomerDwKey, FIS.ProductKey, FIS.OrderDateKey, FIS.OrderQuantity, FIS.SalesAmount, FIS.UnitPrice, FIS.DiscountAmount FROM AdventureWorksDW2012.dbo.FactInternetSales AS FIS INNER JOIN dbo.Customers AS C ON FIS.CustomerKey = C.CustomerKey; GO

Page 12: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

12

Zadatak 8: Prebacivanje podataka iz jedne baze u drugu

1. Pokrenite deo za import podataka (desni klik na bazu TK463DW → Tasks → Import Data…)

Slika 7. Import podataka

2. Na početnoj strani za import i export podataka (SQL Server Import and Export Wizard), kliknite na

dugme Next.

3. Na sledećem ekranu se bira baza iz koje će se prebacivati podaci. Ukoliko opcija Server name nije

popunjena, potrebno je uneti naziv instance na kojoj se nalazi baza ili uneti tačku kako bi SSMS sam

pronasao default instancu.

Za opciju Database odaberite bazu AdventureWorksDW2012.

Na slici 8 je prikazana ispravno urađena treća stavka vežbe.

Page 13: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

13

Slika 8. Odabir baze iz koje se prebacuju podaci

Kliknite na Next.

4. Sledeći ekran predstavlja odabir baze na koju se prebacuju podaci. Ukoliko opcija Server name nije

popunjena, potrebno je uneti naziv instance na kojoj se nalazi baza ili uneti tačku kako bi SSMS sam

pronašao default instancu.

Za opciju Database odaberite bazu TK463DW.

Na slici 9 je prikazana ispravno urađena četvrta stavka vežbe.

Page 14: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

14

Slika 9. Odabir baze u koju se prebacuju podaci

Kliknite na Next.

Page 15: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

15

5. Na sledećem ekranu možemo odabrati da li želimo da podatke izvlačimo uz pomoć već postojećih

objekata iz baze ili uz pomoć upita. U ovom primeru čekiraćemo drugu opciju (Write a query to specify

the data to transfer), a zatim kliknite na dugme Next.

Slika 10. Biranje načina za import podataka

Page 16: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

16

6. Na sledećem ekranu unesite sledeći kod:

SELECT C.CustomerDwKey, FIS.ProductKey, FIS.OrderDateKey as DateKey, FIS.OrderQuantity, FIS.SalesAmount, FIS.UnitPrice, FIS.DiscountAmount FROM AdventureWorksDW2012.dbo.FactInternetSales AS FIS INNER JOIN TK463DW.dbo.Customers AS C ON FIS.CustomerKey = C.CustomerKey;

Ekran sa ispravno unetim kodom izgleda kao na slici.

Slika 11. Ispravno popunjen ekran sa kodom za import podataka

Kliknite na Next.

Page 17: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

17

7. U sledećem koraku je potrebno promeniti destination na tabelu dbo.InternetSales. Ovom izmenom

se SQL Server Import and Export Wizard-u govori da podatke iz prve baze unese u tabelu

dbo.InternetSales.

Slika 12. Biranje destination tabele za import

Klikom na dugme Edit Mappings otvara se prozor za povezivanje kolona. Na slici 13 se vidi da je SQL

Server Import and Export Wizard ispravno povezao kolone iz upita i tabele u koju će se podaci uneti.

Page 18: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

18

Slika 13. Mapiranje source i destination kolona

Kliknite na dugme OK kako biste zatvorili prozor Column Mappings i kliknite na Next.

8. Na sledećem koraku, koji je prikazan na slici 14, možete odabrati da li želite da pokrenete import

podataka odmah, ili da sačuvate paket, kako biste ga izvršili kasnije, ili obe opcije. Ostavićemo default

opciju (Run immediately).

Slika 14. Čuvanje i pokretanje importa

Page 19: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

19

Kliknite na Next.

9. Na sledećem ekranu, kako biste pokrenuli import podataka, kliknite na Finish.

Slika 15. Pokretanje importa

10. Nakon pokretanja otvoriće se automatski prozor za import. Ukoliko je sve u redu, na istom ekranu

ćete dobiti povratnu informaciju o uspešnosti import-a.

Page 20: Vežba 1 - bpa.edu.rs Vežba 1 Zadatak 1: Upoznavanje sa AdventureWorksDW2012 bazom 1. Pokrenite SQL Server Management Studio (SSMS) i konektujte se na lokalnu instancu SQL servera

20

Slika 16. Uspešno završen import podataka

11. Klikom na dugme Close zatvarate SQL Server Import and Export Wizard.

NAPOMENA:

U sklopu foldera za prvu vežbu nalazi se i kod za celu vežbu.