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

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

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

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

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

Autor: Joanna Karwowska

SIECI KOMPUTEROWE I BAZY DANYCH

Wykład 05 Bazy danych

SIECI KOMPUTEROWE I BAZY DANYCH

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

Język SQL, zajęcia nr 2

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

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

Język SQL, zajęcia nr 1

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

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

Bazy danych 6. Klucze obce. P. F. Góra

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

Wykład 8. SQL praca z tabelami 5

Bazy danych - Materiały do laboratoriów VIII

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Bazy danych. Dr inż. Paweł Kasprowski

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

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

SIECI KOMPUTEROWE I BAZY DANYCH

Projektowanie systemów baz danych

Bazy danych - wykład wstępny

Wykład 6. SQL praca z tabelami 3

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

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

Tworzenie modelu logicznego i fizycznego danych.

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

Aspekty aktywne baz danych

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

Wykład 5. SQL praca z tabelami 2

Bazy danych. Polecenia SQL

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Bazy danych. dr inż. Arkadiusz Mirakowski

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Podstawowe informacje o bazach danych. Technologie Informacyjne

Bazy danych Karta pracy 1

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Model relacyjny. Wykład II

Transformacja modelu ER do modelu relacyjnego

Bazy danych 9. SQL Klucze obce Transakcje

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

Transformacja modelu ER do modelu relacyjnego

Bazy danych Ćwiczenia projektowe

Przykłady normalizacji

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

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

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji.

Tworzenie baz danych i tabel

SIECI KOMPUTEROWE I BAZY DANYCH

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

Modelowanie wymiarów

Podstawy technologii WWW

Relacyjne bazy danych. Podstawy SQL

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

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

Baza danych. Modele danych

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

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Paweł Rajba

Przykładowa baza danych BIBLIOTEKA

ACESS- zadania z wykorzystaniem poleceń SQL

Bazy danych 9. Klucze obce Transakcje

Bazy danych 9. Klucze obce Transakcje. P. F. Góra

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Baza danych Uczniowie.mdb

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

1. Mapowanie diagramu klas na model relacyjny.

Struktura drzewa w MySQL. Michał Tyszczenko

Instalacja MySQL.

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Wykład 2. Relacyjny model danych

Projektowanie baz danych za pomocą narzędzi CASE

Instrukcja CREATE TABLE

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

Bazy danych wykład szósty Więzy i wyzwalacze. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Bazy Danych i Usługi Sieciowe

Laboratorium nr 1. Temat: Wprowadzenie do MySQL-a

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

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

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła

Grupowanie i funkcje agregujące

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

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

Fizyczna struktura bazy danych w SQL Serwerze

Transkrypt:

Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl fb.com/groups/bazydanychmt/ Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 4 (Asocjacje, klucz główny, klucz obcy) 1

Informacje podstawowe Klucz główny każda tabela powinna posiadać klucz główny PRIMARY KEY (PK), powinien być on unikalny (niepowtarzający się). może on być pojedynczą kolumną (zazwyczaj numery indeksu, inwentarzowe, numery pesel itp.) lub kombinacją kolumn np. imie+nazwisko+miasto_urodzenia Przykładowa składnia SQL przy tworzeniu tabeli CREATE TABLE student ( nrindeksu int NOT NULL, Imie varchar(45) NOT NULL, Nazwisko varchar(45) NOT NULL, PRIMARY KEY (nrindeksu) ); Klucz obcy FOREIGN KEY (FK) wiąże kolumnę lub kolumny tabel z kolumną/kolumnami w innej (obcej) tabeli Kolumna obcej tabeli do której odwołuje się FK musi być typu UNIQE lub PK Wartość pola tabeli dla którego jest określony FK musi posiadać wartość która istnieje w tabeli obcej Asocjacja (połączenie) klucz główny klucz obcy zabezpiecza przed wprowadzeniem błędnych danych mogących spowodować utratę połączenia pomiędzy tabelami. Przykładowa składnia SQL przy tworzeniu tabeli (w powiązaniu do tabeli student) CREATE TABLE grupa_studentow ( nrindeksu int NOT NULL, nrgrupy int NOT NULL, PRIMARY KEY (nrindeksu), FOREIGN KEY (nrindeksu) REFERENCES student(nrindeksu) ); 2

1. Utwórz dwie powiązane ze sobą (klucz główny - klucz obcy) tabele o poniższych schematach Tabela oddzial, z następującymi atrybutami: id_oddzialu int NOT NULL, miejscowosc varchar(50), telefon varchar(12), Przy tworzeniu tej tabeli ustaw klucz główny na pole id_oddzialu! oraz tabela pracownik, z następującymi atrybutami: id_pracownika int NOT NULL, imie varchar(50), nazwisko varchar(50), id_oddzialu int NOT NULL, Przy tworzeniu tej tabeli ustaw klucz główny na pole id_pracownika oraz klucz obcy o nazwie id_oddzialu powiązany z polem id_oddzialu w tabeli oddzial! 2. Wypełnij tabele następującymi danymi: 3 Dodaj/usuń następujące informacje do tabel: a) Dodaj rekord do tabeli pracownik (za pomocą instrukcji SQL) dla następujących danych (id_pracownika 5, imie Grzegorz, nazwisko Voit, id_oddzialu 5) b) Dodaj rekord do tabeli pracownik (za pomocą instrukcji SQL) dla następujących danych (id_pracownika 6, imie Jan, nazwisko Szulc, id_oddzialu 2) c) Usuń rekord z tabeli oddział dla id_oddzialu=4 Dla każdego z powyższych zadań zanotuj informację zwracaną przez MySQL Workbench! 3

4. Komendą Reverese Engineer (wywoływaną z menu Database) utwórz i zachowaj diagram UML dwóch utworzonych i powiązanych ze sobą tabel. 5. Utwórz nowy model bazy danych (File->New Model) a w nim nowy diagram UML (Model->Add Diagram) 6. Utwórz 3 tabele o poniższych schematach. idelementu oraz idczesci tworzą klucz główny i nie mogą się powtórzyć (wspólnie) zaznaczone pola PK, NN idczesci zaznaczone pola PK, NN, UQ idelementu zaznaczone pola PK, NN, UQ 7. Utwórz asoscacje (złączenie klucz główny klucz obcy) w UML zgodnie z poniższym schematem. Kolumny (atrybuty) idelementu oraz idczesci mają być kluczem obcym w tabeli Elementy, połączone z odpowiednimi kluczami głównymi tabel Czesci oraz NazwaEl 4

Do utworzenia tych asocjacji wykorzystaj ikonę diagramów (rysunek poniżej) dostepną w pasku narzędziowym okna Narzędzie to tworzy asocjację wykorzystując istniejące kolumny tabel. Uwaga: Użycie innych narzędzi (ikon) powoduje powstanie nowej dodatkowej kolumny dla każdego utworzonego klucza obcego. 8. Wykonaj opcję Forward Engineer z menu Database. Po zakończonej operacji Forward Engineer przejdź do okna Navigatora MySQL Workbench. 9. Wypełnij tabele danymi tak jak w laboratorium nr 3, tj: 10. Zmień polecenie UPDATE w tabeli NazwaEl rekord idelementu równy 1002 na wartość 2. 11. Wyświetl dane ze wszystkich tabel poleceniem: SELECT * FROM elementy INNER JOIN czesci ON elementy.idczesci=czesci.idczesci INNER JOIN nazwael ON elementy.idelementu=nazwael.idelementu; oraz sprawdź skutek działania polecenia SQL z p.10. 5

12. Zmień parametry złączenia tabel. Użyj ikonki klucza, a następnie w opcjach klucza obcego zmień parametry z RESTRICT na CASCADE. Wykonaj to dla obydwu kluczy oraz obydwu opcji ON UPDATE, ON DELETE (rysunek poniżej). Uwaga: Opcja CASCADE umożliwia kaskadową zmianę zawartości połączonych tabel, tj. zmiana wartości w tabeli nadrzędnej (asocjacja po stronie klucza głównego) powoduje zmianę we wszystkich krotkach tabel podrzędnych (asocjacja po stronie klucza obcego). 13. Wykonaj ponownie polecenie z p. 10, a następnie sprawdź rezultat jego działania wykonując polecenie z p. 11. 6