(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 7: Relacje i ograniczenia integralnościowe Język definiowania danych - DDL (Data Definition.

Slides:



Advertisements
Podobne prezentacje
Indeksy w bazie danych Oracle
Advertisements

Podział i zastosowanie
Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
Projektowanie bazy danych
SQL – Strukturalny język zapytań
Język SQL Część II.
BD-LAB4 Wojciech Pieprzyca
Podejście relacyjne Podejście relacyjne opiera się na wykorzystaniu do przedstawiania danych modelu relacyjnego i zarządzania nimi matematycznego modelu.
Relacyjne Bazy Danych Wykład 02/03 Wojciech St
MS Access 2003 Kwerendy Paweł Górczyński.
MS Access 2000 Kwerendy Piotr Górczyński 25/08/2001.
25/08/ Bazy danych II Piotr Górczyński MS Access – Action Query.
MS Access 2000 Tworzenie tabel Piotr Górczyński 2005.
Rozdział 14: Struktury danych
Rozdział 2: Język bazy danych - SQL
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 8: Perspektywy i sekwencery.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 2: Język bazy danych - SQL Proste zapytania.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 9: Język manipulowania danymi DML (Data Manipulation Language)
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 4: Język bazy danych - SQL Połączenia.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 3: Język bazy danych - SQL Funkcje grupowe.
Bezpieczeństwo Procedury składowane Funkcje i Wyzwalacze
ZSBD PL/SQL CZĘŚĆ 3 Wykład 5 Prowadzący: dr Paweł Drozda.
Język definicji danych (Data Definition Language)
Język definicji danych (Data Definition Language)
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
SQL-owskie szlaki górskie
Funkcje znakowe ASCII(znak IN VARCHAR2) RETURN INTEGER
ASCII(znak IN VARCHAR2) RETURN INTEGER zwraca wartość numeryczną kod ascii znaku CHAR(n Integer)zwraca znak odpowiadający kodowi n CONCAT(tekst1, tekst2)zwraca.
SQL select kredytobiorca,bank, rodzaj, data_zawarcia, klasyfikacja,kwota, terminzapadalnosci-data_zawarcia iledni from tab_kredyt where (terminzapadalnosci-data_zawarcia)>1095.
POWTÓRZENIE Główne elementy składni SQL: Zasady ogólne
SQL - język relacyjnych i obiektowo-relacyjnych baz danych
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Relacyjne Bazy Danych (Oracle) Prezentacja jest współfinansowana.
Rozproszone bazy danych – 1 Replikacja danych
Język SQL (Structured Query Language) DDL (Data Definition Language)
Bezpieczeństwo baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
OPERACJA DZIELENIA W SQL
SQL – Structured Query Language (3)
Administracja serwerem bazy danych Oracle 11g Zarządzanie strukturą bazy danych Wykład nr 2 Michał Szkopiński.
Administracja serwerem bazy danych Oracle 11g Zarządzanie obiekami bazy danych Wykład nr 4 Michał Szkopiński.
Instrukcje: CREATE, INSERT, UPDATE, DELETE, DROP
SQL – Structured Query Language (1)
MySQL bazy danych dla witryny
Andrzej Macioł Bazy danych – SQL – cz. 1. Andrzej Macioł Składowe SZBD Jądro SZBD realizuje podstawowe funkcje związane z przechowywaniem danych, kontrolą
SQL - Structured Query Language
Jak zacząć w MS SQL? USE master; GO IF DB_ID (Nbaza') IS NOT NULL DROP DATABASE baza; GO CREATE DATABASE baza; GO USE baza; GO.
Komendy SQL do pracy z tabelami i bazami
PL/SQL – dalsza wędrówka
SQL – część II.
Projektowanie bazy danych
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3.
Systemy Baz Danych Wykład III
Bazy Danych W03: Spójność relacji i JOINy Wojciech St
1 SBD, L.Banachowski Zaawansowane cechy SQL Powtórzenie wyk ł adu 5.
Autor: Damian Urbańczyk
1 SBD, L.Banachowski Oprogramowanie strony serwera cz. 1 Powtórzenie wyk ł adu 6.
Komendy SQL do pracy z danymi
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 5: Operatory zbiorowe.
1 Wykład Asercje, wyzwalacze i prawa. 2 Elementy aktywne bazy Chcielibyśmy, aby baza danych zapewniała nam pewne własności lub niezmienniki.
Wykład 3 Prowadzący: dr Paweł Drozda. Użytkownik bazy danych – osoba lub aplikacja, mająca dostęp do części danych zgromadzonych w bazie Uprawnienia –
Oracle Data Modeler (4.1) Tworzenie modelu danych – specyfikacja wymagań informacyjnych (na dane) Tworzenie modelu procesów – specyfikacja wymagań funkcyjnych.
Oracle Data Modeler (4.1). Aplikacja Wymagania biznesowe Tworzenie systemu informacyjnego Procesy Informacje Analiza Projektowanie Browser: Hollywood.
Oracle Data Modeler ( ) Wiele opcji dostępnych poprzez prawy przycisk myszy zarówno na elementach nawigatora obiektów (z lewej strony), jak i na.
1 Definicja danych: Do utworzenia tabeli służy instrukcja CREATE TABLE, wymagająca podania nazwy tworzonej tabeli, nazwy każdej kolumny w tej tabeli, typu.
Transformacja modelu EER do modelu relacyjnego
Widoki (views) - Perspektywy:
DDL język definiowania danych
Strukturalny język zapytań SQL - historia
Technologie Informacyjne Bazy danych
Własności relacji: Baza danych jest zbiorem relacji, o następujących własnościach: każda relacja w bazie danych jest jednoznacznie określona przez swoją.
Zapis prezentacji:

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 7: Relacje i ograniczenia integralnościowe Język definiowania danych - DDL (Data Definition Language)

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Tworzenie relacji polecenie CREATE TABLEpolecenie CREATE TABLE CREATE TABLE nazwa_relacji (nazwa_atrybutu 1 typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr], nazwa_atrybutu 2 typ (rozmiar) [DEFAULT wartość_domyślna] nazwa_atrybutu 2 typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr],.... [ [CONSTRAINT nazwa_ogr] ograniczenie_rel,...] ); CREATE TABLE nazwa_relacji (nazwa_atrybutu 1 typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr], nazwa_atrybutu 2 typ (rozmiar) [DEFAULT wartość_domyślna] nazwa_atrybutu 2 typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr],.... [ [CONSTRAINT nazwa_ogr] ograniczenie_rel,...] );

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Typy atrybutów relacji number,number, number(r),number(r), number(r,n)number(r,n) char(r)char(r) varchar2(r),varchar2(r), varchar(r)varchar(r) datedate longlong long rawlong raw

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Ograniczenia integralnościowe atrybutu ograniczenie_atrNULL NOT NULL UNIQUE PRIMARY KEY REFERENCES ON DELETE CASCADE CHECKograniczenie_atrNULL NOT NULL UNIQUE PRIMARY KEY REFERENCES ON DELETE CASCADE CHECKprzykład placa_dod number(6,2) placa_pod number(6,2) not null, nazwisko varchar2(12) unique numer number(4) primary key id_zesp number(4) references zespoly(id_zesp) id_zesp number(4) references zespoly(id_zesp) on delete cascade placa_pod number(6,2) check (placa_pod between 100 and 3000) (placa_pod between 100 and 3000)przykład placa_dod number(6,2) placa_pod number(6,2) not null, nazwisko varchar2(12) unique numer number(4) primary key id_zesp number(4) references zespoly(id_zesp) id_zesp number(4) references zespoly(id_zesp) on delete cascade placa_pod number(6,2) check (placa_pod between 100 and 3000) (placa_pod between 100 and 3000)

(c) 1999, Instytut Informatyki Politechniki Poznańskiej UNIQUEUNIQUE PRIMARY KEYPRIMARY KEY REFERENCESREFERENCES ON DELETE CASCADEON DELETE CASCADE CHECKCHECK FOREIGN KEY... REFERENCESFOREIGN KEY... REFERENCES Ograniczenia integralnościowe relacji Domyślna wartość atrybutu definiując atrybut możemy mu przypisać wartość domyślną, którą poprzedzamy słowem kluczowym DEFAULTdefiniując atrybut możemy mu przypisać wartość domyślną, którą poprzedzamy słowem kluczowym DEFAULT placa_pod number(6,2) DEFAULT 0

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Tworzenie relacji - przykład CREATE TABLE dydaktycy ( id_dydakt number(2) CONSTRAINT id_dydakt_pk PRIMARY KEY, nazwisko varchar2(15) NOT NULL, tytuł varchar2(10) NOT NULL); CREATE TABLE przedmioty ( id_przedm number(2) CONSTRAINT id_przedm_pk PRIMARY KEY, nazwa varchar2(15) NOT NULL); CREATE TABLE dydaktycy ( id_dydakt number(2) CONSTRAINT id_dydakt_pk PRIMARY KEY, nazwisko varchar2(15) NOT NULL, tytuł varchar2(10) NOT NULL); CREATE TABLE przedmioty ( id_przedm number(2) CONSTRAINT id_przedm_pk PRIMARY KEY, nazwa varchar2(15) NOT NULL);

(c) 1999, Instytut Informatyki Politechniki Poznańskiej CREATE TABLE zajęcia ( id_zajeć number(2) CONSTRAINT id_zajeć_pk PRIMARY KEY, rodzaj_zaj varchar2(15) CONSTRAINT rodzaj_zaj_chk CHECK (rodzaj_zaj in ('wykład', 'ćwiczenia', 'laboratorium', 'projekt' )), id_dydakt number(2) NOT NULL, id_przedm number(2) NOT NULL, foreign key (id_dydakt) REFERENCES dydaktycy(id_dydakt) ON DELETE CASCADE, foreign key (id_przedm) REFERENCES przedmioty(id_przedm) ); CREATE TABLE zajęcia ( id_zajeć number(2) CONSTRAINT id_zajeć_pk PRIMARY KEY, rodzaj_zaj varchar2(15) CONSTRAINT rodzaj_zaj_chk CHECK (rodzaj_zaj in ('wykład', 'ćwiczenia', 'laboratorium', 'projekt' )), id_dydakt number(2) NOT NULL, id_przedm number(2) NOT NULL, foreign key (id_dydakt) REFERENCES dydaktycy(id_dydakt) ON DELETE CASCADE, foreign key (id_przedm) REFERENCES przedmioty(id_przedm) ); Tworzenie relacji - przykład cd.

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Słownik bazy danych opis zdefiniowanych ograniczeń integralnościowychopis zdefiniowanych ograniczeń integralnościowych –USER_CONSTRAINTS –USER_CONS_COLUMNS opis zdefiniowanych relacjiopis zdefiniowanych relacji –USER_TABLES select table_name from USER_TABLES; opis atrybutów relacjiopis atrybutów relacji –USER_TAB_COLUMNS schemat relacji wyświetlamy za pomocą polecenia DESCRIBE nazwa_relacjischemat relacji wyświetlamy za pomocą polecenia DESCRIBE nazwa_relacji

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Tworzenie relacji cd. CREATE TABLE AS SELECTCREATE TABLE AS SELECT CREATE TABLE nazwa_relacji [(nazwa atrybutu [null|not null],...)] AS SELECT klauzula_SELECT; CREATE TABLE nazwa_relacji [(nazwa atrybutu [null|not null],...)] AS SELECT klauzula_SELECT; CREATE TABLE lista_plac AS SELECT nazwisko, placa_pod FROM pracownicy; CREATE TABLE lista_plac AS SELECT nazwisko, placa_pod FROM pracownicy;

(c) 1999, Instytut Informatyki Politechniki Poznańskiej ALTER TABLE relacja ADD (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [[constraint nazwa_ogr] ograniczenie_atr] ); ALTER TABLE relacja ADD (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [[constraint nazwa_ogr] ograniczenie_atr] ); Modyfikowanie schematu relacji ALTER TABLE pracownicy ADD (tytuł_nauk VARCHAR2(10) ); ALTER TABLE pracownicy ADD (tytuł_nauk VARCHAR2(10) ); dodanie atrybutudodanie atrybutu

(c) 1999, Instytut Informatyki Politechniki Poznańskiej ALTER TABLE relacja MODIFY (atrybut typ (rozmiar) [default wartość_domyślna] [ null|not null] ); ALTER TABLE relacja MODIFY (atrybut typ (rozmiar) [default wartość_domyślna] [ null|not null] ); Modyfikowanie schematu relacji cd. ALTER TABLE pracownicy MODIFY (tytuł_nauk varchar2(15) DEFAULT mgr inż. NOT NULL); ALTER TABLE pracownicy MODIFY (tytuł_nauk varchar2(15) DEFAULT mgr inż. NOT NULL); modyfikowanie definicji atrybutumodyfikowanie definicji atrybutu

(c) 1999, Instytut Informatyki Politechniki Poznańskiej ALTER TABLE relacja DROP atrybut; ALTER TABLE relacja DROP atrybut; Modyfikowanie schematu relacji cd. ALTER TABLE pracownicy DROP tytuł_nauk; ALTER TABLE pracownicy DROP tytuł_nauk; usuwanie atrybutu ( >= Oracle )usuwanie atrybutu ( >= Oracle )

(c) 1999, Instytut Informatyki Politechniki Poznańskiej ALTER TABLE relacja ADD ([constraint nazwa_ogr] ograniczenie_rel); ALTER TABLE relacja ADD ([constraint nazwa_ogr] ograniczenie_rel); ALTER TABLE pracownicy ADD (CONSTRAINT etat_chk CHECK (etat IN ('DYREKTOR', 'PROFESOR', 'ADIUNKT', 'ASYSTENT', 'STAŻYSTA', 'SEKRETARKA') ) ); 'ASYSTENT', 'STAŻYSTA', 'SEKRETARKA') ) ); ALTER TABLE pracownicy ADD (CONSTRAINT etat_chk CHECK (etat IN ('DYREKTOR', 'PROFESOR', 'ADIUNKT', 'ASYSTENT', 'STAŻYSTA', 'SEKRETARKA') ) ); 'ASYSTENT', 'STAŻYSTA', 'SEKRETARKA') ) ); Modyfikowanie schematu relacji cd. ALTER TABLE pracownicy ADD (CONSTRAINT prac_fk FOREIGN KEY (id_zesp) REFERENCES zespoly(id_zesp ) ); ALTER TABLE pracownicy ADD (CONSTRAINT prac_fk FOREIGN KEY (id_zesp) REFERENCES zespoly(id_zesp ) ); dodanie ograniczenia integralnościowego relacjidodanie ograniczenia integralnościowego relacji

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Zarządzanie ograniczeniami integralnościowymi włączenie ograniczenia integralnościowegowłączenie ograniczenia integralnościowego wyłączenie ograniczenia integralnościowegowyłączenie ograniczenia integralnościowego ALTER TABLE relacja ENABLE rodzaj_ogr; ALTER TABLE relacja ENABLE rodzaj_ogr; ALTER TABLE relacja ENABLE CONSTRAINT nazwa_ogr; ALTER TABLE relacja ENABLE CONSTRAINT nazwa_ogr; ALTER TABLE relacja DISABLE rodzaj_ogr; ALTER TABLE relacja DISABLE rodzaj_ogr; ALTER TABLE relacja DISABLE CONSTRAINT nazwa_ogr; ALTER TABLE relacja DISABLE CONSTRAINT nazwa_ogr; ALTER TABLE pracownicy ENABLE CONSTRAINT prac_fk; ALTER TABLE pracownicy ENABLE CONSTRAINT prac_fk; ALTER TABLE pracownicy DISABLE PRIMARY KEY; ALTER TABLE pracownicy DISABLE PRIMARY KEY;

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Zarządzanie ograniczeniami integralnościowymi cd. usunięcie ograniczenia integralnościowegousunięcie ograniczenia integralnościowego ALTER TABLE relacja DROP rodzaj_ogr [CASCADE]; ALTER TABLE relacja DROP rodzaj_ogr [CASCADE]; ALTER TABLE relacja DROP CONSTRAINT nazwa_ogr [CASCADE]; ALTER TABLE relacja DROP CONSTRAINT nazwa_ogr [CASCADE]; ALTER TABLE pracownicy DROP CONSTRAINT etat_chk; ALTER TABLE pracownicy DROP CONSTRAINT etat_chk; ALTER TABLE pracownicy DROP PRIMARY KEY CASCADE; ALTER TABLE pracownicy DROP PRIMARY KEY CASCADE;

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Zmiana nazwy relacji RENAME stara_nazwa TO nowa_nazwa; Usuwanie relacji DROP TABLE nazwa_relacji [CASCADE CONSTRAINTS]; PRACOWNICYZESPOLY REFERENCES zespoly(id_zesp) DROP TABLE zespoly CASCADE CONSTRAINTS;

(c) 1999, Instytut Informatyki Politechniki Poznańskiej Komentarze każda relacja jak również każdy z atrybutów relacji może być opatrzony komentarzem w bazie danychkażda relacja jak również każdy z atrybutów relacji może być opatrzony komentarzem w bazie danych nadawanie komentarzy realizowane jest przez polecenia:nadawanie komentarzy realizowane jest przez polecenia: comment on table nazwa_relacji is komentarz do relacji' miejsce przechowywania komentarzymiejsce przechowywania komentarzy –USER_TAB_COMMENTS –USER_COL_COMMENTS comment on column nazwa_relacji.nazwa_atrybutu is komentarz do atrybutu relacji'