Systemy Baz Danych. Lista 1



Podobne dokumenty
Przestrzenne bazy danych Podstawy języka SQL

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Język SQL. Rozdział 2. Proste zapytania

P o d s t a w y j ę z y k a S Q L

SQL (ang. Structured Query Language)

Systemy GIS Tworzenie zapytań w bazach danych

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

5.5. Wybieranie informacji z bazy

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Projektowanie systemów baz danych

Autor: Joanna Karwowska

Tworzenie bazy danych na przykładzie Access

Bazy danych. Polecenia SQL

Obsługa pakietu biurowego OFFICE

Wprowadzenie do języka SQL

5. Bazy danych Base Okno bazy danych

Bazy danych Access KWERENDY

ACCESS ćwiczenia (zestaw 1)

Konspekt zajęć dotyczących kwerend

Wprowadzenie do baz danych

Ref. 7 - Język SQL - polecenia DDL i DML

Zapytania do baz danych

Oracle11g: Wprowadzenie do SQL

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Ćwiczenie 1 podstawy

Wykład III. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Relacyjne bazy danych. Podstawy SQL

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Podstawowe zapytania SELECT (na jednej tabeli)

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Baza danych. Program: Access 2007

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Wykład 5. SQL praca z tabelami 2

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Baza danych część 8. -Klikamy Dalej

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

5.4. Tworzymy formularze

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Microsoft Access zajęcia 3 4. Tworzenie i wykorzystanie kwerend, formularzy i raportów

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy.

Relacyjne bazy danych. Podstawy SQL

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do

Zapytania i wstawianie etykiet z bazy danych do rysunku

Ćwiczenie zapytań języka bazy danych PostgreSQL

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Kwerenda. parametryczna, z polem wyliczeniowym, krzyżowa

Sposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich.

BAZY DANYCH Formularze i raporty

CREATE USER

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Tworzenie raportów. Ćwiczenie 1. Utwórz Autoraport przedstawiający tabelę Studenci

Technologia informacyjna

Autor: Joanna Karwowska

Laboratorium nr 7. Temat: Podstawy języka zapytań SQL (część 1) 1. Wprowadzenie do laboratorium

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

NORTHWIND. Anonco.pl. ćwiczenia praktyczne. KiK s Tutorials. NORTHWIND dwiczenia praktyczne. ANONCO.PL/SQL SQLSERVERDLAOPORNYCH.WORDPRESS.

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Język SQL, zajęcia nr 1

2017/2018 WGGiOS AGH. LibreOffice Base

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Zwróćmy uwagę w jakiej lokalizacji i pod jaką nazwą zostanie zapisana baza (plik z rozszerzeniem *.accdb). Nazywamy

Rozwiązanie. Uruchom program Access 2007.

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej

Bazy danych raporty. 1. Przekopiuj na dysk F:\ bazę M5BIB.mdb z dysku wskazanego przez prowadzącego.

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków:

Autor: Joanna Karwowska

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych.

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

2. Język SQL SQL jest językiem deklaratywnym (Charakterystyczną cechą języków

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Wykład II. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Krzysztof Kluza proste ćwiczenia z baz danych

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Kolumny są polami bazy danych. Unikaj umieszczania pustych kolumn. Pusta kolumna oznacza, że w rekordzie nie ma już więcej pól.

PHP: bazy danych, SQL, AJAX i JSON

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Kwerendy, czyli zapytania. Opracowała: I. Długoń

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Fizyczna struktura bazy danych w SQL Serwerze

Transkrypt:

Systemy Baz Danych Lista 1 1 PLAN 1. Access bardzo krótkie przypomnienie 2. Język SQL jeszcze krótsze wprowadzenie 3. Język zapytań SQL elementy DML: a. Kwerendy w ACCESSie - Projekcja, Duplikaty, Aliasy, Wyrażenia, Porządek, Selekcja b. Kwerendy w SQL - Projekcja, Duplikaty, Aliasy, Wyrażenia, Porządek, Selekcja 4. Zadania 2 WPROWADZENIE 2.1 ACCESS Plik bazy danych MS Access może zawierać następujące obiekty (wszystkie umieszczone są w jednym pliku): tabele przechowujące dane, kwerendy będące zestawieniem danych pochodzących z różnych tabel, formularze do wprowadzania i wyświetlania danych, raporty zawierające zestawienia danych (najczęściej przeznaczone do druku), etc. Aplikacja MS Access może pracować z własnymi tabelami i tabelami dołączonymi z innych baz danych. MS Access zawiera graficzne narzędzia do tworzenia obiektów bazy danych oraz "kreatory" umożliwiające automatyczne tworzenie wielu elementów aplikacji. 2.1.1 Baza Danych W ramach laboratorium będziemy posługiwali się bazą danych qrysample.mdb zawierającą dane firmy zajmującej się handlem.

Zadanie: ACCESS Baza Danych 2.1.2 Kwerendy - kreator Aby stworzyć kwerendę, zapytanie do bazy danych wybierz z wstążki opcję Create następnie w grupie Queries wybierz opcję tworzenia kwerendy z wykorzystaniem kreatora Query Wizard. W samym kreatorze wybieramy rodzaj kwerendy Simple dla prostej kwerendy; Crosstab dla kwerendy krzyżowej; Duplicates dla kwerendy wyszukującej powtarzające się rekordy; Unmatched dla kwerendy wyszukującej niedopasowane dane w tabelach. W tym laboratorium skupimy się na kwerendach prostych. Następnie wybieramy tabelę/kwerendę z której dane nas interesują Table/Queries (tak można wykorzystywać jedną kwerendę w drugiej jednakże proszę wziąć pod uwagę wydajność takiego rozwiązania). Dla aktualnie wybranej tabeli/kwerendy wyświetlane są dostępne dane w polu Available

Fields, z którego za pomocą strzałek > (dla pojedynczego atrybutu) oraz >> (dla wszystkich atrybutów) możemy dodawać dane do tworzonej kwerendy Selected Fields. Po wyselekcjonowaniu interesujących nas atrybutów musimy ustalić sposób prezentacji wybranych rekordów szczegółowy Detail wyświetlający wszystkie indywidualne rekordy; oraz podsumowujący Summary wyświetlający podsumowania rekordów. Na laboratorium skupimy się na pierwszym rodzaju kwerend kwerend szczegółowych. W ostatnim kroku ustalmy nazwę dla tworzonej kwerendy i wybieramy, czy chcemy wyświetlić wyniki kwerendy (Open the query to view information) lub dodatkowo przejść do widoku projektu kwerendy (Modify the query design). Zadanie: ACCESS Baza Danych 2.1.3 Kwerendy widok danych Widok danych przedstawia wyniki kwerendy w formie tabeli. W tabeli tej w kolumnach przedstawione są wybrane w kwerendzie atrybuty (zgodnie z kolejnością, w jakiej zostały dodane do kwerendy), natomiast w wierszach znajdują się kolejne rekordy danych. W widoku tym dostępne są także podstawowe mechanizmy do przeglądania większych zbiorów danych (w lewej dolnej części okna widoku danych), w tym ilość rekordów w kwerendzie, możliwość nawigacji pomiędzy rekordami, a także wyszukiwania danych.

2.1.4 ZADANIE: ACCESS Prosta kwerenda widok danych Dodatkowo każda kolumna posiada mechanizm do porządkowania danych, w tym możliwość sortowania oraz filtrowania danych rozwijane menu ulokowane pod strzałką przy nazwie kolumny. Opcje filtrowania oraz sortowania danych dostępne są także po kliknięciu prawym przyciskiem myszki na konkretnej wartości rekordu element tabeli. W widoku tym można także zamieniać kolejnością kolumny, przeciągając daną kolumnę, zmieniać szerokość zarówno kolumn, jak i rekordów, oraz zaznaczać różne obszary danych. 2.1.5 Kwerendy widok projektu Widok projektu służy zarówno do szczegółowej modyfikacji kwerendy, jak i tworzenia bardziej zaawansowanych zapytań do bazy danych. Podstawowy interfejs wstążki pozwala na wybór typu kwerendy (Select, Make Table, etc.) w ramach tego laboratorium skupimy się w pełni na kwerendach typu Select; włączanie/wyłączanie dodatkowego okna tabel (Show Table) pozwalającego na dodawanie nowych encji do zapytania; kreator wyrażeń (Builder); Dodawanie/usuwanie atrybutów z kwerendy (Insert/Delete Columns) oraz limit wyświetlanych w kwerendzie danych (Return); właściwości zaawansowanych zapytań (Totals podsumowania danych; Parameters parametry kwerend) oraz dodatkowe okna dialogowe (Property Sheet wyświetlające szczegóły aktualnie wybranego przez kursor

myszy obiektu; Table Names wyświetlające informacje o tabeli w oknie wybranych atrybutów kwerendy). Główny interfejs widoku projektu kwerendy podzielony jest na dwie części górną zawierającą informacje dotyczące wybranych encji (tabel, kwerend, etc.) do kwerendy oraz dolną zawierającą szczegóły atrybutów jakie zostały wybrane do kwerendy (zostaną wyświetlone w wyniku realizacji kwerendy). W szczególności okno szczegółów kwerendy przedstawia informacje o aktualnie wybranych atrybutach, w tym nazwie atrybutu (Field), tabeli z jakiej pochodzi (Table), opcji sortowania (Sort), czy dany atrybut ma być widoczny w wynikach (Show) oraz wiele kryteriów filtrowania (Criteria wszystkie pola poniżej połączone spójnikiem logicznym OR). ZADANIE: ACCESS Prosta kwerenda z selekcją 2.1.6 oraz ACCESS Prosta kwerenda z sortowaniem Dodatkowo po kliknięciu prawym przyciskiem myszy na pustym polu tabel pojawia się menu kontekstowe ze skrótowym dostępem do podstawowych opcji. W szczególności można uzyskać dostęp do właściwości kwerendy, gdzie poza podstawowymi informacjami można zmodyfikować kwerendę tak, aby nie wyświetlała w wynikach powtarzających się rekordów (Unique Values). 2.1.7 ZADANIE:ACCESS Prosta kwerenda bez duplikatów

Bardzo często interesują nas dane nie w postaci pierwotnej, w jakiej znajdują się w operacyjnej bazie danych (tzn. bazie danych codziennego użytku), a w postaci przetworzonej. W szczególności nie zawsze chcemy tylko pobrać dane z bazy danych, lecz potrzebujemy dokonać pewnych operacji na tychże danych. Przykładowo, gdy w bazie danych mamy dane dotyczące ceny jednostkowej towaru CENA oraz ilości zakupionego towaru ILOSC, to wówczas możemy obliczyć wartość zamówienia CENA*ILOSC. W ACCESSie możemy definiować własne atrybuty kwerendy poprzez wyrażenia Expressions. Wystarczy jedynie w obszarze szczegółów w widoku projektu kwerendy kliknąć prawym przyciskiem na komórkę w rzędzie pola Field. Następnie w menu kontekstowym wybrać opcję budowania Build Pojawi się wówczas okno tworzenia wyrażeń. Wykorzystując funkcje dostępne w zakładce Functions oraz atrybutów dostępnych w zakładce BazaDanych.mdb (nazwa pliku bazy danych) można w oknie wyrażeń tworzyć własne wyrażenia. Wyrażenie Dostępne Operatory Dostępne Atrybuty Na chwilę obecną skupimy się wyłącznie na prostych operacjach matematycznych wykonywanych na atrybutach z wyselekcjonowanych tabel. Podstawowa postać takiego wyrażenia to: NazwaWyrażenia: [Atrybut1] op. [Atrybut2], gdzie NazwaWyrażenia to nazwa kolumny w tabeli wynikowej, AtrybutX to nazwa atrybutu z wybranych tabel, zaś op. to pewna operacja matematyczna (np. +, -, *, /, etc.) ZADANIE: ACCESS Prosta kwerenda wyrażenia

2.1.8 Kwerendy widok SQL W widoku SQL możliwe jest, w skrócie, zarówno tworzenie kwerend do bazy danych, jak i modyfikowanie automatycznie utworzonych (z wykorzystaniem kreatora) kwerend na poziomie języka SQL. 2.2 JĘZYK SQL Język SQL wykorzystywany jest do komunikacji z system zarządzania bazą danych, który bezpośrednio obsługuje bazę danych: SQL System Zarządzania Bazą Danych Baza Danych W skrócie SQL (Structured Query Language) to strukturalny język pozwalający na wydawanie zapytań oraz poleceń do systemu zarządzania bazą danych (SZBD), który następnie kontaktuje się z bazą danych i realizuję zapytanie/polecenie. SQL pozwala na: wysłanie polecenia nakazującego SZBD odczytać sprecyzowane w poleceniu dane. wydawanie poleceń kontrolujących składowanie danych, na przykład polecenie modyfikacji, wstawienia nowych bądź usunięcia danych. definiowanie, modyfikacja i usuwanie struktur danych, w których dane są składowane. zarządzanie transakcjami i mechanizmami autoryzacji dostępu do danych. Język SQL jest językiem deklaratywnym co oznacza, iż dane polecenie SQL opisuje dany efekt jaki chcemy uzyskać wydając je, a nie precyzuje w jaki sposób efekt ten ma być. Wspomniany sposób wykonania polecenia po stronie bazy danych jest automatycznie dobierany przez system zarządzania bazą danych i zależy od fizycznego sposobu składowania danych konkretnej implementacji bazy danych. W języku SQL można wyróżnić trzy grupy poleceń: DML język manipulacji danymi pozwalający na odczytywanie danych z relacji (polecenie SELECT) oraz na wstawianie, modyfikację i usuwanie danych z relacji (polecenia: INSERT, UPDATE, MERGE i DELETE).

DDL język definicji danych pozwalający na tworzenie, modyfikację i usuwanie relacji (polecenia CREATE, ALTER i DROP). DCL język kontroli danych pozwalający na zapewnienie autoryzacji dostępu do danych oraz zarządzanie transakcjami. Najważniejsze polecenia to GRANT i REVOKE (czasem zaliczane do DDLa) oraz COMMIT, ROLLBACK i SAVEPOINT. Kilka podstawowych faktów: W języku SQL nie rozróżnia się dużych i małych liter. W poleceniach SQL ignorowane są znaki końca linii. 2.3 JĘZYK SQL ZAPYTANIA Podstawowym poleceniem języka SQL jest SELECT zapytanie do bazy danych: pozwala na odczytywanie danych z bazy danych, przy ewentualnych wykonaniu operacji na tych danych (np. prostych obliczeń i przekształceń). pobiera krotki z relacji w bazie danych, opcjonalnie przetwarza je i zwraca wynik w postaci zbioru odczytanych krotek. w wyniku tworzy relację (rozumianą jako zbiór krotek). Struktura polecenia SELECT: Podstawowym zapytaniem do bazy jest pobranie wszystkich krotek z relacji {nazwa}: SELECT * FROM {nazwa}; Polecenie to rozpoczyna się słowem kluczowym SELECT, gwiazdka oznacza odczytaj wszystkie atrybuty, następnie pojawia się słowo kluczowe FROM, po którym podaje się nazwę relacji, z której mają zostać odczytane krotki. Zapytanie jest swoistą prośba o odczytanie wszystkich krotek z relacji o nazwie {nazwa}. Polecenie odczytujące całą zawartość relacji Employes wygląda następująco: SELECT * FROM Employes; Odczytaj wszystkie krotki z tabeli Employes i wyświetl wszystkie występujące atrybuty. W wyniku takiego zapytania SZBD odczyta z bazy danych, z relacji Employes, wszystkie krotki i zwróci je w postaci niezmienionej analogicznie jak w przypadku kwerendy stworzonej za pomocą kreatora kwerendy prostej. ZADANIE:Zapytania SQL SELECT podstawy

2.3.1 Zapytanie projekcja Jeżeli nie potrzebujemy wszystkich atrybutów z danej encji możemy zawęzić, a tak naprawdę doprecyzować, zapytanie do bazy danych jawnie wyszczególniając wszystkie interesujące nas atrybutu. Należy wówczas skorzystać z polecenia SELECT, gdzie zamiast gwiazdki *, oznaczającej wszystkie atrybuty, wymieniamy listę interesujących nas atrybutów (nazwy atrybutów oddzielone przecinkami). Rozszerzona wersja polecenia SELECT wygląda następująco: SELECT {atrybut1, atrybut2,...} FROM {nazwa};, gdzie atrybut to nazwa atrybutu zdefiniowanego w relacji podanej za słowem kluczowym FROM. Ponieważ w wyniku takiego zapytania system zarządzania bazą danych zwróci nam encję ograniczoną do wyszczególnionego zestawu atrybutów, operację tę nazywa się projekcją analogicznie do matematycznej operacji projekcji, np. rzut ortogonalny z przestrzeni 3D na 2D. W tym przypadku projekcja zmniejsza wymiarowość naszych danych poprzez ograniczenie liczby atrybutów. SELECT CompanyName, ContactName FROM Customers; Odczyta z encji Customers wszystkie krotki zwracając jedynie wartości dotyczące wybranych atrybutów, tj. CompanyName oraz ContactName. Odczytaj wszystkie krotki z tabeli Customers i wyświetl atrybuty CompanyName oraz ContactName. ZADANIE:Zapytania SQL SELECT projekcja 2.3.2 Zapytanie - wyrażenia Analogicznie jak w widoku projektu i za pomocą kreatora tworzenia wyrażeń, w poleceniu SELECT można definiować wyrażenia, które obliczane na określonych wartościach atrybutów (dla kolejnych przetwarzanych krotek). Na przykład możemy korzystać z podstawowych operatorów dla danych liczbowych: mnożenia ( * ) dodawania ( + ) odejmowania ( - ) dzielenia ( / ) odejmowania ( - ) Stąd, wyrażenie [Quantity*10] oznacza, że dla każdej kolejno odczytywanej krotki reprezentującej ilość zamówionych towarów z bazy danych, SZBD obliczy i zwróci zdziesięciokrotnioną ilość.

Dodatkowo istnieje operator & konkatenacji, który pozwala łączyć ciągi znaków. Przykładowo wyrażenie [ContactName & z firmy & CompanyName] oznacza, że dla każdej kolejnej krotki SZBD wykonuje, i zwraca w relacji wynikowej, konkatenację klienta, wyrażenia z firmy i nazwy firmy. Należy tutaj zwrócić uwagę na fakt, iż stałe typu łańcuchowego są w języku SQL otaczane apostrofami. W przeciwieństwie do stałych typu łańcuchowego, stałe typu liczbowego nie wymagają żadnych dodatkowych oznaczeń. Podsumowując, nieco bardziej rozbudowana wersja polecenia SELECT wygląda następująco: SELECT {wyrażenie1, wyrażenie2,...} FROM {nazwa}; Gdzie wyrażeniem może być: w przypadku atrybutów typu liczbowego: o -nazwa atrybutu, o -stała liczbowa, o -suma, różnica, iloczyn, bądź iloraz dwóch wyrażeń, w przypadku atrybutów typu łańcuchowego: o -nazwa atrybutu, o -stała łańcuchowa, o -konkatenacja dwóch wyrażeń. SELECT CompanyName & ContactName FROM Customers; Odczyta z encji Customers wszystkie krotki zwracając jedynie wartości wyrażenia, które bezpośrednio łączy wartość atrybutów CompanyName oraz ContactName. Odczytaj wszystkie krotki z tabeli Customers i wyświetl wartość wyrażenia, które łączy wartość atrybutu CompanyName oraz wartość atrybutu ContactName. ZADANIE:Zapytania SQL SELECT wyrażenia 2.3.3 Zapytanie - aliasy W zapytaniach SQL nazwy atrybutów relacji wynikowej, są nazwami wybranych atrybutów lub, kiedy występują wyrażenia, są odpowiadającymi wyrażeniu nazwami (przykładowo, dla wyrażenia [Quantity*12], atrybut relacji wynikowej będzie nazywał się [Quantity*12]). Jednakże możemy definiować własne nazwy, tzw. aliasy, dla dowolnych wyrażeń które znajdą się w relacji wynikowej zapytania. Aliasy nie są obowiązkowe. Aby nadać wyrażeniu alias, należy za tym wyrażeniem użyć słowa kluczowego AS, a następnie podać nazwę.

Podsumowując, rozszerzenie składni polecenia SQL o możliwość nadawania wyrażeniom aliasów wygląda następująco: SELECT {wyrażenie1 [AS alias1], wyrażenie2 [AS alias2],...} FROM {nazwa relacji}; SELECT CompanyName & ContactName AS Klient FROM Customers; Odczyta z encji Customers wszystkie krotki zwracając jedynie wartości wyrażenia, które bezpośrednio łączy wartość atrybutów CompanyName oraz ContactName, i ustala jego nazwę na Klient. Odczytaj wszystkie krotki z tabeli Employes i wyświetl wartość wyrażenia Klient, które łączy wartość atrybutu CompanyName oraz wartość atrybutu ContactName. 2.3.4 Zapytanie - duplikaty Przy realizacji zapytań może się zdarzyć, że w relacji wynikowej znajdzie się kilka krotek o takich samych wartościach na wszystkich odczytanych atrybutach. Przykładowo, jeżeli wykonamy zapytanie: SELECT City FROM Customers; Niektóre miasta mogą w relacji wynikowej pojawić się wielokrotnie. W takiej sytuacji najczęściej możemy chcieć usunąć duplikaty pozostawiając jedynie po jednym egzemplarzu każdej krotki. Do przeprowadzenia takiej operacji służy klauzula DISTINCT, którą należy podać po słowie kluczowym SELECT. Jeżeli klauzula DISTINCT pojawi się po SELECT, SZBD usunie wszystkie duplikaty krotek z relacji wynikowej. Podsumowując, rozszerzona składnia polecenia SELECT wygląda następująco: SELECT [DISTINCT] {wyrażenie1, wyrażenie2 [AS alias2],...} FROM {nazwa}; SELECT DISTINCT City FROM Customers; Odczyta z encji Customers wszystkie krotki zwracając jedynie atrybut City i usunie te krotki, które się powtarzają w wynikach. Odczytaj wszystkie krotki z tabeli Customers i wyświetl niepowtarzające się wartości atrybutu City.

ZADANIE:Zapytania SQL SELECT duplikaty 2.3.5 Zapytanie - porządek Polecenie SELECT zwraca wyniki zapytania w przypadkowej kolejności. Czasem jednak możemy być zainteresowani otrzymaniem ich w jakiejś określonej przez nas kolejności. W tym celu należy zażądać od SZBD, aby, przed zwróceniem wyników zapytania, posortował je według wartości dowolnego, zdefiniowanego przez nas wyrażenia. Robi się to za pomocą klauzuli ORDER BY dodawanej na końcu polecenia. Za klauzulą ORDER BY podaje się listę wyrażeń, lub aliasów wyrażeń (zdefiniowanych przy klauzuli SELECT) oddzielonych przecinkami. Wynik zapytania zostanie posortowany według wartości tychże wyrażeń. Rozszerzona o klauzulę ORDER BY składnia polecenia SELECT wygląda następująco: SELECT [DISTINCT] {wyrażenie1, wyrażenie2 [AS alias2],...} FROM {nazwa relacji} ORDER BY {wyrażenie3 [ASC DESC],, alias1 [ASC DESC], }; W klauzuli ORDER BY można podać dowolną liczbę wyrażeń, przy czym każde kolejne jest wykorzystywane do posortowania krotek, dla których wszystkie poprzednie wyrażenia mają taką samą wartość tworzy się swoisty porządek sortowania. SELECT DISTINCT City FROM Customers ORDER BY City; Odczyta z encji Customers wszystkie krotki zwracając jedynie atrybut City i usunie te krotki, które się powtarzają w wynikach, następnie wyniki zostaną posortowane zgodnie z porządkiem alfabetycznym od A do Z. Odczytaj wszystkie krotki z tabeli Customers i wyświetl w posortowanej formie niepowtarzające się wartości atrybutu City. Za wyrażeniem w klauzuli ORDER BY można opcjonalnie podać słowo kluczowe ASC bądź DESC. Słowo to określa porządek sortowania. ASC oznacza sortowanie rosnąco i jest domyślne. DESC oznacza sortowanie malejąco. Przykładowo, polecenie SELECT DISTINCT City FROM Customers ORDER BY City DESC; Odczyta z encji Customers wszystkie krotki zwracając jedynie atrybut City i usunie te krotki, które się powtarzają w wynikach, następnie wyniki zostaną posortowane odwrotnie z porządkiem alfabetycznym od Z do A.

Odczytaj wszystkie krotki z tabeli Customers i wyświetl w posortowanej formie od Z do A niepowtarzające się wartości atrybutu City. Można sortować również według atrybutów, które nie są wymienione w klauzuli SELECT. Jest to możliwe, gdyż projekcja odbywa się dopiero po posortowaniu krotek otrzymanych w wyniku zapytania. SELECT DISTINCT City FROM Customers ORDER BY Country DESC; Odczyta z encji Customers wszystkie krotki zwracając jedynie atrybut City i usunie te krotki, które się powtarzają w wynikach, następnie wyniki zostaną posortowane według atrybutu Country odwrotnie z porządkiem alfabetycznym od Z do A. Odczytaj wszystkie krotki z tabeli Customers i wyświetl w posortowanej według atrybutu Country (od Z do A) niepowtarzające się wartości atrybutu City. W klauzuli ORDER BY można także podawać nie tylko nazwy atrybutów, ale również wyrażenia. SELECT DISTINCT City FROM Customers ORDER BY Region & Country DESC; Odczyta z encji Customers wszystkie krotki zwracając jedynie atrybut City i usunie te krotki, które się powtarzają w wynikach, następnie wyniki zostaną posortowane według wyrażenia [Region & Country] odwrotnie z porządkiem alfabetycznym od Z do A. Odczytaj wszystkie krotki z tabeli Customers i wyświetl w posortowanej według wyrażenia [Region & Country] (od Z do A) niepowtarzające się wartości atrybutu City. W klauzuli ORDER BY można podawać wiele atrybutów/wyrażeń oddzielonych przecinkami, wówczas dane wynikowe będą sortowane zgodnie z wieloma atrybutami/wyrażeniami. SELECT DISTINCT City FROM Customers ORDER BY Region, Country DESC; Odczyta z encji Customers wszystkie krotki zwracając jedynie atrybut City i usunie te krotki, które się powtarzają w wynikach, następnie wyniki zostaną posortowane według atrybutu Region od A do Z orazatrybutu Country odwrotnie z porządkiem alfabetycznym od Z do A.

Odczytaj wszystkie krotki z tabeli Customers i wyświetl w posortowanej według atrybutu Region (od A do Z) oraz atrybutu Country (od Z do A) niepowtarzające się wartości atrybutu City. Porządek sortowania zależy od typu sortowanych danych i wygląda następująco (porządek domyślny, niezmodyfikowany za pomocą słowa kluczowego DESC): liczby od mniejszych do większych daty od wcześniejszych do późniejszych łańcuchy znaków alfabetycznie wartości puste w zależności od SZBD (najczęściej są wymieniana, jako pierwsze albo ostatnie). ZADANIE:Zapytania SQL SELECT porządek 2.3.6 Zapytanie - selekcja We wszystkich dotychczasowych przykładach zapytania odczytywały wszystkie krotki z zadanej relacji w bazie danych. Najczęściej jednak aplikacje, które wykorzystują bazy danych do składowania swoich danych, potrzebują jednorazowo odczytać jedynie niewielki podzbiór krotek zapisanych w relacjach. W celu wybrania, które krotki mają się znaleźć w relacji wynikowej, stosuje się klauzulę WHERE. Za klauzulą WHERE podaje się warunek, zdefiniowany na wartościach atrybutów w relacji, który musi być spełniony, aby krotka znalazła się w relacji wynikowej. Operację wyboru krotek, które mają się znaleźć w rozwiązaniu nazywa się selekcją. Składnia polecenia SELECT, rozszerzona o klauzulę WHERE, wygląda następująco: SELECT [DISTINCT] {wyrażenie1 [AS alias1], wyrażenie2 [AS alias2],...} FROM {nazwa} WHERE warunek_elementarny ORDER BY {wyrażenie5 [ASC DESC], wyrażenie6 [ASC DESC], alias1 [ASC DESC], alias2 [ASC DESC]...};, gdzie warunek_elementarny, to porównanie jednego, dwóch lub większej liczby wyrażeń za pomocą odpowiednich operatorów logicznych. SELECT CompanyName FROM Customers WHERE City= Berlin ORDER BY CompanyName; Odczyta z encji Customers te krotki, które w wartości atrybutu City mają wartość Berlin zwracając jedynie atrybut CompanyName, następnie wyniki zostaną posortowane według atrybutu CompanyName zgodnie z porządkiem alfabetycznym od Z do A.

Odczytaj te krotki z tabeli Customers, które w wartości atrybutu City mają Berlin i wyświetl wartości atrybutu CompanyName w formie posortowanej według atrybutu CompanyName (od A do Z). ZADANIE:Zapytania SQL SELECT selekcja 3 ZADANIA 3.1 ACCESS 3.1.1 ACCESS Baza Danych Zapoznaj się z danymi z bazy danych qrysample.mdb. W szczególności zidentyfikuj występujące tabele oraz podstawowe dane zawarte w każdej z tabel, tak abyś był w stanie słownie opisać strukturę bazy. 3.1.2 ACCESS Prosta kwerenda Stwórz prosta kwerendę zawierającą wszystkie atrybuty w tabeli produktów Products oraz prostą kwerendę zawierającą dane o klientach, w tym nazwę firmy Company Name, miasto City oraz państwo Country, z tabeli Customers. 3.1.3 ACCESS Prosta kwerenda widok danych W widoku danych dla prostej kwerendy z zadania 3.1.2 zamień miejscami kolumny Country oraz City. Następnie ustaw filtr na atrybut Country odpowiednio na Polskę, Wielką Brytanie i USA. Ile danych zostało w widoku, jak można w prosty sposób zweryfikować tę informację? 3.1.4 ACCESS Prosta kwerenda z sortowaniem Stwórz prosta kwerendę zawierającą wszystkie atrybuty w tabeli o klientach Customers, gdzie informacje będą posortowane zgodnie z państwem, w jakim dany klient prowadzi działalność spróbuj posortować alfabetycznie od A do Z oraz od Z do A. 3.1.5 ACCESS Prosta kwerenda z selekcją Stwórz prosta kwerendę zawierającą wszystkie dane o klientach, którzy prowadzą swą działalność w Berlinie. Następnie rozszerz zapytanie o klientów, którzy prowadzą swą działalność w Berlinie lub Londynie. Ile jest takich rekordów w tabeli o klientach? Ogranicz kwerendę do pierwszych 5 rekordów, następnie ogranicz kwerendę do 25% rekordów. 3.1.6 ACCESS Prosta kwerenda bez duplikatów Stwórz prosta kwerendę zawierającą dane o wszystkich krajach, w jakich działają nasi klienci. Następnie skonfiguruj kwerendę tak, aby nie występowały powtarzające się kraje, dodatkowo posortuj od A do Z. 3.1.7 ACCESS Prosta kwerenda wyrażenia Stwórz prostą kwerendę zawierającą takie sformułowanie Klient [nazwa_klienta] z firmy [nazwa_firmy], [kraj], [państwo] na bazie tabeli Customer nazwij wynikowy atrybut jako OpisKlienta. Następnie na bazie tabeli Order Details stwórz prostą kwerendę z wyrażeniem obliczającym wartość udzielonego rabatu nazwij wynikowy atrybut jako WartoscRabatu.

3.2 ZAPYTANIA SQL SELECT 3.2.1 Zapytania SQL SELECT podstawy Spróbuj napisać polecenie SQL, które spowoduje odczytanie wszystkich, niezmienionych, krotek z tabeli Customers. Kiedy to zrobisz, sprawdź, czy się nie pomyliłeś/łaś porównując Twoje rozwiązanie z rozwiązaniem realizowanym na podstawie kwerendy ACCESSa. 3.2.2 Zapytania SQL SELECT projekcja Spróbuj napisać polecenie SQL, które spowoduje odczytanie NAZWY i ADRESU z wszystkich krotek z relacji Customers. Kiedy to zrobisz, sprawdź, czy się nie pomyliłeś/łaś porównując Twoje rozwiązanie z rozwiązaniem realizowanym na podstawie kwerendy ACCESSa. 3.2.3 Zapytania SQL SELECT wyrażenia Spróbuj napisać polecenie SQL, które spowoduje odczytanie z relacji Customers miasta i kraju działalności danej firmy. Następnie stwórz drugie polecenie SQL, które spowoduje obliczenie wartości zamówienie z relacji OrderDetails. Kiedy to zrobisz, sprawdź, czy się nie pomyliłeś/łaś porównując Twoje rozwiązanie z rozwiązaniem realizowanym na podstawie kwerendy ACCESSa. Spróbuj napisać polecenie SQL, które spowoduje odczytanie z relacji Customers miasta i państwa działalności firmy, oraz przeprowadzi konstrukcję zdań typu XXX jest w państwie YYY, gdzie XXX to miasto zaś YYY to państwo. Kiedy to zrobisz, sprawdź, czy się nie pomyliłeś/łaś porównując Twoje rozwiązanie z rozwiązaniem realizowanym na podstawie kwerendy ACCESSa. 3.2.4 Zapytania SQL SELECT duplikaty Spróbuj napisać polecenie SQL, które spowoduje odczytanie z relacji Products wszystkich krotek, wybranie z tych krotek wartości oznaczających dostawcę oraz kategorię produktu, oraz usunięcie powtarzających się wartości wśród tych identyfikatorów i zwrócenie pozostałych wartości w relacji wynikowej. Kiedy to zrobisz, sprawdź, czy się nie pomyliłeś/łaś porównując Twoje rozwiązanie z rozwiązaniem realizowanym na podstawie kwerendy ACCESSa. 3.2.5 Zapytania SQL SELECT porządek Spróbuj napisać polecenie SQL, które spowoduje odczytanie z relacji Products wszystkich krotek oraz posortowanie wyników względem atrybutu Category (od A do Z) a następnie ceny (od Największej do Najmniejszej). Kiedy to zrobisz, sprawdź, czy się nie pomyliłeś/łaś porównując Twoje rozwiązanie z rozwiązaniem realizowanym na podstawie kwerendy ACCESSa. 3.2.6 Zapytania SQL SELECT selekcja Spróbuj napisać polecenie SQL, które spowoduje odczytanie z relacji Products tych krotek, które reprezentują napoje (Beverages) oraz owoce morza (Seefood), i posortowanie wyników względem atrybutu Category (od A do Z) a następnie ceny (od Największej do Najmniejszej). Kiedy to zrobisz, sprawdź, czy się nie pomyliłeś/łaś porównując Twoje rozwiązanie z rozwiązaniem realizowanym na podstawie kwerendy ACCESSa. ŹRÓDŁA: - kurs Bazy Danych - http://wazniak.mimuw.edu.pl/index.php?title=bazy_danych