kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli



Podobne dokumenty
Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Widok Connections po utworzeniu połączenia. Obszar roboczy

Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus

Paweł Rajba

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Bazy danych - Materiały do laboratoriów VIII

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

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Język SQL. Rozdział 8. Język manipulowania danymi DML

Język SQL. Rozdział 2. Proste zapytania

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1)

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Wykład 4. SQL praca z tabelami 1

Wykład 8. SQL praca z tabelami 5

Autor: Joanna Karwowska

Oracle PL/SQL. Paweł Rajba.

Wprowadzenie do języka SQL

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.

Wykład 5. SQL praca z tabelami 2

SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE

1 Projekt fizyczny 1. 3 Perspektywy słownika danych Źródła 12

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

Laboratorium Bazy danych SQL 3 1

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Język SQL, zajęcia nr 1

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Systemy GIS Tworzenie zapytań w bazach danych

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

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

Bazy danych Język SQL część 2 Wykład dla studentów matem

Bazy danych 6. Klucze obce. P. F. Góra

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Bazy danych Ćwiczenia projektowe

Ćwiczenie 7 - DDL. Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL. Wymagania: Bazy Danych

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Aspekty aktywne baz danych

Bazy danych 10. SQL Widoki

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Bazy danych. Polecenia SQL

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Instalacja MySQL.

Przestrzenne bazy danych Podstawy języka SQL

Administracja i programowanie pod Microsoft SQL Server 2000

1. Wyzwalacze BD (ang. triggers)

ACESS- zadania z wykorzystaniem poleceń SQL

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Oracle PL/SQL. Paweł Rajba.

CREATE USER

Tabela wewnętrzna - definicja

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania

Model relacyjny. Wykład II

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

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

Projektowanie systemów baz danych

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Zbiór pytań nr 2. 1 Tabela DEPARTMENTS ma następującą strukturę:

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Relacyjne bazy danych. Podstawy SQL

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Technologie baz danych

Zaawansowane bazy danych i hurtownie danych semestr I

Technologie baz danych WYKŁAD 7: Wyjątki

Bazy danych. Dr inż. Paweł Kasprowski

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Podstawowe zapytania SELECT (na jednej tabeli)

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) )

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

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

PODSTAWY BAZ DANYCH 13. PL/SQL

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

Wyzwalacze TWORZENIE WYZWALACZY

Wykład 2. SQL 1 Structured Query Lenguage

Wykład 6. SQL praca z tabelami 3

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

Modelowanie wymiarów

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

Zarządzanie obiektami bazy danych Oracle11g

Transkrypt:

SPOOL moj_plik SPOOL OFF @ moj_ plik edit CREATE TABLE DESCRIBE ALTER TABLE RENAME DROP TABLE CONNECT CONNECT USER_NAME DISCONNECT EXIT zapisuje wszystkie wydane polecenia oraz ich wyniki do pliku moj_plik, np. spool 'c:\moj.txt' kończy wysyłanie danych do pliku uruchomienie skryptu z pliku moj_plik, np. @ 'c:\moj.txt' edycja bufora SQL w domyślnym edytorze tworzy strukturę tabeli wyświetla opis struktury tabeli rozszerzanie i modyfikowanie schematu tabeli zmiana nazwy tabeli usuwanie tabeli zmiana podłączenia do bazy zmiana podłączenia do bazy dla użytkownika o nazwie user_name rozłączenie z bazą wyjście z programu Polecenia SQL mogą być rozmieszczone w kilku wierszach. Koniec polecenia SQL zakończ średnikiem. Dobrym zwyczajem jest umieszczanie klauzul od nowych linii. Nie wolno dzielić słowa pomiędzy wiersze. Dozwolone jest używanie małych lub wielkich liter, chyba że sprawdzamy zawartość pola. Dokumentacja Oracle 11 g pod adresem: http://docs.oracle.com/cd/e11882_01/appdev.112/e25519.pdf oraz http://docs.oracle.com/cd/b28359_01/server.111/b28286/toc.htm Literatura z zakresu Oracle w Bibliotece AJD/WMP. Zmiana hasła użytkownika: ALTER USER nazwa_użytkownika IDENTIFIED BY nowe_hasło; Opis wszystkich relacji bazy danych można odczytać odwołując się odpowiednim zapytaniem do perspektywy systemowej ALL_TABLES, a opis relacji danego użytkownika można odczytać za pomocą perspektywy USER_TABLES. SELECT table_name FROM USER_TABLES;

TWORZENIE TABEL create table nazwa_relacji ( nazwa_atrybutu typ (rozmiar) [default wartość domyślna] [ [ constraint nazwa_ogr.] ograniczenie_atr ],, [ [ constraint nazwa_ogr.] ograniczenie_rel, ] ); Typy danych: number number ( r ) number ( r, n) liczby zapisane za pomocą cyfr (0-9), opcjonalnych znaków ( +, -,.); rozmiar liczby <= 38 cyfr rozmiar liczby <= r cyfr r łączna długość liczby, n liczba miejsc po przecinku ( jeśli n jest liczbą ujemną to wartość atrybutu jest zaokrąglana do n miejsc przed przecinkiem; char ( r) łańcuch znakowy o stałej długości; 1<= r <=255; varchar2 ( r) łańcuch znakowy o zmiennej długości; 1<= r <=2000; date od 1 stycznia 4712 p. n. e. do 31 grudnia 4712; long tak jak char; maks. długość łańcucha 2 GB - nie można definiować na nim indeksów ani ograniczeń integralności; - nie można wykorzystywać go w klauzulach: where, group by, order by, connect by, create table as selecty - w danej relacji co najwyżej jeden atrybut może być typu long; longraw dane dowolnego typu ( tj. obrazów, dźwięków); Ograniczenia: null not null unique primary key wartości puste; bez wartości pustych; klucz unikalny relacji; klucz podstawowy relacji (nie występuje przy ograniczeniu unique i odwrotnie);

foreign key references referencja do klucza podstawowego lub unikatowego innej relacji ( do definicji klucza obcego); on delete cascade check ( warunek) ograniczenie definiowane dla klucza obcego; przy usuwaniu krotki z relacji z kluczem podstawowym, usuwane są automatycznie krotki z relacji w której wartość klucza obcego jest równa wartości klucza podstawowego usuwanej krotki; warunek, który musi być spełniony przez wszystkie wartości atrybutu; operatory ( =, <,!=, is null, like ( % - łańcuch o długości >= 0; _- pojedynczy znak), between and, in ( ), and, or, not ); Rozszerzanie i modyfikowanie schematu tabeli ALTER TABLE nazwa_tabeli ADD nazwa_atrybutu typ (rozmiar) [default wartość domyślna] [ [constraint nazwa_ogr] ograniczenie_atr ]; ADD [ constraint nazwa_ogr] ograniczenie_atr; MODIFY nazwa_atrybutu typ (rozmiar) [default wartość domyślna] [ null not null ]; DISABLE ENABLE unique primary key constraint nazwa_ogr [cascade] DROP unique primary key constraint nazwa_ogr [cascade] rozszerzanie i modyfikowanie schematu tabeli dodanie kolumny do tabeli dodanie ograniczenia integralnościowego modyfikowanie typu kolumny czasowe wyłączenie lub uaktywnienie ograniczenia integralnościowego usunięcie ograniczenia integralnościowego Zmiana nazwy tabeli rename stara_nazwa to nowa_nazwa; Usuwanie tabeli drop table nazwa_tabeli [cascade constraint];

Ćwiczenia: 1. Zdefiniować tabele zespol, etat i pracownik oschematach przedstawionych poniżej. zespol id_zesp number(2) klucz podstawowy nazwa varchar2(20) atrybut obowiązkowy etat nazwa varchar2(10) klucz podstawowy placa_min number(6,2) atrybut obowiązkowy, wartość > 0 placa_max number(6,2) atrybut obowiązkowy, wartość <= 5000 pracownik numer number(4) klucz podstawowy nazwisko varchar2(15) atrybut obowiązkowy etat varchar2(10) klucz obcy referencja do atrybutu nazwa tabeli etat szef number(4) referencja do atrybutu numer tabeli pracownik pracuje_od date domyślna wartość daty bieżącej (sysdate lub current_date) placa podst number(6,2) wartość >0 placa_dod number(6,2) domyślna wartość 0 id_zesp number(2) klucz obcy referencja do atrybutu id_zesp tabeli zespol wyrażenia arytmetyczne - konstruowane są z nazw kolumn i literałów numerycznych z użyciem operatorów: dodawania (+), odejmowania (-), mnożenia (*) i dzielenia (/ ) (* i / maja wyższy priorytet od + i -; w przypadku operatorów o tej samej ważności wyrażenie wartościowane jest od lewej do prawej lub za pomocą nawiasów) funkcje przekształcają wartości kolumn i literałów, do których są stosowane (patrz plik Wybrane_funkcje_Oracle10g.pdf lub pod adresem http://docs.oracle.com/cd/b28359_01/server.111/b28286/toc.htm) operator konkatenacji ( ) - umożliwia łączenie wyświetlanych wartości różnych atrybutów w pojedyncze łańcuchy znaków operatory algebraiczne: UNION, UNION ALL (sumy); INTERSECT (iloczynu); MINUS (różnicy) Zapytanie hierarchiczne select... from... connect by prior... start with... order by... Klauzula connect by określa sposób łączenia wierszy relacji w drzewo. Na ogół występują po niej dwie kolumny, których identyczność, a dokładniej równość wartości w dwóch różnych wierszach, powoduje, że wiersze te łączy bezpośrednia krawędź konstruowanego drzewa. Słowo kluczowe prior występuje przy jednej z dwu kolumn klauzuli connect by. Precyzuje ono sposób konstrukcji drzewa kolumna przy której występuje jest uważana za nadrzędną. W konstrukcji drzewa najpierw

jest pobierana wartość kolumny nadrzędnej, a następnie odszukiwane są wszystkie te wiersze, dla których wartość tę przyjmuje również kolumna podrzędna. W tworzonym drzewie wiersze te będą dziećmi wiersza, z którego pobrano wartość atrybutu nadrzędnego. W celu utworzenia drzewa wierszy jest konieczne wskazanie jego korzenia klauzula start with. Po niej występuje warunek selekcjonujący wiersz, od którego rozpocznie się proces konstrukcji drzewa. Z procesem konstrukcji drzewa związana jest pseudokolumna level, której wartość określa poziom zagnieżdżenia poszczególnych węzłów drzewa. Przykład 1 select lpad(' ',2*(level-1)) ' ' nazwisko ' ' etat s from pracownik connect by prior numer=szef start with szef is null order by id_zesp, level; Przykład 2 Najpierw zostanie odrzucony wiersz nie spełniający warunku klauzuli where. Następnie zostanie utworzone drzewo odwzorowujące zależności służbowe, z pominięciem poddrzewa wiersza nie spełniającego warunku podanego po operatorze and w klauzuli connect by. select id_zesp,numer,nazwisko from pracownik where nazwisko!='rajski' connect by prior numer=szef and nazwisko!='podgajny' start with szef is null order by id_zesp, level; ZMIENNE umożliwiają parametryzowanie zapytań, które mogą być wielokrotnie wywoływane. Zmienne lokalne są poprzedzone znakiem &. Ich zasięg jest ograniczony do pojedynczego wykonania polecenia select, w którym zostały użyte. Zmienne globalne są poprzedzone znakami &&. Ich wartość może być określona jednokrotnie. Raz określona wartość zostaje zapamiętana w systemie i jest wykorzystywana przy każdorazowym odwołaniu się do reprezentującej ją zmiennej. Wprowadzane daty i napisy (jako wartości zmiennych lokalnych) muszą być ograniczone apostrofami. W celu uniknięcia wprowadzania apostrofów, możemy ograniczyć apostrofami samą zmienną. Podczas wykonywania polecenia jest również możliwe paramatryzowanie jego nazw kolumn, a nawet relacji. Przykład 3 select &kol1, &&kol2 from &relacja where id_zesp = &id_zesp and etat = '&&nazwa_etatu'; define możemy sprawdzić, jakie zmienne sa zdefiniowane w systemie; define nazwa_zmiennej - możemy sprawdzić, czy zmienna została zdefiniowana w systemie;

define nazwa_zmiennej = wartość przez &. możemy jawnie zdefiniować zmienną globalną. Odwołujemy się do niej Przykład 4 define; define kol2; define roczny_dochod = 'placa_pod*12'; Create [or replace] view nazwa_perspektywy [(atr1, atr2,...)] as select ciało_polecenia_select [with check option]; Przykład 5 Przykład 6 create view asystenci as select numer, nazwisko from pracownik where etat = 'asystent'; create view pods_zesp(nazwa, placa_min,placa_max,placa_przec) as select nazwa, min(placa_pod), max(placa_pod), avg(placa_pod) from pracownik, zepsol where pracownik.id)zesp = zepsol.id_zesp group by nazwa; Aby usunąć perspektywy stosujemy polecenie: drop view nazwa_perspektywy; Licznik jest obiektem, który automatycznie zwiększa swoją wartość po jego każdorazowym odczycie. Liczniki są używane zwykle do generowania unikalnych identyfikatorów wierszy. Licznik definiujemy poleceniem: create sequence [nazwa_użytkownika] nazwa_licznika [increment by liczba] [start with wartość_początkowa] [maxvalue wartość] [cycle/nocycle]; nazwa_użytkownika jest opcjonalnym parametrem określającym użytkownika, który go utworzył. increment by jest opcjonalnym parametrem określającym wartość o jaką będzie zwiększany licznik po każdym odczycie. start with jest opcjonalnym parametrem określającym początkową wartość licznika cycle powrót do wartości początkowej po osiągnięciu maksymalnej wartości maxvalue. Domyślnie licznik nie jest cykliczny. nextval odczyt nowej wartości z licznika; curval odczyt bieżącej wartości z licznika; Przykład 7 create sequence licznik increment by 1 start with 1 maxvalue 100 cycle;