4.11.2013/18.11.2013
Tzw. eksploracja danych i wyznaczanie statystyk wielowymiarowych za pomocą zagnieżdżonych
zapytań:
1) Uruchomić przykład statystyk w układzie (kategorie -lata).
2) Zmodyfikować przykład tak by wyświetlał dane dla miesięcy
3) Karkołomne zadanie domowe : (2013 zmiana). Zamienić wiersze i kolumny! Teraz w
wierszach mają być lata a w kolumnach kategorie(dotyczy kategorie lata nie miesiące).
Wskazówka: umiejętnie posłużyć się schowkiem. Na zajęciach spróbować uzyskać wynik dla
dwóch kolumn. Potem już z górki.
4) Rozważyć ogólny przypadek statystyki dwuwymiarowej.
5) Statystyka kraj (country) z tabeli Customers wiersze i regiony dla klientów
6) Zapoznać się z funkcją raport tabeli przestawnej w arkuszu kalkulacyjnym.
7) Powtórka z zapytań SQL (złączenie i grupowanie) – baza CJDate
a. Sumaryczne wartości (QTY) dla dostawców z Londynu
b. Sumaryczne wartości dla unikalnych par miasto dostawcy miasto odbiorcy
c. (premiowane) Wypisać unikalne pary miast dostawca (S) odbiorca (J). Jest ich 15.
Wierszy uzyskanych w punkcje b jest 11 – wiadomo dlaczego. Zmodyfikować
zapytanie w taki sposób żeby brakujące 4 pary też się pojawiły z wartością 0. (super
premiowane) Uzyskać ten sam efekt posługując się tylko złączeniami (wskazówka –
użyć outer join) – było na wykładzie o anti-semijoin.
d. Sumaryczny ciężar (QTY*WEIGTH) dla miast odbiorców
e. Liczba części dostarczanych przez poszczególnych dostawców (S)
f. Dostawcy dostarczający większą od przeciętnej liczbę części
g. Liczba dostawców dostarczających poszczególne części
8) Zapoznać się z prostymi przykładami programów w języku c#, ze szczególnym
uwzględnieniem programowania aplikacji baz danych.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
OleDbConnection conn = new
OleDbConnection(@"Provider=SQLNCLI.1;Data Source=MIROSŁAW-
PC\SQLEXPRESS;Integrated Security=SSPI");
conn.Open();
conn.Close();
}
}
Uwaga: Postać parametru konstruktora OleDbConnection tzw. ConnectionString zależy od typu sterownika oraz od konkretnego serwera SQL. Znaleźć w Google różne postaci tego parametru. W lab.111 nie ma sterownika dla OleDB (stan na 17.10.2011) dlatego należy posłużyć się klasą SQLConnection.
Przykład:
SqlConnection conn = new SqlConnection(@"Data Source=p10;Integrated Security=SSPI;
Initial Catalog=Northwind");
Nieco bardziej złożony przykład.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
OleDbConnection conn = new
OleDbConnection(@"Provider=SQLNCLI.1;Data Source=MIROSŁAW-
PC\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=Northwind");
conn.Open();
OleDbCommand cmd = new OleDbCommand("select * from
Employees",conn);
Console.WriteLine("Employees");
OleDbDataReader rdr=
cmd.ExecuteReader();
while (rdr.Read())
{
for (int i = 0; i < rdr.FieldCount; i++)
{
Console.Write(rdr.GetValue(i).ToString());
Console.Write("\t");
}
}
conn.Close();
}
}
}
9) Zaimplementować przykład connectDS w języku C#. (Zadanie dodatkowo premiowane)
Zaimplementować rozwiązanie zadania 13 z zestawu 2. Samodzielnie znaleźć opis funkcji
ExecuteScalar. Objaśnić jej przydatność w rozwiązaniu zadania 2/13 wykorzystującego język C# i ADO.NET.