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

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

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

Bazy danych - Materiały do laboratoriów VIII

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

Widok Connections po utworzeniu połączenia. Obszar roboczy

Ćwiczenie zapytań języka bazy danych PostgreSQL

ACESS- zadania z wykorzystaniem poleceń SQL

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

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

Zarzadzanie transakcjami. Transakcje

Wykład 5. SQL praca z tabelami 2

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

Wykład 8. SQL praca z tabelami 5

Wykład 05 Bazy danych

Autor: Joanna Karwowska

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

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

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

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

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

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

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

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

Wykład 4. SQL praca z tabelami 1

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

Relacyjne bazy danych. Podstawy SQL

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

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

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

Aspekty aktywne baz danych

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Bazy danych i usługi sieciowe

SQL (ang. Structured Query Language)

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

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

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Struktura bazy danych

Bazy Danych i Usługi Sieciowe

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

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

Bazy danych Ćwiczenia projektowe

Relacyjne bazy danych. Podstawy SQL

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

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

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

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1)

Język SQL, zajęcia nr 1

Ćwiczenie 6 - DML. Tworzenie, modyfikacja i usuwanie krotek. Podstawy poleceń COMMIT i ROLLBACK. Ćwiczenie 6 DML. Wymagania: Bazy Danych

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

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

Bazy danych. Dr inż. Paweł Kasprowski

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

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

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

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

Zarządzanie obiektami bazy danych Oracle11g

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Bazy danych Ćwiczenia projektowe

1. Wyzwalacze BD (ang. triggers)

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

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

Struktura drzewa w MySQL. Michał Tyszczenko

Laboratorium Bazy danych SQL 3 1

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

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

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

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Projektowanie systemów baz danych

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

Wykład 6. SQL praca z tabelami 3

Paweł Rajba

bazy danych - heterogeniczność producenci funkcjonalność modele danych protokoły komunikacyjne

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

SQL :: Data Definition Language

SIECI KOMPUTEROWE I BAZY DANYCH

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

Bazy danych. Polecenia SQL

Administracja i programowanie pod Microsoft SQL Server 2000

Język PL/SQL. Rozdział 6. Procedury wyzwalane

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

Język SQL, zajęcia nr 2

Bazy danych 10. SQL Widoki

Imię i Nazwisko Data Ocena. Laboratorium 7

Laboratorium Bazy danych SQL 2

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

PODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu "Podstawy baz danych"

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

SIECI KOMPUTEROWE I BAZY DANYCH

Bazy danych wykład szósty Więzy i wyzwalacze. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Procedury wyzwalane. Rozdział 13. Procedury wyzwalane. Cele stosowania procedur wyzwalanych. Definiowanie procedury wyzwalanej DML

Kurs. Podstawy MySQL

Projektowanie Baz Danych GiG-2-KG Ćw. 5. Podstawy języka SQL

Transkrypt:

Tworzenie tabeli Np. create table nazwa_tab( \\stworzenie tabeli Id numer(4) constraint PRAC_PK primary key, \\ustawiamy klucz podst. Nazwisko varchar2(30), \\typ tekstowy 30 znaków Kwota number(10,2) default 5000, \\wartość domyślna 5000 Nr_konta number(20) \\liczba 20 cyfrowa, 0 po przecinku CONSTRAINT nazwa_con CHECK (kwota>2000), \\sprawdzamy czy kwota jest większa niż 2000, CONSTRAINT nazwa_2 UNIQUE (nazwisko), ); Dodawanie pól w tabeli ALTER TABLE PRAC ADD(IMIE VARCHAR(30)); Modyfikacja pól w tabeli ALTER TABLE PRAC MODIFY(IMIE VARCHAR2(40)); Dodawanie komentarzy: COMMENT ON TABLE PRAC IS 'Nasz komentarz'; Blokowanie i odblokowanie ograniczeń ALTER TABLE PRAC DISABLE CONSTRAINT nazwa_con; ALTER TABLE PRAC ENABLE CONSTRAINT nazwa_con; Usuwanie ograniczeń ALTER TABLE PRAC DROP CONSTRAINT nazwa_con; Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z Usuwanie tabeli Drop table nazwa_tab1 cascade constraints; Dodawanie danych [INSERT] Podstawowy insert Najprostsza forma polecenia insert ma konstrukcję: INSERT INTO NAZWA_TABELI VALUES (WARTOŚĆ1, WARTOŚĆ2); Słowo INTO jest opcjonalne i nie musimy go pisać. Przy powyższym musimy podać wartości dla wszystkich kolumn uzupełnianej tabeli. Jeśli chcemy dodać wartość tylko do niektórych kolumn musimy zastosować poniższą konstrukcję: INSERT INTO NAZWA_TABELI (NAZWA_KOLUMNY1, NAZWA_KOLUMNY2) VALUES (WARTOŚĆ1, WARTOŚĆ2);

Musimy jednak pamiętać, że jeśli w tabeli istnieje klucz główny, musimy uzupełnić kolumnę której ten klucz dotyczy. Insert danych pochodzących z zapytania Do tabeli możemy dodać również wiele wierszy jednocześnie, pochodzących z innego zapytania. Warunkiem powodzenia jest zgodność ilości oraz typów kolumn w tabeli źródłowej i docelowej. INSERT INTO JOBS SELECT TEST.NEXTVAL, JOB_TITLE, MIN_SALARY, MAX_SALARY FROM JOBS; Kasowanie danych [DELETE] Aby skasować wszystkie dane z tabeli stosujemy konstrukcję : DELETE FROM NAZWA_TABELI; Możemy też skasować tylko część danych z tabeli stosując WHERE tak jak przy zapytaniach SELECT DELETE FROM NAZWA_TABELI WHERE ID=1000; Nie użycie WHERE skutkuje usunięciem wszystkich rekordów w tabeli. Kasowanie danych TRUNCATE Tabelę można również wyczyścić całkowicie przy pomocy polecenia TRUNCATE: TRUNCATE TABLE JOBS; Nie możemy tutaj w przeciwieństwie do DELETE zastosować WHERE. Możemy wyczyścić tylko całość tabeli. Tej operacji nie da się odwrócić w prosty sposób! Np. delete from prac where etat='asystent'; Modyfikowanie danych [UPDATE] Podstawowa forma modyfikacji danych: UPDATE NAZWA_TABELI SET KOLUMNA=WARTOŚĆ; Możemy zmieniać wiele kolumn naraz dodając je po przecinku: UPDATE NAZWA_TABELI SET KOLUMNA=WARTOŚĆ, SET KOLUMNA2=WARTOŚĆ2; Również tutaj możemy zastosować WHERE: UPDATE NAZWA_TABELI SET KOLUMNA=WARTOŚĆ, SET KOLUMNA2=WARTOŚĆ2 WHERE KOLUMNA=WARTOŚĆ; Nie użycie WHERE skutkuje zmianą wszystkich rekordów w tabeli. np.: update prac

set placa_pod=(select placa_pod from dodatki d where d.id_prac=prac.id_prac) where id_prac in (select id_prac from dodatki); Zadania do bazy ewidencji pracowników uczelni 1. Utwórz poniższe tabele Nazwa relacji: PROJEKTY Nazwa relacji: PRZYDZIALY Kluczem podstawowym relacji PRZYDZIALY jest para atrybutów (ID_PROJEKTU, NR_PRACOWNIKA), nazwa klucza to PRZYDZIALY_PK. 2. Dodaj do relacji PRZYDZIALY atrybut GODZINY, będący liczbą całkowitą o maksymalnej wartości równej 9999. 3. Dodaj do utworzonych przez siebie relacji poniższe komentarze i wyświetl te komentarze TABLE_NAME TABLE_TYPE COMMENTS ---------- ---------- ----------------------------------- PROJEKTY TABLE Lista projektów prowadzonych przez pracowników PRZYDZIALY TABLE Informacje o przydziale poszczególnych pracowników do projektów 4. Wyświetl informacje o ograniczeniach założonych na relacji PRZYDZIALY CONSTRAINT_NAME C SEARCH_CONDITION ------------------- - ----------------------------------

PRZYDZIALY_DATY_CHK C od < do PRZYDZIALY_FK_01 R PRZYDZIALY_FK_02 R PRZYDZIALY_PK P PRZYDZIALY_ROLA_CHK C rola in ('KIERUJĄCY','ANALITYK','PROGRAMISTA') PRZYDZIALY_STAWKA_CHK C stawka>0 SYS_C00308102 C "ID_PROJEKTU" IS NOT NULL SYS_C00308103 C "NR_PRACOWNIKA" IS NOT NULL 5. Wyłącz tymczasowo sprawdzanie unikalności opisów projektów. 6. Zwiększ maksymalny rozmiar atrybutu OPIS_PROJEKTU do 30 znaków. 7. Utwórz relację PRACOWNICY_ZESPOLY zawierającą dane: NAZWISKO, POSADA, ROCZNA_PLACA, ZESPOL, ADRES_PRACY (roczna płaca to dwunastokrotność płacy podstawowej plus płaca dodatkowa). Posłuż się mechanizmem tworzenia relacji w oparciu o zapytanie. 8. Aktywuj wyłączone wcześniej ograniczenie. 9. Wstaw do relacji PROJEKTY następujące krotki. 10. Wstaw do relacji PRZYDZIALY następujące krotki 11. Podnieś stawkę pracownika o numerze 170 do 1200 złotych (relacja PRZYDZIALY). 12. Zmień datę zakończenia projektu Indeksy bitmapowe na 31 grudnia 2001 r. i zmniejsz fundusz tego projektu do 19000 złotych. 13. Wstaw dwie propozycje własnych projektów. 14. Wszystkim pracownikom podnieś płacę podstawową o 10% średniej płacy podstawowej w ich zespole (relacja PRACOWNICY). 15. Podnieś do średniej pracowniczej płacę podstawową najmniej zarabiającym pracownikom. 16. Uaktualnij płace dodatkowe pracowników zespołu 20. Nowe płace dodatkowe mają być równe średniej płacy podstawowej pracowników, których przełożonym jest DABACKI. 17. Pracownikom zespołu o nazwie INFORMATYKA daj 25% podwyżkę (płaca podstawowa).

18. Usuń informacje o projektach do których nie przydzielono żadnych pracowników. 19. Usuń bezpośrednich podwładnych pracownika o nazwisku XXX. Zastosuj usuwanie krotek z wyniku połączenia relacji. 20. Utworzyć tabelę PRAC_PROF jako kopię PRAC, usunąć wszystkie dane i wpisać tych pracowników, z tabeli PRAC, którzy pracują na stanowisku profesorskim i zostali zatrudnieni przed rokiem 1978. 21. Zwiększyć płacę podstawową do 120% średniej płacy podstawowej w zespole pracownika oraz zwiększyć płacę dodatkową do wartości równej maksymalnej płacy dodatkowej w zespole pracownika. Operacji dokonać tylko dla pracowników zatrudnionych po 1990 roku. Wskazówka: użyć funkcji nvl(wyrażenie, wartość) służącej do obsługi tzw. wartości pustych. 10-11 zad 3 12-14 zad 3,5 15-17 zad 4 18-20 zad 4,5 21 zad 5