(ang. Structured Query Language).

Wielkość: px
Rozpocząć pokaz od strony:

Download "(ang. Structured Query Language)."

Transkrypt

1 (ang. Structured Query Language).

2 Cel prezentacji cele i znaczenie strukturalnego języka zapytań SQL; historię jego powstania; sposób zapisywania poleceń SQL; sposób wyszukiwania danych w bazie za pomocą polecenia SELECT; sposób formułowania poleceń SQL, w których: wykorzystujemy klauzulę WHERE, by wyszukać wiersze spełniające różne warunki, porządkujemy wynik zapytania za pomocą klauzuli ORDER BY, stosujemy funkcje agregujące SQL, grupujemy dane za pomocą klauzuli GROUP BY, wykorzystujemy podzapytania, łączymy tabele, wykonujemy operacje na zbiorach (UNION, INTERSECT, EXCEPT); sposób aktualizacji bazy danych za pomocą poleceń INSERT, UPDATE i DELETE.

3 SQL W ciągu ostatnich kilku lat stał się on standardem języka dla relacyjnych baz danych. W 1986 roku amerykański instytut standardów ANSI (od ang. American National Standards Institute) zdefiniował standard SQL, który już w 1987 roku został uznany przez ISO za standard międzynarodowy. Obecnie ponad sto SZBD umożliwia stosowanie języka SQL na różnych platformach sprzętowych: od komputerów osobistych po duże komputery wielodostępne.

4 Podstawowe cechy SQL Idealny język baz danych powinien umożliwiać użytkownikowi: tworzenie bazy danych i struktur relacji; wykonywanie podstawowych zadań związanych z zarządzaniem danymi, takich jak: dodawanie, modyfikacja i usuwanie danych z relacji; wykonywanie zarówno prostych, jak i skomplikowanych zapytań. Ponadto język musi być przenośny, to znaczy musi być zgodny z pewnym uznanym standardem, tak byśmy mogli używać poleceń o tej samej strukturze i znaczeniu w różnych SZBD (System Zarządzania Bazą Danych).

5 Typy danych T-SQL Język T-SQL, mimo iż należy do klasy języków deklaratywnych, podobnie jak inne języki wysokiego poziomu (np. C#), rozpoznaje i klasyfikuje dane na podstawie typów. W poniższych tabelach zostały przedstawione wszystkie typy, wykorzystywane przez SQL Server, wraz z podstawową klasyfikacją.

6 Typy numeryczne Bigint - 8-bajtowy typ numeryczny z zakresem: -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807). Numeric - Wielkość typu zależy od precyzji bajtów, bajtów, bajtów, bajtów. bit - Wartości: 0, 1 lub NULL. smallint - 2-bajtowy typ numeryczny z zakresem: -2^15 (-32,768) do 2^15-1 (32,767). decimal - Wielkość typu zależy od precyzji bajtów, bajtów, bajtów, bajtów. smallmoney - 4-bajtowy typ do zapisu walut z zakresem: - 214, do 214, int 4-bajtowy typ numeryczny z zakresem: -2^31 (-2,147,483,648) do 2^31-1 (2,147,483,647). tinyint 1-bajtowy typ numeryczny z zakresem: money 8-bajtowy typ do zapisu walut z zakresem: -922,337,203,685, do 922,337,203,685, float Typ zmiennoprzecinkowy z zakresem: E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308. Ilość bajtów zależy od precyzji bajty (7 cyfr), bajtów (15 cyfr). real 4-bajtowy typ zmiennoprzecinkowy z zakresem: E + 38 to -1.18E - 38, 0 and 1.18E - 38 to 3.40E Typ real jest 24-cyfrowym typem float.

7 Data i czas date 10-znakowy typ zapisu daty z precyzją: Domyślnym formatem jest: YYYY-MM-DD, natomiast domyślna wartość to (używana jako niejawna konwersja time do typu datetime2 albo datetimeoffset). datetimeoffset 8-bajtowy typ do zapisu daty z zakresu: 1 stycznia 1 roku n.e. do 31 grudnia roku 9999, liczone wg kalendarza gregoriańskiego oraz czas 24-godzinny z dokładnością do 100 ns. Uwzględnia przesunięcie strefy czasowej. datetime2 8-bajtowy typ do zapisu daty z zakresu: 1 stycznia 1 roku n.e. do 31 grudnia 9999 oraz czas 24-godzinny z dokładnością do 100 ns. smalldatetime 4-bajtowy typ do zapisu daty z zakresu do z dokładnością do 1 minuty. datetime 8-bajtowy typ do zapisu daty z zakresu 1 stycznia 1753 do 31 grudnia 9999 z dokładnością do sekund. time 3 5-bajtowy typ do zapisu czasu z dokładnością do 100 ns. Ilość bajtów zależy od skali precyzji.

8 Typ znakowy char Stało-znakowy typ o wielkości bajtów. text Zmienno-znakowy typ o długości max. 2^30 1 bajtów. varchar Zmienno-znakowy typ o długości bajtów. nchar Stało-znakowy typ Unicode o wielkości bajtów. nvarchar Zmienno-znakowy typ Unicode o wielkości bajtów. ntext Zmienno-znakowy typ Unicode o wielkości max. 2^30 1 bajtów.

9 Typy binarne binary Przechowywany najczęściej jako stały strumień bajtów typ o wielkości bajtów. varbinary Przechowywany najczęściej jako zmienny strumień bajtów typ o wielkości bajtów. image Zmienno-bajtowy typ o długości 0 2^31 1, przeznaczony do składowania obrazów w bazie danych

10 Typy przestrzenne SQL Server oferuje typy do reprezentowania obiektów geometrycznych i geograficznych geography Typ do przechowywania danych geograficznych, zaimplementowany w.net CLR. Wykorzystywany jest głównie do zapisu pozycji GPS. Uwzględnia krzywiznę Ziemi. geometry Typ do przechowywania typów geometrycznych (w szczególności figur), zaimplementowany w.net CLR.

11 Pozostałe typy cursor Typ danych dla zmiennych parametrów wyjściowych procedury, które zawierają doniesienie do kursora. hierarchyid Typ o zmiennej długości danych, służący do reprezentowania pozycji danej informacji w hierarchii. sql_variant Typ danych, przechowujący różne wartości typów obsługiwanych przez SQL Server. Jest odpowiednikiem typu var w języku C#. table Typ tabelaryczny. uniqueidentifier Typ umożliwiający automatyczne generowanie unikalnych liczb binarnych w bazie danych. xml Typ XML-owy.

12 Klucze główne - PRIMARY KEY i IDENTITY Ograniczenie PRIMARY KEY Zagadnienia ogólne Określenie relacyjna baza danych swoją nazwę zawdzięcza matematyce, a dokładniej rzecz ujmując teorii zbiorów. W ogólnej koncepcji tabele bazodanowe powiązane są ze sobą za pomocą relacji, co znacznie zwiększa elastyczność konstrukcji oraz pozwala na minimalizację rozmiarów zbioru informacji w stosunku do tradycyjnego (liniowego) przechowywania danych. Każda z tabel musi posiadać swój własny, unikatowy w ramach własnej struktury, identyfikator zwany kluczem głównym. PRIMARY KEY jednoznacznie identyfikuje każdą krotkę (rekord), dzięki czemu, oprócz spełnienia warunków normalizacji bazy danych (Normal Form), może występować jako łącznik w obrębie innych tabel. Aby lepiej zobrazować problem konieczności występowania klucza głównego, posłużę się następującym przykładem. Załóżmy, iż użytkownik chce zaprojektować prostą bazę danych, do której będzie zapisywał informacje, jakie produkty z jego sklepu internetowego zakupił dany klient. W tym celu musi zaprojektować trzy tabele: Klient, Produkt, Zakupy. Niech każda z nich zawiera kolumny oraz przykładowe wartości, przedstawione w Tabelach 1. i 2.

13

14 Każda z tabel musi posiadać swój własny, unikatowy w ramach własnej struktury, identyfikator zwany kluczem głównym. PRIMARY KEY jednoznacznie identyfikuje każdą krotkę (rekord), dzięki czemu, oprócz spełnienia warunków normalizacji bazy danych (Normal Form), może występować jako łącznik w obrębie innych tabel. Aby lepiej zobrazować problem konieczności występowania klucza głównego, posłużę się następującym przykładem. Załóżmy, iż użytkownik chce zaprojektować prostą bazę danych, do której będzie zapisywał informacje, jakie produkty z jego sklepu internetowego zakupił dany klient. W tym celu musi zaprojektować trzy tabele: Klient, Produkt, Zakupy. Niech każda z nich zawiera kolumny oraz przykładowe wartości, przedstawione w Tabelach 1. i 2.

15 O ile zaprojektowanie tabel Klient i Produkty nie było trudne, o tyle tabela Zakupy wymagać będzie większego poświęcenia. Należy bowiem rozróżnić, który klient zakupił konkretny produkt. Można pokusić się o rozpoznawanie petenta na podstawie imienia i nazwiska, wtedy tabela zakupy będzie wyglądać następująco:

16 Ale co zrobić w przypadku, gdy tabela będzie posiadała informacje o dwóch osobach posiadających identyczne dane personalne? Gorzej, nie można wykluczyć, iż dwie osoby o takich samych nazwiskach zamieszkują pod tym samym adresem. Osobną kwestię zajmuje również sprawa wypełniania tabeli Zakupy, gdzie rekordy się powtarzają i zaburzają atomiczność krotek bazodanowych. Jedynym sensownym rozwiązaniem jest dodanie osobnej kolumny dla poszczególnych tabel, która będzie stanowić unikatowy identyfikator każdego z wierszy, jak to poczyniono w Tabelach. Na tej podstawie od tabeli Zakupy wymagać się będzie jedynie agregatu identyfikatorów z tabeli Klient i Produkty np.:

17 PRIMARY KEY w T-SQL Daną kolumnę, która ma pracować jako PRIMARY KEY w T-SQL najczęściej oznacza się przy tworzeniu tabel. W podstawowej składni wystarczy dodać owe słowo kluczowe zaraz po typie danych dla wskazanej definicji. Poniższy listing przedstawia skrypt tworzący tabelę klient, wraz ze wskazaniem ID jako klucza głównego: CREATE TABLE Klient ( ID INT PRIMARY KEY, IMIE VARCHAR(20), NAZWISKO VARCHAR(20), ADRES VARCHAR(50), TELEFON VARCHAR(20) )

18 Warto w tym miejscu nadmienić, iż rolę klucza głównego nie musi spełniać tylko jedna kolumna. Nic nie stoi na przeszkodzie, aby na PRIMARY KEY składały się dwie lub więcej wartości. Projektowanie takiej tabeli odbyć się może jedynie poprzez CONSTRAINT albo wskazanie kolumn w polu PRIMARY KEY (kolumna1,, kolumnan). Przykład tworzenia tabeli Klienci, wraz z kluczem głównym wskazanym na ID oraz PESEL, znajduje się na poniższym listingu: CREATE TABLE Klient ( ID INT, PESEL INT, IMIE VARCHAR(20), NAZWISKO VARCHAR(20), ADRES VARCHAR(50), TELEFON VARCHAR(20) PRIMARY KEY (ID, PESEL) )

19 Autoinkrementacja We wstępie do niniejszego artykułu wspomniałem, iż klucz główny ma posiadać wartość unikatową w obrębie danej tabeli. W związku z tym programista baz danych już na początku może mieć problem z monitorowaniem aktualnej wartości kolumny przy dodawaniu kolejnych rekordów. Z pomocą, jak zwykle, przychodzi T- SQL wraz z opcją IDENTITY. Klauzula IDENTITY pozwala określić, od jakiego numeru SQL Server ma zacząć wprowadzać dane oraz o jaką wartość ma być powiększona kolejna z nich, po wykonaniu operacji INSERT. Następujący przykład pozwala lepiej zobrazować problem. Zakładając, iż użytkownik docelowo będzie chciał automatycznie wypełniać wartość pola ID dla tabeli Klient i powiększać ją o 2 po każdym wpisie, powinien utworzyć tabelę wg następującego schematu: CREATE TABLE Klient ( ID INT PRIMARY KEY IDENTITY(1,2), PESEL INT, IMIE VARCHAR(20), NAZWISKO VARCHAR(20), ADRES VARCHAR(50), TELEFON VARCHAR(20) )

20 Następnie powinien wprowadzić dane za pomocą polecenia: INSERT INTO Klient (PESEL, IMIE, NAZWISKO, ADRES, TELEFON) VALUES (123456, 'Jan', 'Kowalski', 'Krakow 111', ' '), (123456, 'Jan', 'Nowak', 'Warszawa 111', ' ')

21 Po wykonaniu tej opcji można z łatwością zauważyć, iż pole ID, mimo, iż nie zostało wskazane w zapytaniu INSERT, zostało wypełnione, a różnica pomiędzy dwoma kolejnymi rekordami wynosi dokładnie 2.

22 Zapamiętaj Klucz główny jednoznacznie identyfikuje każdy rekord danej tabeli. Klucz główny może się składać z jednej bądź wielu kolumn. Za pomocą klauzuli IDENTITY można wskazywać kolumny podlegające autoinkrementacji po operacji INSERT wraz z kolejną wartością, jaką mają przyjąć.

23 Klucze obce - FOREIGN KEY Klucz obcy - FOREIGN KEY Najprostsza definicja klucza obcego, jaką można przytoczyć, specyfikuje dodatkową kolumnę lub zbiór kolumn w danej tabeli z wartościami, stanowiącymi klucz główny w innej. Posługując się przykładem, zaprezentowanym w poprzednim artykule (Klucze główne PRIMARY KEY i IDENTITY), tabela Zakupy (Tabela 1.) agregowała w sobie dwa klucze obce: ID Klienta oraz ID Produktu, które w tabelach Klient oraz Produkt figurowały jako klucze główne. Na tej podstawie łatwo można było rozróżnić, który rekord, określający sprzedaż danego produktu, należał do Jana Kowalskiego, a który do Krzysztofa Nowaka.

24 Polecenia SQL Polecenia SQL do interakcji z relacyjnymi bazami danych są tworzone za pomocą komend, SELECT, INSERT, UPDATE, DELETE i DROP. Polecenia te można podzielić na grupy w zależności od ich charakteru:

25 DDL - Data Definition Language: Komenda DML - Data Manipulation Language: Komenda Komenda CREATE ALTER DROP SELECT INSERT UPDATE DELETE GRANT REVOKE Opis Opis Pobiera niektóre rekordy z jednej lub kilku tabel Tworzy rekordy Modyfikuje rekordy Usuwa rekordy DCL - Data Control Language: Tworzy nową tabelę, widok tabeli, lub inny obiekt w bazie danych. Modyfikuje istniejący obiekt bazy danych, taki jak tabela. Usuwa istniejącą tabelę, widok tabeli, lub inny obiektów w bazie danych. Opis Daje uprawienia użytkownika Usuwa uprawienia użytkownika

26 Co to jest RDBMS? RDBMS oznacza relacyjnym systemem zarządzania danymi. RDBMS jest podstawą do SQL, a do wszystkich nowoczesnych systemów baz danych, takich jak MS SQL Server, IBM DB2, Oracle, MySQL i Microsoft Access. Relacyjny system zarządzania bazą danych (RDBMS) to system zarządzania bazą danych (DBMS), który jest oparty na modelu relacyjnego, jak przedstawiona przez EF Codd.

27

28 Co to jest tabela? Dane w RDBMS są przechowywane w bazie danych zwanych tabel obiektów. Tabela jest zbiorem zapisanych danych powiązanych ze sobą i składa się z kolumn oraz wierszy. Pamiętaj, że tabela jest najbardziej popularną i najprostsza formą przechowywania danych w relacyjnej bazie danych. Obok znajduje się przykład tabeli KLIENCI: Czym jest pole? Każdy tabela jest podzielone na mniejsze jednostki zwane polami. Pola w tabeli Klienci składają się z kolumn o nazwie: ID, name, age, address i salary. Pole jest kolumną w tabeli, która ma na celu utrzymać szczegółowe informacji na temat każdego rekordu w tabeli.

29 Co to jest rekord lub wiersz? Rekord, zwany jest także jako wiersz danych, to każdy wpis, który istnieje w tabeli. Na przykład jest 7 rekordów w powyższej tabeli CUSTOMERS. Poniżej jeden wiersz danych lub rekordu w tabeli CUSTOMERS: Co to jest kolumna? Kolumna jest pionowym podmiotem w tabeli, która zawiera wszystkie informacje związane z określonym polem w tabeli. Na przykład, kolumna w tabeli CUSTOMERS jest ADDREES, co stanowi opis lokalizacji i będzie składać się z następujących elementów (zdjęcie po prawej): Co to jest wartość NULL? Wartość NULL w tabeli jest wartością w polu, który wydaje się być pusty, co oznacza, pole z wartości NULL jest pole bez wartości. Bardzo ważne jest, aby zrozumieć, że wartość NULL różni się od wartości zerowej czy pole, które zawiera przestrzenie. Pole o wartości NULL jest taka, która została pozostawiona pusta podczas tworzenia rekordu.

30 SQL Ograniczenia: Ograniczenia są przepisy są egzekwowane na kolumny danych w tabeli. Są one wykorzystywane w celu ograniczenia typ danych, które mogą przejść do tabeli. To zapewnia dokładność i wiarygodność danych w bazie danych. Powszechnie stosowane są następujące ograniczenia dostępnych w SQL: NOT NULL Ograniczenie: Zapewnia, że kolumna nie może mieć wartości NULL. DEFAULT: Zapewnia domyślną wartość kolumny jeśli nie podano. UNIQUE: Zapewnia, że wszystkie wartości w kolumnie są różne. Klucz główny (PRIMARY Key): identyfikowany każdy rekordów / wierszy w tabeli bazy danych. Klucz obcy (FOREIGN Key) : identyfikowany do wierszy / rekordów w dowolnej tabeli innej bazy danych. Ograniczenia CHECK: ograniczenie sprawdzenia zapewnia, że wszystkie wartości w kolumnie spełniać określone warunki. INDEKS: służy do tworzenia i bardzo szybko pobrać dane z bazy danych.

31 Integralność danych: Następujące kategorie integralności danych istnieje z każdego RDBMS: Podmiot Integralność: Brak zduplikowane wiersze w tabeli. Domena Integrity: Wymusza prawidłowe wpisy dla danej kolumny, ograniczając typ, format lub zakres wartości. Więzy integralności: Wiersze nie mogą być usunięte, które są wykorzystywane przez inne rekordy. User-Defined Integrity: Wymusza kilka konkretnych reguł biznesowych, które nie należą do podmiotu, domeny lub więzy integralności.

32 Normalizacja bazy danych Normalizacja baza jest proces efektywnego organizowania danych w bazie danych. Jednym z powodów dla procesu normalizacji jest: Eliminacji nadmiarowych danych, na przykład, zapisywania same dane więcej niż jednego tabelach. Pozwala to zmniejszyć ilość zużywanej przestrzeni bazy danych i zapewnia że dane są logicznie przechowywane. Normalizacja składa się z szeregu wytycznych, które pomogą Ci w tworzeniu dobrej struktury bazy danych. Wytyczne normalizacji podzielone są na normalnych form; myśleć o formie jako format lub sposób struktura bazy danych jest określone. Celem normalnych form jest uporządkowanie struktury bazy danych, tak, że jest on zgodny z zasadami pierwszej postaci normalnej, a następnie drugiej postaci normalnej, a na końcu trzeciej postaci normalnej. To Twój wybór, aby podjąć dalsze kroki i przejść do czwartej postaci normalnej, piątej postaci normalnej, i tak dalej, ale ogólnie rzecz biorąc, trzecia postać normalna jest wystarczające. Pierwsza postać normalna (1NF) Druga postać normalna (2NF) Trzecia postać normalna (3NF)

33 SQL SELECT Statement: SELECT column1, column2...columnn FROM table_name; SQL DISTINCT Clause: SELECT DISTINCT column1, column2...columnn FROM table_name; SQL WHERE Clause: SELECT column1, column2...columnn FROM table_name WHERE CONDITION; SQL AND/OR Clause: SELECT column1, column2...columnn FROM table_name WHERE CONDITION-1 {AND OR} CONDITION-2; SQL IN Clause: SELECT column1, column2...columnn FROM table_name WHERE column_name IN (val-1, val-2,...val-n); SQL BETWEEN Clause: SELECT column1, column2...columnn FROM table_name WHERE column_name BETWEEN val-1 AND val-2; SQL LIKE Clause: SELECT column1, column2...columnn FROM table_name WHERE column_name LIKE { PATTERN }; SQL ORDER BY Clause: SELECT column1, column2...columnn FROM table_name WHERE CONDITION ORDER BY column_name {ASC DESC}; SQL GROUP BY Clause: SELECT SUM(column_name) FROM table_name WHERE CONDITION GROUP BY column_name; SQL COUNT Clause: SELECT COUNT(column_name) FROM table_name WHERE CONDITION; SQL HAVING Clause: SELECT SUM(column_name) FROM table_name WHERE CONDITION GROUP BY column_name HAVING (arithematic function condition); SQL CREATE TABLE Statement: CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype,... columnn datatype, PRIMARY KEY( one or more columns ) ); SQL DROP TABLE Statement: DROP TABLE table_name; SQL CREATE INDEX Statement : CREATE UNIQUE INDEX index_name ON table_name ( column1, column2,...columnn); SQL DROP INDEX Statement : ALTER TABLE table_name DROP INDEX index_name; SQL DESC Statement : DESC table_name; SQL TRUNCATE TABLE Statement: TRUNCATE TABLE table_name; SQL ALTER TABLE Statement: ALTER TABLE table_name {ADD DROP MODIFY} column_name {data_ype}; SQL ALTER TABLE Statement (Rename) : ALTER TABLE table_name RENAME TO new_table_name; SQL INSERT INTO Statement: INSERT INTO table_name( column1, column2...columnn) VALUES ( value1, value2...valuen); SQL UPDATE Statement: UPDATE table_name SET column1 = value1, column2 = value2...columnn=valuen [ WHERE CONDITION ]; SQL DELETE Statement: DELETE FROM table_name WHERE {CONDITION}; SQL CREATE DATABASE Statement: CREATE DATABASE database_name; SQL DROP DATABASE Statement: DROP DATABASE database_name; SQL USE Statement: USE database_name; SQL COMMIT Statement: COMMIT; SQL ROLLBACK Statement: ROLLBACK;

34 Co to jest operator w SQL? Operator jest zastrzeżone słowo lub znak używany głównie w klauzuli WHERE instrukcji SQL do wykonania tej operacji, takie jak porównań i operacji arytmetycznych. Operatorzy są używane do określenia warunków, w instrukcji SQL i służyć jako spójniki dla wielu warunków. Operatory arytmetyczne Operatory porównania Operatory logiczne Operatorzy używane do zanegowania warunków

35 Operator Opis SQL Operatory Artmetyczne: A =10 i b=20: Przykład + Dodawanie Dodaje lewą wartość do prawej a + b = 30 - Odejmowanie Odejmuje lewą wartość od prawej a - b = -10 * Mnożenie Mnoży lewą wartość przez prawą. a * b = 200 / % Dzielenie Operacja dzielenia zwraca wartość całkowitą operacji Modulo Operacja ta zwraca resztę z dzielenia b / a = 2 b % a = 0

36 SQL Comparison Operators: a = 10 i b = 20: Operator Opis Example = Jeśli obie wartości są sobie równe zostanie zwrócona wartość PRAWDA w przeciwnym wypadku zostanie zwrócona wartość FAŁSZ. (a = b) FAŁSZ!= Negacja operatora równa się (=) (a!= b) PRAWDA <> > < >= <= Jeśli obie wartości są różne zwróć wartość PRAWDA w przeciwnym wypadku zwróć FAŁSZ Jeśli wartość po lewej stronie jest większa od wartości po prawej zwróć wartość PRAWDA w przeciwnym wypadku zwróć FAŁSZ Jeśli wartość po lewej stronie jest mniejsza od wartości po prawej zwróć wartość PRAWDA w przeciwnym wypadku zwróć FAŁSZ Jeśli wartość po lewej stronie jest większa lub równa od wartości po prawej zwróć wartość PRAWDA w przeciwnym wypadku zwróć FAŁSZ Jeśli wartość po lewej stronie jest mniejsza lub równa od wartości po prawej zwróć wartość PRAWDA w przeciwnym wypadku zwróć FAŁSZ (a <> b) PRAWDA (a > b) FAŁSZ (a < b) PRAWDA (a >= b) FAŁSZ (a <= b) PRAWDA.!< Negacja operatora mniejszy niż (<) (a!< b) PRAWDA!> Negacja operatora większy niż (>) (a!> b) PRAWDA

37 < <> > a b Wynik a b Wynik a b Wynik 1 1 Fałsz 1 1 Fałsz 1 1 Fałsz 1 0 Fałsz 1 0 Prawda 1 0 Prawda 0 1 Prawda 0 1 Prawda 0 1 Fałsz 0 0 Fałsz 0 0 Fałsz 0 0 Fałsz!< <= >=!> a b Wynik a b Wynik a b Wynik a b Wynik 1 1 Prawda 1 1 Prawda 1 1 Prawda 1 1 Prawda 1 0 Prawda 1 0 Fałsz 1 0 Prawda 1 0 Fałsz 0 1 Fałsz 0 1 Prawda 0 1 Fałsz 0 1 Prawda 0 0 Prawda 0 0 Prawda 0 0 Prawda 0 0 Prawda =!= a b Wynik a b Wynik 1 1 Prawda 1 1 Prawda 1 0 Fałsz 1 0 Fałsz

38 SQL Operatory logiczne: Operator ALL AND ANY BETWEEN EXISTS IN LIKE NOT OR IS NULL UNIQUE Description Operator ALL służy do porównywania wartości dla wszystkich wartości. (Jeśli przed podzapytaniem, występuje słowo kluczowe ALL, warunek będzie prawdziwy, gdy spełniają go wszystkie wartości otrzymane jako wynik podzapytania) Jeśli wynik podzapytania jest pusty, to warunek ALL jest spełniony. Operator AND wykorzystywany w klauzuli WHERE. (Całe wyrażenie jest prawdziwe jeśli oba warunki są prawdziwe.) (Jeśli podzapytanie jest poprzedzone słowem kluczowym ANY, to warunek będzie prawdziwy, o ile spełnia go dowolna (jedna lub wiele) wartości otrzymana jako wynik podzapytania). Jeśli wynik podzapytania jest pusty, to warunek ANY nie jest spełniony. Operator BETWEEN służy do wyszukiwania wartości z określonego przedziału. Operator EXISTS jest stosowany jedynie z podzapytaniami. Daje w wyniku wartość logiczną prawda lub fałsz. Operator IN służy do porównania wartości z listy do wartości z tabeli. Operator LIKE jest używany do porównywania wartości przy użyciu operatorów wieloznakowych. Operator NOT może być wykorzystany do negacji wyników operatorów takich jak: NOT EXISTS, NOT BETWEEN, NOT IN, etc. Operator OR jest wykorzystywany w klauzuli WHERE. Jeśli którekolwiek warunek jest prawdziwy to całe wyrażenie jest prawdziwe. Operator IS NULL pozwala sprawdzić czy występuje w danym rekordzie wartość NULL. Operator UNIQUE przeszukuje każdy wiersz z określonej tabeli niepowtarzalności (bez duplikatów).

39 AND a b Wynik 1 1 Prawda 1 0 Fałsz 0 1 Fałsz 0 0 Fałsz NOT a Wynik 1 Fałsz 0 Prawda OR a b Wynik 1 1 Prawda 1 0 Prawda 0 1 Prawda 0 0 Fałsz

40 Struktura: CREATE DATABASE (Tworzenie bazy danych) CREATE DATABASE NazwaBazyDanych;! - Nazwa bazy danych musi być unikatowa w RDBMS Jeśli chcemy utworzyć nową bazę danych o nazwie <testdb>, nasze zapytanie będzie wyglądać następująco: CREATE DATABASE testdb;! - Przed utworzeniem jakiejkolwiek bazy danych upewnij się że posiadasz uprawnienia administratora.

41

42

43

44

45 DROP DATABASE (Usuwanie bazy danych) Struktura: DROP DATABASE NazwaBazyDanych; Operacja DROP DATABASE pozwala usunąć istniejącą bazę danych wraz z wszystkimi jej elementami. Jeśli chcemy usunąć wcześnie utworzoną bazę danych <testdb>, nasze zapytanie będzie wyglądać następująco: DROP DATABASE testdb;! - Przed operacją usuwania bazy danych upewnij się że posiadasz uprawnienia administratora.

46

47

48

49

50 USE (Wybierz bazę danych) Przed wykonaniem operacji na bazie danych musimy dokonać wyboru bazy, do tego celu możemy skorzystać z poniższej struktury: Struktura: USE NazwaBazyDanych; Jeśli chcemy rozpocząć pracę z wcześniej utworzoną bazą danych <testdb>, nasze zapytanie będzie wyglądać następująco: USE testdb;

51

52

53 Od teraz program wie że będziemy korzystać z bazy danych o nazwie testdb

54 CREATE TABLE (Utwórz tabelę) Struktura: CREATE TABLE nazwatabeli( column1 datatype, column2 datatype, column3 datatype,... columnn datatype, PRIMARY KEY( jedna lub więcej kolumn ) );

55 CREATE TABLE c.d. (Utwórz tabelę) Jeśli chcielibyśmy utworzyć tabele o nazwie CUSTOMERS z takimi kolumnami jak: ID, NAME, AGE, ADDRESS,SALARY, gdzie kluczem głównym jest kolumna ID, zapytanie będzie wyglądało następująco: CREATE TABLE testdb.dbo.customers( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), SALARY DECIMAL (18, 2), PRIMARY KEY (ID) );

56

57

58

59

60

61 DROP TABLE (Usuń tabelę) Operacja DROP TABLE powoduje usunięcie tabeli wraz z jej całą zawartością. Struktura: DROP TABLE nazwatabeli; Jeśli chcielibyśmy usunąć wcześniej utworzoną tabelę testdb nasze zapytanie będzie wglądać następująco: DROP TABLE testdb.dbo.customers;

62

63

64

65

66

67 INSERT INTO (Wstawianie danych do tabeli) Struktura: INSERT INTO NazwaTabeli VALUES (wartość1, wartość 2, wartość 3,... wartość N); Jeśli chcielibyśmy stawić dane do tabeli testdb nasze zapytanie będzie wglądać następująco (wprowadźmy sześć wierszy):

68 INSERT INTO testdb.dbo.customers (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', ); INSERT INTO testdb.dbo.customers (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Khilan', 25, 'Delhi', ); INSERT INTO testdb.dbo.customers (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'kaushik', 23, 'Kota', ); INSERT INTO testdb.dbo.customers (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Chaitali', 25, 'Mumbai', ); INSERT INTO testdb.dbo.customers (ID,NAME,AGE,ADDRESS,SALARY) VALUES (5, 'Hardik', 27, 'Bhopal', ); INSERT INTO testdb.dbo.customers (ID,NAME,AGE,ADDRESS,SALARY) VALUES (6, 'Komal', 22, 'MP', );

69

70

71

72

73

74

75 INSERT INTO c.d. (Wstawianie danych do tabeli) Istnieje również inna metoda wprowadzania danych do tabeli, która pomija potrzebę wypisywania wszystkich nazw kolumn. Zapytanie tego typu wygląda następująco: INSERT INTO testdb.dbo.customers VALUES (7, 'Muffy', 24, 'Indore', ); Po dodaniu tego wiersza wartości w tabeli CUSTOMERS będą wyglądać następująco:

76 SELECT (Wybieranie danych z tabeli) W pierwszej kolejności (SELECT) wypisujemy nazwy kolumn, których wartości chcemy wyświetlić a następnie określamy tabelę (FROM) z której będą pobierane dane Struktura: SELECT columna1, columna2, columnan FROM nazwatabeli; Jeśli chcemy wybrać wszystkie dane z tabeli możemy skorzystać z znaku * (gwizdki), następnie określić nazwę tabeli z której mają zostać pobrane dane. Struktura: SELECT * FROM nazwatabeli;

77

78

79

80 Zanim wykonamy powyższe zapytanie zauważmy że wynagrodzenie dwóch pracowników jest takie samo. DISTINCT (Nie wyświetlaj danych, które się powtarzają) Struktura: SELECT DISTINCT columna1, FROM nazwatabeli;

81

82

83 SELECT (Pola wyliczane)

84 SELECT (Pola wyliczane)

85 SELECT (Pola wyliczane)

86 SELECT (Pola wyliczane)

87 SELECT (Pola wyliczane)

88 WHERE (Wybieranie wierszy z tabeli) Często zależy nam na wyszukaniu wierszy spełniających pewne ograniczenia. Służy do tego klauzula WHERE, która składa się ze słowa WHERE, po którym następuje warunek selekcji opisujący wiersze, które zamierzamy wybrać. Pięć podstawowych warunków (nazywanych także predykatami zgodnie z terminologią ISO) to: Porównanie polega na porównaniu wartości jednego wyrażenia z wartością drugiego wyrażenia Sprawdzenie zakresu polega na sprawdzeniu, czy zadana wartość należy do wskazanego przedziału wartości Przynależność do zbioru polega na sprawdzeniu, czy wartość jest równa jednemu spośród elementów zbioru. Dopasowanie do wzorca polega na sprawdzeniu, czy słowo pasuje do podanego wzorca. Wartość pusta polega na sprawdzeniu, czy w kolumnie jest wartość pusta (NULL)

89 WHERE (Warunek selekcji: porównanie: = ) SELECT * FROM CUSTOMERS WHERE SALARY = 6500;

90 WHERE (Warunek selekcji: porównanie:!= ) SELECT * FROM CUSTOMERS WHERE SALARY!= 6500;

91 WHERE (Warunek selekcji: porównanie: <> ) SELECT * FROM CUSTOMERS WHERE SALARY <> 6500;

92 WHERE (Warunek selekcji: porównanie: < ) SELECT * FROM CUSTOMERS WHERE SALARY < 6500;

93 WHERE (Warunek selekcji: porównanie: > ) SELECT * FROM CUSTOMERS WHERE SALARY > 6500;

94 WHERE (Warunek selekcji: porównanie: >= ) SELECT * FROM CUSTOMERS WHERE SALARY >= 6500;

95 WHERE (Warunek selekcji: porównanie: <= ) SELECT * FROM CUSTOMERS WHERE SALARY <= 6500;

96 WHERE (Warunek selekcji: porównanie:!< ) SELECT * FROM CUSTOMERS WHERE SALARY!< 6500;

97 WHERE (Warunek selekcji: porównanie:!> ) SELECT * FROM CUSTOMERS WHERE SALARY!> 6500;

98 WHERE (Warunek selekcji: spójnik logiczny OR) SELECT ID,NAME,AGE,ADDRESS,SALARY FROM testdb.dbo.customers WHERE ADDRESS = 'Delhi' OR SALARY > 5000

99 WHERE (Warunek selekcji: spójnik logiczny AND) SELECT ID,NAME,AGE,ADDRESS,SALARY FROM testdb.dbo.customers WHERE ADDRESS = 'Delhi' AND SALARY > 5000

100 WHERE (Warunek selekcji: wartość z zakresu) SELECT ID,NAME,AGE,ADDRESS,SALARY FROM testdb.dbo.customers WHERE SALARY BETWEEN 5000 AND 10000

101 WHERE (Warunek selekcji: przynależność do zbioru - IN) SELECT ID,NAME,AGE,ADDRESS,SALARY FROM testdb.dbo.customers WHERE NAME IN ('Muffy','Hardik');

102 WHERE (Warunek selekcji: przynależność do zbioru NOT IN) SELECT ID,NAME,AGE,ADDRESS,SALARY FROM testdb.dbo.customers WHERE NAME NOT IN ('Muffy','Hardik');

103 WHERE (Warunek selekcji: dopasowanie do wzorca) Znajdź wszystkie osoby które w adresie występuje znak a. W tym zapytaniu musimy poszukać znaku a pojawiającego się w dowolnym miejscu kolumny ADDRESS tabeli CUSTOMERS. W SQL występują dwa szczególne symbole zastępcze (ang. wildcards), które można stosować we wzorcu. % - znak procentu zastępuje ciąg znaków dowolnej długości (także zero) _ - znak podkreślenia zastępuje dowolny (jeden) znak. Wszystkie pozostałe znaki we wzorcu reprezentują same siebie. NP.: LIKE H% oznacza, że pierwszym znakiem musi być H, ale pozostałe znaki słowa mogą być dowolne LIKE H _ oznacza, że w adresie muszą być dokładnie cztery znaki, z których pierwszy to H. LIKE %e oznacza dowolny ciąg znaków o długości co najmniej jeden, w którym ostatni znak jest równy e. LIKE a oznacza dowolny ciąg znaków dowolnej długości zawierający znak a NOT LIKE H% oznacza, że pierwszym znakiem słowa nie może być H Jeśli badane słowo powinno zawierać znak specjalny wzorca (procent lub podkreślenie), możemy użyć znaku zdejmującego znaczenie specjalne (ang. Escape character), zdefiniowanego za pomocą klauzuli ESCAPE. Na przykład, by znaleźć ciąg 15%, możemy użyć warunku: LIKE 15% ESCAPE #

104 WHERE (Warunek selekcji: dopasowanie do wzorca) SELECT ID,NAME,AGE,ADDRESS,SALARY FROM testdb.dbo.customers WHERE ADDRESS LIKE '%a%';

105 WHERE (Warunek selekcji: wartości puste) SELECT ID,NAME,AGE,ADDRESS,SALARY FROM testdb.dbo.customers WHERE ADDRESS IS NULL;

106 WHERE (Warunek selekcji: wartości (NIE) puste) SELECT ID,NAME,AGE,ADDRESS,SALARY FROM testdb.dbo.customers WHERE ADDRESS IS NOT NULL;

107 ORDER BY (Porządkowanie wyniku: ASC - ROSNĄCO) SELECT ID,NAME,AGE,ADDRESS,SALARY FROM testdb.dbo.customers ORDER BY SALARY ASC

108 ORDER BY (Porządkowanie wyniku: DESC - malejąco) SELECT ID,NAME,AGE,ADDRESS,SALARY FROM testdb.dbo.customers ORDER BY SALARY DESC

109 Zastosowanie funkcji agregujacych W standardzie ISO jest zdefiniowanych pięć funkcji agregujących: COUNT zwraca liczbę wartości występujących w określonej kolumnie SUM zwraca sumę wartości występujących w określonej kolumnie AVG zwraca średnią wartość występujących w określonej kolumnie MIN zwraca najmniejszą wartość występujących w określonej kolumnie MAX - zwraca największą wartość występujących w określonej kolumnie

110 COUNT Sprawdź ile jest wierszy w tabeli: SELECT COUNT (*) FROM testdb.dbo.customers

111 COUNT c.d. Sprawdź ile jest wierszy w tabeli dla kolumny SALARY zlicz tylko te wartości które się nie powtarzają.: SELECT COUNT (DISTINCT SALARY) FROM testdb.dbo.customers

112 COUNT c.d. Sprawdź ilu jest pracowników zarabiających więcej niż 5000, oraz zsumuj ich wynagrodzenie. SELECT COUNT (NAME) AS PRACOWNICY, SUM(SALARY) AS SUMA FROM testdb.dbo.customers WHERE SALARY > 5000

113 MIN, MAX, AVG Znajdź wartość minimalną maksymalną oraz średnią wartość wynagrodzenia. SELECT MIN(SALARY) AS MIN,MAX(SALARY) AS MAX,AVG(SALARY) AS AVG FROM testdb.dbo.customers WHERE SALARY > 5000

114 GROUP BY - Grupowanie Podstawowa składnia klauzuli GROUP BY znajduje się poniżej. Klauzula GROUP BY musi przestrzegać warunków wymienionych w klauzuli WHERE i musi poprzedzać ORDER BY, jeśli jest używana. SELECT columna1, columna2 FROM nazwatabeli WHERE [ warunki ] GROUP BY columna1, columna2 ORDER BY columna1, columna2

115 Tabela wyjściowa o nazwie CUSTOMERS składa się z następujących rekordów: Jeśli chcesz dowiedzieć się jaką całkowitą kwotę wynagrodzenia przypada na każdego klienta, a następnie posortować (GROUP BY) dane według kolumny NEME zapytanie będzie wyglądać następująco: SELECT NAME, SUM(SALARY) FROM testdb.dbo.customers GROUP BY NAME;

116 UPDATE (Modyfikacja istniejących danych w bazie) Struktura: UPDATE nazwatabeli SET columna1 = wartość1, columna2 = wartość2..., columnan = wartośćn WHERE [warunek];

117 Dysponując tabelą CUSTOMERS wypełnioną następującymi rekordami (zdjęcie po prawej): Wykonajmy zmianę w wierszu którym ID równe jest 6. Zmieńmy w polu ADDRESS aktualną wartość na Pune UPDATE testdb.dbo.customers SET ADDRESS = 'Pune' WHERE ID = 6; Po wykonaniu zapytania wartość rekordu w Kolumnie ADDRESS oraz wierszu ID równe 6 zostało zmienione na Pune.

118 Jeśli chcielibyśmy zmienić wszystkie adresy i wynagrodzenia nie musimy korzystać z klauzuli WHERE, możemy posłużyć się poniższym zapytaniem. Po prawej stronie na zdjęciu widnieją nasze dane początkowe. UPDATE testdb.dbo.customers SET ADDRESS = 'Pune', SALARY = ; SQL> UPDATE CUSTOMERS SET ADDRESS = 'Pune', SALARY = ; Po wykonaniu powyższego zapytania wartości w naszej tabeli danych będą wyglądać następująco:

119 Jeśli chcesz zmodyfikować wszystkie dane w kolumnie ADDRESS i SALARY dla tabeli CUSTOMERS, nie ma potrzeby korzystania z klauzuli WHERE. UPDATE testdb.dbo.customers SET ADDRESS = 'Pune', SALARY = ; Po wykonaniu powyższego zapytania dane w tabeli CUSTOMERS zmienią się:

120 DELETE (Usuwanie wierszy z tabeli) Klauzula DELETE pozwala usuwać wiersze z tabeli, aby określić zakres danych jaki chcemy usunąć będziemy korzystać z klauzuli WHERE. DELETE FROM nazwatabeli WHERE [warunek];

121 Skorzystajmy z wcześniej utworzonej tabeli CUSTOMERS, która ma następujące rekordy: Korzystać z klauzuli WHERE usuńmy z tabeli CUSTOMERS tylko ten wiersz którego ID równe jest 6 DELETE FROM testdb.dbo.customers WHERE ID = 6; Po wykonaniu zapytanie tabel CUSTOMER będzie wyglądać następująco:

122 Jeśli chcemy usunąć wszystkie wiersze z tabeli CUSTOMERS nie musimy korzystać z klauzuli WHERE. Zapytanie będzie wyglądać następująco. DELETE FROM testdb.dbo.customers; Tabela CUSTOMERS jest pusta.

123 TOP / LIMIT / ROWNUM Uwaga: Nie wszystkie bazy danych nie obsługują klauzulę TOP. Na przykład MySQL obsługuje klauzulę LIMIT pobierać ograniczoną liczbę rekordów a Oracle wykorzystuje ROWNUM pobra ograniczoną liczbę rekordów. Struktura: SELECT TOP numer procent nazwakolumny(s) FROM nazwatabeli WHERE [warunek]

124 TOP Tabela CUSTOMERS składa się na z następujących wartości: SELECT TOP 3 * FROM testdb.dbo.customers; Wynik teko zapytania jest następujący:

125 LIMIT Jeśli używasz MySQL server możesz skorzystać z klauzuli LIMIT. SELECT * FROM testdb.dbo.customers LIMIT 3;

126 ROWNUM Jeśli korzystasz z serwera Oracle należy korzystać z klauzuli ROWNUM SELECT * FROM CUSTOMERS WHERE ROWNUM <= 3;

127 Koniec

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

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

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

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

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych

Bardziej szczegółowo

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1 Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

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

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

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

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

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

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę: Bazy danych. Komunikacja z serwerem Aby połączyć się z serwerem i móc wykonywać czynności związane z obsługą baz, potrzebny jest program klienta. Razem z serwerem MySQL dostępny jest działający w wierszu

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

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

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

Wykład 4. SQL praca z tabelami 1

Wykład 4. SQL praca z tabelami 1 Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy

Bardziej szczegółowo

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

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL Tutorial PostgreSQL 1. Instalacja na własnym komputerze: a. Zainstaluj program ze strony: https://www.postgresql.org/download/ Wersja odpowiednia dla systemu operacyjnego Linux, Mac, Windows Przy pierwszym

Bardziej szczegółowo

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

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

Bardziej szczegółowo

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

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1 Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język

Bardziej szczegółowo

Język SQL podstawy zapytań

Język SQL podstawy zapytań Język SQL podstawy zapytań 1 Plan prezentacji 1. Krótka historia języka SQL 2. Cechy języka SQL 3. Przykładowa baza danych 4. Podstawy zapytań - operacje na modelu relacyjnym 5. Polecenie SELECT zapytania

Bardziej szczegółowo

Bazy danych Ćwiczenia projektowe

Bazy danych Ćwiczenia projektowe Bazy danych Ćwiczenia projektowe Przygotował: Piotr Hajder Katedra Informatyki Stosowanej i Modelowania Wydział Inżynierii Metali i Informatyki Przemysłowej, AGH Agenda 01. Typy danych 02. Polecenia DDL

Bardziej szczegółowo

Widok Connections po utworzeniu połączenia. Obszar roboczy

Widok Connections po utworzeniu połączenia. Obszar roboczy Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

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

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Typy danych wbudowane użytkownika Tabele organizacja wiersza przechowywanie dużych danych automatyczne

Bardziej szczegółowo

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

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

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

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła 040 STRUCTURED QUERY LANGUAGE Prof. dr hab. Marek Wisła SQL strukturalny język zapytań SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych

Bardziej szczegółowo

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

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

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

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji 6. Język SQL Język SQL (Structured Query Language): - język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji - stworzony w IBM w latach 70-tych DML (Data Manipulation

Bardziej szczegółowo

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować: Język SQL (Structured Query Language} służy do manipulowania danymi umieszczonymi w relacyjnych bazach danych. Jest językiem uniwersalnym, dzięki czemu praca na różnych systemach baz danych sprowadza się

Bardziej szczegółowo

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

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

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska 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ę,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Bazy danych 7. SQL podstawy

Bazy danych 7. SQL podstawy Bazy danych 7. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 Żaden dostawca nie jest w pełni zgodny

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB1, DB2: TEMAT: Wprowadzenie do SQL. Praca z pojedyncza

Bardziej szczegółowo

Tworzenie baz danych i tabel

Tworzenie baz danych i tabel Tworzenie baz danych i tabel Wprowadzenie SQL (ang. Structured Query Language strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych.

Bardziej szczegółowo

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

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska SQL TECHNOLOGIE BAZ DANYCH Wykład 5: Język DDL i DML. SQL (ang. StructuredQueryLanguage) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania

Bardziej szczegółowo

Bazy danych Ćwiczenia projektowe

Bazy danych Ćwiczenia projektowe Bazy danych Ćwiczenia projektowe Przygotował: Piotr Hajder Katedra Informatyki Stosowanej i Modelowania Wydział Inżynierii Metali i Informatyki Przemysłowej, AGH Agenda 01. Powtórka 02. Interfejs CRUD

Bardziej szczegółowo

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

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

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

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych

Bardziej szczegółowo

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

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2. Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny

Bardziej szczegółowo

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

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? 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ę

Bardziej szczegółowo

Lab.8: Podstawy języka SQL.

Lab.8: Podstawy języka SQL. Lab.8: Podstawy języka SQL. SQL (Structured Query Language) jest językiem zapytań służącym do obsługi relacyjnych baz danych. Współcześnie każdy SZBD posiada własną implementację języka, opartą na wspólnym

Bardziej szczegółowo

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

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

Bardziej szczegółowo

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

SQL w praktyce. Miłej i owocnej nauki!!! SQL w praktyce Niniejsza praca objęta jest prawami autorskimi. Nielegalne jest kopiowanie żadnej częsci tej pracy w żadnej postaci. Niezgodne z prawem tym bardziej jest udostępnianie innym tej pracy odpłatnie

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

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

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Ograniczenia integralnościowe, modyfikowanie struktury relacji, zarządzanie ograniczeniami. 1 Ograniczenia integralnościowe Służą do weryfikacji

Bardziej szczegółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo

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 www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze

Bardziej szczegółowo

Kurs. Podstawy MySQL

Kurs. Podstawy MySQL Kurs Podstawy MySQL Krótkie info. Autorem kursu jest Piotr Jędrusik. Kurs jest własnością serwisu MySQL FAQ www.mysqlfaq.prv.pl, email: mysqlfaq@twister.pl. 1. Tworzymy bazę. Stworzymy pierwszą bazę o

Bardziej szczegółowo

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Wykład 6. SQL praca z tabelami 3

Wykład 6. SQL praca z tabelami 3 Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1

Bardziej szczegółowo

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne. Kwerendy wybierające Kwerenda wybierająca jest najczęściej używanym rodzajem kwerendy. Służy do otrzymywania danych z tabeli lub tabel i wyświetla wyniki w arkuszu danych, w którym można je następnie aktualizować

Bardziej szczegółowo

Komunikacja z bazą danych psql

Komunikacja z bazą danych psql PostgreSQL jest systemem zarządzania relacyjnymi bazami danych rozprowadzanym na zasadach open source. Twórcą i właścicielem praw autorskich jest Uniwersytet Berkeley w Stanach Zjednoczonych. Ze wszystkich

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Instrukcja CREATE TABLE

Instrukcja CREATE TABLE Podstawy języka SQL 2 Instrukcja CREATE TABLE CREATE TABLE tabela (pole_1 typ [(rozmiar)] [NOT NULL] [indeks_1] [, pole_2 typ [(rozmiar)] [NOT NULL] [indeks_2] [,...]] [, CONSTRAINT indeks_wielopolowy

Bardziej szczegółowo

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

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro Informatyka (5) SQL dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Język zapytań SQL Język deklaratywny (regułowy) - SQL, ProLog,

Bardziej szczegółowo

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

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

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

Aspekty aktywne baz danych

Aspekty aktywne baz danych Aspekty aktywne baz danych Aktywne aspekty baz danych Baza danych powinna zapewniać pewne własności i niezmienniki; Własności te powinny mogą być zapisane do bazy danych, a baza danych powinna zapewniać

Bardziej szczegółowo

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

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

Bazy danych SQL Server 2005

Bazy danych SQL Server 2005 Bazy danych SQL Server 2005 TSQL Michał Kuciapski Typ zadania: Podstawowe zapytania Select Zadanie 1: Wyświetl następujące informacje z bazy: A. 1. Wyświetl informacje o klientach: nazwa firmy, imie, nazwisko,

Bardziej szczegółowo

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wprowadzenie do projektowania i wykorzystania baz danych Relacje Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

Wykład 2. SQL 1 Structured Query Lenguage

Wykład 2. SQL 1 Structured Query Lenguage Wykład 2 SQL 1 Structured Query Lenguage SQL (Structured Query Language) Język zapytań do bazy danych. IBM lata osiemdziesiąte. Stosowany w systemach zarządzania bazami danych (DBMS); Oracle, Paradox,Access,

Bardziej szczegółowo

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.

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. 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. 1 polecenie CREATE TABLE CREATE TABLE nazwa_relacji Tworzenie

Bardziej szczegółowo

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

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli 1. Tworzenie tabeli Aby stworzyć tabele w SQL-u należy użyć polecenia CREATE TABLE nazwa_tabeli (nazwa_pola1 właściwości_pola1, nazwa_pola2 właściwości_pola2, itd.) Nazwa_tabeli to wybrana przez nas nazwa

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

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

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE Wykład 9 Implementacja języka SQL w systemach baz danych Oracle manipulowanie danymi (DML), tworzenie, modyfikowanie i usuwanie obiektów bazy danych: tabel i perspektyw, więzów integralności, komentarzy

Bardziej szczegółowo

Bazy danych 10. SQL Widoki

Bazy danych 10. SQL Widoki Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela

Bardziej szczegółowo

Język SQL, zajęcia nr 2

Język SQL, zajęcia nr 2 Język SQL, zajęcia nr 2 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Funkcja agregująca

Bardziej szczegółowo

TEST E.14 BAZY DANYCH

TEST E.14 BAZY DANYCH TEST E.14 BAZY DANYCH 1 CZAS PRACY: 45 MINUT 1. W celu dodania rekordu do tabeli Pracownicy należy użyd polecenia SQL a. INSERT INTO Pracownicy VALUES ("Jan", "Kowalski"); b. INSERT VALUES (Jan; Kowalski)

Bardziej szczegółowo

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

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

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

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables MYSQL 1 1. Sprawdzenie ustawień konfiguracyjnych Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables 2 2. Wstępna konfiguracja Po zainstalowaniu aplikacji należy przed uruchomieniem wykonać

Bardziej szczegółowo

Podstawowe informacje o bazach danych. Technologie Informacyjne

Podstawowe informacje o bazach danych. Technologie Informacyjne Podstawowe informacje o bazach danych Technologie Informacyjne dr inż. Michna Michał, Politechnika Gdańska 2010/2011 Przykłady systemów baz danych Książka telefoniczna, książka kucharska Zarządzanie magazynem/hurtownią

Bardziej szczegółowo

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

SQL - DDL. 1 Tabele systemowe. 2 Typy danych SQL - DDL DDL (ang. data definition language) jest częścią języka zapytań SQL obejmująca tworzenie i zarządzanie (modyfikację, usuwanie i przydzielanie uprawnień) obiektami w bazie danych (tabelami, perspektywami,

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

Bazy danych 5. Samozłaczenie SQL podstawy

Bazy danych 5. Samozłaczenie SQL podstawy Bazy danych 5. Samozłaczenie SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Przykład kolejowy Tworzymy bazę danych zawierajac a (uproszczony) rozkład jazdy pociagów

Bardziej szczegółowo

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie

Bardziej szczegółowo