Przegląd Instrukcja wyboru (SELECT) Instrukcje modyfikacji danych Inne instrukcje
|
|
- Zdzisław Małecki
- 8 lat temu
- Przeglądów:
Transkrypt
1 5. Język J SQL Przegląd Instrukcja wyboru (SELECT) Instrukcje modyfikacji danych Inne instrukcje for each {x=1; SQL select for each {x=1; SQL for each update {x=1; SQL update #1 K.Goczyła
2 SQL (Structured( Query Language) SEQUEL (1974) - opracowany w IBM Research Laboratory w San Jose. Następnie jego nazwę zmieniono na SQL (często wymawiane jako sequel ). Pierwsze zastosowanie - SYSTEM R, następnie w systemach DB2, SQL/DS, QMF na komputerach IBM/370 (mainframe). Standardy: SQL-86: ANSI X Database Language SQL SQL-89: ANSI X Database Language - Embedded SQL ANSI X Database Language - SQL with Integrity Enhancement SQL-92: ISO/IEC 9075:1992 Database Language SQL SQL-99: ISO/IEC 9075:1999 Information Technology - Database Languages - SQL SQL interakcyjny - instrukcje wprowadzane interakcyjnie, wyniki natychmiast prezentowane użytkownikowi w sposób ustalony przez DBMS (SQL nie zawiera żadnych instrukcji we/wy ani formatujących). zanurzony - instrukcje są zamieszczone w programie napisanym w innym języku (3GL lub 4GL); wyniki mogą być przekazane do zmiennych programu. #2 K.Goczyła
3 Składniki SQL SQL = Data Definition Language (DDL) + Data Manipulation Language (DML) + Data Control Language (DCL) Podstawowe instrukcje ("core SQL"`): DDL DML DCL CREATE TABLE CREATE VIEW CREATE INDEX ALTER TABLE DROP TABLE DROP VIEW DROP INDEX SELECT INSERT UPDATE DELETE GRANT REVOKE Standardy SQL-92 i SQL-99 obejmują ponadto szereg innych instrukcji, które rozszerzają funkcje DBMS np. o definiowanie ograniczeń, reguł, funkcji, wyzwalaczy itd. Szczegóły na temat konkretnej implementacji SQL - w dokumentacji DBMS. #3 K.Goczyła
4 Tworzenie tablic CREATE TABLE <nazwa tablicy> (<nazwa kolumny> <typ danych> [opcje] [, <nazwa kolumny > <typ danych> [opcje]... ] [, UNIQUE (<nazwa kolumny>, [<nazwa kolumny>])]...); Cel: Utworzenie w bazie danych nowej tablicy. Trzeba określić: - nazwę tablicy (niepowtarzalna w bazie danych), - nazwy kolumn (niepowtarzalne w tablicy), - typ danych każdej kolumny. Typy danych: (SQL-89) INTEGER, SMALLINT - liczba całkowita (zakres zależy od DBMS). DECIMAL[(m [, n ])], NUMERIC[(m [, n ])] - stałoprzecinkowa liczba rzeczywista o m cyfrach znaczących i n cyfrach po przecinku. FLOAT[(m)] - zmiennoprzecinkowa liczba rzeczywista o m cyfrach. REAL to samo co DECIMAL. DOUBLE PRECISION to samo co FLOAT. CHARACTER(n) - łańcuch znaków o długości do n znaków (separator: lub ). DATE - data (zwykle w formacie: mm/dd/yyyy). LOGICAL - wartości logiczne: yes/no, true/false. #4 K.Goczyła
5 Tworzenie tablic (cd.) Inne typy danych: (SQL-92) VARCHAR, DATETIME, MONEY, TEXT, IMAGE, BLOB, CLOB,... (szczegóły - w dokumentacji DBMS) Opcje (przykładowe): NOT NULL [ UNIQUE ] - w kolumnie musi być wartość, jeśli UNIQUE - to unikatowa. UNIQUE (<kolumna> [,<kolumna>]...) wartość w kolumnie (kolumnach) musi być unikatowa. Każda kolumna musi być zdefiniowana z opcją NOT NULL. [NOT] CASE-SENSITIVE określa, czy przy porównywaniu wartości w kolumnie znakowej ma być brana pod uwagę wielkość liter. COLUMN-LABEL łańcuch etykieta (nagłówek) kolumny przy wyświetlaniu tabelarycznym LABEL łańcuch etykieta kolumny przy wyświetlaniu swobodnym FORMAT łańcuch format wyświetlania wartości kolumny. DEFAULT wartość-początkowa domyślna wartość kolumny. AUTOINCREMENT - powoduje automatyczne nadawanie wartości kolumny przez system podczas wstawiania nowego wiersza. PRIMARY KEY - określa kolumnę jako klucz główny. REFERENCES [nazwa tablicy] - określa kolumnę jako klucz obcy. Szczegółowy wykaz opcji - w opisie instrukcji CREATE TABLE konkretnego DBMS. #5 K.Goczyła
6 Tworzenie tablic - przykład Instrukcje tworzące tablice bazy danych School1: CREATE TABLE Teachers (Tno CHAR(3) NOT NULL UNIQUE, Tname CHAR(12), Title CHAR(6), City CHAR(8), SupNo CHAR(3)); CREATE TABLE Students (Sno CHAR(3) NOT NULL UNIQUE, Sname CHAR(12), Sdate DATE, City CHAR(8)); CREATE TABLE TS (Tno CHAR(3) NOT NULL, Sno CHAR(3) NOT NULL, hours INT, UNIQUE (Tno, Sno)); #6 K.Goczyła
7 Tworzenie tablic - przykład (cd.) Z zastosowaniem opcji definiujących klucze główne i klucze obce: CREATE TABLE Teachers (Tno CHAR(3) PRIMARY KEY, Tname CHAR(12), Title CHAR(6), City CHAR(8), SupNo CHAR(3) REFERENCES Teachers); CREATE TABLE Students (Sno CHAR(3) PRIMARY KEY, Sname CHAR(12), Sdate DATE, City CHAR(8)); CREATE TABLE TS (Tno CHAR(3) REFERENCES Teachers, Sno CHAR(3) REFERENCES Students, Hours INT, PRIMARY KEY (Tno, Sno)); #7 K.Goczyła
8 Zmiana schematu tablicy ALTER TABLE <nazwa tablicy> { ADD COLUMN <kolumna> <typ danych> [opcje] DROP COLUMN <kolumna> ALTER COLUMN <kolumna> [opcje] } Cel: Dodanie nowej kolumny do istniejącej tablicy. Nowa kolumna przyjmuje wartości puste (NULL). Usunięcie kolumny z istniejącej tablicy. Zmiana opcji istniejącej kolumny (ale nie typu danych!). Przykłady: ALTER TABLE Students ADD COLUMN PhoneNo Char(13); ALTER TABLE Teachers DROP COLUMN City; ALTER TABLE Teachers ALTER COLUMN Tname LABEL "Name of Teacher ; Uwaga: Nie można zmienić niektórych opcji, np. NOT NULL, UNIQUE, PRIMARY KEY,... #8 K.Goczyła
9 Wstawianie danych do tablicy INSERT INTO <nazwa tablicy> [( <lista kolumn> )] VALUES (<lista wartości>) Cel: Wstawienie do tablicy nowego wiersza na podstawie listy podanych wartości. Jeśli nie ma <listy kolumn>, wówczas należy podać wszystkie wartości, w kolejności kolumn tablicy wynikającej z jej schematu. Przykłady: INSERT INTO Teachers VALUES ( T6, Taylor, Prof., New York, T1 ); INSERT INTO Teachers ( TNo, TName, City ) VALUES ( T7, James, Paris ); #9 K.Goczyła
10 SELECT - przegląd SELECT [DISTINCT] <lista kolumn/wyrażeń> FROM <lista tablic> [ WHERE <warunek> ] [ GROUP BY <lista kolumn> ] [ HAVING <warunek> ] [ UNION <instrukcja SELECT> ] [ ORDER BY <lista kolumn/numerów> ] SELECT - określa, które kolumny z tablic podanych we frazie FROM mają zostać włączone do wyniku (projekcja). Dodatkowo, mogą zostać włączone wyrażenia. DISTINCT - powoduje wyeliminowanie duplikatów (wierszy powtarzających się). FROM -określa tablice, na jakich działa instrukcja SELECT. Jeśli jest kilka tablic, dokonywany jest produkt kartezjański tych tablic. WHERE - określa warunki wyboru wierszy z tablic wymienionych we frazie FROM (selekcja). GROUP BY - powoduje wiązanie wierszy wynikowych w grupy o jednakowych wartościach we wskazanych kolumnach, a następnie redukowanie tych grup do pojedynczych wierszy. HAVING - określa warunki wyboru dla wierszy powstałych w wyniku działania frazy GROUP BY. UNION - oblicza sumę wyników dwóch instrukcji SELECT, eliminując duplikaty (unia). ORDER BY - porządkuje wiersze wynikowe rosnąco lub malejąco według wartości wskazanych kolumn/wyrażeń. #10 K.Goczyła
11 SELECT - zapytania proste SELECT [DISTINCT] <lista kolumn/wyrażeń> FROM <nazwa tablicy> [ WHERE <warunek> ] Zapytanie proste przeprowadza kombinację projekcji i selekcji (jeśli występuje fraza WHERE) w stosunku do jednej tablicy. Uwaga: <lista kolumn> może przybrać formę * (co oznacza wybór wszystkich kolumn). Przykłady: 1. Pokaż identyfikatory i nazwiska wszystkich nauczycieli. SELECT TNo, TName FROM Teachers; 2. Pokaż nazwy wszystkich miast, skąd pochodzą studenci. SELECT DISTINCT City FROM Students; Uwaga: Bez słowa DISTINCT nazwy miast mogłyby się powtarzać. #11 K.Goczyła
12 SELECT - zapytania proste (cd.) 3. Pokaż informacje o zajęciach, które trwały ponad 95 godzin. SELECT * FROM TS WHERE Hours > 95; 4. Pokaż identyfikatory i nazwiska nauczycieli, którzy pochodzą z Londynu. SELECT TNo, TName FROM Teachers WHERE City = London ; 5. Pokaż identyfikatory, tytuły i nazwiska nauczycieli, którzy mają szefa. SELECT TNo, Title, TName FROM Teachers WHERE SupNo IS NOT NULL; #12 K.Goczyła
13 SELECT - zapytania proste (cd.) 6. Dla każdego studenta nauczyciela T3 pokaż średnią liczbę godzin zajęć na tydzień. Wynik: SELECT Sno, Hours/15, godz. na tydzień FROM TS WHERE Tno = T3 ; SNO EXP1 EXP2 S godz. na tydzień S godz. na tydzień S godz. na tydzień S godz. na tydzień #13 K.Goczyła
14 Wyrażenia Operatory języka SQL występujące w wyrażeniach we frazie SELECT, WHERE i in.: Operatory arytmetyczne: Operatory logiczne: Operatory porównania: Operatory specjalne: ** ^ - potęgowanie * / - mnożenie, dzielenie dodawanie, odejmowanie NOT AND OR = > < >= <= <> Operatory porównania z wartością pustą: IN BETWEEN LIKE MATCHES IS NULL IS NOT NULL #14 K.Goczyła
15 Wyrażenia (cd.) Funkcje agregujące: COUNT() - zwraca liczbę wierszy wybranych w zapytaniu AVG() SUM() MIN() MAX() - oblicza średnią arytmetyczną w kolumnie numerycznej - sumuje wartości kolumn numerycznych - znajduje wartość minimalną w kolumnie znakowej, numerycznej lub daty - znajduje wartość maksymalną w kolumnie znakowej, numerycznej lub daty Funkcje zależne od DBMS operujące na datach/godzinach, łańcuchach znakowych, polach tekstowych, wielkich obiektach binarnych,... #15 K.Goczyła
16 Operatory specjalne IN Sprawdza, czy wartość w kolumnie jest równa jednej z wartości określonej na liście wartości lub będących wynikiem instrukcji SELECT. Przykłady: 1. WHERE City = London OR City = Davos OR City = Bristol jest równoważne: WHERE City IN ( London, Davos, Bristol ) 2. SELECT * FROM Teachers WHERE City IN (SELECT City FROM Students); Wynik: Ci nauczyciele z relacji Teachers, którzy pochodzą z miasta występującego w relacji Students. #16 K.Goczyła
17 Operatory specjalne (cd.) BETWEEN Sprawdza, czy wartość w kolumnie jest zawarta w przedziale wartości. Przykłady. 1. WHERE Hours >= 96 AND Hours <= 126 jest równoważne: WHERE Hours BETWEEN 96 AND SELECT * FROM Teachers WHERE TName BETWEEN A AND C ; Wynik: TNO TNAME TITLE CITY SUPNO T1 Blake Prof London NULL T5 Adams MSc Bristol T4 gdyż Clark > C #17 K.Goczyła
18 LIKE Operatory specjalne (cd.) Porównuje zawartość kolumny znakowej z łańcuchem znaków, który może zawierać symbole wieloznaczne (wildcards). Łańcuch ze znakami wieloznacznymi to wzorzec. Symbole wieloznaczne: _ (podkreślenie) - pasuje do dowolnego pojedynczego znaku, % (procent) - pasuje do dowolnej liczby dowolnych znaków. Przykład: 1. Pokaż wszystkich studentów o nazwiskach rozpoczynających się na J : Wynik: SELECT SName FROM Students WHERE SName LIKE J% ; SNAME Jones Johnson Uwaga: Podobne działanie ma operator MATCHES, jednak MATCHES pozwala stosować znacznie bardziej złożone wzorce niż LIKE. Szczegóły - w dokumentacji konkretnego DBMS. #18 K.Goczyła
19 Operatory specjalne (cd.) CONTAINS Sprawdza, czy wartość w kolumnie znakowej zawiera wskazany łańcuch. Przykład: Pokaż wszystkich studentów, których nazwisko zawiera łańcuch "Mary": SELECT SName FROM Students WHERE SName CONTAINS Mary ; Uwaga: Łańcuch użyty w operatorze CONTAINS może zawierać znaki specjalne oznaczające OR i AND. Szczegóły - w dokumentacji konkretnego DBMS. Przykład (Progress): SELECT SName FROM Students WHERE SName CONTAINS (Mary) (Maria) ; #19 K.Goczyła
20 COUNT() Funkcje agregujące Przykłady: 1. COUNT(*) - zwraca liczbę wierszy w tablicy wynikowej 2. COUNT(DISTINCT <nazwa kolumny>) - zwraca liczbę różnych wartości we wskazanej kolumnie. 1. Z ilu różnych miast pochodzą studenci? Wynik: SELECT COUNT(DISTINCT City) FROM Students; COUNT Ilu nauczycieli pochodzi z Londynu? SELECT COUNT(*) FROM Teachers WHERE City = London ; Wynik: COUNT1 2 #20 K.Goczyła
21 SUM([DISTINCT] <nazwa kolumny>) MIN([DISTINCT] <nazwa kolumny>) MAX([DISTINCT] <nazwa kolumny>) AVG([DISTINCT] <nazwa kolumny>) Funkcje agregujące (cd.) Zwracają odpowiednio: sumę, minimum, maksimum i średnią z wartości podanej kolumny. Dla SUM() i AVG(), kolumna musi być numeryczna, dla MIN() i MAX() kolumna może być też kolumną znakową lub daty. Przykłady: 1. Podaj sumę godzin zajęć studenta S5. SELECT SUM(Hours) Wynik: FROM TS SUM1 WHERE SNo = S5 ; Podaj minimum, maksimum i średnią godzin zajęć nauczyciela T3. SELECT MIN(Hours), MAX(Hours), AVG(Hours) FROM TS WHERE TNo = T3 ; Wynik: MIN1 MAX2 AVG #21 K.Goczyła
22 SELECT - porządkowanie wyników Bez frazy ORDER BY wyniki zapytania ukazują się w porządku nieokreślonym (zwykle w porządku wstawienia ich do tablicy) ORDER BY <nazwa kolumny/numer> [ASC/DESC] [, <nazwa kolumny/numer> [ASC/DESC]... ] Uwagi: 1.Numer kolumny we frazie ORDER BY oznacza pozycję kolumny na liście wyboru instrukcji SELECT. Trzeba go użyć, jeśli porządkujemy wg wartości wyrażenia. 2. Domyślnie przyjmowany jest porządek rosnący (ASC). Przykład 1. Pokaż alfabetycznie dane o nauczycielach (nazwisko, identyfikator i tytuł. SELECT TName, TNo,Title FROM Teachers ORDER BY Tname; Wynik: TNAME TNO TITLE Adams T5 MSc Blake T1 Prof. Clark T4 PhD Jones T3 Prof. Smith T2 PhD #22 K.Goczyła
23 SELECT - porządkowanie wyników (cd.) Przykład 2. Pokaż dane (ident. studenta, liczba godzin, ident. nauczyciela) o zajęciach studentów S1, S2 i S3, porządkując je rosnąco wg ident. studentów i malejąco wg liczby godzin. SELECT SNo, Hours, TNo FROM TS WHERE SNo IN ( S1, S2, S3 ) ORDER BY SNo, Hours DESC; Wynik: SNO HOURS TNO S1 96 T4 S1 64 T1 S1 32 T3 S2 100 T2 S2 64 T1 S2 36 T3 S3 120 T2 S3 96 T4 S3 60 T3 #23 K.Goczyła
24 SELECT - grupowanie GROUP BY <nazwa kolumny> [, <nazwa kolumny>...] [HAVING <warunek>] Fraza ta powoduje powiązanie ze sobą wierszy wynikowych z instrukcji SELECT w grupy wierszy, w których wskazane we frazie GROUP BY kolumny mają tę samą wartość. Następnie każda grupa jest redukowana do pojedynczego wiersza. W tym wierszu występują kolumny z frazy GROUP BY oraz ew. kolumny będące wynikiem funkcji agregujących. Funkcje te wówczas działają na każdej grupie osobno. Następnie eliminowane są wiersze nie spełniające warunku HAVING. Uwaga 1. Każda kolumna występująca we frazie GROUP BY musi wystąpić na liście wyboru instrukcji SELECT, i na odwrót. Uwaga 2. W warunku HAVING może wystąpić funkcja agregująca (ale nie w warunku WHERE!). Przykład 1. Dla każdego nauczyciela pokaż, z iloma studentami miał zajęcia. SELECT Tno, COUNT(*) FROM TS GROUP BY Tno; Wynik: TNO T1 2 T2 3 T3 4 T4 3 T5 1 COUNT1 #24 K.Goczyła
25 SELECT - grupowanie (cd.) Przykład 2. Dla każdego studenta oblicz sumę godzin jego zajęć. Pokaż tylko identyfikatory tych studentów, dla których ta suma przekracza 160. Wynik uporządkuj malejąco wg liczby godzin. Wynik: SELECT SNo, SUM(Hours) FROM TS GROUP BY SNo HAVING SUM(Hours) > 160 ORDER BY 2 DESC; SNO SUM1 S3 276 S2 196 S1 192 #25 K.Goczyła
26 SELECT - złączenia Jeśli fraza FROM zawiera więcej niż jedną tablicę, instrukcja SELECT wykonuje produkt kartezjański (operator TIMES) wskazanych tablic. Jeśli dodatkowo występuje fraza WHERE, wykonywana jest operacja relacyjnego złączenia. Przykład 1. Pokaż informacje o wszystkich zajęciach nauczyciela T4, podając identyfikatory i nazwiska studentów oraz liczby godzin. Wynik uporządkuj alfabetycznie wg nazwisk studentów. SELECT SName, TS.SNo, Hours FROM TS, Students WHERE TS.SNo = Students.SNo AND TNo = T4 ORDER BY SName; Wynik: STUDENTS.SNAME TS.SNO TS.HOURS Ford S5 96 Henry S1 96 Johnson S3 96 #26 K.Goczyła
27 SELECT - złączenia (cd.) Przykład 2. Pokaż wszystkie pary (nauczyciel, student) takie, że nauczyciel i student pochodzą z tego samego miasta. Podaj identyfikatory i nazwiska studentów i nauczycieli. Wynik uporządkuj alfabetycznie wg nazw miast, a potem wg nazwisk nauczycieli i studentów. Wynik: SELECT T.City, TName, TNo, SName, SNo FROM Teachers T, Students S WHERE T.City = S.City ORDER BY T.City, TName, SName; T.CITY T.TNAME T.TNO S.SNAME S.SNO Bristol Adams T5 Ford S5 London Blake T1 Henry S1 London Blake T1 Higgins S4 London Jones T3 Henry S1 London Jones T3 Higgins S4 Uwaga: S i T są aliasami tablic. W tym przykładzie służą tylko do skrócenia zapisu. #27 K.Goczyła
28 SELECT - złączenia (cd.) Przykład 3. Dla każdego nauczyciela pokaż jego nazwisko, identyfikator i sumę godzin zajęć. Wynik uporządkuj alfabetycznie wg nazwisk. SELECT TName, TS.TNo, SUM(Hours) FROM Teachers T, TS WHERE T.TNo = TS.TNo GROUP BY TName, TS.TNo ORDER BY TName; Wynik: T.TNAME TS.TNO SUM1 Adams T Blake T Clark T Jones T Smith T #28 K.Goczyła
29 SELECT - złączenia (cd.) Złączenie tablicy z tą samą tablicą nazywamy samozłączeniem. Samozłączenie umożliwia wiązanie ze sobą informacji zawartych w różnych wierszach jednej tablicy. Do dokonania samozłączenia konieczne jest zastosowanie aliasów (nazw korelacji). Przykład 4. Dla każdego nauczyciela pokaż listę nauczycieli, którzy są jego podwładnymi. Wynik uporządkuj alfabetycznie wg nazwisk szefów, a potem wg nazwisk podwładnych. Wynik: SELECT Over.TName, Over.TNo, jest szefem dla, Under.TName, Under.TNo FROM Teachers Under, Teachers Over WHERE Under.SupNo = Over.TNo ORDER BY Over.TName, Under.TName; OVER.TNAME OVER.TNO EXP1 UNDER.TNAME UNDER.TNO Blake T1 jest szefem dla Jones T3 Blake T1 jest szefem dla Smith T2 Clark T4 jest szefem dla Adams T5 Jones T3 jest szefem dla Clark T4 #29 K.Goczyła
30 SELECT - podzapytania W podzapytaniu instrukcja SELECT jest zagnieżdżona we frazie WHERE lub HAVING. Zagnieżdżona instrukcja SELECT, zwana zapytaniem wewnętrznym, dostarcza wartości dla warunku WHERE lub HAVING. Instrukcja SELECT zawierająca podzapytanie to zapytanie zewnętrzne. Przykłady: 1. Pokaż dane o zajęciach nauczycieli pochodzących z Londynu. SELECT * FROM TS WHERE TNo IN (SELECT TNo FROM Teachers WHERE City = London ) ; 2. Pokaż identyfikatory i nazwiska nauczycieli, którzy prowadzili chociaż jedne zajęcia, które trwały ponad 64 godziny. SELECT TNo, TName FROM Teachers WHERE TNo IN (SELECT TNo FROM TS WHERE Hours > 64) ; #30 K.Goczyła
31 SELECT - podzapytania (cd.) 3. Pokaż identyfikatory i nazwiska nauczycieli, którzy prowadzili chociaż jedne zajęcia, które trwały dłużej niż wynosi średnia liczba godzin na jedno zajęcie. SELECT TNo, TName FROM Teachers WHERE TNo IN (SELECT TNo FROM TS WHERE Hours > (SELECT AVG(Hours) FROM TS)); 4. Pokaż nazwiska, identyfikatory i tytuły nauczycieli, dla których łączna liczba godzin zajęć przekracza 200. Uporządkuj wynik alfabetycznie wg nazwisk. SELECT TName, TNo, Title FROM Teachers WHERE TNo IN (SELECT TNo FROM TS GROUP BY TNo HAVING SUM(Hours) > 200) ORDER BY TName; #31 K.Goczyła
32 SELECT - podzapytania (cd.) 5. Pokaż dane o zajęciach, w których nauczyciel lub student pochodzą z Londynu. Uporządkuj wyniki wg identyfikatorów nauczycieli i studentów. SELECT * FROM TS WHERE TNo IN (SELECT TNo FROM Teachers WHERE City = London ) OR SNo IN (SELECT SNo FROM Students WHERE City = London ) ORDER BY TNo, SNo; #32 K.Goczyła
33 SELECT - podzapytania (cd.) W warunku WHERE może wystąpić operator EXISTS (predykat). EXISTS zwraca True, jeśli podzapytanie zwraca choć jeden wiersz, a False w przeciwnym wypadku. 6. Pokaż dane o nauczycielach, którzy uczyli studenta S1. SELECT * FROM Teachers WHERE EXISTS (SELECT * FROM TS WHERE Teachers.TNo = TS.TNo AND TS.SNo = S1 ); 7. Pokaż dane (ident. i nazwisko) studentów, których nie uczył nauczyciel T3. SELECT SNo, SName FROM Students WHERE NOT EXISTS (SELECT * FROM TS WHERE Students.SNo = TS.SNo AND TS.TNo = T3 ); #33 K.Goczyła
34 SELECT - podzapytania (cd.) 8. Pokaż dane (ident., nazwisko, tytuł) o nauczycielach, którzy uczyli wszystkich studentów. SELECT TNo, TName, Title FROM Teachers WHERE NOT EXISTS (SELECT * FROM Students WHERE NOT EXISTS (SELECT * FROM TS WHERE Teachers.TNo = TS.Tno AND Students.SNo = TS.SNo)); #34 K.Goczyła
35 SELECT - podzapytania (cd.) 9. Pokaż identyfikatory nauczycieli, którzy uczyli więcej niż jednego studenta. SELECT DISTINCT TS1.TNo FROM TS TS1 WHERE EXISTS (SELECT * FROM TS TS2 WHERE S1.TNo = TS2.TNo AND TS1.SNo <> TS2.SNo); 10. Pokaż nazwiska i identyfikatory tych nauczycieli, którzy są szefami. SELECT Over.TName, Over.TNo FROM Teachers Over WHERE EXISTS (SELECT * FROM Teachers Under WHERE Over.TNo = Under.SupNo); Uwaga: Ten sam wynik można uzyskać za pomocą złączenia podobnego do tego z przykładu 4 sekcji "SELECT - złączenia". #35 K.Goczyła
36 Wstawianie danych z innych tablic INSERT INTO <nazwa tablicy> [( <lista kolumn> )] < instrukcja SELECT > Cel: Wstawienie do jednej tablicy wierszy wybranych z innej tablicy lub innych tablic. Przykład: Załóżmy, że tablica Students1 ma tę samą strukturę co tablica Students. Instrukcja: INSERT INTO Students SELECT * FROM Students1 WHERE SYear > 1990; wstawia do tablicy Students wszystkie wiersze z tablicy Students1 dotyczące studentów, którzy rozpoczęli naukę po roku #36 K.Goczyła
37 Zachowywanie wyników w zapytania Niektóre DBMS pozwalają na zachowywanie wyników instrukcji SELECT w tablicy tymczasowej, przez zastosowanie frazy podobnej do poniższej: INTO TEMP <nazwa tablicy> (<lista kolumn>) Tablica tymczasowa jest tworzona przez instrukcję SELECT zgodnie z typami danych umieszczonych na liście wyboru instrukcji SELECT. Tablica taka jest automatycznie kasowana podczas zamykania bazy danych przez bieżącego użytkownika. Tablica tymczasowa może być używana we frazach FROM następnych instrukcji SELECT. W ten sposób można rozbijać skomplikowane zapytania na kilka etapów. #37 K.Goczyła
38 Przykład. Zachowywanie wyników w zapytania (cd.) Pokaż nazwiska, identyfikatory i tytuły tych nauczycieli, którzy mieli zajęcia o łącznej długości przekraczającej średnią łączną długość zajęć na jednego nauczyciela. Wynik uporządkuj alfabetycznie wg nazwisk. SELECT TNo, SUM(Hours) FROM TS GROUP BY TNo INTO TEMP Tsum(TNo, HSum); SELECT TName, TNo, Title FROM Teachers WHERE TNo IN (SELECT TNo FROM Tsum WHERE Hsum > (SELECT AVG(Hsum) FROM Tsum)); ORDER BY TName; Tablica TSUM zawiera sumy godzin zajęć dla każdego nauczyciela. W drugim zapytaniu z tablicy TEACHERS wybieramy tylko tych nauczycieli, dla których suma godzin z tablicy TSUM przekracza średnią z tych sum. #38 K.Goczyła
39 Zachowywanie wyników w zapytania (cd.) Niektóre systemy DBMS nie dają możliwości bezpośredniego zachowywania wyników instrukcji SELECT w tablicy tymczasowej (tzn. składnia instrukcji SELECT nie zawiera opcjonalnej frazy INTO TEMP lub podobnej). W takich wypadkach należy jawnie utworzyć nową tablicę i zastosować wsadową wersję instrukcji INSERT: SELECT... FROM... WHERE INTO TEMP Tab1(kol1, kol2,...); Przykład: SELECT TNo, Tname FROM Teachers WHERE Title = Prof. INTO TEMP Profes (PNo, PName); CREATE TABLE Tab1 (kol1 typ1, kol2 typ2,...); INSERT INTO Tab1 SELECT... FROM... WHERE...; CREATE TABLE Profes (PNo Char(4), Pname Char(12)); INSERT INTO Profes SELECT TNo, Tname FROM Teachers WHERE Title = Prof. ; #39 K.Goczyła
40 Aktualizowanie danych UPDATE <nazwa tablicy> SET <nazwa kolumny> = <wyrażenie> [, <nazwa kolumny> = <wyrażenie>...] [ WHERE <warunek> ] Cel: Zmiana wartości w kolumnach jednego lub wielu wierszy tablicy. Przykłady: 1. Prof. Blake (ident. T1) zmienił przeniósł się z Londynu do Birmingham. UPDATE Teachers SET City = Birmingham WHERE TNo = T1 ; 2. Okazało się, że pan Jones (ident. T3) miał ze wszystkimi swoimi studentami o 8 godzin więcej niż to zostało poprzednio zapisane. Trzeba dokonać następującej aktualizacji: UPDATE TS SET Hours = Hours+8 WHERE Tno = T3 ; 3. Okazało się, że niektóre dane o studencie S3 zostały błędnie zapisane w bazie danych. Trzeba zmienić wartość kilku pól. UPDATE Students SET Sname = Johnsone, Syear = 1984, City = Diblan WHERE Sno = S3 ; #40 K.Goczyła
41 Usuwanie danych DELETE FROM <nazwa tablicy> [ WHERE <warunek> ] Cel: Usunięcie z tablicy jednego lub wielu wierszy. Przykłady: 1. Prof. Blake (ident. T1) zmienił miejsce pracy. Należy usunąć zapis o nim z tablicy Teachers (gdzie przechowujemy dane tylko o aktualnie zatrudnionych nauczycielach) i przenieść je do tablicy Teachers1 (o strukturze takiej samej jak Teachers), pełniącej rolę archiwum. INSERT INTO Teachers1 SELECT * FROM Teachers WHERE TNo = T1 ; DELETE FROM Teachers WHERE TNo = T1 ; 2. Przy końcu roku akademickiego przenosimy wszystkie rekordy z tablicy TS do TS1, w której przechowujemy dane archiwalne z tablicy TS. Następnie czyścimy tablicę TS. INSERT INTO TS1 SELECT * FROM TS; DELETE FROM TS; #41 K.Goczyła
42 Sumowanie tablic <instrukcja SELECT> UNION [ALL] <instrukcja SELECT> Cel: Realizacja operacji algebry relacji UNION w stosunku do tablic będących wynikiem dwóch lub więcej instrukcji SELECT. Tablice muszą być zgodne. Uwagi: 1. Z tablicy wynikowej usuwane są wiersze powtarzające się (duplikaty), chyba że występuje ALL. 2. Jeśli nazwy kolumn sumowanych tablic są różne, tablica wynikowa przyjmuje nazwy kolumn z pierwszej tablicy. 3. Jeśli po UNION występuje fraza ORDER BY, muszą w niej występować numery, a nie nazwy kolumn. Przykład: Pokaż alfabetycznie nazwy miast, skąd pochodzą studenci lub nauczyciele. SELECT City FROM Teachers UNION SELECT City FROM Students ORDER BY 1; #42 K.Goczyła CITY Adelaide Bristol Davos Dublin Glasgow Liverpool London
43 Odejmowanie tablic (SQL-92) <instrukcja SELECT> MINUS [ALL] <instrukcja SELECT> Cel: Realizacja operacji algebry relacji MINUS w stosunku do tablic będących wynikiem dwóch lub więcej instrukcji SELECT. Tablice muszą być zgodne. Uwagi: 1. Z tablicy wynikowej usuwane są wiersze powtarzające się (duplikaty), chyba że występuje ALL. 2. Jeśli nazwy kolumn sumowanych tablic są różne, tablica wynikowa przyjmuje nazwy kolumn z pierwszej tablicy. 3. Jeśli po MINUS występuje fraza ORDER BY, muszą w niej występować numery, a nie nazwy kolumn. Przykład: Pokaż alfabetycznie nazwy miast, skąd pochodzą studenci, ale nie nauczyciele. SELECT City FROM Students MINUS SELECT City FROM Teachers ORDER BY 1; CITY Adelaide Davos Dublin #43 K.Goczyła
44 Przecinanie tablic (SQL-92) <instrukcja SELECT> INTERSECT [ALL] <instrukcja SELECT> Cel: Realizacja operacji algebry relacji INTERSECT w stosunku do tablic będących wynikiem dwóch lub więcej instrukcji SELECT. Tablice muszą być zgodne. Uwagi: 1. Z tablicy wynikowej usuwane są wiersze powtarzające się (duplikaty), chyba że występuje ALL. 2. Jeśli nazwy kolumn sumowanych tablic są różne, tablica wynikowa przyjmuje nazwy kolumn z pierwszej tablicy. 3. Jeśli po INTERSECT występuje fraza ORDER BY, muszą w niej występować numery, a nie nazwy kolumn. Przykład: Pokaż alfabetycznie nazwy miast, skąd pochodzą zarówno studenci, jak i nauczyciele. SELECT City FROM Students INTERSECT SELECT City FROM Teachers ORDER BY 1; CITY Bristol London #44 K.Goczyła
45 Tworzenie indeksów CREATE [UNIQUE] INDEX <nazwa indeksu> ON <nazwa tablicy> (<nazwa kolumny> [ASC/DESC] [, <nazwa kolumny> [ASC/DESC]... ]); Cel: Tworzy indeks na określonych kolumnach, zwanych kluczami indeksu. Domyślnie, indeks jest rosnący (ASC). Fraza UNIQUE oznacza, że kolumny indeksu zawierają wartości niepowtarzalne. Przykłady: CREATE UNIQUE INDEX TeachInd ON Teachers (Tno ); CREATE UNIQUE INDEX TSInd ON TS (Tno, SNo ); CREATE INDEX HrsInd ON TS (Sno, Hours DESC); #45 K.Goczyła
46 Tworzenie indeksów (cd.) Co to jest indeks? Jest to tablica zawierająca w jednej kolumnie wartości klucza, a w drugiej adresy wierszy w indeksowanej tablicy, które zawierają te wartości. Do czego służy? 1. Pozwala zwiększyć efektywność przetwarzania żądań dostępu do danych z tablicy (instrukcji SELECT). 2. Porządkuje wiersze tablicy w określonym porządku. 3. Zapobiega powtarzaniu się wartości w wierszach tablicy. Kiedy tworzyć indeks? 1. Gdy tablica jest często przetwarzana sekwencyjnie zgodnie z wartościami pewnej kolumny (rosnąco lub malejąco). 2. Gdy konieczne jest zachowanie unikatowości wartości kolumn(y). 3. Gdy dostęp do tablicy jest często realizowany zgodnie z wartościami danej kolumny lub kolumn (dostęp asocjacyjny). Jaki jest koszt? 1. Koszt pamięciowy (utrzymywanie dodatkowych danych). 2. Koszt czasowy (konieczność aktualizacji indeksu podczas aktualizowania tablicy (instrukcje INSERT, UPDATE, DELETE). #46 K.Goczyła
47 Tworzenie indeksów - przykłady Przykład 1: CREATE INDEX TSHours ON TS (Hours DESC); TSHours TS Hours RecNo TNO SNO HOURS RecNo T1 S T1 S T2 S T2 S T2 S T3 S T3 S T3 S T3 S T4 S T4 S T4 S T5 S #47 K.Goczyła
48 Tworzenie indeksów - przykłady (cd.) Przykład 2: CREATE INDEX StudHrs ON TS (Sno, Hours); StudHrs TS SNo+Hours RecNo TNo SNo Hours RecNo S T1 S S T1 S S T2 S S T2 S S T2 S S T3 S S T3 S S T3 S S T3 S S T4 S S T4 S S T4 S S T5 S #48 K.Goczyła
49 Indeksy bitmapowe (Oracle) Przykład: CREATE BITMAP INDEX Titles ON Teachers (Title); Titles MSc PhD Prof Rowid Teachers TNO TNAME TITLE CITY SUPNO Rowid T1 Blake Prof. London NULL 1 T2 Smith PhD Glasgow T1 2 T3 Jones Prof. London T1 3 T4 Clark PhD Liverpool T3 4 T5 Adams MSc Bristol T4 5 Indeks bitmapowy warto stosować wtedy, gdy liczba różnych wartości indeksowanej kolumny jest b. mała w stosunku do liczby wierszy tablicy i jest z góry znana (nie rośnie). Typowym zastosowaniem są systemy przetwarzania danych w hurtowniach danych (bardzo obszerne dane, ale niezmienne w czasie). #49 K.Goczyła
50 Widoki Widok (wirtualna tablica) Kombinacja wierszy i kolumn wybranych z jednej lub kilku tablic. Po utworzeniu widoku można na nim wykonywać instrukcje SELECT jak na zwykłej tablicy. W bazie danych (w słowniku danych) pamiętana jest jedynie definicja widoku. Widok jest materializowany w razie potrzeby. Korzy ści ze stosowania widoków: Te same dane mogą być widziane w różny sposób przez różnych użytkowników. Pozwalają koncentrować się ma danych istotnych, a ignorować inne. Wprowadzają dodatkowy poziom niezależności od danych: Jeśli zmieni się coś w schemacie bazy danych, często wystarczy zmienić definicję widoku, nie zmieniając programu. Wprowadzają ochronę danych przez ich ukrycie: Użytkownicy "widzą" tylko widoki, czyli tylko te dane, do których mają prawo dostępu. Różnice między widokami a tablicami: Widoki nie zawierają danych; zawierają tylko informacje, jak zebrać te dane w razie potrzeby (tzn. z jakich tablic, z jakich kolumn i w jaki sposób). Widoków nie można indeksować (ale można indeksować tablice wchodzące w skład widoku). W ogólności, nie można aktualizować danych poprzez widok. #50 K.Goczyła
51 Tworzenie widoków CREATE VIEW <nazwa widoku> [ <lista kolumn> ] AS <instrukcja SELECT > [WITH CHECK OPTION] Cel: Utworzenie widoku (wirtualnej tablicy). Opcjonalna <lista kolumn> określa nazwy kolumn widoku. Jeśli jej nie ma, nazwy kolumn pochodzą z instrukcji SELECT widoku. WITH CHECK OPTION Gwarantuje, że wszystkie aktualizacje widoku (jeśli widok jest aktualizowalny) spełniają warunki występujące we frazie WHERE instrukcji SELECT. Przykład 1. (widok aktualizowalny) CREATE VIEW TopTeachers AS SELECT TNo, TName, Title FROM Teachers WHERE Title <> 'MSc' WITH CHECK OPTION; SELECT * FROM TopTeachers; Wynik zapytania: TNO TNAME TITLE T1 Blake Prof. T2 Smith PhD T3 Jones Prof. T4 Clark PhD #51 K.Goczyła
Autor: Joanna Karwowska
Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może
Bardziej szczegółowoPaweł 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ółowoPrzestrzenne 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ółowoSystemy 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ółowoSQL (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ółowoBAZY 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ółowoPawel@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ółowoRelacyjne 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ółowoPodstawy 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ółowostrukturalny 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ółowoWykł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ółowoRelacyjne 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ółowoBazy 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ółowoWykł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ółowoPodstawy 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ółowoPRZESTRZENNE 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ółowoJę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ółowoWstę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ółowo3 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ółowoP 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ółowoLiteratura: 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ółowokończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli
SPOOL moj_plik SPOOL OFF @ moj_ plik edit CREATE TABLE DESCRIBE ALTER TABLE RENAME DROP TABLE CONNECT CONNECT USER_NAME DISCONNECT EXIT zapisuje wszystkie wydane polecenia oraz ich wyniki do pliku moj_plik,
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze
Bardziej szczegółowoRef. 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ółowoD 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ółowoOracle11g: 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- 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ółowoBazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych
Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy
Bardziej szczegółowoCREATE 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ółowoJę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ółowoAby 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ółowoPawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p
Bardziej szczegółowoAspekty 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ółowoSQL 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ółowoWykł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ółowo1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.
Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie
Bardziej szczegółowoBlaski 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ółowoAutor: 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ółowoInstrukcja 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Ć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ółowo040 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ółowoProgramowanie 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ółowoSQL Structured Query Language
SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony
Bardziej szczegółowoProjektowanie 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ółowoBazy 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ółowoopisuje 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ółowoBAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH model relacyjny Opracował: dr inż. Piotr Suchomski Relacyjny model danych Relacyjny model danych posiada trzy podstawowe składowe: relacyjne struktury danych operatory algebry relacyjnej, które
Bardziej szczegółowoJę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ółowoSQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL
Bardziej szczegółowoWyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz
Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych
Bardziej szczegółowoWprowadzenie 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ółowoWidok 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ółowo1 Wstęp do modelu relacyjnego
Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared
Bardziej szczegółowoWykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze
Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym ilu jest na naszej hipotetycznej
Bardziej szczegółowoInstytut 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ółowoBazy 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ółowoUPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');
polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {
Bardziej szczegółowoPrzykł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ółowoGrupowanie i funkcje agregujące
Grupowanie i funkcje agregujące Zadanie 1. Stwórz odpowiednią tabelę Test_agr i wprowadź odpowiednie rekordy tak, aby wynik zapytania SELECT AVG(kol) avg_all, AVG(DISTINCT kol) avg_dist, COUNT(*) count_gw,
Bardziej szczegółowoBazy 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ółowoJę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ółowoWykład 3 2014-04-25 12:45 BD-1 W_3
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
Bardziej szczegółowoInformatyka (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ółowoSzkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł!
Szkolenie Oracle SQL podstawy Terminy 15 17 lutego 2010 First Minute! 1100zł! Opis szkolenia Baza danych Oracle od dawna cieszy się zasłużona sławą wśród informatyków. Jej wydajność, szybkość działania
Bardziej szczegółowoSprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu):
Utwórz bazę danych Cw: CREATE DATABASE Cw Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): DBCC USEROPTIONS Przykład z zapisem do tabeli tymczasowej: --Jeśli istnieje tabela tymczasowa
Bardziej szczegółowoKonstruowanie 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ółowoWybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee
Polecenie SELECT instrukcja pobierająca dane z bazy danych (z tabel, widoków) użytkownik posługujący się nią musi mieć uprawnienia do pobierania danych wynikiem zapytania jest zawsze tablica o określonych
Bardziej szczegółowoTworzenie 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ółowoProgramowanie 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ółowo77. 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ółowoOgó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ółowoModel relacyjny. Wykład II
Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji
Bardziej szczegółowo2. Model związk. zków w encji. (Entity. Relationship Model) Modelowanie świata Poj Diagramy zwi
2. Model związk zków w encji (Entity Relationship Model) Modelowanie świata Poj Diagramy zwi Przykłady Pojęcie encji i klucza encji Diagramy związk zków w encji (ERD) A B C Materiały pomocnicze do wykładu
Bardziej szczegółowo15. Funkcje i procedury składowane PL/SQL
15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp
Bardziej szczegółowoWykł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ółowoJęzyk DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE
Język DML Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE Systemy Baz Danych, Hanna Kleban 1 INSERT Instrukcja INSERT dodawanie
Bardziej szczegółowoSELECT * 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ółowoSQL Structured Query Language
SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony
Bardziej szczegółowoTworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];
Widoki/Perspektywy Podstawy Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy]; Usuwanie widoku DROP VIEW [nazwa_widoku]; Przykład 1 Przykład najprostszego
Bardziej szczegółowoJę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ółowoWykł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ółowoT-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ółowoTechnologie baz danych
Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów
Bardziej szczegółowoProgram szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL
Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL 1 Podstawy relacyjnego modelu danych. 3h UWAGA: Temat zajęć jest typowo teoretyczny i stanowi wprowadzenie do zagadnień
Bardziej szczegółowoBazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski
Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 5 Strukturalny język zapytań (SQL - Structured Query Language) Algebraiczny rodowód podstawowe działania w przykładach Bazy danych.
Bardziej szczegółowoPrzykładowa baza danych BIBLIOTEKA
Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych
Bardziej szczegółowoACESS- zadania z wykorzystaniem poleceń SQL
ACESS- zadania z wykorzystaniem poleceń SQL Dane są relacje o schematach: Pracownik ( (nr integer, nazwisko text(12), etat text(10), szef integer, pracuje_od date, placa_pod Currency, placa_dod Currency,
Bardziej szczegółowoIntegralność 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ółowoAutor: 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ółowoLaboratorium 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ółowoBAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji
BAZY DANYCH WYKŁAD 5 Normalizacja relacji. Zapytania zagnieżdżone cd. Wady redundancji Konieczność utrzymania spójności kopii, Marnowanie miejsca, Anomalie. (Wybrane materiały) Dr inż. E. Busłowska Copyright
Bardziej szczegółowoWprowadzenie do języka SQL
Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)
Bardziej szczegółowoWykł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ółowoWykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.
Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,
Bardziej szczegółowoBazy 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ółowoInformatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych
Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 2 LAB 2 1. Backup bazy danych Tworzenie kopii (backup) bazy danych Odtwarzanie bazy z kopii (z backup u) 1. Pobieramy skrypt Restore 2. Pobieramy
Bardziej szczegółowoLAB 3 (część 1 Projektu)
Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 3 (część 1 Projektu) Na zajęciach należy zaprojektować schemat bazy danych oraz przygotować dokument zawierający: Temat: Autor: 1. Opis 2.
Bardziej szczegółowoBazy danych Język SQL część 2 Wykład dla studentów matem
Bazy danych Język SQL część 2 Wykład dla studentów matematyki 21 marca 2015 Zapytania na kilku tabelach Czasem poszukiwana informacja znajduje się w kilku tabelach. Aby zapytanie dotyczyło kilku tabel,
Bardziej szczegółowo