Wykład 3 2014-04-25 12:45 BD-1 W_3



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

Wprowadzenie do języka SQL

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

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

Bazy danych. Dr inż. Paweł Kasprowski

Projektowanie systemów baz danych

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

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Przestrzenne bazy danych Podstawy języka SQL

Język SQL. Rozdział 2. Proste zapytania

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

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

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

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

Wykład 4. SQL praca z tabelami 1

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych.

Wykład 8. SQL praca z tabelami 5

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Bazy Danych i Usługi Sieciowe

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Język SQL, zajęcia nr 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Systemy GIS Tworzenie zapytań w bazach danych

Paweł Rajba

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

Podstawowe informacje o bazach danych. Technologie Informacyjne

Bazy danych i usługi sieciowe

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

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

Programowanie obiektów

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

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Tworzenie baz danych i tabel

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

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

Widok Connections po utworzeniu połączenia. Obszar roboczy

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Wykład 05 Bazy danych

Bazy danych 9. SQL Klucze obce Transakcje

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

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

Bazy danych - Materiały do laboratoriów VIII

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

Wykład 5. SQL praca z tabelami 2

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

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

Bazy danych 7. SQL podstawy

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

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

Paweł Cieśla. Dokumentacja projektu

Język SQL, zajęcia nr 2

Autor: Joanna Karwowska

Oracle11g: Wprowadzenie do SQL

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

Wykład 2. SQL 1 Structured Query Lenguage

Język SQL podstawy zapytań

Co to jest Baza Danych

Komunikacja z bazą danych psql

Aspekty aktywne baz danych

15. Funkcje i procedury składowane PL/SQL

Programowanie w Ruby

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

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

BAZA DANYCH SIECI HOTELI

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

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

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

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Cele. Definiowanie wyzwalaczy

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Wykład 6. SQL praca z tabelami 3

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

1 Wstęp do modelu relacyjnego

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

Tworzenie modelu logicznego i fizycznego danych.

Relacyjne bazy danych. Podstawy SQL

Wprowadzenie do baz danych

Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus

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

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

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

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

Laboratorium nr 7. Temat: Podstawy języka zapytań SQL (część 1) 1. Wprowadzenie do laboratorium

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

LAB 3 (część 1 Projektu)

SQL Structured Query Language

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

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Bazy danych i usługi sieciowe

Bazy danych 2. Wykład 1

Przykładowa baza danych BIBLIOTEKA

Bazy danych 5. Samozłaczenie SQL podstawy

Transkrypt:

Wykład 3 SQL - język operacji na bazach danych Schemat przykładowej bazy danych Uczelnia Skrypt SQL - utworzenie bazy Uczelnia Polecenia selekcji i projekcji Interakcyjny dostęp do bazy danych 2014-04-25 12:45 BD-1 W_3 1

SQL - język operacji na bazach danych Do opisu operacji na bazach danych stworzono język SQL (ang. Structured Query Language). Składnia i znaczenie SQL są określone odpowiednimi standardami międzynarodowymi (obowiązuje już czwarta wersja standardu). Wyrażenia w SQL są w większości SZBD (w szczególności w systemach wykorzystujących architekturę klient - serwer) formą pośrednią pomiędzy interface programu użytkowego klienta (tzw. front - end) a serwerem bazy danych (tzw. back - end). W języku SQL zapisuje się (często automatycznie, bez wiedzy użytkownika) polecenia (tzw. zapytania) do serwera bazy danych. 2014-04-25 12:45 BD-1 W_3 2

Podzbiory wyrażeń języka o różnym przeznaczeniu i funkcjach: Podzbiór DDL (Data Definition Language) - wyrażenia z tego podzbioru służą do definiowania obiektów schematu bazy (tabel, kluczy, powiązań, funkcji, procedur pamiętanych, wyzwalaczy, widoków) Podzbiór DML (Data Manipulation Language) - służy do czytania danych, poprawiania, usuwania, tworzenia krotek wierszy tabel Podzbiór DCL (Data Control Language) - sterowanie dostępem do danych i przepływem danych 2014-04-25 12:45 BD-1 W_3 3

S T U D E N C I n u m _ s tu d n a z w is k o im ie a d re s d a ta _ u r p le c P R A C O W N IC Y n u m _ p ra c n a z w is k o _ p ra c im ie _ p ra c a d re s te le fo n _ d o m s ta n o w is k o w y n a g ro d z e n ie n r_ p o k o ju P U N K T Y n u m _ s tu d k u r s n u m _ z a lic z p u n k ty R E J E S T R n u m _ s tu d k u rs s e k c ja P O K O J E n r_ p o k o ju ty p p o je m n o s c Z A L IC Z E N IA k u rs n u m _ z a lic z w a g a k o m e n ta rz d a ta K U R S Y k u rs w s p o lc z y n n ik lic z _ g o d z in k o m e n ta rz S E K C J A k u rs s e k c ja n u m _ p ra c L A B O R A T O R IA k u rs la b o ra to r iu m G R U P Y k u rs s e k c ja d z ie n c z a s lic z _ g o d z in n r_ p o k o ju 2014-04-25 12:45 BD-1 W_3 4

% Tworzenie tabel % - tabela Studenci -------------------------------- CREATE TABLE Studenci ( num_stud integer NOT NULL, % identyfikator nazwisko char(25) NOT NULL, % nazwisko studenta imie char(25), adres char(40), data_ur date, % data urodzenia plec char(1) NOT NULL CHECK (plec in ('M', 'K', 'm', 'k')), PRIMARY KEY (num_stud)); % Tworzenie indeksu NazwiskaStud - kolejnosc % alfabetyczna studentow CREATE INDEX NazwiskaStud on Studenci(nazwisko, imie); 2014-04-25 12:45 BD-1 W_3 5

% - tabela Pokoje ------------------------------------ CREATE TABLE Pokoje ( nr_pokoju char(4) NOT NULL, % numer/symbol % sali - znakowo typ char(4) NOT NULL, % typ % pomieszczenia pojemnosc smallint NOT NULL, % pojemnosc % sali PRIMARY KEY (nr_pokoju)); 2014-04-25 12:45 BD-1 W_3 6

%- tabela pracownicy ---------------------------------------------- CREATE TABLE Pracownicy ( num_prac integer NOT NULL, % identyfikator pracownika nazwisko_prac char(25) NOT NULL, % nazwisko % pracownika imie_prac char(25) NOT NULL, adres char(40), telefon_dom char(16), % telefon domowy wynagrodzenie numeric(6,2), stanowisko char(8) NOT NULL CHECK (stanowisko in ('Asystent', 'Adiunkt', 'Profesor')) DEFAULT 'Profesor', nr_pokoju char(4) NOT NULL, FOREIGN KEY REFERENCES Pokoje, PRIMARY KEY (num_prac)); 2014-04-25 12:45 BD-1 W_3 7

% - tabela Kursy ------------------------------------ CREATE TABLE Kursy ( kurs char(5) NOT NULL, wspolczynnik % identyfikator kursu numeric(3, 2) NOT NULL, % maksymalna % liczba punktow licz_godzin smallint NOT NULL, komentarz char(80) NOT NULL, % opis kursu CHECK (wspolczynnik in (1.00, 0.75, 0.50, 0.25)), PRIMARY KEY (kurs)); 2014-04-25 12:45 BD-1 W_3 8

% - tabela Zaliczenia ------------------------------- CREATE TABLE Zaliczenia ( kurs char(5) NOT NULL, % identyfikator kursu num_zalicz smallint NOT NULL, waga numeric(5,2) NOT NULL, % waga - % wspolczynnik waznosci komentarz char(25), data date, % termin zaliczenia FOREIGN KEY REFERENCES Kursy, PRIMARY KEY (kurs, num_zalicz)); 2014-04-25 12:45 BD-1 W_3 9

% - tabela Sekcja -------------------------------- CREATE TABLE Sekcja ( num_prac integer NOT NULL, % identyfikator % pracownika kurs char(5) NOT NULL, % identyfikator % kursu sekcja smallint NOT NULL, FOREIGN KEY REFERENCES kursy, FOREIGN KEY REFERENCES Pracownicy, PRIMARY KEY (kurs, sekcja)); 2014-04-25 12:45 BD-1 W_3 10

- % - tabela Grupy ----------------------------------- CREATE TABLE Grupy ( kurs char(5) NOT NULL, sekcja smallint NOT NULL, dzien char(3) NOT NULL, czas char(5) NOT NULL, licz_godzin smallint NOT NULL, nr_pokoju char(4) NOT NULL, UNIQUE (dzien, czas, nr_pokoju), FOREIGN KEY REFERENCES Pokoje, FOREIGN KEY REFERENCES Sekcja, PRIMARY KEY (kurs, sekcja, dzien, czas)); 2014-04-25 12:45 BD-1 W_3 11

% - tabela Rejestr ---------------------------------- CREATE TABLE Rejestr ( num_stud integer NOT NULL, kurs char(5) NOT NULL, sekcja smallint NOT NULL, FOREIGN KEY REFERENCES Studenci, FOREIGN KEY REFERENCES Sekcja, PRIMARY KEY (num_stud, kurs)); 2014-04-25 12:45 BD-1 W_3 12

% - tabela Punkty ---------------------------------- CREATE TABLE Punkty ( num_stud integer NOT NULL, kurs char(5) NOT NULL, num_zalicz smallint NOT NULL, punkty smallint NOT NULL CHECK (punkty between 0 and 100), FOREIGN KEY REFERENCES Rejestr, FOREIGN KEY REFERENCES Zaliczenia, PRIMARY KEY (kurs, num_stud, num_zalicz)); 2014-04-25 12:45 BD-1 W_3 13

% Ustawienie uprawnien do przegladania tabel dla % uzytkownika admin grant select on Studenci to admin; grant select on Pokoje to admin; grant select on Pracownicy to admin; grant select on Kursy to admin; grant select on Zaliczenia to admin; grant select on Laboratoria to admin; grant select on Sekcja to admin; grant select on Grupy to admin; grant select on Rejestr to admin; grant select on Punkty to admin; commit work; % zatwierdzenie zmian 2014-04-25 12:45 BD-1 W_3 14

Polecenia selekcji i projekcji danych Wszystkie wiersze i kolumny tablicy można obejrzeć jako wynik zapytania: SELECT * FROM Studenci; SQL dopuszcza użycie, zarówno do zapisu słów kluczowych języka, jak i nazw tabel (relacji) i kolumn (atrybutów) małe i duże litery. Dla wyraźnego rozróżnienia poszczególnych elementów zapytań we wszystkich przykładach użyto dużych liter do zapisu słów kluczowych. Nazwy kolumn (atrybutów) pisane są małymi literami, a nazwy tabel (relacji) rozpoczynają się od dużych liter. Odpowiedzią na powyższe zapytanie jest zawartość całej tabeli Studenci. Dane te będą wyświetlane w zupełnie przypadkowej kolejności. Jeżeli zechcemy obejrzeć je w kolejności np. alfabetycznej nazwisk studentów, to musimy użyć zapytania: 2014-04-25 12:45 BD-1 W_3 15

SELECT * FROM Studenci ORDER BY nazwisko; num_stud nazwisko imie adres data_ur plec =================================================================================== 86088 ACKWOOD S.R. 1734 Eastwood Drive, WATERLOO ONT 1965-10-10 K 86325 ADAMS M.J. 345 Avondale Place, OTTAWA ONT 1965-05-21 M... 86494 BINKLE D.A. 1086 Queen Street, SARNIA ONT 1967-06-23 M 99999 BIORYTM JANUSZEK ul.grunwaldzka 23, Lubin 1905-12-04 M... 86569 WORTH R.M. 151 Parkwood Drive, #654 CAMBRIDGE 1966-12-12 K 86418 ZIMMERMAN W.J. 116 Dunbar Street, CAMBRIDGE ONT 1965-07-18 M 2014-04-25 12:45 BD-1 W_3 16

Do interakcyjnego dostępu do bazy danych w środowisku Sybase można wykorzystać np. programy isql (system Sybase SQL Anywhere 5. 5) lub podobny dbisqlc (Sybase Adaptive Server Anywhere, wersja 8 i wyższe). Dalej pokazano sposób nawiązania połączenia z bazą danych za pomocą programu dbisqlc oraz wygląd ekranu po zalogowaniu się do bazy. 2014-04-25 12:45 BD-1 W_3 17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40