SIECI KOMPUTEROWE I BAZY DANYCH

Podobne dokumenty
SIECI KOMPUTEROWE I BAZY DANYCH

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

Wykład 5. SQL praca z tabelami 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Wykład 05 Bazy danych

SIECI KOMPUTEROWE I BAZY DANYCH

Język SQL, zajęcia nr 1

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

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

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

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Bazy danych 7. SQL podstawy

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

Relacyjne bazy danych. Podstawy SQL

Autor: Joanna Karwowska

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

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

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

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

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

Struktura drzewa w MySQL. Michał Tyszczenko

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Autor: Joanna Karwowska

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

Relacyjne bazy danych. Podstawy SQL

Widok Connections po utworzeniu połączenia. Obszar roboczy

Przestrzenne bazy danych Podstawy języka SQL

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

Język SQL, zajęcia nr 2

SIECI KOMPUTEROWE I BAZY DANYCH

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych 5. Samozłaczenie SQL podstawy

Kurs. Podstawy MySQL

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

Wykład 4. SQL praca z tabelami 1

Autor: Joanna Karwowska

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

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

SQL (ang. Structured Query Language)

Bazy danych. dr inż. Arkadiusz Mirakowski

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

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

Bazy danych - Materiały do laboratoriów VIII

Systemy GIS Tworzenie zapytań w bazach danych

Ćwiczenie zapytań języka bazy danych PostgreSQL

Wykład 6. SQL praca z tabelami 3

Bazy danych. Polecenia SQL

Programowanie w Ruby

Bazy danych - wykład wstępny

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

2017/2018 WGGiOS AGH. LibreOffice Base

Wprowadzenie do baz danych

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

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

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

Dr Michał Tanaś(

2 Przygotował: mgr inż. Maciej Lasota

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

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

Wykład 8. SQL praca z tabelami 5

Laboratorium Bazy danych SQL 2

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Zadania z SQLa (MS SQL Server)

Bazy danych 4. SQL podstawy. P. F. Góra

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

Wprowadzenie do JDBC z wykorzystaniem bazy H2

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

Projektowanie systemów baz danych

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.

Technologie baz danych

Wykład 2. SQL 1 Structured Query Lenguage

Bazy danych. dr Radosław Matusik. radmat

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

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

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy Danych i Usługi Sieciowe

Instrukcja CREATE TABLE

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

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

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

LAB 3 (część 1 Projektu)

Grupowanie i funkcje agregujące

Indeksowanie w bazach danych

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

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 DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

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

Język SQL. Rozdział 2. Proste zapytania

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Język SQL podstawy zapytań

Połączenie z bazą danych : mysql h u root -p Enter password: *******

Transkrypt:

KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB1, DB2: TEMAT: Wprowadzenie do SQL. Praca z pojedyncza tabelą Cz. I i Cz. II

Cel laboratorium Celem laboratorium jest zapoznanie studentów z podstawami języka SQL oraz jego wykorzystanie w pracy z pojedynczą tabelą. Wstęp (Część I i II) Jak wskazano w [1], SQL to Strukturalny język zapytań będący uniwersalnym narzędziem dostępu do bazy danych. Cechuje go przenośność, standaryzacja oraz prostota. Polecenia w języku SQL mogą być odczytane jako zdania z języka angielskiego, co gwarantuje jego czytelność. Autorzy [1] wskazują na fakt, że SQL jest językiem deklaratywnym - użytkownik nie określa w jaki sposób ma być realizowany dostęp do danych. Jedyne co przekazuje za pomocą SQL to informacje o tym, co chce otrzymać. Niemniej jednak, każda implementacja języka SQL różni się w zależności od producenta bazy danych. Różnice te uwidaczniają się w niewielkich różnicach składni oraz nazwach typów danych. Na tych laboratoriach będziemy korzystać z popularnej bazy danych MySQL. Inaczej mówiąc, MySQL to system do zarządzania relacyjnymi bazami danych. Możemy z niego korzystać w wersji otwartej (https://www.mysql.com/products/community/) lub w wersji komercyjnej. Baza MySQL definiuje wiele typów danych, które za [2] zebrano w poniższej tabeli: TYPY TEKSTOWE TYPY LICZBOWE TYP DANYCH CHAR(size) OPIS Pole tekstowe o stałej długości. Od 0 do 255 znaków VARCHAR(size) Pole tekstowe o zmiennej długości. Od 0 do 255 znaków TINYTEXT Typ tekstowy o długości 255(2 8 1) TEXT Typ tekstowy o długości 255(2 16 1) BLOB TINYINT(size) Przechowuje dane o zmiennej długości Mała liczba rzeczywista o wielkości size bitów INT(size) Liczba rzeczywista. Zakres ze znakiem: -2147483648-2147483648 BIGINT(size) FLOAT(size,d) Duża liczba rzeczywista Liczba zmiennoprzecinkowa pojedynczej precyzji o całkowitej licznie cyfr o wielkości size; w tym d liczb po przecinku. DOUBLE(size,d) Liczba zmiennoprzecinkowa podwójnej precyzji o całkowitej licznie cyfr o wielkości size; w tym d liczb po przecinku. TYPY DATY DATE() DATETIME() TIME() YEAR() Data Kombinacja daty i czasu w zakresie 1000-01-01 00:00:00.000000' to '9999-12-31 23:59:59.999999' Czas Rok

Tworzenie tabeli Do tworzenie tabeli w SQL służy polecenie CREATE TABLE. Jego składnia wymaga podania: nazwy tabeli, nazw kolumn, typów danych oraz innych opcji związanych z kolumnami (np. ograniczenia). Składnia polecenia CREATE TABLE to: CREATE TABLE nazwa_tabeli ( nazwa_kolumny_1 typ_danych [opcje], nazwa_kolumny_2 typ_danych [opcje], nazwa_kolumny_3 typ_danych [opcje] ); gdzie opcje definiują dodatkowe informacje o kolumnie. Niektóre z nich to: PRIMARY KEY (jest równoważne koniunkcji opcji UNIQUE i NOT NULL) mówi o tym że ta kolumna będzie kluczem głównym tabeli. Oznacza to że dane w tej komórce jednoznacznie identyfikują rekord danych. Często jako klucza głównego używa się: numeru pesel, numer indeksu, identyfikatora będącego niepowtarzalną kombinacją liczb i/lub cyfr, AUTO_INCREMENT -opcja dotyczy kolumn o typie liczbowym. Jeśli podczas dodawania nie zostanie podana wartość kolumny, to zostanie tam zapisana wartość o jeden większą niż ta, którą zapisano jako ostatnią NOT NULL żadna komórka takiej kolumny nie może być pusta UNIQUE dane w takiej kolumnie nie mogą się powtarzać DEFAULT wart- gdy w tworzonym wierszu pominięto dane które powinny zostać zapisane w tej kolumnie, w kolumnie zapisze się wartość wart CREATE TABLE Pracownik ( ID INT PRIMARY KEY, imie varchar(20), nazwisko varchar(25) ); Dodawanie danych do tabeli W celu dodania rekordów (krotek) do tabeli należy posłużyć się poleceniem INSERT INTO INSERT INTO nazwa_tabeli (nazwa_kolumny_1,nazwa_kolumny_2, ) VALUES (wart1,wart2); Z powyższego schematu wynika że w celu dodania danych do tabeli należy podać jej nazwę, listę kolumn oraz wartości które chcemy podać. Należy pamiętać że kolejność kolumn w liście musi

odpowiadać kolejności podanych wartości. Przykład: INSERT INTO Pracownik (ID,imie, nazwisko) VALUES (1234,'Jan','Kowalski'); Wyszukiwanie danych w tabeli Jednym z najczęściej używanych poleceń języka SQL jest polecenie SELECT. Polecenie to służy do wyszukiwania danych w tabeli a jego składnia w bazach MySQL jest opisana tutaj: http://dev.mysql.com/doc/refman/5.7/en/select.html Uproszczona wersja składnia sporządzona na podstawie [1] ma postać: SELECT wyrażenie FROM nazwa_tabeli [WHERE warunek] [GROUP BY nazwa_kolumny] [HAVING warunek] [ORDER BY nazwa kolumny ASC DSC] gdzie wyrażenie to lista kolumn (ewentualnie wszystkie kolumny oznaczane jako *) i/lub nowa kolumna stworzona poprzez wykonanie funkcji na danych. nazwa_tabeli nazwa tabeli w której prowadzimy wyszukiwanie warunek warunek wyszukiwania GROUP BY warunek grupowania nałożony na kolumnę o nazwie nazwa_kolumny HAVING instrukcja nakłada filtr na grupę ORDER BY szeregowania danych rosnąco (ASC) lub malejąco (DSC) Po słowie kluczowym WHERE można użyć następujących wyrażeń: NOT, OR, AND, IN, BETWEEN, LIKE (wyszukuje wyrażeń podobnych do wzorca) a w wyrażeniu po instrukcji SELECT przydatna jest funkcja COUNT(nazwa_kolumny) która zwraca liczbę rekordów spełniających dany warunek. Rozważmy kilka przykładów użycia instrukcji SELECT a) pokaż wszystkie kolumny tabeli Pracownik SELECT * FROM Pracownik b) policz liczbę mężczyzn i kobiet w tabeli pracownicy SELECT plec, COUNT(imie) FROM Pracownik GROUP BY plec

c) wyszukaj imiona zawierające aj SELECT imie, nazwisko, wiem FROM Pracownik WHERE imię like '%aj%' Zadania do wykonania CZĘŚĆ I Uwaga 1.1 Połączenie z Bazą dotyczące zadanie 1.1-1.2 Host: 192.168.11.252 port: 3306, user: stud-zi, hasło: medi (lub stud ), baza: stud Uwaga 1.2 Zadanie 1.3-1.10 odnoszą się do tabeli Employess, której schemat podano na rys 1. Do jej przeglądania należy użyć następujących danych dostępu do bazy: Host: 192.168.11.252 port: 3306, user: stud_medi, hasło: medi (lub stud ), baza: employees Rysunek 1: Schemat tabeli Employees Zadania 1.1. Zaprojektuj i utwórz tabelę o nazwie zawartej w tabeli 1. Tabela musi zawierać co najmniej 5 kolumn (które mają korespondować z nazwą tabeli) a jedna z nich musi być kluczem głównym. 1.2. Dodaj 5 rekordów do utworzonej bazy danych

1.3. Wyszukaj nazwisko które zawiera ciąg znaków podany w tabeli. Wskazówka. Dowolny ciąg znaków można zastąpić za pomocą '%' 1.4. Wyszukaj pracowników których nazwiska zawierają ciąg znaków podany w tabeli a imiona rozpoczynają się na literę 'e' 1.5. Wyszukaj pracowników urodzonych przed rokiem podanym w tabeli. Wskazówka: datę zapisz jako '2015-01-01' 1.6. Wyszukaj pracowników urodzonych w danym roku. 1.7. Wyszukaj pracowników którzy zostali zatrudnienie w roku X lub w roku Y 1.8. Policz liczbę mężczyzn i kobiet. 1.9. Policz liczbę mężczyzn i kobiet których imiona rozpoczynają się na literę podaną w tabeli. 1.10. Zaproponuj własne zapytanie do tabeli. I II III IV V VI Zad 1 Pracownik Student Przedmiot Film Produkt Książka Zad 3 'offre' 'slaw' 'erto' 'wer' 'rado' 'brean' Zad 4 'slaw' 'wer' 'rado' 'rado' 'erto' 'ver' Zad 5 1957 1962 1956 1955 1952 1964 Zad 6 1957 1962 1956 1955 1952 1964 Zad 7 X:1989 Y:1992 X:1995 Y:1995 X:1989 Y:1991 X:1990 Y:1992 X:1989 Y:1990 Zad 9 'A' 'B' 'E' 'R' 'W' 'P' Tab 1. Dane do zadań z cz. I X:1990 Y:1995 CZĘŚĆ II Uwaga 2.1: Do realizacji części II użyć następujących danych dostępu do bazy: Host: 192.168.11.252 port: 3306, user: stud_medi, hasło: medi (lub stud ), baza: employees Uwaga 2.2: Zadanie 3-7 odnoszą się do tabeli products, której schemat podano na rys 2.

Zadania Rysunek 2: Schemat tabeli products 2.1. Posortuj produkty rosnąco według ceny standardowej (standard_cost) Wskazówka: Użyj struktury ORDER BY 2.2. Oblicz średnią cenę produktu w danej kategorii. Wskazówka: Użyj funkcji AVG 2.3. W każdej kategorii wyszukaj ten produkt, którego cena zawarta w kolumnie list_price jest maksymalna. 2.4. Do wyniku zadania 2.1 dodaj kolumnę, w której zostanie podana cena standardowa wraz z doliczonym podatkiem VAT (23 %). Powstała kolumnę nazwij CenaZVat. Wskazówka: Użyj słowa kluczowego as (np. SELECT sum(unit) as 'suma'.) 2.5. Wyznacz sumę wartości zawartych w kolumnie target_level dla produktów danej kategorii 2.6. Pokaż nazwy produktów dla których wartości kolumny reorder_level są mniejsza od 20 Sprawozdanie Sprawozdanie powinno zawierać polecenie języka SQL realizujące dane zadanie oraz wynik jego działania Bibliografia [1] Giergiel J, Giergiel M, K. Kurc, Sieci komputerowe i bazy danych, OWPRz 2010 [2] MySQL Documentation (http://dev.mysql.com/doc)