Widok Connections po utworzeniu połączenia. Obszar roboczy

Podobne dokumenty
Język SQL. Rozdział 2. Proste zapytania

ACESS- zadania z wykorzystaniem poleceń SQL

Wykład 5. SQL praca z tabelami 2

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

Język SQL, zajęcia nr 1

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

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

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

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

Bazy danych i usługi sieciowe

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Wykład 8. SQL praca z tabelami 5

Bazy Danych i Usługi Sieciowe

Wykład 05 Bazy danych

Autor: Joanna Karwowska

Ćwiczenie zapytań języka bazy danych PostgreSQL

Paweł Rajba

Autor: Joanna Karwowska

Wprowadzenie do języka SQL

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

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

Relacyjne bazy danych. Podstawy SQL

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

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

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

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

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

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

Bazy danych - Materiały do laboratoriów VIII

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

Typy Oracle atrybutów relacji Typ NUMBER (1)

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Typy Oracle atrybutów relacji Typ NUMBER (1)

WPROWADZENIE DO JĘZYKA SQL

Komunikacja z bazą danych psql

SQL (ang. Structured Query Language)

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Bazy danych. Polecenia SQL

Kurs. Podstawy MySQL

Relacyjne bazy danych. Podstawy SQL

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

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

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

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

Grupowanie i funkcje agregujące

Podstawowe zapytania SELECT (na jednej tabeli)

Autor: Joanna Karwowska

Bazy danych. dr inż. Arkadiusz Mirakowski

SQL do zaawansowanych analiz danych część 1.

Projektowanie systemów baz danych

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Bazy danych 7. SQL podstawy

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

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

Przestrzenne bazy danych Podstawy języka SQL

1. Wyzwalacze BD (ang. triggers)

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

Hurtownia Świętego Mikołaja projekt bazy danych

Język SQL, zajęcia nr 2

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

Systemy GIS Tworzenie zapytań w bazach danych

Technologie baz danych

Optymalizacja poleceń SQL Metody dostępu do danych

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

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

Laboratorium Bazy danych SQL 3 1

Bazy danych SQL Server 2005

Bazy danych. Dr inż. Paweł Kasprowski

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

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

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

Klasyczna Analiza Danych

Przykładowa baza danych BIBLIOTEKA

BAZY DANYCH JĘZYK ZAPYTAŃ BAZ DANYCH SQL. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

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

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

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

LAB 3 (część 1 Projektu)

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

Język SQL podstawy zapytań

SQL w praktyce. Miłej i owocnej nauki!!!

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Bazy danych 10. SQL Widoki

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

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

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

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

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

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

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

Bazy Danych i Usługi Sieciowe

Tworzenie baz danych i tabel

Wprowadzenie do baz danych

Transkrypt:

Ś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 - darmowe - do pobrania ze strony Oracle http://www.oracle.com/technetwork/developertools/sql-developer/overview/index.html ) - można wykorzystywać do różnych baz (nie tylko do Oracle ) 3. Uruchomienie programu (napisany w Java, nie wymaga instalacji) 4. Tworzymy połączenie z bazą danych

Widok Connections po utworzeniu połączenia Obszar roboczy

Pierwsze polecenie Zmieniamy hasło: ALTER USER s12345 IDENTIFIED BY nowe_haslo; Utworzenie relacyjnej bazy danych do ewidencji pracowników uczelni. 1.1. Definiowanie tabel Zdefiniowano tabele zesp, etaty, prac o schematach przedstawionych poniżej. Zdefiniowano również odpowiednie ograniczenia integralnościowe. Na ich podstawie utworzone będą tabele. zesp etaty prac id_zespoly Number(2) Klucz podstawowy nazwa Varchar2(20) Atrybut obowiązkowy miasto Varchar2(20) Atrybut obowiązkowy kod_pocztowy Varchar2(6) ulica Varchar2(20) nr_budynku Varchar2(10) nazwa Varchar2(10) Klucz podstawowy placa_min Number(6,2) Atrybut obowiązkowy, wartość >0 placa_max Number(6,2) id_prac Number(4) Klucz podstawowy nazwisko Varchar2(15) Atrybut obowiązkowy imie Varchar2(15) Atrybut obowiązkowy id_etaty Varchar2(10) Referencja do atrybutu nazwa tabeli etat id_szefa Number(4) Referencja do atrybutu id_prac tabeli prac data_zatrudnienia Date placa_podstawowa Number(6,2) wartość większa od 100 placa_dodatkowa Number(6,2) domyślna wartość 0 id_zesp Number(2) Referencja do atrybutu id_zesp tabeli zesp

1.2. Utworzenie tabel zesp, etaty, prac CREATE TABLE zesp( id_zesp NUMBER(2) CONSTRAINT pk_zesp PRIMARY KEY, nazwa VARCHAR2(20) NOT NULL, miasto VARCHAR2(20), kod_pocztowy VARCHAR2(6), ulica VARCHAR2(20), nr_budynku VARCHAR2(10) ); CREATE TABLE etaty ( nazwa VARCHAR2(10) CONSTRAINT pk_etaty PRIMARY KEY, placa_min NUMBER(6,2) CHECK (placa_min>0), placa_max NUMBER(6,2) ); CREATE TABLE prac( id_prac NUMBER(4) CONSTRAINT pk_prac PRIMARY KEY, nazwisko VARCHAR2(15) NOT NULL, imie VARCHAR2(15) NOT NULL, id_etaty VARCHAR2(10) CONSTRAINT fk_etaty REFERENCES etaty(nazwa), id_szefa NUMBER(4) CONSTRAINT fk_prac REFERENCES prac(id_prac), data_zatrudnienia DATE, placa_podstawowa NUMBER(6,2) CONSTRAINT min_placa_pod CHECK(placa_podstawowa>100), placa_dodatkowa NUMBER(6,2) DEFAULT 0, id_zesp NUMBER(2) CONSTRAINT fk_zepsoly REFERENCES zesp(id_zesp)

); 1.3. Sprawdzenie struktury utworzonych tabel DESC nazwa_tabeli; 1.4. Wstawienie wartości do tabeli zesp VALUES (10,'ADMINISTRACJA', 'OPOLE','45-111','MIKOLAJCZYKA','5'); VALUES (20,'INFORMATYKA', 'OPOLE','45-222','SOSNKOWSKIEGO','31'); VALUES (30,'BUDOWNICTWO', 'OPOLE','45-333','KATOWICKA','14'); VALUES (40,'AUTOMATYKA', 'OPOLE','45-222','SOSNKOWSKIEGO','31'); VALUES (50,'ELEKTROTECHNIKA', 'OPOLE','45-111','LUBOSZYCKA','9'); 1.5. Utworzenie kopii tabeli ZESP CREATE TABLE zesp_kopia AS SELECT * FROM zesp; 1.6. Zmiana nazwy tabeli ZESP_KOPIA na ZESP_BIS RENAME zesp_kopia TO zesp_bis; 1.7. Utworzenie kopii tabeli zesp zawierającej tylko kolumny id_zesp i nazwa CREATE TABLE zesp_kopia AS SELECT id_zesp, nazwa FROM zesp; 1.8. Dodanie kolumny miasto do tabeli zesp_kopia ALTER TABLE zesp_kopia ADD (miasto VARCHAR2(10)); 1.9. Zmiana formatu kolumny miasto w tabeli ZESP_KOPIA na 20-znakowy ALTER TABLE zesp MODIFY (miasto VARCHAR(20)); ALTER TABLE ZESP_BIS MODIFY (miasto VARCHAR(3)); Uwaga! Wewnętrzne zabezpieczenia bazy nie pozwalają na przedefiniowanie kolumn jeżeli jest to sprzeczne ze strukturą wprowadzonych już danych. 1.10. Usunięcie wszystkich wierszy z tabeli ZESP_KOPIA DELETE FROM ZESP_KOPIA; (odwracalne poleceniem ROLLBACK) lub TRUNCATE TABLE ZESP_KOPIA; (nieodwracalne) 1.11. Usunięcie tabeli ZESP_BIS

DROP TABLE ZESP_BIS; Uwaga! Usunięcie nieodwracalne 1.12. Skrypt wstawiający wartości do tabeli etaty INSERT INTO etaty VALUES ('PROFESOR',2800.00, 4500.00); INSERT INTO etaty VALUES ('ADIUNKT',1510.00, 2750.00); INSERT INTO etaty VALUES ('ASYSTENT',1300.00, 1500.00); INSERT INTO etaty VALUES ('STAZYSTA',650.00, 1250.00); INSERT INTO etaty VALUES ('SEKRETARKA',970.00, 1450.00); INSERT INTO etaty VALUES ('DYREKTOR',2280.00, 3100.00); 1.13. Skrypt wstawiający wartości do tabeli PRAC: VALUES (100,'ABACKI', 'ABAK','DYREKTOR', NULL,to_date('01-01-68','DD-MM- RR'),2730.00,420.50,10); VALUES (110,'BABECKI', 'BABAK','PROFESOR',100,to_date('01-05-73','DD-MM- RR'),3350.00,210.00,40); VALUES (120,'CABCKI', 'CABAK','PROFESOR',100,to_date('01-09-77','DD-MM- RR'),3070.00, NULL,30); VALUES (130,'DABACKI', 'DABAK','PROFESOR',100,to_date('01-07-68','DD-MM-RR'), 2960.00, NULL,20); VALUES (140,'EBACKI', 'EBAK','PROFESOR',130,to_date('15-09-75','DD-MM-RR'), 2830.00,105.00,20); VALUES (150,'FABACKI', 'FABAK','ADIUNKT' 1645.50, NULL,20); VALUES (160,'GABACKI', 'GABAK','ADIUNKT' 1590.00, NULL,20);,130,to_date('01-09-77','DD-MM-RR'),,130,to_date('01-03-85','DD-MM-RR'), VALUES (170,'HABACKI', 'HABAK','ASYSTENT',130,to_date('01-10-92','DD-MM-RR'), 1439.70, 80.50,20); VALUES (190,'IBACKI', 'IBAK','ASYSTENT',140,to_date('01-09-93','DD-MM-RR'), 1371.00, NULL,20); VALUES (180,'JOTBACKA', 'TABA','SEKRETARKA',100,to_date('20-02-85','DD-MM-RR'), 1410.20, NULL,10); VALUES (200,'KABACKI', 'KABAK','STAZYSTA',140,to_date('15-07-94','DD-MM-RR'), 1208.00, NULL,30);

VALUES (210,'LABACKI', 'LABAK','STAZYSTA',130,to_date('15-10-93','DD-MM-RR'), 1250.00,170.60,30); VALUES (220,'MABACKI', 'MABAK','ASYSTENT',110,to_date('01-10-93','DD-MM-RR'), 1480.00, NULL,20); VALUES (230,'NABACKI', 'NABAK','ASYSTENT',120,to_date('01-09-92','DD-MM-RR'), 1480.00, 90.00,30); Przeglądanie zawartości tabel - polecenie SELECT Polecenie SELECT składa się zawsze ze słów kluczowych SELECT oraz FROM. 2.1. Wyświetlenie wszystkich wierszy z tabeli ZESP: SELECT * FROM zesp; 2.2. Wyświetlenie wierszy z tabeli PRAC posortowanych wg daty zatrudnienia SELECT * FROM prac ORDER BY data_zatrudnienia; 2.3. Wyświetlenie: posortowane nazwiska, etaty i roczne dochody pracowników (opatrzone nagłówkiem "ROCZNY_ DOCHOD"): SELECT nazwisko, id_etaty, placa_podstawowa*12 roczny_dochod FROM prac ORDER BY nazwisko; Uwaga: Jeśli nagłówek kolumny zawiera w nazwie spację, to musi być ujęty w cudzysłów. Ponadto polecenie SELECT może zawierać klauzule: - WHERE - warunek wyboru wierszy W klauzuli WHERE mogą wystąpić: a) operatory relacji: =, < >, >, >=, <, <=, np. SELECT * FROM ZESP WHERE ID_ZESP<40; b) operatory specjalne: LIKE - określenie wartości dla warunku IN - wskazanie zbioru wartości dla warunku BETWEEN... AND - wskazanie zakresu wartości dla warunku IS NULL SELECT * FROM ETATY WHERE PLACA_MIN IN (1000, 2000, 3000); SELECT NAZWISKO FROM PRAC WHERE PLACA_PODSTAWOWA BETWEEN 2000 AND 3000; SELECT * FROM PRAC WHERE PLACA_DODATKOWA IS NULL; Uwaga 1: powyższe operatory mogą być negowane operatorem NOT np. SELECT * FROM PRAC WHERE PLACA_DODATKOWA IS NOT NULL; Uwaga 2: znak % zastępuje sekwencję znaków, a podkreślenie "_" pojedynczy znak.

np. SELECT * FROM ZESP WHERE ULICA LIKE '_OS%'; c) operatory logiczne: AND, OR, NOT np. SELECT * FROM PRAC WHERE placa_podstawowa>1500 AND (id_etaty='asystent' OR id_etaty='sekretarka'); - DISTINCT - wyszukanie wierszy nie powtarzających się np. SELECT DISTINCT ULICA FROM ZESP; - ORDER BY - porządkowanie alfabetyczne (domyślnie rosnąco) np. SELECT * FROM PRAC ORDER BY NAZWISKO desc; Uwaga 3: - asc oznacza porządek rosnący, desc - porządek malejący; - klauzula ORDER BY wystąpić może tylko jako ostatnia; - można wskazywać więcej niż jedną kolumnę w klauzuli ORDER BY, wskazaniem kolumny może być jej nazwa lub jej numer kolejny. - GROUP BY - grupuje wiersze o tej samej wartości wyszczególnionych kolumn. Po podziale, do każdej grupy można stosować tzw. funkcje grupowe np. count(*) - zliczającą ilości wystąpień, sum(a) - obliczenie sumy wartości kolumny a np. SELECT ID_ZESP, count(*) FROM PRAC GROUP BY ID_ZESP; - HAVING - umożliwia wybór informacji, dotyczących utworzonych grup np. SELECT ID_ZESP, sum (PLACA_POD) FROM PRAC GROUP BY ID_ZESP HAVING count(*) >3; Zadania 1. Połącz się z bazą danych 2. Zmień swoje hasło 3. Wykonaj wszystkie polecenia w celu utworzenia bazy danych