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

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

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Bazy danych - Materiały do laboratoriów VIII

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

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

Autor: Joanna Karwowska

Wykład 8. SQL praca z tabelami 5

Wykład 2. SQL 1 Structured Query Lenguage

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

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

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

Paweł Rajba

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

Bazy danych 7. SQL podstawy

Aspekty aktywne baz danych

Instrukcja CREATE TABLE

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

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.

Administracja i programowanie pod Microsoft SQL Server 2000

Bazy danych Ćwiczenia projektowe

Wykład :45 BD-1 W_3

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

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

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

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

Bazy danych. Dr inż. Paweł Kasprowski

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Bazy danych 5. Samozłaczenie SQL podstawy

Ćwiczenie 7 - DDL. Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL. Wymagania: Bazy Danych

Bazy danych 10. SQL Widoki

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Bazy danych 9. SQL Klucze obce Transakcje

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

Język SQL, zajęcia nr 1

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

Tworzenie baz danych i tabel

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

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

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

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

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

Oracle PL/SQL. Paweł Rajba.

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Cele. Definiowanie wyzwalaczy

Projektowanie Baz Danych GiG-2-KG Ćw. 5. Podstawy języka SQL

Język SQL, zajęcia nr 2

Widok Connections po utworzeniu połączenia. Obszar roboczy

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

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1)

Bazy danych 9. Klucze obce Transakcje

Tworzenie modelu logicznego i fizycznego danych.

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

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

Projektowanie systemów baz danych

Wykład 5. SQL praca z tabelami 2

Bazy danych Język SQL część 1 Wykład dla studentów matem

Monika Sychla Daniel Smolarek Projekt bazy danych

WPROWADZENIE DO JĘZYKA SQL

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

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

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

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

Administracja i programowanie pod Microsoft SQL Server 2000

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

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

1. Pobierz plik z diagramem związków encji schematu Uczelnia (MS Visio) oraz plik ze skryptem tworzącym tabele i wypełniający je danymi, z zasobu:

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

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

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

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

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Programowanie obiektów

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

Komunikacja z bazą danych psql

SIECI KOMPUTEROWE I BAZY DANYCH

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

Systemy GIS Tworzenie zapytań w bazach danych

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

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. Polecenia SQL

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

DECLARE VARIABLE zmienna1 typ danych; BEGIN

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

Administracja i programowanie pod Microsoft SQL Server 2000

Programowanie w Ruby

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.

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Programowanie w Ruby

Relacyjne bazy danych. Podstawy SQL

Transkrypt:

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

D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się podczas pracy z bazami danych SQL. W DDL mamy do czynienia z kilkoma podstawowymi instrukcjami: CREATE DOMAIN CREATE TABLE (tworzenie) ALTER DOMAIN ALTER TABLE (edycja) DROP DOMAIN DROP TABLE (usuwanie) Teraz zajmiemy się pokrótce opisem każdej z w/w instrukcji.

D D L S Q L - C R E A T E D O M A I N CREATE DOMAIN w wolnym tłumaczeniu stwórz dziedzinę Na poziomie dziedzin w SQL możemy definiować: a) typy danych, b) definicje wielkości domyślnych, c) więzy integralności. Dziedziny w SQL służą do określania prostych typów danych. Raz określona dziedzina może być wykorzystana w wielu kolumn w różnych tabelach bazowych (podstawowa). Dziedzinę można porównać do pewnej klasy określającej grupę typów danych przypisujących tym typom pewne charakterystyczny cechy.

D D L S Q L - C R E A T E D O M A I N c d. Składnia dziedziny w SQL jest następująca: CREATE DOMAIN nazwa_dziedziny typ_danych [definicja_warto ści_domyślnej] [lista_definicji_wi ęzów_dziedzin]; Uwaga: wyrażenia zawarte w nawiasach [ ] są opcjonalne. Przykład: CREATE DOMAIN COLOR CHAR(6); Nazwa dziedziny to color, typ zmiennej to char (character).

D D L S Q L - C R E A T E D O M A I N c d. Ad. a) typy danych są to wartości, które charakteryzują rodzaj danych wprowadzanych do bazy (liczbowe, literowe, logiczne itd.) CHARACTER [ VARYING ] (n) INTEGER DATE BIT [ VARYING ] (n) SMALLINT TIME NUMERIC (p,q) FLOAT (p) TIMESTAMP DECIMAL (p,q) INTERVAL

D D L S Q L - C R E A T E D O M A I N c d. Ad. b) Definiowanie wartości domyślnych jest to opcja, dzięki której niekreślonym wartością (np. INTEGER) jest przypisywana pewna wartość DEFAULT. Postać takiego odwołania jest następująca: CREATE DOMAIN COLOR CHAR(6) DEFAULT '???'

D D L S Q L - C R E A T E D O M A I N c d. Ad. c) Więzy integralności jest to lista opcji, które są przypisane zadeklarowanemu wcześniej typowi danych. Jest to pewien zbiór więzów (constrainst) integralności. Lista taka w deklaracji dziedziny wygląda następująco: CREATE DOMAIN COLOR CHAR(6) DEFAULT '???' CONSTRAINT VALID_COLOR CHECK ( VALUE IN ( 'Red', 'Yellow', 'Blue', 'Green', '???' ) );

zostanie dodana do komórki tabeli. DDL SQL - CREATE TABLE Polecenie to odnosi się do tworzenie tabeli podstawowej P. Jest to tabela części, która mieć postać następującą: CREATE TABLE P (...,COLOR COLOR,...) ; Jeżeli wstawiając do tabeli P wiersz i nie podamy dla kolumny COLOR wartości w/w wiersza zostanie wstawiona w tym miejscu wartość domyślna określona w dziedzinie opisującej tą kolumnę (DEFAULT '???'). Natomiast jeśli będziemy starali się umieścić wartość różną od zadeklarowanych w dziedzinie wywołamy wyświetlenie komunikatu o zaistniałym błędzie (VALID_COLOR) i jednocześnie wartość ta nie

DDL SQL - CREATE TABLE cd. Składnia polecenia CREATE TABLE: CREATE TABLE nazwa_tabeli (lista_elementów_tabeli); Opisywane polecenie odnosi się tylko do tzw. tabeli bazowych. W definicji tej obowiązkowe jest określenie przynajmniej jednego elementu tabeli. Elementem tabeli może być: definicja kolumny, definicja więzów tabeli.

DDL SQL - CREATE TABLE cd. Element ten definiujemy w następujący sposób: nazwa_kolumny reprezentacja [def_wartości_domy ślnej] Przez reprezentację rozumie się typ danych lub dziedzinę. Def. wartości domyślnej jest jak widać opcjonalna. Jeżeli nie określimy wartości domyślnej podczas tworzenia kolumny oraz nie zostanie ona określona na poziomie dziedziny wówczas zakłada się, że wartość domyślna jest równa NULL.

DDL SQL - CREATE TABLE cd. Definicje więzów tabeli dzielimy na trze grupy: definicja klucza kandydującego, definicja klucza obcego, definicja warunku do sprawdzenia Klucz kandydujący ma następującą konstrukcję: UNIQUE ( przecinkowa_lista_kolumn ) PRIMERY KEY ( przecinkowa_lista_kolumn ) W obu przypadkach przecinkowa lista kolumn nie może być pusta. Można określić definicję najwyżej jednego klucza PRIMERY KEY, ale za to kluczy typu UNIQUE można określać dowolną ilość.

DDL SQL - CREATE TABLE cd. Klucz obcy jego definicja ma następującą postać: FOREIGN KEY (przecinkowa_lista_kolumn) REFERENCES tabela_bazowa [(przecinkowa_lista_kolumn)] [ON DELETE opcja] [ON UPDATE opcja] Warunek do sprawdzenia jest to warunek następującej postaci: CHECK ( wyrażenie_warunkowe ) Na przykład jeżeli będziemy mieli tabelą X, w której będzie określony warunek CHECK, taki że w pewnej kolumnie nie może występować wartość NULL i użytkownik pozostawi w/w wartość nieedytowaną system nie dopuści do zatwierdzenia takiej zmiany.

DDL SQL - CREATE TABLE cd. Przykładowa tabela: CREATE TABLE SP( S# S# NOT NULL, P# P# NOT NULL, QTY QTY NOT NULL PRIMARY KEY (S#, P# ), FOREIGN KEY ( S# ) REFERENCES S ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY ( P# ) REFERENCES P ON DELETE CASCADE ON UPDATE CASCADE, CHECK (QTY > 0 AND QTY <5001 ) ); S#, P# oraz QTY są to wcześniej zdefiniowane dziedziny. W sposób jawny przedstawiono S i P jako klucze główne. W zapisie zastosowano również NOT NULL. Można to zastąpić: CHECK (nazwa_kolumny IS NOT NULL)

DDL SQL - ALTER TABLE Jeżeli stworzyliśmy sobie jakąś tabele o nazwie S to dzięki poleceniu ALTER TABLE możemy ją w edytować w każdej chwili. Składnia tego polecenia jest następująca: ALTER TABLE (operacja_na_tabeli) nazwa_tabeli (opcje); Najprościej będzie poprzeć to przykładem: ALTER TABLE S ADD COLUMN RABAT INTEGER DEFAULT -1; do tabeli S dodano kolumnę RABAT o wartościach typy INTEGER i ustawiono wartość domyślną na 1.

DDL SQL - ALTER TABLE cd. Polecenie ALTER TABLE dopuszcza następujące zmiany: dodawanie/usuwanie kolumny, definiowanie wartości (dodawanie/usuwanie) domyślnej kolumny (zastąpienie lub przypisanie wartości), określenie/usunięcie warunku integralności dla tabeli bazowej.

DDL SQL - DROP TABLE Jeżeli zaistnieje potrzeba usunięcia którejś z tabel można to w prosty sposób wykonać za pomocą polecenia: DROP TABLE Składnia tego polecenia jest następująca: DROP TABLE nazwa_tabeli_bazowej opcja ; Opcja w tej składni może przybierać następujące wartości: RESTRICT jeżeli usuwana tabela jest użyta w jakiejkolwiek definicji perspektywy lub więzach integralności to polecenie DROP nie zakończy się powodzeniem, CASCADE niezależnie od powiązań usuwanej tabeli zostanie ona usunięta wraz z wpisami odwołującymi się do niej (definicje perspektyw oraz więzy integralności). ~the end~