Wyklad 9 Jezyk SQL obsluga struktury bazy danych indeksy widoki


Politechnika Krakowska im Tadeusza Kościuszki
Wydział Fizyki, Matematyki i Informatyki
Kierunek: Informatyka
studia I stopnia, semestr IV
Podstawy baz danych
Kurs e-learningowy
przeznaczony dla studentów I stopnia
kierunku INFORMATYKA
WYKAAD 9
Język SQL- obsługa struktury bazy danych,
indeksy, widoki
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Obsługa struktury bazy danych
Obsługa struktury bazy danych
Wykład 9:
Wykład 9:
ż
SQL będąc kompletnym językiem obsługi baz danych, zawiera
również polecenia umożliwiające tworzenie, modyfikowanie
i usuwanie elementów struktury bazy danych
ż
Za wyjątkiem tabel większość elementów bazy danych nie poddaje
się modyfikacjom
ż
Cechy tabel można łatwo zmienić za pomocą polecenia ALTER
TABLE
Dopisywanie nowych kolumn
ALTER TABLE nazwa tabeli
ADD nazwa kolumny typ danych, ograniczenia kolumny,
ADD nazwa kolumny typ danych, ograniczenia
kolumny, ...
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Modyfikacja struktury bazy danych
Modyfikacja struktury bazy danych
Wykład 9:
Wykład 9:
ALTER TABLE nazwa tabeli
ADD ograniczenie
Do tabeli NAUCZYCIELE dodaj następujące kolumny
Miejscowosc VARCHAR2(25)
Wiek NUMBER(2)
ALTER TABLE NAUCZYCIELE
ADD (Miejscowosc VARCHAR2(5), Wiek NUMBER(2))
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Modyfikacja struktury bazy danych
Modyfikacja struktury bazy danych
Wykład 9:
Wykład 9:
Modyfikacjom można poddawać wszystkie cechy kolumn
ż
Aby całkowicie przedefiniować kolumnę po MODIFY podajemy pełny
zestaw nowych cech
ż
Aby ustalić lub zmienić wartość domyślną (bez zmiany pozostałych
cech) używamy DEFAULT
ż
Aby umożliwić lub zabronić stosowanie wartości NULL (bez zmiany
pozostałych cech) używamy NULL lub NOT NULL
ż
Aby zmodyfikować istniejące ograniczenie kolumny bez zmiany
pozostałych cech korzystamy z klauzuli CHECK
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Modyfikacja struktury bazy danych
Modyfikacja struktury bazy danych
Wykład 9:
Wykład 9:
Modyfikowanie kolumn tabel
ALTER TABLE UCZNIOWIE
MODIFY Nazwisko VARCHAR2(30)
ALTER TABLE UCZNIOWIE
MODIFY Plec DEFAULT  K
DEFAULT  K
ALTER TABLE UCZNIOWIE
MODIFY Imie NOT NULL
ALTER TABLE NAUCZYCIELE
MODIFY Wiek CHECK (VALUE <65)
CHECK (VALUE <65)
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Dodawanie komentarzy do obiektów
Dodawanie komentarzy do obiektów
Wykład 9:
Wykład 9:
Ustawić dla tabel UCZNIOWIE i NAUCZYCIELE odpowiednie
komentarze:
dane na temat uczniów szkoły podstawowej
dane na temat nauczycieli szkoły podstawowej
COMMENT ON TABLE UCZNIOWIE IS dane na temat uczniów
szkoły podstawowej '
COMMENT ON TABLE NAUCZYCIELE IS dane na temat nauczycieli
szkoły podstawowej '
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Wyświetlanie komentarzy do obiektów
Wyświetlanie komentarzy do obiektów
Wykład 9:
Wykład 9:
Wyświetlić komentarze dotyczące tabel UCZNIOWIE i
NAUCZYCIELE
SELECT TABLE_NAME AS TABELA,
COMMENTS AS KOMENTARZ
FROM USER_TAB_COMMENTS
WHERE TABLE_NAME= UCZNIOWIE' OR
TABLE_NAME = NAUCZYCIELE'
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Wyświetlanie ograniczeń do obiektów
Wyświetlanie ograniczeń do obiektów
Wykład 9:
Wykład 9:
Wyświetl nazwy oraz typ wszystkich ograniczeń nałożonych na
tabelę UCZNIOWIE
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE
FROM USER_CONSTRAINTS WHERE
TABLE_NAME = UCZNIOWIE ;
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Wyświetlanie ograniczeń do obiektów
Wyświetlanie ograniczeń do obiektów
Wykład 9:
Wykład 9:
Dla tabeli RODZAJ ustaw komentarz dla kolumny:
Nazwa: Nazwa rodzaju oceny
COMMENT ON COLUMN RODZAJ.Nazwa
IS  Nazwa rodzaju oceny
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Wyświetlanie komentarzy do obiektów
Wyświetlanie komentarzy do obiektów
Wykład 9:
Wykład 9:
Wyświetl wszystkie komentarze nałożone na kolumny w
tabeli OCENY
SELECT COLUMN_NAME AS "KOLUMNA", COMMENTS
AS "KOMENTARZ" FROM USER_COL_COMMENTS
WHERE TABLE_NAME = OCENY';
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Zmiana nazwy obiektów
Zmiana nazwy obiektów
Wykład 9:
Wykład 9:
Zmiana nazwy tabeli
ALTER TABLE UCZNIOWIE
RENAME nazwa
Zmiana nazwy kolumny
ALTER TABLE UCZNIOWIE
RENAME nazwa stara TO nazwa nowa
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Usuwania obiektów
Usuwania obiektów
Wykład 9:
Wykład 9:
" Operacja skasowania tabeli jest nieodwracalna
" Większość SZBD żąda potwierdzenia przed usunięciem tabeli i wszystkich
danych w niej zawartych
Polecenie DROP umożliwia usuwanie
elementów bazy danych:
DROP TABLE nazwa tabeli  tabel
DROP VIEW nazwa perspektywy - perspektyw
DROP INDEX nazwa indeksu  indeksów
Nie można skasować tabeli lub perspektywy używanej w danej chwili
przez innego użytkownika
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Usuwania obiektów
Usuwania obiektów
Wykład 9:
Wykład 9:
" Operacja skasowania tabeli jest nieodwracalna
" Większość SZBD żąda potwierdzenia przed usunięciem tabeli i wszystkich
danych w niej zawartych
Polecenie DROP umożliwia usuwanie
elementów bazy danych:
DROP TABLE nazwa tabeli  tabel
DROP VIEW nazwa perspektywy - perspektyw
DROP INDEX nazwa indeksu  indeksów
Nie można skasować tabeli lub perspektywy używanej w danej chwili
przez innego użytkownika
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Usuwania obiektów - przykład
Usuwania obiektów - przykład
Wykład 9:
Wykład 9:
Usuń z tabeli NAUCZYCIELE kolumnę Wiek
ALTER TABLE NAUCZYCIELE
DROP COLUMN Wiek
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Perspektywy
Perspektywy
Wykład 9:
Wykład 9:
Perspektywa jest tabelą wirtualną wygenerowaną przez
Perspektywa
zapytanie SQL-owe
Perspektywy:

umożliwiają zapisanie często wykonywanych złożonych
zapytań w strukturze bazy
SELECT * FROM nazwa perspektywy

pomagają w dostosowaniu środowiska bazodanowego do
indywidualnych potrzeb użytkowników lub ich grup

umożliwiają zapewnienie bezpieczeństwa danych
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Perspektywy modyfikowalne - warunki
Perspektywy modyfikowalne - warunki
Wykład 9:
Wykład 9:

perspektywa musi być utworzona w oparciu o pojedynczą
tabelę
 perspektywy zawierające np. złączenia nie są
modyfikowalne

perspektywa musi opierać się na pojedynczym zapytaniu.
Perspektywy zawierające np. unie nie są modyfikowalne

jeśli perspektywa bazuje na innej perspektywie, wówczas ta
inna perspektywa również musi być modyfikowalna
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Perspektywy modyfikowalne - warunki
Perspektywy modyfikowalne - warunki
Wykład 9:
Wykład 9:

klauzula SELECT może zawierać wyłącznie nazwy kolumn
tabeli zródłowej. Nie można do niej dopisywać kolumn
wyliczonych ani funkcji agregujących

perspektywa nie może być oparta na zapytaniu grupującym

zapytanie, na którym opiera się perspektywa nie może
zawierać słowa kluczowego DISTINCT

zapytanie, na którym opiera się perspektywa może
zawierać podzapytanie, jeśli bazuje ono na tej samej tabeli
co zapytanie zewnętrzne
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Tabele tymczasowe
Tabele tymczasowe
Wykład 9:
Wykład 9:
CREATE GLOBAL TEMPORARY TABLE
To co w CREATE TABLE
CREATE LOCAL TEMPORARY TABLE
To co w CREATE TABLE
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Perspektywy a tabele tymczasowe
Perspektywy a tabele tymczasowe
Wykład 9:
Wykład 9:
 perspektywa istnieje tylko na potrzeby jednego zapytania. Przy każdym
wywołaniu, system zarządzania dokonuje rekonstrukcji jej zawartości
 tabela tymczasowa istnieje przez cały czas trwania sesji, w której
została utworzona
 do perspektywy zostają automatycznie wprowadzone dane zwrócone
przez zapytanie, na którym perspektywa ta bazuje
 do tabeli tymczasowej należy wprowadzić dane za pomocą INSERT
 tylko perspektywy modyfikowalne umożliwiają zmianę swojej
zawartości
 wszystkie tabele tymczasowe można dowolnie modyfikować
 dane zawarte w perspektywach są zawsze aktualne, ponieważ SZBD
każdorazowo wczytuje je z tabel bazowych
 dane zawarte w tabeli tymczasowej odzwierciedlają stan z chwili, w
której zostały do niej wprowadzone
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Indeksy
Indeksy
Wykład 9:
Wykład 9:
Indeks tabela bazowa
AUTOR A KSIŻKA AUTORA B
AUTOR B KSIŻKA AUTORA D
AUTOR C KSIŻKA AUTORA E
AUTOR D KSIŻKA AUTORA A
AUTOR E KSIŻKA AUTORA H
AUTOR F KSIŻKA AUTORA I
AUTOR G KSIŻKA AUTORA F
AUTOR H KSIŻKA AUTORA J
AUTOR I KSIŻKA AUTORA C
AUTOR J KSIŻKA AUTORA G
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta
Za i przeciw indeksom
Za i przeciw indeksom
Wykład 9:
Wykład 9:
" Indeksy zajmują miejsce w bazie danych - dyski są duże i tanie nie jest to
znacząca wada
" Kiedy wprowadzamy, modyfikujemy lub usuwamy dane z indeksowanej
kolumny, SZBD musi uaktualnić indeks - spowolnienie przeprowadzanej
operacji, zwłaszcza gdy tabela bazowa ma dużo wierszy
" Indeksy zdecydowanie przyspieszają dostęp do danych
CREATE INDEX nazwa indeksu
ON nazwa tabeli (kolumny klucza indeksu)
CREATE UNIQUE INDEX nazwa indeksu
ON nazwa tabeli (kolumny klucza indeksu)
CREATE INDEX nazwa indeksu
ON nazwa tabeli (kolumny klucza indeksu DESC)
autor: dr inż. Stanisława Plichta
autor: dr inż. Stanisława Plichta


Wyszukiwarka

Podobne podstrony:
Wyklad 7 Jezyk SQL funkcje grupowe tworzenie tabel
Wyklad 8 Jezyk SQL skladnia najwazniejszych polecen
2 Jezyk SQL
Jezyk SQL podstawy zapytan
MIKROEKONOMIA WYKŁAD 4 (10 12 2011) struktury rynku,teoria podziału
wyklad teoria masowej obslugi
Język SQL dodawanie rekordów ( dodawanie rekordów sql kurs mysql ) webmade org
Język SQL tworzenie tabel ( tworzenie tabel sql kurs mysql ) webmade org
Język SQL usuwanie rekordów ( usuwanie rekordów delete sql kurs mysql ) webmade org
MS SQL Server 6 5 Zarządzanie indeksowaniem danych i kluczami
Język SQL aktualizacja rekordów ( aktualizacja rekordów update sql kurs mysql ) webmade org
Język SQL wybieranie rekordów ( mysql?tch row sql kurs mysql ) webmade org
Język SQL czyli jak rozmawiać z bazą danych 90
351 Wykład SP Język strukturalny ST – Structured Text
15 Język Instruction List Układy sekwencyjne Działania na liczbach materiały wykładowe
Programowanie i jezyk C Wyklad 02 Instrukcje

więcej podobnych podstron