sql_inst.pdf

(364 KB) Pobierz
Wprowadzenie do SQL
Instrukcja laboratoryjna
Ludmiła Rekuć, Witold Rekuć
Wrocław, 18.02.2013
Spis treści
Temat 1. System zarządzania bazą danych, baza danych i jej składowe. Zakładanie tabel - definiowanie pól.
Własności pól. Definiowanie kluczy. Aktualizacja tabel. Powiązania między tabelami.....................................3
Temat 2. Zapoznanie się z BD firmy handlowej (FirmaH2007.accdb). Zadania tematu muszą być wykonane
samodzielnie w domu, bez użycia komputera................................................................................................6
Temat 3. Kwerendy wybierające: definiowanie, sortowanie, projekcja, selekcja, złączenie, grupowanie
(podsumowanie). Kwerendy tworzące tabelę................................................................................................ 8
Temat 4. Operacje teoriomnogościowe algebry relacji - "kwerendy usuwające" i " kwerendy dołączające". .11
Temat 5. Operacja dzielenia......................................................................................................................... 14
Temat 6. Teta - złączenie.............................................................................................................................. 16
Załącznik..................................................................................................................................................... 17
1. Wstęp .....................................................................................................................................................17
2. Wybrane typy danych (dziedzin wartości) i ich właściwości...................................................................18
3. Budowa wyrażeń w instrukcjach SQL......................................................................................................19
4. Składnia poleceń języka SQL...................................................................................................................22
4.1. Definiowanie i zmiana definicji tabel bazy danych..........................................................................22
4.2. Aktualizacja zawartości tabel...........................................................................................................23
4.3. Wyszukiwanie danych......................................................................................................................23
5. Opis bazy danych "Tpd_bzd_2007.accdb"..............................................................................................24
2
Temat 1.
System zarządzania bazą danych, baza danych i jej składowe.
Zakładanie tabel - definiowanie pól. Własności pól. Definiowanie kluczy.
Aktualizacja tabel. Powiązania między tabelami
Co należy wiedzieć z zakresu MS ACCESS SQL przed przystąpieniem do zajęć praktycznych:
Czemu służy instrukcja CREATE TABLE, jaka jej „minimalna” składnia?
Co może być zdefiniowane dla każdego pola?
Co może być zdefiniowane względem kilku pól?
Jak zapisać dane do tabeli?
Jak zmienić definicję tabeli?
Jak zmienić dane w tabeli?
Jak usunąć tabele?
Jak zdefiniować relacje między tabelami?
Pierwsze kroki w środowisku MS Access SQL
Uruchom MS Access’a, wybierz opcję „pusta baza danych”, nazwij BD: „Sesja”, wskaż miejsce, gdzie
BD powinna zostać utworzona i wybierz polecenie „utwórz”.
Na
Pasku komunikatów
kliknij przycisk
Opcje,
a następnie kliknij polecenie
Włącz tę zawartość.
Na karcie
Tworzenie
w grupie
Inne
kliknij polecenie
Projekt kwerendy.
Zamknij okno dialogowe
Pokazywanie tabeli.
Na karcie
Projektowanie
w grupie
Typ kwerendy
kliknij przycisk
Definicja danych.
Zadania podstawowe:
Celem zadań jest zdefiniowanie bazy danych „Sesja” , wprowadzenie do bazy kilku rekordów
danych, aktualizacja definicji bazy danych, aktualizacja zawartości. BD „Sesja” składa się z
trzech tabel:
Tabela
"Studenci"
o schemacie :
Numer
liczba z zakresu od 1 do 15000;
Nazwisko
tekst długości nie większej niż 30 znaków, musi być wprowadzone;
Kod pocztowy
tekst składający się z pięciu cyfr, pole opcjonalne.
Kluczem podstawowym tej tabeli jest
Indeks.
Tabela
"Przedmioty"
o schemacie :
Kod
6-cio znakowy ciąg;
Nazwa
tekst długości nie większej niż 25 znaków, musi być wprowadzone;
Kluczem podstawowym tej tabeli jest
Kod.
Tabela
"Egzaminy"
o schemacie:
Nr studenta
jak w tabeli Studenci;
Kod przedmiotu
jak w tabeli Przedmioty;
Data
typ danych DATETIME;
Ocena
liczba rzeczywista.
Kluczem podstawowym jest {NrStudenta, KodPrzedmiotu, Data}.
3
Zadanie 1
Wpisz następującą instrukcję SQL:
CREATE TABLE Studenci
(
Numer SmallInt PRIMARY KEY,
Nazwisko Text(30) NOT NULL
)
Zalecenie: system ignoruje koniec wiersza, można więc pisać instrukcje nie dzieląc na wiersze. Zaleca
się jednak wyróżnienie składowych instrukcji, zwiększa to jej czytelność.
Na karcie
Projektowanie
w grupie
Wyniki
kliknij przycisk
Uruchom.
W oknie BD powinien pojawić się
nowy obiekt – tabela Studenci.
W oknie BD otwórz obiekt tabela Studenci i obejrzyj wynik
wykonania instrukcji. Zamknij tabelę. Dodaj do tabeli nową kolumnę dla wpisywania kodów
pocztowych. W tym celu wpisz następującą instrukcję zmieniającą definicję tabeli i uruchom:
ALTER TABLE Studenci ADD COLUMN [Kod pocztowy] text(5)
W oknie BD otwórz obiekt tabela Studenci i obejrzyj wynik wykonania instrukcji. Zamknij
tabelę. Spróbuj dodać następną kolumnę wg uznania a następnie usuń ją za pomocą ...DROP
COLUMN...
Wpisz i uruchom następującą instrukcję SQL:
INSERT INTO Studenci VALUES (1,'naz1','34445')
W oknie BD otwórz obiekt tabela Studenci i obejrzyj wynik wykonania instrukcji. Zamknij
tabelę. W podobny sposób wprowadź kilka kolejnych rekordów. Spróbuj wprowadzić
powtarzające się wartości w kolumnie Numer i wartości Null w kolumnach Numer i
Nazwisko. Jaka jest reakcja systemu i dlaczego?
Zadanie 2.
Utwórz w podobny sposób tabelę „Przedmioty” i wprowadź kilka rekordów danych.
Zadanie 3.
Utwórz tabelę „Egzaminy”.
NrStudenta
– jest odwołaniem do kolumny Numer w tabeli Studenci;
KodPrzedmiotu
– jest odwołaniem do kolumny Kod w tabeli Przedmioty;
Data
– data przeprowadzenia egzaminu, nie może być nie wpisana;
Ocena
– liczba rzeczywista.
Zastanów się, co może być kluczem w tej tabeli? Zdefiniuj klucz podstawowy.
Wykonaj powiązanie tabel z wymuszeniem więzów integralności.
Przykład definicji powiązania:
CREATE TABLE Egzaminy (
[NrStudenta] smallint REFERENCES studenci(numer),
Pytania (celem znalezienia odpowiedzi skorzystaj z materiałów wykładu lub pomocy ACCESS,a):
1) jak przyporządkować nazwę wprowadzanemu ograniczeniu powiązania? (wtedy można go w
razie potrzeby usunąć)?
2) Jak zdefiniować powiązanie po wielu polach?
3) Jak zdefiniować wielopolowy klucz podstawowy tabeli?
4
4) Jak usunąć ograniczenie?
Zadanie 4
Wpisz do tabeli Egzaminy kilka wierszy danych. Przeanalizuj możliwość wpisania wartości w
kolumnach NrStudenta i KodPrzedmiotu spoza zbioru wartości znajdujących się w odpowiednich
kolumnach tabel Studenci i Przedmioty:
1) dodaj do tabeli Egzaminy rekord egzaminu dla nieistniejącego studenta – jak zachowuje się
SZBD?
2) dodaj do tabeli Egzaminy rekord egzaminu dla nieistniejącego przedmiotu – jak zachowuje
się SZBD?
Usuń wybrane wiersze z tabeli Egzaminy. Usuń wybrane wiersze z tabeli Przedmioty. Przeanalizuj
możliwość usuwania wierszy powiązanych z wierszami w tabeli Egzaminy:
a) usuń z tabeli Studenci rekord studenta, który ma egzaminy,
b) usuń z tabeli Przedmioty rekord przedmiotu, z którego są egzaminy,
c) dla studenta mającego egzaminy zmień numer studenta w tabeli student na inną wartość –
sprawdź, czy zmieni się ten numer we wszystkich rekordach egzaminów studenta?.
Jak wpływa połączenie tabel z wymuszaniem więzów integralności na możliwość dodawania,
usuwania i aktualizacji rekordów?
Zadanie 5
Załóż bazę danych do pamiętania danych o stanach materiałów w magazynach. Materiał jest
charakteryzowany przez: indeks, nazwę, cenę i jednostkę miary. Magazyn jest charakteryzowany
przez numer i adres. Chcemy wiedzieć jakie są stany magazynowe materiałów w magazynach, przy
założeniu, że każdy materiał może być składowany w wielu magazynach i każdy magazyn może
składować wiele materiałów. Należy zdefiniować tabele i powiązać je relacjami. Typy danych w
kolumnach i właściwości według uznania.
Zadanie 6
Załóż bazę danych do pamiętania danych o składzie potraw wytwarzanych z surowców. Potrawa jest
charakteryzowana przez: numer, nazwę. Surowiec jest charakteryzowany przez numer, adres
dostawcy. Chcemy wiedzieć, jakie surowce są używane do każdego rodzaju potraw i w jakiej ilości.
Należy zdefiniować tabele i powiązać je relacjami. Typy danych w kolumnach i właściwości według
uznania.
5
Zgłoś jeśli naruszono regulamin