1452


Ćwiczenie 6

Tworzenie tabel

Nazwa tabeli musi być zgodna regułami nazewnictwa obiektów bazy danych Oracle:

Każda kolumna musi mieć określony typ danych:

CHAR (n)

ciąg dowolnych znaków stałej długości, parametr n wskazuje maksymalną długość ciągu

VARCHAR (n)

ciąg znaków zmiennej długości, parametr n wskazuje maksymalną długość ciągu

NUMBER (p,s)

liczba o precyzji p i skali s, precyzja (liczba cyfr znaczących) może przyjmować wartości od 1 do 38, skala (liczba cyfr po przecinku) wartości od -84 do 127

DATE

daty w przedziale między 1 stycznia 4712 roku a 31 grudnia 4712 naszej ery,

LONG

ciąg znaków zmiennej długości o maksymalnym zakresie 2 GB, w tabeli może być tylko jedna

RAW (n)

ciąg bajtów o długości do n bajtów, maksymalne n=2000

LONG RAW

ciąg bajtów o maksymalnej długości do 2 GB, w tabeli może być tylko jedna taka kolumna

ROWID

do przechowywania adresów fizycznych wierszy

polecenia DDL (CREATE, ALTER, DROP).

Do budowania tabel służy polecenie CREATE TABLE:

CREATE TABLE nazwa_tablicy

(nazwa_kolumny typ (rozmiar) [NULL | NOT NULL],

nazwa_kolumny typ (rozmiar) [NULL | NOT NULL],

…);

Do zmiany definicji tabeli służy polecenie ALTER TABLE.

ALTER TABLE nazwa

ADD nazwa_kolumny typ (rozmiar),

nazwa_kolumny typ (rozmiar),

...);

polecenia DML INSERT, UPDATE i DELETE.

Polecenie INSERT służy do wstawiania nowych wierszy do tabeli:

INSERT INTO nazwa_tabeli [(lista_kolumn)]

VALUES (lista_wartości);

Do zmiany zawartości wierszy służy polecenie UPDATE.

UPDATE nazwa_tabeli [alias]

SET kolumna = { wyrażenie | podzapytanie }

[ WHERE warunek ];

zatwierdzenie transakcji — polecenie COMMIT

wycofania transakcji — polecenie ROLLBACK

Punkty zachowania stosuje się, aby podzielić transakcje na mniejsze części.

SAVEPOINT nazwa_punktu_zachowania;

ROLLBACK TO [SAVEPOINT] nazwa_punktu_zachowania;

Zadania do zapytań SQL:

  1. Utwórz tabelę pracownicy o strukturze:

  2. Nazwa kolumny

    typ (rozmiar)

    NULL | NOT NULL

    ID

    NUMBER(4)

    NOT NULL

    Nazwisko

    VARCHAR2(25)

    Imię

    VARCHAR2(25)

    PracID

    VARCHAR2(8)

    Pensja

    NUMER(9,2)

    ID

    Nazwisko

    Imię

    PracID

    Pensja

    1

    Dobra

    Ewa

    edobra

    4 400,00

    2

    Starszy

    Norbert

    nstarszy

    1 900,00

    3

    Siwy

    Marek

    msiwy

    1 700,00

    4

    Zabawny

    Hubert

    hzabawny

    3 200,00

    5

    Roztropna

    Klara

    kroztrop

    1 800,00

    1. Dodaj pierwszy wiersz danych do tabeli pracownicy na podstawie przykładowych danych.
      Nie specyfikuj kolumn w
      klauzuli INSERT pracownicy55 to nazwa tabeli

    insert into pracownicy55

    values

    (

    1,'Dobra', 'Ewa', 'edobra', 4400.00);

    insert into pracownicy55 values

    (2, 'Starszy', 'Norbert', 'nstarszy', 1900.00);

    insert into pracownicy55 values (3, 'Siwy', 'Marek', 'msiwy', 1700.00);

    insert into pracownicy55 values (4, 'Zabawny', 'Hubert', 'hzabawny', 3200.00);

    insert into pracownicy55 values (5, 'Roztropna', 'Klara', 'kroztrop', 1800.00);

    1. Zatwierdź swoje zmiany w tabeli. Wyświetl wszystkie informacje w niej zawarte.

    commit

    1. Połącz pierwszą siedem pierwszych liter nazwiska i literę imienia, aby utworzyć nowy identyfikator użytkownika. Użyj funkcji SUBSTR (kolumna, m [,n]).

    update pracownicy55 set PRACID = substr(NAZWISKO,1,7)||substr(IMIE,1,1);

    1. Wypełnij tabelę dwoma następnymi wierszami. Zatwierdź swoje zmiany w tabeli. Uczyń swoje zmiany trwałymi.

    insert into pracownicy55 values(6,'Abacki','Marek','mabacki',1600.00);

    insert into pracownicy55 values(7,'Babacki','Antoni','mabacki',2600.00);

    1. Zmień nazwisko pracownika 3 na Wysoki.

    update pracownicy set NAZWISKO = 'Wysoki' where ID = 3;

    1. Zmień pensję na 2000 tym pracownikom, którzy zarabiają mniej niż l 999. Sprawdź zmiany.

    update pracownicy55 set PENSJA = 2000.00 where PENSJA < 1999.00;

    1. Usuń pracownika Hubert Zabawny z tabeli.

    delete from pracownicy55 where NAZWISJKO='Zabawny';

    1. Ustaw pośredni punkt w treści transakcji.

    savepoint pierwszy;

    1. Opróżnij tabelę. Sprawdź czy tabela jest pusta.

    delete from pracownicy55;

    1. Wycofaj ostatnią operację DELETE bez wycofania wcześniejszej operacji INSERT.

    rollback to pierwszy;

    1. Sprawdź czy nowy wiersz pozostał w tabeli. Zatwierdź zmiany w tabeli.

    select * from pracownicy55;

    Uprawnienia obiektowe nadajemy poleceniem:

    GRANT uprawnienie [, uprawnienie...]

    ON obiekt

    TO użytkownik [, użytkownik];

    1. Przyznaj sąsiadowi po prawej lub lewej Twojej stronie uprawnienie SELECT do Twojej tabeli Uwaga: w naszej bazie użytkownika identyfikuje się poprzez "LAB\LOGIN". Wszystkie litery duże. LOGIN to numer indeksu.

    Do odbierania uprawnień obiektowych służy polecenie REVOKE:

    REVOKE uprawnienie [, uprawnienie...]

    ON obiekt

    FROM użytkownik;

    1. Uchyl uprawnienia do Twojej tabeli

    2. Odczytaj ze słownika danych USER_TABLES informacje na temat tabel, których jesteś właścicielem

    SELECT table_name FROM user_tables

    Odczytaj perspektywę słownikową ALL_TABLES

    Powtórz materiał do kolokwium

    create table pracownicy55

    (

    ID number(4)not null,

    Nazwisko varchar2(25),

    Imie varchar2(25),

    PracID varchar2(8),

    Pensja number(9,2)

    );

    SQL Ćwiczenia Strona 3



    Wyszukiwarka

    Podobne podstrony:
    Leonardo da Vinci, Leonardo da Vinci (1452-1519)
    (w5) Workflow, XML Process Definition Languageid 1452 ppt
    1452
    1452
    1452
    dynamika ukl o 1 stopniu swobody id 1452
    1452
    N 1452
    1452 do widzenia mój kochany eleni J3B57BZNRZQNZKYN2VALAUJRSRATSTTK6WPOGUI
    1452
    Eleanor Rees Pirate s Hostage [HP 1452, MB 3435] (docx)
    1452

    więcej podobnych podstron