Bazy danych Ćwiczenia projektowe

Podobne dokumenty
Bazy danych Ćwiczenia projektowe

Bazy danych Ćwiczenia projektowe

Paweł Rajba

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Projektowanie systemów baz danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

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

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 2. SQL 1 Structured Query Lenguage

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)

Wykład 4. SQL praca z tabelami 1

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Język SQL, zajęcia nr 1

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

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

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

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

Uprawnienia, role, synonimy

Bazy danych. Dr inż. Paweł Kasprowski

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

Oracle11g: Wprowadzenie do SQL

Widok Connections po utworzeniu połączenia. Obszar roboczy

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

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Systemy GIS Tworzenie zapytań w bazach danych

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

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

Bazy danych. Polecenia SQL

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

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Przestrzenne bazy danych Podstawy języka SQL

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

Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu

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

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Plan wykładu BAZY DANYCH II WYKŁAD 2. Bloki. Struktura bloku

15. Funkcje i procedury składowane PL/SQL

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

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

Relacyjne bazy danych. Podstawy SQL

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

Microsoft SQL Server Podstawy T-SQL

Wykład 8. SQL praca z tabelami 5

Relacyjne bazy danych. Podstawy SQL

Autor: Joanna Karwowska

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

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

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

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

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

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

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

LAB 3 (część 1 Projektu)

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

CREATE USER

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

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

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

Bazy danych 7. SQL podstawy

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

Mechanika i Budowa Maszyn II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

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

PRZEWODNIK PO PRZEDMIOCIE

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

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables

Oracle PL/SQL. Paweł Rajba.

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Instrukcja CREATE TABLE

SQL> startup pfile=./admin/pfile/initdbx.ora. SQL> create spfile from pfile='$home/admin/pfile/initdbx.ora' create user bolek identified by bolek;

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

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

ACESS- zadania z wykorzystaniem poleceń SQL

SIECI KOMPUTEROWE I BAZY DANYCH

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Przykładowa baza danych BIBLIOTEKA

Baza danych inside. Biologiczne Aplikacje Baz Danych

Wprowadzenie do baz danych

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

Język SQL, zajęcia nr 2

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Administracja i programowanie pod Microsoft SQL Server 2000

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

Server Oracle - System Zarządzania Bazą Danych - składa się z instancji Oracle i bazy danych Oracle Instancja Oracle - pewne procesy drugoplanowe i

Modelowanie wymiarów

Grupowanie i funkcje agregujące

Transkrypt:

Bazy danych Ćwiczenia projektowe Przygotował: Piotr Hajder Katedra Informatyki Stosowanej i Modelowania Wydział Inżynierii Metali i Informatyki Przemysłowej, AGH

Agenda 01. Wprowadzenie 02. Plan zajęć 03. Warunki zaliczenia 04. Motywacja 05. Stanowisko pracy 06. Typy danych, język SQL

01 : Wprowadzenie

O mnie mgr inż. Piotr Hajder Katedra Informatyki Stosowanej i Modelowania (http://www.isim.agh.edu.pl/) Wydział Inżynierii Metali i Informatyki Przemysłowej, AGH E-mail: phajder@agh.edu.pl Strona domowa: http://home.agh.edu.pl/~phajder/ Telefon: +48 12 617-27-60 Pokój: B5 607

O mnie Czym się zajmuję?

02 : Plan zajęć

Plan zajęć Tematy Lp. Data Temat Opis 1 26-28.02.2018 Wprowadzenie do DDL, typy danych i obiekty Typy danych w bazach danych na przykładzie Oracle XE (11g), podstawowe polecenia z zakresu DDL (create, drop, alter) 2 05-07.03.2018 DDL, constraints, sekwencje Tworzenie kluczy głównych i obcych, unikalność, tworzenie sekwencji 3 12-14.03.2018 Diagramy ERD Projektowanie baz danych z wykorzystaniem diagramów ERD 4 19-21.03.2018 DML i DQL - Zapytania z jednej tabeli Manipulacja danymi: dodawanie, usuwanie, modyfikacja; podstawy zapytań select, klauzule order by, like 5 26-28.03.2018 Projekt 1 6 09-11.04.2018 DQL - Zapytania z wielu tabel 7 16-18.04.2018 Operacje na wielu zbiorach Algebra relacji, klauzula join, typy złączeń (wewnętrzne, zewnętrzne, lewoi prawostronne) Klauzule intersect, except, union, zapytania zagnieżdżone (any, all, exists), zapytania skorelowane 8 23-25.04.2018 Zapytania agregacyjne Operatory agregacji, klauzula group by, having 9 07-09.05.2018 Projekt 2 10 14-16.05.2018 Transakcje 11 21-23.05.2018 Widoki, tabele tymczasowe, CTE cz. 1 12 28-30.05.2018 Widoki, tabele tymczasowe, CTE cz.2 13 04-06.06.2018 Triggery, procedury, funkcje 14 11-13.06.2018 Projekt 3, wystawienie ocen

Plan zajęć Przebieg spotkania Omówienie tematu Praca własna Pytania 30-60 minut Zadanie Dotyczące zajęć Aspekt teoretyczny + wykorzystanie Praca nad projektem Dotyczące projektów

Plan zajęć? 21,8%!

03 : Warunki zaliczenia

Warunki zaliczenia Ćwiczenia projektowe >11 obecności Informacje Projekty w grupach Stosowanie Ocena końcowa Min. 3x 3.0 dwuosobowych Grupa wybiera temat Ocenęmożna poprawić na konsultacjach (nie na zajęciach!) Konsultacje Aktywność Aktywność = bonus Wykorzystanie = bonus (np. Java)

Warunki zaliczenia Ćwiczenia projektowe Projekt 1 Tworzenie własnego schematu bazy danych, Wykorzystanie poleceń DDL języka SQL, Tworzenie zapytań modyfikujących rekordy w bazie. Projekt 2 Stworzenie zapytań wybierających wielotabelowych, Wykorzystanie funkcji agregujących, Przygotowanie pod tworzenie widoków. Projekt 3 Tworzenie widoków, bazujących na wielu tabelach, Operacje na bazie, realizowane przy pomocy funkcji/triggerów, Wykorzystanie mechanizmu transakcji.

Warunki zaliczenia Kwestie organizacyjne Możliwość odrobienia zajęć na innej grupie (z tego samego tematu; nie dotyczy zajęć, na których oddawane są projekty!) Konsultacje: do uzgodnienia Dokumentacja: https://docs.oracle.com/en/database/oracle/oracle-database/index.html Oracle SQL: https://www.techonthenet.com/oracle/ Projekt Egzamin

04 : Motywacja

Motywacja Czym są bazy danych? DBMS (Database Management System) Zbiór logicznie połączonych ze sobą danych Modelowanie rzeczywistości, Pozyskiwanie informacji. Odzwierciedla rzeczywistość Encje studenci, nauczyciele, przedmioty, Relacje student uczy się na przedmiot, nauczyciel uczy studenta. Narzędzie/system do przechowywania i zarządzania danymi Aplikacja nie musi wiedzieć, jak i gdzie przechowywane są dane.

Motywacja Dlaczego bazy danych? http://www.bigdatalandscape.com

Motywacja Dlaczego bazy danych? Zatrudnienie Nauka Biznes, Startup Coś z niczego Przemysł, branża IT Podstawa Computer Science

05 : Stanowisko pracy

Stanowisko pracy Oracle XE 11g SQLDeveloper

Stanowisko pracy Instalacja Oracle XE http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html

Stanowisko pracy Instalacja Oracle XE

Stanowisko pracy SQLDeveloper

Stanowisko pracy VirtualBox

Stanowisko pracy Gotowy obraz http://www.oracle.com/technetwork/apps-tech/sdp-vm-2121008.html

Stanowisko pracy Odblokowanie schematu hr 1. Uruchom polecenie sqlplus 2. Zaloguj się na konto system z hasłem podanym podczas instalacji 3. Wykonaj polecenie oznaczone literą a 4. Wykonaj polecenie oznaczone literą b, w miejsce liczby 12345 wstawiając własne hasło 5. Wyjdź z konsoli poleceniem exit a b

Stanowisko pracy Stworzenie nowego użytkownika 1. Zaloguj się jako użytkownik system w konsoli przez sqlplus 2. Wykonaj poniższe polecenia (stworzenie użytkownika i nadanie odpowiednich uprawnień) 3. Wyjdź poleceniem exit SQL> create user chris identified by <password-for-chris>; SQL> grant CREATE SESSION, ALTER SESSION, CREATE DATABASE LINK, - CREATE MATERIALIZED VIEW, CREATE PROCEDURE, CREATE PUBLIC SYNONYM, - CREATE ROLE, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, - CREATE TRIGGER, CREATE TYPE, CREATE VIEW, UNLIMITED TABLESPACE - to chris; https://docs.oracle.com/cd/e17781_01/admin.112/e18585/toc.htm

Stanowisko pracy Połączenie przez SQLDeveloper

06 : Typy danych, Język SQL

Typy danych Na przykładzie Oracle XE Znakowe Numeryczne Data i czas Long Objects (LOB) CHAR NUMBER (precision, scale) DATE BLOB VARCHAR, VARCHAR2 TIMESTAMP CLOB BINARY_FLOAT NCLOB NCHAR, NVARCHAR2 TIMESTAMP WITH TIMEZONE BFILE Floating-point numbers LOB znakowy BINARY_DOUBLE TIMESTAMP WITH LOCAL TIMEZONE LONG https://docs.oracle.com/cd/e11882_01/server.112/e41084/sql_elements001.htm

Typy danych Numeryczne, 123.45 p precyzja, wartość z zakresu 1; 38, określa liczbę znaczących cyfr s skala, wartość z zakresu 84; 127, określa liczbę znaczących cyfr po przecinku p precyzja, określa dokładność od 1 do 126 cyfr w zapisie binarnym 3 123 6, 2 100 4,2 2,5 CREATE TABLE float_demo ( f1 FLOAT(1), f2 FLOAT(4), f3 FLOAT(7) ); błąd błąd _ Czterobajtowa liczba zmiennoprzecinkowa Min 1.17549e-38F Max 3.40282e38F _ Ośmiobajtowa liczba zmiennoprzecinkowa Min Max 2.22507e-308 1.79769e308

Typy danych Znakowe CHAR[(size [BYTE CHAR])] Typ znakowy o stałej długości (size), Domyślna długość 1 bajt, maksimum 2000 bajtów (lub znaków), Ciąg znaków krótszy niż podana długość zostanie uzupełniony pustymi znakami. NCHAR[(size)] Typ znakowy o stałej długości (size), Domyślna długość 1 znak, maksimum 2000 znaków, Fizyczny rozmiar zależny od podanego przy tworzeniu bazy kodowania znaków, Krótszy ciąg znaków -> j.w. VARCHAR2(size [BYTE CHAR]) Ciąg znaków zmiennej długości fizyczny rozmiar zależny od wejścia, Rozmiar w bajtach/znakach z zakresu 1; 4000. NVARCHAR2(size) Ciąg znaków zmiennej długości, Rozmiar podawany w znakach, max 4000, Fizyczny rozmiar zależy od zdefiniowanego kodowania.

Typy danych Data i czas Drugie lub trzecie zajęcia

Polecenia DDL CREATE CREATE TABLE table_name ( column_1 datatype [ NULL NOT NULL ], column_2 datatype [ NULL NOT NULL ],, column_n datatype [ NULL NOT NULL ] ); Objaśnienie: table_name nazwa tabeli (obiektu), column_x nazwa kolumny, datatype typ danych, Ponadto, można określić, czy parametr może przyjmować wartość NULL. Nazwy tabel w bazie muszą być unikalne Nazwy kolumn w tabeli muszą być unikalne Przy tworzeniu tabeli można dodawać ograniczenia nazwy również unikalne Ewentualne braki można uzupełnić, modyfikując tabelę poleceniem ALTER CREATE TABLE customers ( customer_id number(10) NOT NULL, customer_name varchar2(50) NOT NULL, city varchar2(50), CONSTRAINT customers_pk PRIMARY KEY (customer_id) );

Polecenia DDL DROP DROP TABLE [schema_name].table_name [ CASCADE CONSTRAINTS ] [ PURGE ]; DROP TABLE customers; Objaśnienie: schema_name nazwa schematu, który zawiera podaną tabelę, table_name nazwa tabeli do usunięcia, CASCADE CONSTRAINTS usunięcie tabeli wraz zdotyczącymi jej ograniczeniami, PURGE całkowite usunięcie tabeli (z pominięciem kosza). Służy do usuwania obiektów (tabel, schematów, Często stosowany w połączeniu z Może zadziałać również na obiekty Przykłady użytkowników, ograniczeń) poleceniem ALTER powiązane

Polecenia DDL ALTER Składnia ALTER TABLE table_name ADD column_name column definition; ALTER TABLE table_name MODIFY column_name column_type; ALTER TABLE table_name DROP COLUMN column_name; ALTER TABLE table_name RENAME COLUMN old_name TO new_name; ALTER TABLE table_name RENAME TO new_table_name; Przykład ALTER TABLE customers ADD (customer_name varchar2(45), city varchar2(40) DEFAULT 'Seattle'); ALTER TABLE customers MODIFY city varchar2(75) NOT NULL; ALTER TABLE customers DROP COLUMN customer_name; ALTER TABLE customers RENAME COLUMN customer_name TO cname; ALTER TABLE customers RENAME TO contacts; Pozwala na modyfikowanie stworzonych obiektów Tabela musi być pusta, aby zmienić kolumnę Pozwala na modyfikację ograniczeń Głównie (ale nie tylko) dla tabel!

Praca własna Zadanie Lp. Treść zadania Stwórz tabelę suppliers, zawierającą pola: supplier_id unikalny identyfikator liczbowy, 1 supplier_name nazwa dostawcy (np. imię i nazwisko), address adres dostawcy. 2 Zmień nazwę tabeli stworzonej w p.1 tablicy na supps. 3 Dodaj nową kolumnę do tabeli: supplier_cost kosztdostawy. Zmodyfikuj kolumnę supplier_cost i supplier_name, zmieniając ich 4 typy danych (np. zmniejsz maksymalną długość typu znakowego, czy precyzję typu numerycznego). 5 Usuń kolumnę supplier_cost, a następnie całą tabelę. Podpowiedź: użyj polecenia DESC nazwa_tablicy, aby podglądnąć strukturę tabeli.

Pytania?