Projektant zapytań relacyjnych (program PowerPivot)
Projektant zapytań relacyjnych ułatwia tworzenie zapytania określającego dane do pobrania z relacyjnych baz danych programów Microsoft SQL Server i Microsoft Baza danych SQL oraz programu Microsoft SQL Server Parallel Data Warehouse. Graficzny projektant zapytań umożliwia eksplorowanie metadanych, interakcyjne tworzenie zapytania i wyświetlanie wyników zapytania. Tekstowy projektant zapytań służy do wyświetlania zapytania utworzonego w graficznym projektancie zapytań lub modyfikowania go. Można także zaimportować istniejące zapytanie z pliku lub raportu.
W zależności od preferencji można także napisać zapytanie w języku SQL, używając edytora tekstowego. Aby przełączyć się do tekstowego projektanta zapytań, na pasku narzędzi należy kliknąć przycisk Edytuj jako tekst. Po edytowaniu zapytania w tekstowym projektancie zapytań nie można już używać graficznego projektanta zapytań.
[!UWAGA]
Aby określić zapytanie dla źródła danych typu Microsoft Access, Oracle, OLE DB, ODBC lub Teradata, należy użyć tekstowego projektanta zapytań.
Uwaga dotycząca zabezpieczeń |
---|
Podczas tworzenia i uruchamiania zapytań użytkownicy uzyskują dostęp do źródeł danych. Należy im udzielać minimalnych uprawnień do źródeł danych, na przykład tylko do odczytu. |
Graficzny projektant zapytań
W graficznym projektancie zapytań można eksplorować tabele i widoki bazy danych oraz interakcyjnie tworzyć instrukcje SELECT języka SQL określające tabele i kolumny bazy danych, z których będą pobierane dane do zestawu danych. Należy wybrać pola, które mają zostać uwzględnione w zestawie danych, i opcjonalnie określić filtry ograniczające ilość danych w zestawie danych. Można określić, że filtry mają być używane jako parametry, i podawać wartość filtru w czasie wykonywania. W przypadku wybrania wielu tabel projektant zapytań opisuje relację między zestawami dwóch tabel.
Graficzny projektant zapytań jest podzielony na trzy obszary. Układ projektanta zapytań zależy od tego, czy w zapytaniu są używane tabele/widoki, czy procedury składowane/funkcje z wartościami przechowywanymi w tabeli.
[!UWAGA]
Program SQL Server Parallel Data Warehouse nie obsługuje procedur składowanych ani funkcji z wartościami przechowywanymi w tabelach.
Na poniższej ilustracji pokazano graficznego projektanta zapytań w sytuacji, gdy jest on używany z tabelami lub widokami.
Na poniższej ilustracji pokazano graficznego projektanta zapytań w przypadku, gdy jest on używany z procedurami składowanymi/funkcjami z wartościami przechowywanymi w tabeli.
W poniższej tabeli opisano funkcje każdego okienka.
Okienko |
Funkcja |
---|---|
Widok bazy danych |
Umożliwia wyświetlanie hierarchicznego widoku tabel, widoków, procedur składowanych i funkcji z wartościami przechowywanymi w tabeli, które są zorganizowane zgodnie ze schematem bazy danych. |
Wybrane pola |
Wyświetla listę nazw pól bazy danych z elementów zaznaczonych w okienku Widok bazy danych. Te pola stają się kolekcją pól zestawu danych. |
Parametry funkcji |
Wyświetla listę parametrów wejściowych dla procedur składowanych lub funkcji z wartościami przechowywanymi w tabeli w okienku Widok bazy danych. |
Relacje |
Wyświetla listę relacji, które są wnioskowane na podstawie pól wybranych dla tabel lub widoków w okienku Widok bazy danych, lub relacji utworzonych ręcznie. |
Zastosowane filtry |
Wyświetla listę pól i kryteriów filtrowania dla tabel lub widoków w okienku Widok bazy danych. |
Wyniki zapytania |
Wyświetla przykładowe dane dla zestawu wyników automatycznie wygenerowanego zapytania. |
Okienko Widok bazy danych
W okienku Widok bazy danych są wyświetlane metadane dotyczące obiektów bazy danych, do których użytkownik ma uprawnienia wyświetlania, ustalane na podstawie połączenia ze źródłem danych i poświadczeń. Obiekty bazy danych, zorganizowane według schematu bazy danych, są wyświetlane w widoku hierarchicznym. Rozwijając węzeł każdego schematu, można wyświetlić tabele, widoki, procedury składowane i funkcje z wartościami przechowywanymi w tabeli. Rozwinięcie tabeli lub widoku umożliwia wyświetlanie kolumn.
Okienko Wybrane pola
W okienku Wybrane pola są wyświetlane pola z zestawu danych oraz grupy i agregacje, które mają zostać uwzględnione w zapytaniu.
Wyświetlane są następujące opcje:
Wybrane pola. Wyświetla pola bazy danych wybrane dla tabel lub widoków albo parametry wejściowe procedur składowanych lub funkcji z wartościami przechowywanymi w tabeli. Pola, które są wyświetlane w tym okienku, stają się kolekcją pól zestawu danych.
Okienko Dane raportu służy do wyświetlania kolekcji pól zestawu danych.
Grupuj i agreguj. Przełącza używanie grupowania i agregacji w zapytaniu. Wyłączenie funkcji grupowania i agregowania po dodaniu grupowania i agregacji spowoduje usunięcie ich. Tekst (brak) wskazuje, że nie są używane grupowania i agregacje. Ponowne włączenie funkcji grupowania i agregowania spowoduje przywrócenie określonego uprzednio grupowania i agregacji.
Usuń pole. Usuwa zaznaczone pole.
Grupowanie i agregowanie
Zapytania wykonywane w bazach danych zawierających duże tabele mogą zwrócić zbyt wiele wierszy danych, aby można ich było użyć, a ponadto mogą mieć negatywy wpływ na wydajność sieci z powodu konieczności przesyłania ogromnych ilości danych. Aby ograniczyć liczbę wierszy danych, można umieścić w zapytaniu SQL agregacje służące do podsumowywania danych na serwerze bazy danych.
Agregacje dostarczają podsumowania danych, a dane są grupowane w celu obsługi agregacji dostarczającej dane podsumowania. Gdy w zapytaniu jest używana agregacja, inne pola zwracane przez zapytanie są automatycznie grupowane, a zapytanie zawiera klauzulę GROUP BY języka SQL. Dane można podsumować bez użycia agregacji, używając tylko opcji Zgrupowane wg na liście Grupuj i agreguj. Wiele agregacji zawiera wersję, w której jest używane słowo kluczowe DISTINCT. Dołączenie słowa kluczowego DISTINCT powoduje eliminację zduplikowanych wartości.
W programie Microsoft SQL Server jest używany język Język Transact-SQL, a w programie Microsoft SQL Server Parallel Data Warehouse — SQL. Oba te języki są dialektami języka SQL i obsługują klauzule, słowa kluczowe oraz agregacje dostarczane przez projektanta zapytań.
Aby uzyskać więcej informacji dotyczących języka Język Transact-SQL, zobacz temat Transact-SQL Reference (Database Engine) w dokumentacji SQL Server — książki online w witrynie msdn.microsoft.com.
W poniższej tabeli przedstawiono listę agregacji wraz z krótkimi opisami.
Agregacja |
Opis |
---|---|
Avg |
Zwraca średnią wartości w grupie. Implementuje agregację AVG języka SQL. |
Count |
Zwraca liczbę elementów w grupie. Implementuje agregację COUNT języka SQL. |
Count Big |
Zwraca liczbę elementów w grupie. Odpowiada agregacji COUNT_BIG języka SQL. Różnica między agregacjami COUNT i COUNT_BIG jest taka, że agregacja COUNT_BIG zawsze zwraca wartość mającą typ danych bigint. |
Min |
Zwraca wartość minimalną w grupie. Implementuje agregację MIN języka SQL. |
Max |
Zwraca wartość maksymalną w grupie. Implementuje agregację MAX języka SQL. |
StDev |
Zwraca statystyczne odchylenie standardowe wszystkich wartości w grupie. Implementuje agregację STDEV języka SQL. |
StDevP |
Zwraca statystyczne odchylenie standardowe populacji wszystkich wartości w grupie określonej przez wyrażenie. Implementuje agregację STDEVP języka SQL. |
Sum |
Zwraca sumę wszystkich wartości w grupie. Implementuje agregację SUM języka SQL. |
Var |
Zwraca statystyczną wariancję wszystkich wartości w grupie. Implementuje agregację VAR języka SQL. |
VarP |
Zwraca statystyczną wariancję populacji wszystkich wartości w grupie. Implementuje agregację VARP języka SQL. |
Avg Distinct |
Zwraca unikatowe średnie. Implementuje kombinację agregacji AVG i słowa kluczowego DISTINCT. |
Count Distinct |
Zwraca unikatowe liczebności. Implementuje kombinację agregacji COUNT i słowa kluczowego DISTINCT. |
Count Big Distinct |
Zwraca unikatową liczebność elementów w grupie. Implementuje kombinację agregacji COUNT_BIG i słowa kluczowego DISTINCT. |
StDev Distinct |
Zwraca unikatowe statystyczne odchylenia standardowe. Implementuje kombinację agregacji STDEV i słowa kluczowego DISTINCT. |
StDevP Distinct |
Zwraca unikatowe statystyczne odchylenia standardowe. Implementuje kombinację agregacji STDEVP i słowa kluczowego DISTINCT. |
Sum Distinct |
Zwraca unikatowe sumy. Implementuje kombinację agregacji SUM i słowa kluczowego DISTINCT. |
Var Distinct |
Zwraca unikatowe statystyczne wariancje. Implementuje kombinację agregacji VAR i słowa kluczowego DISTINCT. |
VarP Distinct |
Zwraca unikatowe statystyczne wariancje. Implementuje kombinację agregacji VARP i słowa kluczowego DISTINCT. |
Okienko Parametry funkcji
W okienku Parametry funkcji są wyświetlane parametry procedury składowanej lub funkcji z wartościami przechowywanymi w tabeli. Są wyświetlane następujące kolumny:
**Nazwa parametru **Wyświetla nazwę parametru zdefiniowanego przez procedurę składowaną lub funkcję z wartościami przechowywanymi w tabeli.
Wartość Wartość, która będzie używana dla parametru, gdy w czasie projektowania zapytanie zostanie uruchomione w celu pobrania danych do wyświetlenia w okienku Wyniki zapytania. Ta wartość nie jest używana w czasie wykonywania.
Okienko Relacje
W okienku Relacje są wyświetlane relacje sprzężeń. Relacje mogą być wykrywane automatycznie na podstawie relacji klucza obcego pobieranych z metadanych bazy danych, ale można też tworzyć je ręcznie.
Wyświetlane są następujące opcje:
Wykryj automatycznie. Przełącza funkcję autowykrywania, która automatycznie tworzy relacje między tabelami. Jeśli autowykrywanie jest włączone, projektant zapytań tworzy relacje na podstawie kluczy obcych w tabelach; w przeciwnym razie należy ręcznie utworzyć relacje. Po wybraniu tabel w okienku Widok bazy danych, funkcja autowykrywania automatycznie podejmuje próbę utworzenia relacji. Włączenie funkcji autowykrywania po ręcznym utworzeniu sprzężeń spowoduje, że te sprzężenia zostaną odrzucone.
Ważne: Gdy jest używany program SQL Server Parallel Data Warehouse, nie są dostarczane metadane wymagane do tworzenia sprzężeń, przez co nie można automatycznie wykryć relacji. Jeśli zapytanie pobiera dane z programu SQL Server Parallel Data Warehouse, wszystkie sprzężenia tabel trzeba utworzyć ręcznie.
Dodaj relację. Dodaje relację do listy Relacja.
Jeśli autowykrywanie jest włączone, tabele zawierające kolumny, które są używane w zapytaniu, są automatycznie dodawane do listy Relacja. Gdy funkcja autowykrywania wykryje, że dwie tabele są powiązane, jedna tabela zostanie dodana do kolumny Lewa tabela, druga tabela zostanie dodana do kolumny Prawa tabela i zostanie między nimi utworzone sprzężenie wewnętrzne. Każda relacja powoduje wygenerowanie klauzuli JOIN w zapytaniu. Jeśli tabele nie są powiązane, wszystkie są wymieniane w kolumnie Lewa tabela, a kolumna Typ sprzężenia wskazuje, że te tabele nie są powiązane z innymi tabelami. Gdy jest włączona funkcja autowykrywania, nie można ręcznie dodawać relacji między tabelami, które funkcja autowykrywania uzna za niepowiązane.
Jeśli funkcja autowykrywania jest wyłączona, można ręcznie dodawać i zmieniać relacje między tabelami. Kliknij przycisk Edytuj pola, aby określić, które pola będą używane do połączenia tabel.
Kolejność wyświetlania relacji na liście Relacja odpowiada kolejności, w jakiej sprzężenia będą wykonywane w zapytaniu. Można zmienić kolejność relacji, przenosząc je w górę i w dół listy.
Gdy w zapytaniu jest używanych wiele relacji, do jednej tabeli w każdej relacji, z wyjątkiem pierwszej, muszą odwoływać się poprzednie relacje.
Jeśli poprzednia relacja będzie odwoływać się do obu tabel w danej relacji, ta relacja nie wygeneruje osobnej klauzuli Join, ale spowoduje dodanie warunku sprzężenia do klauzuli wygenerowanej dla poprzedniej relacji. Typ sprzężenia jest wnioskowany przez poprzednią relację, która odwołuje się do tych samych tabel.
Edytuj pola. Otwiera okno dialogowe Edytowanie powiązanych pól, w którym można dodawać i modyfikować relacje między tabelami. Aby utworzyć sprzężenie, należy wybrać pola w lewej i prawej tabeli. Można połączyć wiele pól z lewej tabeli z polami z prawej tabeli, aby określić wiele warunków sprzężenia w relacji. Dwa pola łączące lewą i prawą tabelę nie muszą mieć takich samych nazw. Typy danych połączonych pól muszą być zgodne.
Usuń relację. Usuwa wybraną relację.
Przenieś w górę i Przenieś w dół. Przenosi relację w górę lub w dół na liście Relacja. Sekwencja, w jakiej relacje są umieszczone w zapytaniu, może mieć wpływ na wyniki zapytania. Relacje są dodawane do zapytania w kolejności, w jakiej są wymienione na liście Relacja.
Są wyświetlane następujące kolumny:
Lewa tabela. Wyświetla nazwę pierwszej tabeli będącej częścią relacji sprzężenia.
Typ sprzężenia. Wyświetla typ instrukcji JOIN języka SQL używanej w automatycznie wygenerowanym zapytaniu. Domyślnie, jeśli zostanie wykryte ograniczenie klucza obcego, jest używane sprzężenie wewnętrzne (INNER JOIN). Innymi typami sprzężeń mogą być lewe sprzężenie (LEFT JOIN) i prawe sprzężenie (RIGHT JOIN). Jeśli nie można zastosować żadnego z tych typów sprzężeń, w kolumnie Typ sprzężenia jest wyświetlana wartość Niepowiązane. Dla niepowiązanych tabel nie są tworzone sprzężenia krzyżowe (CROSS JOIN); należy ręcznie utworzyć relacje, łącząc kolumny w lewej i prawej tabeli. Aby uzyskać więcej informacji dotyczących typów sprzężeń, zobacz temat Podstawowe informacje dotyczące sprzężeń w dokumentacji SQL Server — książki online w witrynie msdn.microsoft.com.
Prawa tabela. Wyświetla nazwę drugiej tabeli w relacji sprzężenia.
Połącz pola. Wyświetla listę par połączonych pól. Jeśli relacja zawiera wiele warunków sprzężenia, pary połączonych pól są rozdzielone przecinkami (,).
Okienko Zastosowane filtry
W okienku Zastosowane filtry są wyświetlane kryteria używane w celu ograniczenia liczby wierszy danych pobieranych w czasie wykonywania. Kryteria określone w tym okienku służą do generowania klauzuli WHERE języka SQL. Po wybraniu opcji parametru jest automatycznie tworzony parametr.
Są wyświetlane następujące kolumny:
**Nazwa pola **Wyświetla nazwę pola, do którego mają zostać zastosowane kryteria.
**Operator **Wyświetla operację, która będzie używana w wyrażeniu filtru.
**Wartość **Wyświetla wartość, która będzie używana w wyrażeniu filtru.
**Parametr **Wyświetla opcję dodania parametru zapytania do zapytania.
Okienko Wyniki zapytania
W okienku Wyniki zapytania są wyświetlane wyniki automatycznie wygenerowanego zapytania, które jest określane na podstawie opcji wybranych w innych okienkach. Kolumny w zestawie wyników są polami określonymi w okienku Wybrane pola, a wiersz danych jest ograniczony przez filtry określone w okienku Zastosowane filtry.
Te dane reprezentują wartości ze źródła danych w czasie uruchamiania zapytania.
Porządek sortowania w zestawie wyników jest określany przez kolejność danych pobieranych ze źródła danych. Porządek sortowania można zmienić, modyfikując bezpośrednio tekst zapytania. Aby uzyskać więcej informacji dotyczących używania klauzuli GROUP BY w zapytaniu zobacz temat GROUP BY (Transact-SQL) w witrynie SQL Server Books Online.
Pasek narzędzi graficznego projektanta zapytań
Na pasku graficznego narzędzi projektanta zapytań znajdują się następujące przyciski pomagające w określaniu lub wyświetlaniu wyników zapytań.
Przycisk |
Opis |
---|---|
Edytuj jako tekst |
Umożliwia przełączenie się do tekstowego projektanta zapytań w celu wyświetlenia automatycznie wygenerowanego zapytania lub zmodyfikowania zapytania. |
Importuj |
Umożliwia zaimportowanie istniejącego zapytania z pliku lub raportu. Obsługiwane są pliki typu sql i rdl. |
Uruchom zapytanie |
Umożliwia uruchomienie zapytania. W okienku Wyniki zapytania jest wyświetlany zestaw wyników. |
Opis automatycznie generowanych zapytań
Podczas zaznaczania tabel i kolumn lub procedur składowanych i widoków w okienku Widok bazy danych, projektant zapytań pobiera źródłowe relacje klucza podstawowego i klucza obcego ze schematu bazy danych. Analizując te relacje, projektant zapytań wykrywa relacje między dwiema tabelami i dodaje sprzężenia do zapytania. Następnie można zmodyfikować zapytanie, dodając grupy i agregacje, dodając lub zmieniając relacje oraz dodając filtry. Aby wyświetlić tekst zapytania pokazujący kolumny, z których są pobierane dane, sprzężenia między tabelami oraz grupy i agregacje, należy kliknąć przycisk Edytuj jako tekst.
Tekstowy projektant zapytań
Tekstowy projektant zapytań służy do określania zapytania przy użyciu języka zapytań obsługiwanego przez źródło danych, uruchamiania zapytania oraz wyświetlania wyników w czasie wykonywania. Można określić wiele instrukcji SQL, składnię zapytania lub polecenia dla niestandardowych rozszerzeń przetwarzania danych oraz zapytania określone jako wyrażenia.
Tekstowy projektant zapytań nie przeprowadza wstępnego przetwarzania zapytania, dlatego można w nim użyć dowolnego rodzaju składni zapytania. Jest to domyślne narzędzie projektanta zapytań dla wielu typów źródeł danych.
W tekstowym projektancie zapytań jest wyświetlany pasek narzędzi oraz następujące dwa okienka:
**Zapytanie **W tym okienku jest widoczny tekst zapytania, nazwa tabeli lub nazwa procedury składowanej, w zależności od typu zapytania. Nie wszystkie typy zapytań są dostępne dla wszystkich typów źródeł danych. Na przykład nazwa tabeli jest obsługiwana tylko przez źródła danych typu OLE DB.
**Wynik **W tym okienku są widoczne wyniki uruchomienia zapytania w czasie projektowania.
Pasek narzędzi tekstowego projektanta zapytań
W tekstowym projektancie zapytań znajduje się jeden pasek narzędzi dla wszystkich typów poleceń. W poniższej tabeli wymieniono wszystkie przyciski paska narzędzi oraz ich funkcje.
Przycisk |
Opis |
---|---|
Edytuj jako tekst |
Umożliwia przełączanie między tekstowym projektantem zapytań a graficznym projektantem zapytań. Nie wszystkie typy źródeł danych obsługują graficznych projektantów zapytań. |
Importuj |
Umożliwia importowanie istniejącego zapytania z pliku lub raportu. Obsługiwane są tylko typy plików sql i rdl. |
Umożliwia uruchamianie zapytania i wyświetlanie zestawu wyników w okienku Wynik. |
|
Typ polecenia |
Należy wybrać opcję Tekst, Procedura przechowywana lub Bezpośredni dostęp do tabeli. Jeśli procedura składowana ma parametry, po kliknięciu przycisku Uruchom na pasku zadań zostanie wyświetlone okno Definiowanie parametrów zapytania, w którym można podać wymagane wartości.
|
Typ polecenia Tekst
Podczas tworzenia zestawu danych programu SQL Server domyślnie jest otwierany projektant zapytań relacyjnych. Aby przełączyć się do tekstowego projektanta zapytań, należy kliknąć przycisk przełączania Edytuj jako tekst na pasku narzędzi. W tekstowym projektancie zapytań są wyświetlane dwa okienka: Zapytanie i Wynik. Na poniższej ilustracji pokazano oba okienka.
W poniższej tabeli opisano funkcje każdego okienka.
Okienko |
Funkcja |
---|---|
Zapytanie |
Umożliwia wyświetlanie tekstu zapytania języka SQL. To okienko służy do pisania i edytowania zapytania języka SQL. |
Wynik |
Umożliwia wyświetlanie wyników zapytania. Aby uruchomić zapytanie, należy kliknąć prawym przyciskiem myszy w dowolnym okienku i kliknąć polecenie Uruchom lub kliknąć przycisk Uruchom na pasku narzędzi. |
Przykład
Poniższe zapytanie zwraca listę nazwisk z tabeli o nazwie ContactType.
SELECT Name FROM ContactType
Po kliknięciu przycisku Uruchom na pasku narzędzi zostanie uruchomione polecenie widoczne w okienku Zapytanie, a lista nazwisk zostanie wyświetlona w okienku Wynik.
Typ polecenia Procedura przechowywana
Po wybraniu wartości Procedura przechowywana ustawienia Typ polecenia w tekstowym projektancie zapytań są wyświetlane dwa okienka: Zapytanie i Wynik. Należy wprowadzić nazwę procedury składowanej w okienku Zapytanie, a następnie kliknąć przycisk Uruchom na pasku narzędzi. Jeśli w procedurze składowanej są używane parametry, zostanie wyświetlone okno dialogowe Definiowanie parametrów zapytania. W tym oknie należy wprowadzić wartości parametrów procedury składowanej.
Na poniższej ilustracji pokazano okienka Zapytanie i Wynik po uruchomieniu procedury składowanej. W tym przypadku parametry wejściowe są stałymi.
W poniższej tabeli opisano funkcje każdego okienka.
Okienko |
Funkcja |
---|---|
Zapytanie |
Umożliwia wyświetlanie nazwy procedury składowanej i wszystkich jej parametrów wejściowych. |
Wynik |
Wyświetla wyniki zapytania. Aby uruchomić zapytanie, należy kliknąć prawym przyciskiem myszy w dowolnym okienku i kliknąć polecenie Uruchom lub kliknąć przycisk Uruchom na pasku narzędzi. |
Przykład
Poniższe zapytanie wywołuje procedurę składowaną o nazwie uspGetWhereUsedProductID. Jeśli procedura składowana ma parametry wejściowe, po uruchomieniu zapytania trzeba podać wartości parametrów.
uspGetWhereUsedProductID
Należy kliknąć przycisk Uruchom (!). W poniższej tabeli pokazano przykład parametrów procedury przechowywanej uspGetWhereUsedProductID, dla których podano wartości w oknie dialogowym Definiowanie parametrów zapytania.
@StartProductID |
820 |
@CheckDate |
20010115 |
Typ polecenia Bezpośredni dostęp do tabeli
Po wybraniu wartości Bezpośredni dostęp do tabeli ustawienia Typ polecenia w tekstowym projektancie zapytań są wyświetlane dwa okienka: Zapytanie i Wynik. Wprowadzenie tabeli i kliknięcie przycisku Uruchom spowoduje, że zostaną zwrócone wszystkie kolumny tej tabeli.
Przykład
W przypadku źródła danych typu OLE DB poniższe zapytanie dotyczące zestawu danych zwraca zestaw wyników dla wszystkich typów kontaktów w tabeli ContactType.
ContactType
Wprowadzenie nazwy tabeli ContactType odpowiada utworzeniu instrukcji SELECT * FROM ContactType języka SQL.