Autor: Joanna Karwowska

Podobne dokumenty
Wykład 4. SQL praca z tabelami 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Wykład 8. SQL praca z tabelami 5

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

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

Bazy danych - Materiały do laboratoriów VIII

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.

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Aspekty aktywne baz danych

Wykład 5. SQL praca z tabelami 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

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

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

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

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

Wykład 05 Bazy danych

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Instrukcja CREATE TABLE

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

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 fb.com/groups/bazydanychmt/

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

Bazy danych 7. SQL podstawy

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

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) )

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

Tworzenie baz danych i tabel

Bazy danych. Polecenia SQL

Język SQL, zajęcia nr 2

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

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

Tworzenie modelu logicznego i fizycznego danych.

Bazy danych Ćwiczenia projektowe

Bazy danych 5. Samozłaczenie SQL podstawy

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

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych 10. SQL Widoki

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

SIECI KOMPUTEROWE I BAZY DANYCH

Projektowanie systemów baz danych

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Bazy danych. dr inż. Arkadiusz Mirakowski

Paweł Rajba

Widok Connections po utworzeniu połączenia. Obszar roboczy

Ć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

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

Administracja i programowanie pod Microsoft SQL Server 2000

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

Wykład 2. SQL 1 Structured Query Lenguage

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

Wykład 6. SQL praca z tabelami 3

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

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

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

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

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

Przykładowa baza danych BIBLIOTEKA

Podstawowe informacje o bazach danych. Technologie Informacyjne

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

SIECI KOMPUTEROWE I BAZY DANYCH

Relacyjne bazy danych. Podstawy SQL

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Wykład 2. Relacyjny model danych

Zarządzanie obiektami bazy danych Oracle11g

WPROWADZENIE DO BAZ DANYCH

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

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

WPROWADZENIE DO JĘZYKA SQL

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

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

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

Bazy danych 9. Klucze obce Transakcje

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

PODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu "Podstawy baz danych"

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

BAZA DANYCH SIECI HOTELI

Bazy danych - wykład wstępny

Podstawy technologii WWW

Fizyczna struktura bazy danych w SQL Serwerze

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

Relacyjne bazy danych. Podstawy SQL

2017/2018 WGGiOS AGH. LibreOffice Base

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

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

Bazy danych 9. SQL Klucze obce Transakcje

Paweł Cieśla. Dokumentacja projektu

PODSTAWY BAZ DANYCH Wykład Partycjonowanie tabel i indeksów

Bazy danych 2. Wykład 3. Metodologia projektowania baz danych (projektowanie fizyczne)

Programowanie w Ruby

Bazy Danych i Usługi Sieciowe

Bazy danych. Plan wykładu. Metody organizacji pliku rekordów przypomnienie wiadomości. Pojęcie indeksu. Wykład 11: Indeksy. Język DDL i DML.

Transkrypt:

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ę, można zdefiniować zarówno klucz główny jak i klucze kandydujące. Zdefiniowanie klucza głównego wymaga użycia klauzuli PRIMARY KEY. W tabeli może być zidentyfikowany tylko jeden klucz główny. Definicja klucza głównego znajduje się po definicjach pól, jeżeli klucz główny składa się z kilku pól podaje się listę nazw pól oddzieloną przecinkami.

Słowo UNIQUE służy do określenia, która kolumna (lub grupa kolumn) musi być unikalna i jest przez to kluczem kandydującym. Użycie ograniczenia UNIQUE powoduje, że próba powtórzenia danych w tych kolumnach będzie przez bazę danych powstrzymana.

Atrybut PRIMARY KEY oznacza, że dana kolumna będzie kluczem podstawowym. Kolumny z takim atrybutem są automatycznie indeksowane oraz unikatowe (każdy wiersz takiej kolumny musi mieć inną wartość). Indeksowanie kolumny oznacza, że wewnątrz bazy powstanie specjalna struktura porządkująca dane w kolumnie (kolumnach), co przyspiesza wiele operacji takich jak sortowanie czy wyszukiwanie.

Utwórz tabelę osoby, w której pole id będzie kluczem podstawowym. CREATE TABLE osoby ( id INT PRIMARY KEY AUTO_INCREMENT, nazwisko VARCHAR(25), );

Utwórz tabelę test, w której pola id i nazwa tworzą klucz podstawowy. CREATE TABLE test ( ); id INT, nazwa VARCHAR(20), PRIMARY KEY(id, nazwa)

Dodaj do tabeli osoby klucz podstawowy składający się z kolumny id. ALTER TABLE osoby ADD CONSTRAINT pk PRIMARY KEY (id); gdzie pk jest nazwą klucza podstawowego.

Dodaj do tabeli osoby klucz podstawowy składający się z kolumn id, imie, nazwisko. ALTER TABLE osoby ADD CONSTRAINT pk PRIMARY KEY (id, imie, nazwisko);

Usuń z tabeli osoby klucz podstawowy. ALTER TABLE osoby DROP PRIMARY KEY;

Klucz kandydujący UNIQUE jest to pole unikatowe, które w sposób jednoznaczny identyfikuje każdy rekord tabeli. np. PESEL CHAR(11) UNIQUE NOT NULL Może być kluczem podstawowym tabeli. Projektant bazy danych decyduje o tym, który z kluczy kandydujących wybrać na klucz podstawowy.

Dodanie atrybutu UNIQUE do kolumny pesel uzyskamy za pomocą instrukcji: ALTER TABLE osoby ADD CONSTRAINT pesel_unique UNIQUE (pesel);

Usunięcie atrybutu UNIQUE z kolumny pesel uzyskamy za pomocą instrukcji: ALTER TABLE osoby DROP INDEX pesel_unique;

Klucz obcy (klauzula REFERENCES) służy do ustalenia relacji między tabelami (definiowania więzów integralności). Zdefiniowanie klucza obcego powoduje przerzucenie na serwer konieczności badania spójności danych.

[CONSTRAINT nazwa] FOREIGN KEY (kol1,, koln) REFERENCES nazwa_tabeli(kol1,, koln) nazwa nazwa ograniczenia, za pomocą której będzie ono identyfikowane; może być pominięta (wówczas zostanie nadana nazwa systemowa); kolumny wymienione po słowach FOREIGN KEY określają kolumny w tabeli dla której definiujemy ograniczenie, zawierające klucz obcy; nazwa_tabeli określa, z której tabeli pochodzi klucz podstawowy; kolumny wymienione po REFERENCES nazwa_tabeli określają, z których kolumn pochodzi klucz podstawowy.

nazwa_kolumny typ_kolumny atrybuty REFERENCES nazwa_tabeli(nazwa_kolumny) np. stanowisko_id INT NOT NULL REFERENCES stanowiska(id_stanowiska)

Przykład Sprawdź działanie poniższej instrukcji w swojej bazie danych (firma_nazwisko). INSERT INTO pracownicy VALUES (8, Jan, Nowak, 1990-01-01, 90010104321, Sopot, 6); Uwaga! Zostanie zgłoszony błąd, ponieważ w tabeli stanowiska nie istnieje rekord o identyfikatorze 6!

Utwórz klucz obcy w taki sposób, aby kolumna stanowisko.id z tabeli pracownicy była powiązana z kolumną id tabeli stanowiska. ALTER TABLE pracownicy ADD CONSTRAINT stanowiska_fk FOREIGN KEY (stanowisko_id) REFERENCES stanowiska(id_stanowiska);

Usuń ograniczenie związane z kluczem obcym w tabeli pracownicy. ALTER TABLE nazwa_tabeli DROP FOREIGN KEY nazwa_ograniczenia; np. ALTER TABLE pracownicy DROP FOREIGN KEY stanowiska_fk;

Zaprojektuj tabelę w której kolumna miasto będzie miała wartość domyślną SOPOT. CREATE TABLE osoby ( id INT PRIMARY KEY NOT NULL, nazwisko VARCHAR(20), miasto VARCHAR(20) DEFAULT SOPOT );

Przypisz kolumnie miasto wartość domyślną Sopot. ALTER TABLE osoby ALTER COLUMN miasto SET DEFAULT Sopot ;

Usuń wartość domyślną z kolumny miasto. ALTER TABLE osoby ALTER COLUMN miasto DROP DEFAULT;