I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE
|
|
- Andrzej Laskowski
- 9 lat temu
- Przeglądów:
Transkrypt
1 Wykład 9 Implementacja języka SQL w systemach baz danych Oracle manipulowanie danymi (DML), tworzenie, modyfikowanie i usuwanie obiektów bazy danych: tabel i perspektyw, więzów integralności, komentarzy (DDL), elementy języka sterowania transakcjami (TCL).
2 I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE I. 1 Wstawianie danych do tabel - polecenie INSERT - polecenie INSERT wstawiające do tabeli wiersz danych podanych bezpośrednio: INSERT INTO [schemat_użytkownika.]tabela[@baza_danych] [ (kolumna,...) ] VALUES (wartość lub wyrażenie,... Podstawowe przykłady: insert into PRACOWNICY (ID_P,IMIĘ,NAZWISKO,PENSJA) values (2000,'Tomasz','Zborowski',3000 Jeśli wstawiamy dane do wszystkich kolumn (tzn. przypisujemy wartości wszystkim atrybutom w krotce), to można pominąć nazwy kolumn w poleceniu INSERT, ale szczególnie w aplikacjach nie jest to zalecane ze względu na możliwość zmiany struktury tabeli (relacji). Gdy jednak zdecydujemy się na taką wersję polecenia INSERT to kolejność wartości atrybutów wprowadzanych po słowie kluczowym VALUES powinny być taka, jak kolejność nazw kolumn (atrybutów) wyświetlanych przez polecenie DESC: desc PRACOWNICY => kolumny: ID_P, IMIĘ, NAZWISKO, PENSJA, ID_BP, ID_D Wówczas można np. wykonać następujące polecenie INSERT: insert into PRACOWNICY values (2001, 'Michał','Stręk',2500,2000,10 Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 2
3 - polecenie INSERT wstawiające do tabeli wiersz danych pobierając je za pomocą podzapytania: INSERT INTO [ (kolumna,...) ] podzapytanie; Przykład: Załóżmy, że w naszej bazie istnieje tabela PRACOWNICY_DZIAŁU_11 o identycznym nagłówku jak tabela PRACOWNICY, która jest pusta. Wówczas możemy wstawić do niej wszystkie dane z tabeli PRACOWNICY dla działu 11, używając polecenia: insert into PRACOWNICY_DZIAŁU_11 select * from PRACOWNICY where ID_D = 11; - Uwagi ogólne dotyczące polecenia INSERT: a) Należy pamiętać o ograniczeniach wynikających z nałożonych więzów integralności oraz innych więzów: - nie można wprowadzić więcej niż jednego wiersza o takich samych wartościach atrybutów klucza głównego lub unikalnego; - nie można wprowadzić wartości atrybutu (atrybutów) tworzących klucz obcy, jeżeli nie zostały one wprowadzone wcześniej jako wartości atrybutu (atrybutów) klucza głównego lub unikalnego, do którego ten klucz obcy odnosi się; - nie można wprowadzić wartości atrybutu, która byłaby niezgodna z narzuconymi innymi więzami niż więzy integralności relacyjnej bazy danych, z tzw. więzami typu check, np. PENSJA >= 0 Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 3
4 b) Wartości atrybutów typu numerycznych wprowadzamy bez apostrofów, natomiast wartości atrybutów typu tekstowego oraz daty i czasu zawsze ujmujemy w apostrofy! Dobrym nawykiem jest używanie funkcji TO_DATE do wprowadzania wartości typu DATE. Załóżmy, że tabela PRACOWNICY ma dodatkowo kolumnę DATA_ZATRUDNIENIA. Wówczas powinniśmy wprowadzać do niej wartości w następujący sposób: insert into PRACOWNICY (ID_P, IMIĘ, NAZWISKO, DATA_ZATRUDNIENIA) values (2000,'Paweł','Kłos',to_date(' ','DD.MM.YYYY') Wówczas unikniemy błędów wynikających z możliwej niepoprawnej konwersji wprowadzanej wartości do postaci zgodnej z domyślnym formatem daty i czasu. Warto pamiętać, że jeśli wpiszemy datę do atrybutu typu DATE bez podania jawnie godziny, to zostanie ustawiona godzina (00:00:00), czyli północ. Przykładowo, zakładając, że format wprowadzanej daty zatrudnienia jest zgodny z domyślnym formatem daty i czasu serwera, wyrażenia: ' ' to_date(' ','dd.mm.yyyy') to_date(' ','dd.mm.yyyy HH24:MI:SS') będą skutkować przyjęciem przez atrybut DATA_ZATRUDNIENIA wartości ' :00:00'. Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 4
5 I. 2 Modyfikacja (uaktualnianie) danych w tabeli - polecenie UPDATE UPDATE [schemat_użytkownika.]tabela[@baza_danych] [alias] SET kolumna = wartość lub wyrażenie, kolumna = (podzapytanie),... [WHERE warunek]; Alternatywna składnia: UPDATE [schemat_użytkownika.]tabela[@baza_danych] [alias] SET (kolumna,kolumna, ) = (podzapytanie) [WHERE warunek]; Przykłady: update PRACOWNICY set PENSJA = 3500 where ID_P = 1002; update PRACOWNICY set PENSJA = (select PENSJA*1.5 from PRACOWNICY where ID_P=1001) where ID_P = 1003; update PRACOWNICY set IMIĘ = 'Ewa', Nazwisko='Wierzba', PENSJA = (select PENSJA from PRACOWNICY where ID_P=1002) where ID_P = 1004; Zakładając, że tabela PRACOWNICY ma dodatkową kolumnę MAX_PENSJA_W_DZIALE update PRACOWNICY P1 set MAX_PENSJA_W_DZIALE = (select max(pensja) from PRACOWNICY P2 where P2.ID_D = P1.ID_D update PRACOWNICY set (PENSJA,ID_D) = (select PENSJA,ID_D from PRACOWNICY where ID_P = 1003) where ID_P = 1005; Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 5
6 I. 3 Usuwanie danych z tabeli - polecenie DELETE DELETE [FROM] [schemat_użytkownika.]tabela[@baza_danych] [alias] [WHERE warunek]; Należy pamiętać, że dozwolone niezastosowanie klauzuli WHERE spowoduje usunięcie danych z całej tabeli!!! Polecenia delete from PRACOWNICY where ID_P = 1001; oraz delete PRACOWNICY where ID_P = 1001; dadzą ten sam efekt. Przykład z wykorzystaniem aliasu: delete from PRACOWNICY P1 where PENSJA > (select AVG(PENSJA) from PRACOWNICY P2 where P2.ID_D = P1.ID_D II. Język definiowania, modyfikowania i usuwania obiektów bazy - DDL (Data Definition Language). II. 1 Uwagi ogólne dotyczące nazw tabel, perspektyw i ich kolumn. - Nazwa tabeli lub perspektywy musi być unikalna wśród nazw obiektów dostępnych dla danego użytkownika - Nazwa tabeli, perspektywy czy kolumny: może mieć maksymalnie 30 znaków, musi zaczynać się od litery, może zawierać litery, cyfry, a także _, $, # (chociaż $ i # nie są zalecane) Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 6
7 jeżeli jest taka jak słowo kluczowe PL/SQL (co nie jest zalecane), to musi być ujmowana w cudzysłowy jeżeli w definicji tabeli lub perspektywy nazwę tabeli lub perspektywy czy też kolumny napiszemy w cudzysłowach ("emp"), to duże i małe litery w takiej nazwie nie będą utożsamiane i używając tej nazwy w poleceniach zawsze będziemy musieli ujmować ją w cudzysłów. II. 2 Tworzenie tabel - polecenie CREATE TABLE Ograniczymy się do tworzenia tabel w schemacie bieżącego użytkownika: Podstawowe wersje polecenia CREATE TABLE: - Tworzenie typowej (nie tymczasowej) tabeli relacyjnej poprzez zdefiniowanie poszczególnych jej kolumn: CREATE TABLE nazwa_tabeli ( nazwa_kolumny [typ_danych ][DEFAULT wartość lub wyrażenie ] [więz_kolumnowy][, nazwa_kolumny [typ_danych ][DEFAULT wartość lub wyrażenie ] [więz_kolumnowy],..., ] [więzy_tabelowe] ) [możliwe inne własności] np. określenie przestrzeni tabel dla definiowanej tabeli ; Przykład: create table PRACOWNICY ( ID_P number(6) not null, IMIĘ varchar2(30), NAZWISKO varchar2(50), PENSJA number(8,2), ID_BP number(6), ID_D number(3) Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 7
8 - Tworzenie typowej (nie tymczasowej) tabeli relacyjnej na podstawie już istniejącej tabeli: CREATE TABLE nazwa_tabeli [ ( nazwa kolumny [ NULL / NOT NULL ],... ) ] AS zapytanie_do_istniejącej_tabeli; Jeżeli nie podamy nazw kolumn - te, które są wymienione w zapytaniu zostaną utworzone w tabeli. create table PRACOWNICY as select * from emp; Jeżeli podamy nazwy kolumn - zapytanie zostanie użyty tylko do wstawienia wartości do nowo utworzonej tabeli. create table PRACOWNICY (ID_P, NAZWISKO, PENSJA, ID_BP, ID_D) as select empno, ename, sal, mgr, deptno from emp; II. 3 Zmiana struktury tabeli - polecenie ALTER TABLE Wybrane zastosowania polecenia ALTER TABLE: - dodawanie nowych kolumn lub więzów do tabeli ADD (nazwa_kolumny [typ_danych] [DEFAULT wartość lub wyrażenie] [więz_kolumnowy] [,, ] więz_tabelowy Przykład: add (MAKS_PENSJA_W_DZIALE number(8,2) DEFAULT 0.0 NOT NULL Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 8
9 - dodawanie nowych więzów do tabeli ADD więz_tabelowy; ADD (więz_tabelowy1, więz_tabelowy2, - zmienianie (modyfikowanie) definicji istniejących kolumn w tabeli MODIFY (kolumna [typ_danych] [DEFAULT wartość lub wyrażenie] [więz_kolumnowy] [, ] Przykład: modify (NAZWISKO varchar2(60) NOT NULL, IMIĘ varchar2(40) NOT NULL Uwaga: w starszych wersjach Oracle'a (np. Oracle 8i) jedynymi więzami kolumnowymi, które można było zmienić w podklauzuli MODIFY polecenia ALTER TABLE były własności NOT NULL i NULL. W Oracle 10g nie ma takich ograniczeń, tzn. można narzucić na kolumnę dowolny rodzaj więzu za pomocą podklauzuli MODIFY w poleceniu ALTER TABLE. Ponadto możliwe jest tworzenie więzów tabelowych za pomocą podklauzuli MODIFY: MODIFY więz_tabelowy; MODIFY (więz_tabelowy1, więz_tabelowy2, Uwaga: Gdy więz istnieje, to najczęściej należy go najpierw usunąć (patrz koniec podrozdziału II.5), a później można go utworzyć ponownie w zmienionej formie! Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 9
10 Jednak podklauzula MODIFY pozwala także na pewne modyfikacje własności więzów. Poprzez tę klauzulę można zmieniać stan więzu (przykładowo włączony (ENABLE) albo wyłączony (DISABLE)): MODIFY więz stan_więzu; Wybrane stany więzu: ENABLE - włączony (domyślny), DISABLE - wyłączony. W przypadku każdego więzu można użyć składni: MODIFY CONSTRAINT Nazwa_własna_więzu ENABLE DISABLE; Dodatkowo dla więzów typu: - klucz główny poprawne jest polecenie: MODIFY PRIMARY KEY ENABLE DISABLE; - klucz unikalny poprawne jest polecenie: MODIFY UNIQUE (nazwa_kolumny1, nazwa_kolumny2, ) ENABLE DISABLE; - usuwanie kolumny z tabeli Usuwanie jednej kolumny tabeli: DROP COLUMN kolumna [CASCADE CONSTRAINTS INVALIDATE]; Usunięcie kolumny, która nie jest kolumną klucza głównego lub unikalnego, do którego odnosi się jakiś klucz obcy: drop column ID_P; Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 10
11 Powyższa komenda jest równoważna poleceniu: drop column ID_P invalidate; Usunięcie kolumny, powodujące usunięcie więzów ewentualnie odnoszących się do niej: drop column ID_P cascade constraints; Po wykonaniu powyższego polecenia wraz z usunięciem kolumny ID_P, która jest kolumną klucza głównego w tabeli PRACOWNICY, zostanie usunięty każdy więz typu klucz obcy (ale nie kolumna, na którą ten klucz obcy jest nałożony!), odnoszący się do tego klucza głównego. Usuwanie wielu kolumn tabeli: DROP (kolumna1, kolumna2, ) [CASCADE CONSTRAINTS INVALIDATE]; Przykład: drop (ID_D, PROWIZJA Uwagi podsumowujące: Parametr INVALIDATE (ang. unieważnić) jest domyślny i oznacza, że np. kolumna klucza głównego lub unikalnego, jeśli odnosi się do niej jakiś klucz obcy, nie zostanie usunięta. Natomiast parametr CASCADE CONSTRAINTS zezwala na usunięcie takich kolumn klucza głównego wraz z wszystkimi więzami odnoszącymi się do niego. Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 11
12 II. 4 Usuwanie tabeli - polecenie DROP TABLE Usuwanie tabeli, do której nie odnoszą się żadne klucze obce: DROP TABLE [schemat_użytkownika.]tabela; Usuwanie tabeli wraz z więzami do niej odnoszącymi się (ale bez usuwania kolumn, na które te więzy odnoszące się do tabeli usuwanej są narzucone): DROP TABLE [schemat_użytkownika.]tabela CASCADE CONSTRAINTS; Usuwanie tabeli, do której nie odnoszą się żadne klucze obce, bez możliwości jej odzyskanie: DROP TABLE [schemat_użytkownika.]tabela PURGE; Usuwanie tabeli wraz z więzami do niej odnoszącymi się (ale bez usuwania kolumn, na które te więzy odnoszące się do tabeli usuwanej są narzucone) bez możliwości jej odzyskanie: DROP TABLE [schemat_użytkownika.]tabela CASCADE CONSTRAINTS PURGE; Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 12
13 II. 5 Więzy (CONSTRAINTS) Klucz główny (w sensie własności tego więzu po jego zdefiniowaniu na serwerze bazy danych) to zestaw atrybutów (kolumn), których wartości są unikalne w każdej krotce (wierszu) relacji bazodanowej (tabeli), innymi słowy poprzez które można w jednoznaczny sposób zidentyfikować każdy wiersz tabeli. Tabela może posiadać co najwyżej jeden klucz główny. Klucz główny w bazach Oracle domyślnie otrzymuje własność NOT NULL. Klucz unikalny ma podobne własności jak klucz główny. Różni się od niego tym, że: - może przyjąć wartość NULL, chociaż nie jest to zalecane; warto przy tym pamiętać, że przykładowo, gdy klucz unikalny jest jednoatrybutowy to wartość NULL może być przyjęta przez niego tylko w jednym wierszu; - może być więcej kluczy unikalnych w danej tabeli niż jeden. Klucz obcy to taki zestaw atrybutów, który odnosi się do jakiegoś klucza głównego lub unikalnego i nie zezwala na wprowadzenie do swoich atrybutów innych wartości niż takie, które wcześniej zostały wprowadzone do klucza odniesienia. Wyjątkiem jest wartość pusta NULL. którą klucz obcy może przyjmować wielokrotnie niezależnie czy odnosi się do klucza głównego czy unikalnego. Uwaga: klucz obcy można zdefiniować, gdy istnieje klucz główny lub unikalny, do którego ma się odnosić ten klucz obcy! Typy więzów klucz główny kłucz unikalny klucz obcy więzy NOT NULL / NULL więzy typu CHECK Słowa kluczowe SQL PRIMARY KEY UNIQUE FOREIGN KEY REFERENCES NOT NULL albo domyślnie NULL CHECK Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 13
14 Wszystkie rodzaje więzów można definiować zarówno poprzez polecenie CREATE TABLE, jak i ALTER TABLE. Ogólny schemat definicji więzu jest następujący: [ CONSTRAINT Nazwa_własna_więzu ] SŁOWO_KLUCZOWE_TYPU_WIĘZU [ elementy składni wynikające z typu więzu ] Przykład definiowania więzów kolumnowych poprzez polecenie CREATE TABLE, których nazwy własne są nadawane automatycznie przez serwer: create table PRACOWNICY ( ID_P number(6) primary key, IMIĘ varchar2(30) not null, NAZWISKO varchar2(50) not null, PENSJA number(8,2) check (PENSJA >= 0), ID_BP [ number(6) ] references PRACOWNICY, ID_D [ number(3) ] references DZIAŁY Przykład definiowania więzów kolumnowych poprzez polecenie CREATE TABLE, których nazwy własne są nadawane przez użytkownika: create table PRACOWNICY ( ID_P number(6) constraint PK_pracownicy primary key, IMIĘ varchar2(30) constraint NN1_pracownicy not null, NAZWISKO varchar2(50) constraint NN2_pracownicy not null, PENSJA number(8,2) constraint C1_pracownicy check (PENSJA >= 0), ID_BP [ number(6) ] constraint RFK_pracownicy references PRACOWNICY, ID_D [ number(3) ] constraint FK_pracownicy_DZIAŁY references DZIAŁY Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 14
15 Przykład definiowania więzów tabelowych oraz kolumnowych NOT NULL poprzez polecenie CREATE TABLE, których nazwy własne są nadawane automatycznie przez serwer: create table PRACOWNICY ( ID_P number(6), IMIĘ varchar2(30) not null, NAZWISKO varchar2(50) not null, PENSJA number(8,2), ID_BP [ number(6) ], ID_D [number(3) ], primary key (ID_P), foreign key (ID_BP) references PRACOWNICY, foreign key (ID_D) references DZIAŁY, check (PENSJA >= 0) Przykład definiowania więzów tabelowych oraz kolumnowych NOT NULL poprzez polecenie CREATE TABLE, których nazwy własne są nadawane przez użytkownika: create table PRACOWNICY ( ID_P number(6), IMIĘ varchar2(30) constraint NN1_pracownicy not null, NAZWISKO varchar2(50) constraint NN2_pracownicy not null, PENSJA number(8,2), ID_BP [ number(6) ], ID_D [ number(3) ], constraint PK_pracownicy primary key (ID_P), constraint RFK_pracownicy foreign key (ID_BP) references PRACOWNICY, constraint FK_pracownicy foreign key (ID_D) references DZIAŁY, constraint C1_pracownicy check (PENSJA >= 0) Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 15
16 Zastosowanie polecenia ALTER TABLE do definiowania więzów: Zdefiniujmy tabelę PRACOWNICY bez jakiegokolwiek więzu: create table PRACOWNICY ( ID_P number(6), IMIĘ varchar2(30), NAZWISKO varchar2(50), PENSJA number(8,2), ID_BP number(6), ID_D number(3) Wówczas można utworzyć więzy w tabeli PRACOWNICY, używając polecenia ALTER TABLE: Przykład definiowania więzów tabelowych (opartych na istniejących kolumnach) poprzez polecenie ALTER TABLE z klauzulą ADD, których nazwy własne są nadawane automatycznie przez serwer: add (primary key (ID_P), foreign key (ID_BP) references PRACOWNICY, foreign key (ID_D) references DZIAŁY, check (PENSJA >= 0) Przykład definiowania więzów tabelowych (opartych na istniejących kolumnach) poprzez polecenie ALTER TABLE z klauzulą ADD, których nazwy własne są nadawane przez użytkownika: add (constraint PK_pracownicy primary key (ID_P), constraint RFK_pracownicy foreign key (ID_BP) references PRACOWNICY, constraint FK_pracownicy foreign key (ID_D) references DZIAŁY, constraint C_pracownicy check (PENSJA >= 0) Uwaga: W powyższy sposób nie można zdefiniować więzów NOT NULL i NULL, które jako jedyne są restrykcyjnie traktowane jako więzy kolumnowe! Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 16
17 Przykład definiowania więzów kolumnowych NOT NULL (narzucanych na istniejące kolumny) poprzez polecenie ALTER TABLE z klauzulą MODIFY, których nazwy własne są nadawane automatycznie przez serwer: modify (IMIĘ not null, NAZWISKO not null Przykład definiowania więzów kolumnowych NOT NULL (narzucanych na istniejące kolumny) poprzez polecenie ALTER TABLE z klauzulą MODIFY, których nazwy własne są nadawane przez użytkownika: modify (constraint NN1_pracownicy IMIĘ not null, constraint NN1_pracownicy NAZWISKO not null Przykład definiowania więzów (opartych na istniejących kolumnach) poprzez polecenie ALTER TABLE z klauzulą MODIFY, których nazwy własne są nadawane automatycznie przez serwer: - składnia kolumnowa: modify (ID_P primary key, IMIĘ not null, NAZWISKO not null, ID_BP references PRACOWNICY, ID_D references DZIAŁY, PENSJA check (PENSJA >= 0) - składnia tabelowa: modify (primary key (ID_P), IMIĘ not null, NAZWISKO not null, foreign key (ID_BP) references PRACOWNICY, foreign key (ID_D) references DZIAŁY, check (PENSJA >= 0) Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 17
18 Przykład definiowania więzów (opartych na istniejących kolumnach) poprzez polecenie ALTER TABLE z klauzulą MODIFY, których nazwy własne są nadawane przez użytkownika: - składnia kolumnowa: modify (ID_P constraint PK_pracownicy primary key, IMIĘ constraint NN1_pracownicy not null, NAZWISKO constraint NN2_pracownicy not null, ID_BP constraint RFK_pracownicy references PRACOWNICY, ID_D constraint FK_pracownicy references DZIAŁY, PENSJA constraint C_pracownicy check (PENSJA >= 0) - składnia tabelowa (wymagana kolumnowa tylko dla więzów NOT NULL): modify (constraint PK_pracownicy primary key (ID_P), IMIĘ constraint NN1_pracownicy not null, NAZWISKO constraint NN2_pracownicy not null, constraint RFK_pracownicy foreign key (ID_BP) references PRACOWNICY, constraint FK_pracownicy foreign key (ID_D) references DZIAŁY, constraint C_pracownicy check (PENSJA >= 0) Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 18
19 Uwaga: W celu zmiany więzu najczęściej (poza zmianą stanu więzu, np. włączony (ENABLE), wyłączony (DISABLE) - patrz opis podlauzuli MODIFY w podrozdziale II.3 oraz zmianą nazwy własnej) należy go najpierw usunąć przy pomocy komendy: DROP CONSTRAINT Nazwa_własna_więzu; Na przykład: drop constraint C_pracownicy; Dodatkowo więz typu: - klucz główny można usunąć poprzez polecenie: DROP PRIMARY KEY; - klucz unikalny można usunąć poprzez polecenie: DROP UNIQUE (nazwa_kolumny1, nazwa_kolumny2, Nazwę własną więzu można zmienić bez usuwania więzu używając podklauzulę RENAME CONSTRAINT: RENAME CONSTRAINT Stara_nazwa_więzu TO Nowa_nazwa_więzu; Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 19
20 II. 6 Perspektywy (widoki) w bazach danych wstępne informacje Perspektywę można zdefiniować jako składowane w bazie danych zapytanie. Ta definicja jest w pewien sposób uproszczona, nie oddaje na przykład takich własności perspektyw jak możliwość wstawiania do tabel i usuwania z nich danych poprzez perspektywy oparte na tych tabelach. Jednak wstępnie, do naszych potrzeb, jest ona wystarczająca. Ponieważ poprzestaniemy na najprostszej postaci definicji perspektywy, nie omawiając elementów decydujących o własnościach operacji DML (INSERT, UPDATE i DELETE) w przypadku perspektyw: - tworzenie nieistniejącej perspektywy: Przykład: create view [schemat_użytkownika.]nazwa_perspektywy [ ( kolumna1, kolumna2... ) ] as zapytanie; Tworzenie perspektywa DZIAL10 o tych samych nazwach kolumn, jakie są w tabeli DZIAŁY: create view DZIAL10 as select * from DZIAŁY where ID_D=10; Tworzenie perspektywa DZIAL10 o innych nazwach kolumn niż te, które są w tabeli DZIAŁY: create view DZIAL10 (ID_DZIALU, NAZWA_DZIALU) as select ID_D, NAZWA from DZIAŁY where ID_D=10; - usuwanie i ponowne tworzenie perspektywy bez utraty uprawnień do niej przydzielonych: create or replace view [schemat_użytkownika.]nazwa_perspektywy [ ( kolumna1, kolumna2... ) ] as zapytanie; Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 20
21 Przykład: create or replace view DZIAL10 (ID_DZIALU, NAZWA_DZIALU) as select ID_D, NAZWA from DZIAŁY where ID_D=10 or ID_D=11; - usuwanie perspektywy: Przykład: drop view [schemat_użytkownika.]nazwa_perspektywy; drop view DZIAL10; II. 7 Komentarze do obiektów bazy danych - Komentarz do tabeli lub perspektywy Komentarz do tabeli: COMMENT ON TABLE [schemat_użytkownika.]nazwa_tabeli IS 'tekst komentarza'; Na przykład: comment on table PRACOWNICY is ' Tabela zawiera dane o pracownikach firmy' Komentarz do perspektywy jest definiowany identycznie: COMMENT ON TABLE [schemat_użytkownika.]nazwa_perspektywy IS 'tekst komentarza'; - Komentarz do kolumny tabeli lub perspektywy Komentarz do kolumny tabeli: COMMENT ON COLUMN [schemat_użytkownika.]nazwa_tabeli.nazwa_kolumny IS 'tekst komentarza'; Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 21
22 Na przykład: comment on column PRACOWNICY.ID_P is ' Kolumna ID_P zawiera unikalne identyfikatory pracowników firmy i jest kluczem głównym tabeli PRACOWNICY' Komentarz do kolumny perspektywy jest definiowany identycznie: COMMENT ON COLUMN [schemat_użytkownika.]nazwa_perspektywy.nazwa_kolumny IS 'tekst komentarza'; III. Elementy języka sterowania transakcjami - TCL (Transaction Control Language). III. 1 Zatwierdzanie i wycofywanie poleceń DML W starszych wersjach serwera Oracle oraz w najnowszej Oracle 11g: Jeśli nie zatwierdzimy komendą COMMIT poleceń DML, to transakcje z nimi związane tylko pozornie zostają wykonane (pod warunkiem, że np. parametr AUTOCOMMIT środowiska SQL*Plus jest ustawiony na OFF), tzn. możemy zobaczyć ich pozorne efekty w bieżącej sesji użytkownika (inni nawet odpowiednio uprawnieni użytkownicy nie widzą tych zmian), ale po jej zakończeniu wszystkie dane w schemacie użytkownika są w takim stanie jak przed wykonaniem poleceń DML. W Oracle 10g Release 2: Zatwierdzanie transakcji nawet związanych z poleceniami DML jest domyślne. Jednak jeśli program klienta bazy danych (np. SQL*Plus) zostanie zamknięty w sposób niewłaściwy (do którego należy zaliczyć także kliknięcie na przycisk zamknięcia okna tej aplikacji zamiast użycie komendy EXIT), to ostatnia transkacja typu DML, która nie został zatwierdzona poleceniem COMMIT zostaje wycofana. Jednak opisane powyżej, domyślne zatwierdzanie transakcji DML nie jest realizowane podczas wykonywania programów skompilowanych prekompilatorem Oracle'a, tzn. zatwierdzanie transakcji DML nie jest domyślne w przypadku zastosowania składowanych w bazie danych Oracle funkcji i procedur oraz ich pakietów, a także najczęściej w przypadku poleceń DML wbudowanych w aplikacje bazodanowe napisane w różnych językach programowania. Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 22
23 Wspólna cecha sterowania transakcjami w Oracle 10g i w starszych wersjach: Jeśli transkacja DML nie została zatwierdzona (poleceniem COMMIT lub też automatycznie przez serwer), to można ją wycofać poleceniem ROLLBACK. Polecenie: SAVEPOINT Nazwa_punktu_zachowania definiuje tzw. punkt zachowania, który pozwala podzielić transakcje na mniejsze części. Ponowne zdefiniowanie punktu zachowania o tej samej nazwie usuwa starą definicję. Punkty zachowania są zorganizowane stosowo. Po zdefiniowaniu punktu zachowania można do niego wycofywać transakcje: ROLLBACK [WORK] [ TO [SAVEPOINT] Nazwa_punktu_zachowania]; powoduje odtworzenie stanu bazy - albo do początku transakcji, albo do stanu zdefiniowanego punktem zachowania. Jeżeli podamy nazwę punktu zachowania, to zachowujemy ten punkt zachowania, lecz tracimy wszystkie punkty zachowanie zdefiniowane później. ROLLBACK bez nazwy punktu zachowania zamyka bieżącą transakcję i kasuje wszelkie punkty zachowania. III. 2 Polecenia DDL są domyślnie zatwierdzane przez serwer bazy danych. Jednak w dokumentacji Oracle'a zalecane jest zatwierdzanie wszystkich transakcji, aby mieć pewność, że zostały one przeprowadzone. Bazy danych. Wykład 9 Andrzej Grzybowski - Instytut Fizyki, Uniwersytet Śląski 23
3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota
Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)
SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska
SQL TECHNOLOGIE BAZ DANYCH Wykład 5: Język DDL i DML. SQL (ang. StructuredQueryLanguage) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania
UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');
polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {
Bazy danych - Materiały do laboratoriów VIII
Bazy danych - Materiały do laboratoriów VIII dr inż. Olga Siedlecka-Lamch Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 23 kwietnia 2011 roku Polecenie COMMIT i ROLLBACK Polecenie
Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.
Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Ograniczenia integralnościowe, modyfikowanie struktury relacji, zarządzanie ograniczeniami. 1 Ograniczenia integralnościowe Służą do weryfikacji
Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1
Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane
Wykład 8. SQL praca z tabelami 5
Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu
Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność
D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?
D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się
Autor: Joanna Karwowska
Autor: Joanna Karwowska Klucz podstawowy PRIMARY KEY Klucz kandydujący UNIQUE Klucz alternatywny - klucze kandydujące, które nie zostały wybrane na klucz podstawowy Klucz obcy - REFERENCES Tworząc tabelę,
Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,
PRZESTRZENNE BAZY DANYCH WYKŁAD 2
PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie
Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska
Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie
Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z
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)
Projektowanie systemów baz danych
Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do
Wprowadzenie do projektowania i wykorzystania baz danych Relacje
Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR
Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach
Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym. Modele - konceptualne reprezentacja obiektów w
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie
Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.
Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,
Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia
Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie
Widok Connections po utworzeniu połączenia. Obszar roboczy
Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer
Bazy danych. Dr inż. Paweł Kasprowski
Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność
Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1
Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych
Ref. 7 - Język SQL - polecenia DDL i DML
Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość
Bazy danych Ćwiczenia projektowe
Bazy danych Ćwiczenia projektowe Przygotował: Piotr Hajder Katedra Informatyki Stosowanej i Modelowania Wydział Inżynierii Metali i Informatyki Przemysłowej, AGH Agenda 01. Typy danych 02. Polecenia DDL
Bazy danych 10. SQL Widoki
Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela
kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli
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,
Zarządzanie obiektami bazy danych Oracle11g
Zarządzanie obiektami bazy danych Oracle11g Wstęp Obiekty to struktury przechowujące, porządkujące lub operujące na danych takie jak: Tabele Więzy integralności Indeksy Widoki Sekwencje Procedury Linki
1 Projekt fizyczny 1. 3 Perspektywy słownika danych Źródła 12
Plan wykładu Spis treści 1 Projekt fizyczny 1 2 Transformacja ML do PF 2 2.1 Definiowanie tabel............................... 2 2.2 Więzy integralności............................... 4 2.3 Modyfikacja
Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli.
SQL W JĘZYKU PL/SQL Strukturalny język zapytań SQL określa sposób manipulowania danymi w bazie danych. Konstrukcje proceduralne języka PL/SQL stają się bardziej użyteczne w połączeniu z mocą przetwarzania
Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.
Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną
Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.
Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą
Wykład 2. SQL 1 Structured Query Lenguage
Wykład 2 SQL 1 Structured Query Lenguage SQL (Structured Query Language) Język zapytań do bazy danych. IBM lata osiemdziesiąte. Stosowany w systemach zarządzania bazami danych (DBMS); Oracle, Paradox,Access,
Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.
Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny
Wykład 05 Bazy danych
Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o
1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi
1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) Tworząc tabelę nie możemy określić, do którego pliku trafi, lecz możemy określić do której grupy plików trafi Zawsze istnieje grupa zawierająca
Bazy danych 6. Klucze obce. P. F. Góra
Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:
Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.
Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN
77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.
77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele
Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych
Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy
Język SQL, zajęcia nr 1
Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze
P o d s t a w y j ę z y k a S Q L
P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p
Laboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
Komunikacja z bazą danych psql
PostgreSQL jest systemem zarządzania relacyjnymi bazami danych rozprowadzanym na zasadach open source. Twórcą i właścicielem praw autorskich jest Uniwersytet Berkeley w Stanach Zjednoczonych. Ze wszystkich
Wykład 4. SQL praca z tabelami 1
Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy
Wykład 5. SQL praca z tabelami 2
Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,
BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków
Systemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Przestrzenne bazy danych Podstawy języka SQL
Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured
Bazy danych. Polecenia SQL
Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony
Uprawnienia, role, synonimy
Uprawnienia, role, synonimy Schemat, użytkownicy, autoryzacja użytkowników, uprawnienia systemowe i obiektowe, nadawanie i odbieranie uprawnień, tworzenie ról, przywileje, synonimy Schematy i użytkownicy
Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret
Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków
Wykład 3 2014-04-25 12:45 BD-1 W_3
Wykład 3 SQL - język operacji na bazach danych Schemat przykładowej bazy danych Uczelnia Skrypt SQL - utworzenie bazy Uczelnia Polecenia selekcji i projekcji Interakcyjny dostęp do bazy danych 2014-04-25
Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus
Katedra Informatyki i Automatyki Politechnika Rzeszowska Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus C5.I. Wprowadzenie C5.I.1 Ogólna charakterystyka i uruchomienie systemu Język SQL jest
Aspekty aktywne baz danych
Aspekty aktywne baz danych Aktywne aspekty baz danych Baza danych powinna zapewniać pewne własności i niezmienniki; Własności te powinny mogą być zapisane do bazy danych, a baza danych powinna zapewniać
Zbiór pytań nr 2. 1 Tabela DEPARTMENTS ma następującą strukturę:
Zbiór pytań nr 2 1 Tabela DEPARTMENTS ma następującą strukturę: Nazwa kolumny Typ danych Uwagi dept_id NUMBER(4) NOT NULL, PRIMARY KEY dept_name VARCHAR2(30) mgr_id NUMBER(6) location_id NUMBER(4) Które
Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.
Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie
Język zapytań SQL- język relacyjnych baz danych
Język SQL Język zapytań SQL- język relacyjnych baz danych SQL (Structured Query Language),czyli Strukturalny Język Zapytań. SQL jest standardowym językiem do kierowania poleceń do relacyjnej bazy danych
Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1
Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane
Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.
Typy numeryczne Typy daty i czasu. W celu uniknięcia niejasności czy zapis 11-08-2005 oznacza - 11 sierpnia 2005, czy może 8 listopada 2005, należy ustalić sposób interpretacji daty (europejski lub amerykański).
Relacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli
Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się
Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1
Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język
Podstawy języka SQL. SQL Structured Query Languagestrukturalny
Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych
PODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania
Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania 1. Zmodyfikuj strukturę relacji PROJEKTY, dodając do niej definicje następujących ograniczeń integralnościowych (użyj kilku poleceń):
ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład
ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna
Typy Oracle atrybutów relacji Typ NUMBER (1)
Tworzenie relacji polecenie CREATE TABLE Rozdział 6 Język definiowania danych DDL CREATE TABLE nazwa_relacji (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr],
Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie
Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną
Wprowadzenie do języka SQL
Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)
Typy Oracle atrybutów relacji Typ NUMBER (1)
Tworzenie relacji polecenie CREATE TABLE Rozdział 6 Język definiowania danych DDL CREATE TABLE nazwa_relacji (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr],
Bazy danych wykład szósty Więzy i wyzwalacze. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)
Bazy danych wykład szósty Więzy i wyzwalacze Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa szósty Więzy i wyzwalacze 1 / 35 Wstęp Wiemy jak nakładać pewne ograniczenia (więzy) w
Bazy danych 9. SQL Klucze obce Transakcje
Bazy danych 9. SQL Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Klucze obce Klucze obce powiazanie indeksowanej kolumny jakiejś tabeli z indeksowana kolumna
koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,
Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi
Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych.
Wrocławska WyŜsza Szkoła Informatyki Stosowanej Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych. Dr inŝ. Krzysztof Pieczarka Email: krzysztof.pieczarka@up.wroc.pl Tradycyjne bazy danych
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL
Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe
Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe -- Definicje relacji i utworzenie stanu początkowego dla ćwiczeń z synchronizacji transakcji DROP TABLE Konta cascade constraints; DROP TABLE
SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek
SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *
SQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL
Bazy danych 2 Wykład 5 Structured Query Language (SQL) c.d. DDL Dziedzina (DOMAIN) Dziedzina to zdefiniowany przez uŝytkownika zbiór dopuszczalnych wartości definiowany niezaleŝnie od definicji tabel Składnia
Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz
Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych
Oracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze
Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.
Plan wykładu Spis treści 1 Dynamiczny SQL 1 2 Wyzwalacze 2 3 Podsumowanie 9 4 Źródła 9 1 Dynamiczny SQL Dynamiczny SQL Dynamiczny SQL - technika programowania umożliwiająca generowanie instrukcji SQL dynamicznie
PL/SQL. Zaawansowane tematy PL/SQL. Piotr Medoń
PL/SQL Zaawansowane tematy PL/SQL Piotr Medoń Cele Omówienie transakcji bazodanowych Omówienie obsługi wyjątków Zarządzanie perspektywami Tworzenie i usuwanie sekwencji Budowa wyzwalaczy 2 Transakcje bazodanowe
WPROWADZENIE DO JĘZYKA SQL
J.NAWROCKI, M. ANTCZAK, H. DWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S. WĄSIK WPROWADZENIE DO JĘZYKA SQL KORZYSTANIE Z SQLITE 1) Pobierz paczkę z bazą danych ze strony prowadzącego (np. http://www.cs.put.poznan.pl/wfrohmberg/download/sqlite.zip)
Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE
Język DML Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE Systemy Baz Danych, Hanna Kleban 1 INSERT Instrukcja INSERT dodawanie
Relacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Tworzenie baz danych i tabel
Tworzenie baz danych i tabel Wprowadzenie SQL (ang. Structured Query Language strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych.
Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p
Składowane procedury i funkcje
Składowane procedury i funkcje Procedury i funkcje są zestawem poleceń SQL, które są przechowywane na serwerze (tak jak dane w tablicach). Istnieją sytuacje, kiedy procedury i funkcje są szczególnie przydatne.
Cele. Definiowanie wyzwalaczy
WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa
SQL - DDL. 1 Tabele systemowe. 2 Typy danych
SQL - DDL DDL (ang. data definition language) jest częścią języka zapytań SQL obejmująca tworzenie i zarządzanie (modyfikację, usuwanie i przydzielanie uprawnień) obiektami w bazie danych (tabelami, perspektywami,
Internetowe bazy danych
Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:
DECLARE VARIABLE zmienna1 typ danych; BEGIN
Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze
Język SQL. Rozdział 2. Proste zapytania
Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na
Administracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Typy danych wbudowane użytkownika Tabele organizacja wiersza przechowywanie dużych danych automatyczne