5.11.2012
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 : zamienić wiersze i kolumny! Teraz w wierszach mają być lata a w kolumnach kategorie. 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. Sumaryczny ciężar (QTY*WEIGTH) dla miast odbiorców
d. Liczba części dostarczanych przez poszczególnych dostawców (S)
e. Dostawcy dostarczający większą od przeciętnej liczbę części
f. Liczba dostawców dostarczających poszczególne części
8) Zadanie domowe: 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();
}
}
}