Bazy danych 4. Przykłady SQL podstawy
|
|
- Patrycja Chrzanowska
- 9 lat temu
- Przeglądów:
Transkrypt
1 Bazy danych 4. Przykłady SQL podstawy P. F. Góra /12
2 Przykład I Przedsiębiorca tworzy bazę danych pracowników na potrzeby wypłacania im wynagrodzeń i przekazywania zaliczek do Urzędu Skarbowego. Zachodza następujace zależności funkcyjne: PracId Stanowisko Stanowisko Stawka PracId StażPracy StażPracy Stawka Wynagrodzenie PracId Gmina Gmina UrzadSkarbowy (1a) (1b) (1c) (1d) (1e) (1f) Copyright c P. F. Góra 4 2
3 1. Udowodnić, że PracId Wynagrodzenie PracId Stanowisko Stanowisko Stawka = PracId Stawka (2a) PracId Stawka PracId StażPracy = PracId StażPracy Stawka (2b) PracId StażPracy Stawka StażPracy Stawka Wynagrodzenie = PracId Wynagrodzenie (2c) 2. Spróbujmy zaprojektować taka oto tabelę: Pracownik (PracId, StażPracy, Stanowisko, Stawka, Gmina) (3) Tabela (??) nie jest w 3PN, gdyż zawiera relację przechodnia (do atrybutu nie będacego częścia klucza). Ponieważ stawka przyporzadkowana jest stanowisku, nie zaś konkretnemu pracownikowi, wpisywanie stawek jak w (??) prowadzi do redundancji i anomalii modyfikacji. Copyright c P. F. Góra 4 3
4 3. Następujacy projekt jest w 3PN, a nawet w PNBC Pracownicy (PracId, StażPracy, Stanowisko, Gmina) Stanowiska (Stanowisko, Stawka) Płace ( StażPracy, Stawka, Wynagrodzenie ) Urzędy (Gmina, UrzadSkarbowy) (4a) (4b) (4c) (4d) 4. W opraciu o projekt (??), w języku algebry relacji sformułować zapytanie o wynagrodzenie konkretnego pracownika ρ T1 ( πstanowisko,stażpracy,wynagrodzenie (Stanowiska Płace) π PracId,Wynagrodzenie (T 1 Pracownicy) Sa inne możliwe ścieżki wykonania tego zapytania. ) (5a) (5b) Copyright c P. F. Góra 4 4
5 Przykład II Kancelaria adwokacka prowadzi bazę czynności adwokackich. Każda czynność wykonana jest przez pracownika na jakimś stanowisku; ze stanowiskiem zwia- zana jest stawka. Każda czynność wykonana jest na rzecz pewnego klienta. Cena, jaka płaci klient, zależy od czasu trwania czynności adwokackiej i stawki, jaka pobiera pracownik kancelarii. Zależności funkcyjne: PracId Stanowisko Stanowisko Stawka Czynność Pracownik KlientId Czas Czas Stawka Koszt KlientId NazwaKlienta (6a) (6b) (6c) (6d) (6e) Copyright c P. F. Góra 4 5
6 Tabele: Czynności ( Czynność, PracId, KlientId, Czas ) Pracownicy (PracId, Stanowisko) Stanowiska (Stanowisko, Stawka) Opłaty (Czas, Stawka, Koszt) Kilenci (KlientId, NazwaKlienta) (7a) (7b) (7c) (7d) (7e) Mimo iż po zdefiniowaniu osobnych tabel Pracownicy i Stanowiska tabel jest więcej, łacznie przechowujemy mniej informacji. Copyright c P. F. Góra 4 6
7 Przykład III Tworzymy bazę opisujac a zaliczenia, jakie studenci uzyskiwali ze swoich projektów. Jeden student może podchodzić do tego samego projektu wiele razy (może poprawiać ocenę). Jednego dnia jeden student może starać się tylko o jedno zaliczenie. NrZaliczenia NrIndeksu NrProjektu Data Ocena NrIndeksu Data NrZaliczenia (8a) (8b) Wydaje się, że projekt Zaliczenia (NrZaliczenia, NrIndeksu, Data, NrProjektu, Ocena) (9) nie jest poprawny, gdyż nie uwzględnia drugiej z zależności (??). Copyright c P. F. Góra 4 7
8 Projekt Zaliczenia (NrZaliczenia, NrIndeksu, Data, NrProjektu, Ocena) (10) nie jest poprawny, gdyż zawiera zależności przechodnie: NrIndeksu Data NrZaliczenia NrProjektu Ocena, a zatem nie jest w 3PN (ustaliliśmy, że NrZaliczenia nie może być kluczem!). Copyright c P. F. Góra 4 8
9 Rozbijmy pierwsza z zależności funkcyjnych (??)na dwie części: NrZaliczenia NrProjektu Ocena NrZaliczenia NrIndeksu Data NrIndeksu Data NrZaliczenia (11a) (11b) (11c) Zależności (??), (??) sa swoimi odwrotnościami, a zatem jedna z nich można wyeliminować. Projekt KtoKiedy (NrIndeksu, Data, NrZaliczenia) CoZaCo (NrZaliczenia, NrProjektu, Ocena) (12a) (12b) jest w PNBC. Ta analiza pokazuje, że projekt (??) tak naprawdę jest poprawny. Copyright c P. F. Góra 4 9
10 Przykład IV Fabryka w magazynie przechowuje części różnego typu (śrubki i nakrętki). Każda część ma swój unikalny identyfikator. W magazynie każdy pojemnik ( regał ) zawiera identyczne części. Mamy relacje funkcyjne NrRegału IdCzęści Ilość (13a) Śrubki: IdCzęści Długość Średnica TypŁba (13b) Nakrętki: IdCzęści Średnica (13c) Projekty odpowiednich tabel sa (pozornie) oczywiste. Copyright c P. F. Góra 4 10
11 Niektóre zapytania bardzo wykonać jest bardzo łatwo, na przykład wskaż regały, w których znajduja się śrubki o długości 3/4": π NrRegału ( πidczęści ( σdługość=3/4" Śrubki ) Regały ) (14) Inne zapytania sa bardziej problematyczne na przykład jaki typ łba maja śrubki przechowywane na regale 58 (( π TypŁba σnrregału=58 Regały ) Śrubki ) (15) To zapytanie powinno zadziałać dobrze: Jeśli części przechowywane na regale 58 sa śrubkami, wszystko jest OK. Jeśli części przechowywane na regale 58 nie sa śrubkami (tylko nakrętkami), złaczenie w (??) da zbiór pusty, a więc także OK pod warunkiem, że nie przypiszemy tego samego IdCzęści śrubkom i nakrętkom, a takiego więzu w naszym projekcie nie ma. Copyright c P. F. Góra 4 11
12 Problem można częściowo rozwiazać modyfikujac tabelę Regały: NrRegału IdCzęści RodzajCzęści Ilość (16) Wówczas możliwe jest sprawdzenie na których regałach znajduja się śrubki ) (σ Regały RodzajCzęści= Śrubki (17) ρ RegałyŚrubek i dalej π TypŁba (( σnrregału=58 RegałyŚrubek ) Śrubki ) (18) Jeśli na regale 58 nie ma śrubek, dostaniemy zbiór pusty. Copyright c P. F. Góra 4 12
13 W relacyjnym modelu danych nie ma rekordów z wariantami, zanych z niektórych języków programowania. Prawdziwym rozwiazaniem byłoby przekonanie zleceniodawcy, że stosowanie jednolitej numeracji do różnego rodzaju części nie jest rozsadne. Jeżeli nie da się zleceniodawcy do tego przekonać a zleceniodawca może mieć uzasadnione powody aby protestować najlepszym rozwiazaniem jest zsumowanie zależności (??), (??), które maja ten sam poprzednik: NrRegału IdCzęści Ilość IdCzęści Długość Średnica TypŁba (19a) (19b) Atrybut Średnica występuje w następnikach dwa razy, więc po zsumowaniu pojawia się tylko raz. Teraz należy rozumieć, że jeżeli atrybuty Długość, TypŁba przyjmuja wartość null, mamy do czynienia z nakrętka, w przeciwnym zaś razie ze śrubka. Copyright c P. F. Góra 4 13
14 Zgodnie z zasadami sztuki, funkcja określajaca czy dana część jest śrubka, czy nakrętka, powinna być wbudowana w bazę danych (jako tak zwana procedura składowana). Podobnie w bazie powinien znaleźć się więz domenowy (check) stwierdzajacy, że atrybuty Długość, TypŁba musza być jednocześnie null lub not null. Atrybut Średnica powinien być zawsze not null. Copyright c P. F. Góra 4 14
15 Przykład V (kolejowy) Tworzymy bazę danych zawierajac a (uproszczony) rozkład jazdy pociagów oraz informacje o sprzedanych biletach. Po pierwsze, Z każdym pociagiem stowarzyszona jest lista stacji, na których się on zatrzymuje. Z każda stacja stowarzyszony jest zbiór pociagów, na których się on zatrzymuje. Dla każdej stacji należy podać godziny przyjazdu i odjazdu każdego pocia- gu, który się na niej zatrzymuje. Copyright c P. F. Góra 4 15
16 Pierwszy i ostatni punkt odpowiadaja następujacym zależnościom funkcyjnym: NrPociagu Stacja NrKolejny NrPociagu Stacja Przyjazd Odjazd (20a) (20b) co prowadzi do następujacej struktury tabeli Przystanki ( NrPociagu, Stacja, NrKolejny, Przyjazd, Odjazd ) (21) Powstaje jednak pewna watpliwość: A co się stanie jeśli jakiś pociag nie przejeżdża przez dana stację? Czy przypoadkiem zależności funkcyjne (??) nie wymagaja wyspecyfikowania wszystkich możliwych par NrPociagu-Stacja? Oczywiście nie: Zależność funkcyjna ma postać implikacji: jeżeli podamy atrybuty poprzednika, to ustalamy jednoznacznie wartości atrybutów następnika. A jeżeli nie, to nie. Copyright c P. F. Góra 4 16
17 Rola zapytań A co z określeniem zbioru pociagów, które zatrzymuja się na danej stacji? Nie trzeba w tym celu konstruować osobnej tabeli (relacji) można to osiagn ać poprzez odpowiednie zapytanie: ( π NrPociagu σstacja= Koluszki (Przystanki) ) (22) Nie wszystkie informacje przechowuje się w postaci osobnych tabel użyteczność baz danych polega (między innymi) na tym, że wiele rzeczy da się zrealizować poprzez zapytania. Copyright c P. F. Góra 4 17
18 Zadanie Posługujac się schematem tabeli Przystanki (??), znaleźć wszystkie pociagi, które przejeżdżaja przez stację X oraz przez stację Y. [ ( πnrpociagu σstacja= X (Przystanki) )] [ ( π NrPociagu σstacja= Y (Przystanki) )] (23) Tabela Przystanki występuje w powyższym zapytaniu dwa razy, po obu stronach złaczenia. Jest to przykład tak zwanego samozłaczenia (self-join). Copyright c P. F. Góra 4 18
19 Zadanie Posługujac się schematem tabeli Przystanki (??), znaleźć wszystkie pociagi, które najpierw przejeżdżaja przez stację X, później przez stację Y. [ ρ StacjaX(NrPociagu,NrX) πnrpoci ( )] agu,nrkolejny σstacja= X (Przystanki) [ ( ρ StacjaY(NrPociagu,NrY) πnrpociagu,nrkolejny σstacja= Y (Przystanki) ( π NrPociagu σnrx<nry (StacjaX StacjaY) ) )] (24a) (24b) (24c) Zapytanie (??) oczywiście także zawiera samozłaczenie, tyle że w formie niejawnej. Pytanie: Po jakim atrybucie realizowane jest złaczenie w (??)? Po atrybucie NrPociagu, bo to jest powtarzajacy się atrybut w tabelach StacjaX, StacjaY. Copyright c P. F. Góra 4 19
20 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 Żaden dostawca nie jest w pełni zgodny ze standardem prawie wszyscy wprowadzaja rozszerzenia, prawie nikt nie spełnia wszystkich wymogów. W dużych systemach komercyjnych odejście od wymogów nie jest wielkie Copyright c P. F. Góra 4 20
21 Programowanie deklaratywne SQL a ściślej, podzbiór SQL obejmujacy zapytania SELECT jest językiem deklaratywnym: określa logikę programowania, bez określenia control flow. Innymi słowy, zapytanie SQL mówi co chcemy osiagn ać, bez określenia jak chcemy to zrobić. Przeciwieństwem deklaratywnego paradygmatu programowania jest programowanie imperatywne. Copyright c P. F. Góra 4 21
22 Połaczenie się z serwerem Przed rozpoczęciem pracy, nalezy wywołać proces kliencki, który połaczy się z serwerem. W MySQL może to wygladać na przykład tak: C:\>mysql -upawel -p Enter password: ************* Po zakończeniu pracy trzeba się pożegnać: mysql> QUIT; Bye Znacznie częściej połaczenie z serwerem nawiazuje się za pomoca jakiejś aplikacji, nie zaś bezpośrednio z shella. Copyright c P. F. Góra 4 22
23 Utworzenie bazy danych mysql> CREATE DATABASE MoiStudenci CHARACTER SET cp1250; Query OK, 1 row affected (0.06 sec) mysql> USE MoiStudenci; Database changed mysql> Po wywołaniu klienta, trzeba wejść do wybranej bazy za pomoca instrukcji USE nie tylko po jej utworzeniu, ale zawsze. Copyright c P. F. Góra 4 23
24 To, jakie bazy znajduja się na serwerze, możemy zobaczyć za pomoca instrukcji SHOW DATABASES. mysql> SHOW DATABASES; Database information_schema kaskady moistudenci mysql test rows in set (0.00 sec) Copyright c P. F. Góra 4 24
25 Utworzenie tabeli mysql> CREATE TABLE Studenci -> (NrStudenta SMALLINT UNSIGNED NOT NULL -> AUTO_INCREMENT PRIMARY KEY); Query OK, 0 rows affected (0.14 sec) Jeśli okaże się to konieczne, po utworzeniu można zmienić definicję tabeli. mysql> ALTER TABLE Studenci -> ADD COLUMN (Nazwisko VARCHAR(20) NOT NULL); Query OK, 1 row affected (0.17 sec) Records: 1 Duplicates: 0 Warnings: 0 Copyright c P. F. Góra 4 25
26 Składnia polecenia CREATE TABLE CREATE TABLE NazwaTabeli ( NazwaKolumny 1 TypKolumny 1 NULL NOT NULL..., NazwaKolumny 2 TypKolumny 2 NULL NOT NULL...,... ) PRIMARY KEY (NazwaKolumny p,nazwakolumny q,... ) ; Inne opcje poznamy później. Copyright c P. F. Góra 4 26
27 Typy danych (atrybutów) TINYINT DATE TINYBLOB SMALLINT TIME BLOB MEDIUMINT TIMESTAMP MEDIUMBLOB INT DATETIME LONGBLOB INTEGER CHAR TINYTEXT BIGINT VARCHAR TEXT REAL BOOLEAN LONGTEXT DOUBLE ENUM FLOAT SET DECIMAL NUMERIC Copyright c P. F. Góra 4 27
28 Instrukcja DESCRIBE podaje definicję tabeli. mysql> DESCRIBE Studenci; Field Type Null Key Default Extra NrStudenta smallint(5) unsigned NO PRI NULL auto_increment Nazwisko varchar(20) NO rows in set (0.01 sec) Niepotrzebna tabelę usuwamy za pomoca instrukcji DROP TABLE. mysql> DROP TABLE Studenci; Query OK, 0 rows affected (0.02 sec) Lepiej ja utworzyć od poczatku dobrze niż dodawać kolumna po kolumnie... Copyright c P. F. Góra 4 28
29 mysql> CREATE TABLE Studenci -> (NrStudenta SMALLINT UNSIGNED NOT NUll -> AUTO_INCREMENT PRIMARY KEY, -> Imie VARCHAR(20), -> Nazwisko VARCHAR(20) NOT NULL, -> Uwagi VARCHAR(30), -> Grupa CHAR(2) NOT NULL)); Query OK, 0 rows affected (0.06 sec) mysql> DESCRIBE Studenci; Field Type Null Key Default Extra NrStudenta smallint(5) unsigned NO PRI NULL auto_increment Imie varchar(20) YES NULL Nazwisko varchar(20) NO Uwagi varchar(30) YES NULL Grupa char(2) NO rows in set (0.00 sec) Copyright c P. F. Góra 4 29
30 Wstawianie wartości do tabeli mysql> SET CHARACTER SET cp1250; Query OK, 0 rows affected (0.00 sec) Gdybyśmy tego nie zrobili, MySQL używałby takiego zestawu znaków, jaki obowiazywał domyślnie w momencie połaczenia z serwerem. Kwestie określania zestawu znaków to osobliwość MySQLa mysql> INSERT INTO Studenci VALUES -> (1, Milena, Zahorska, wt, uzupełniające ); Query OK, 1 row affected (0.02 sec) Copyright c P. F. Góra 4 30
31 Co teraz jest w tabeli? mysql> SELECT * FROM Studenci; NrStudenta Imie Nazwisko Uwagi Grupa Milena Zahorska uzupełniające wt row in set (0.00 sec) Copyright c P. F. Góra 4 31
32 Składnia zapytania SELECT; SELECT [DISTINCT] lista select FROM tabela lub zapytanie WHERE warunek logiczny GROUP BY wyrażenie grupujace HAVING warunek wyszukiwania po grupowaniu ORDER BY wyrażenie porzadkuj ace [ASC DESC] ; W zapytaniu SELECT wszystkie klauzule musza występować w powyższej kolejności. Niektóre klauzule można opuścić, ale to, co jest, musi być w tej kolejności. Copyright c P. F. Góra 4 32
33 Dodajmy więcej danych mysql> INSERT INTO Studenci VALUES -> (2, Sylwester, Tomiec, uzupełniające, wt ), -> (3, Michał, Gajewczyk,, wt ); Query OK, 2 rows affected (0.02 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM Studenci; NrStudenta Imie Nazwisko Uwagi Grupa Milena Zahorska uzupełniające wt 2 Sylwester Tomiec uzupełniające wt 3 Michał Gajewczyk wt rows in set (0.00 sec) Copyright c P. F. Góra 4 33
34 Wykorzystanie opcji AUTOINCREMENT mysql> INSERT INTO Studenci (Imie,Nazwisko,Grupa) VALUES -> ( Rafał, Świderski, wt ), -> ( Maciej, Matowicki, wf ), -> ( Janko, Muzykant, nd ); Query OK, 3 rows affected (0.02 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM Studenci; NrStudenta Imie Nazwisko Uwagi Grupa Milena Zahorska uzupełniające wt 2 Sylwester Tomiec uzupełniające wt 3 Michał Gajewczyk wt 4 Rafał Świderski NULL wt 5 Maciej Matowicki NULL wf 6 Janko Muzykant NULL nd rows in set (0.00 sec) Copyright c P. F. Góra 4 34
35 Zapytanie UPDATE mysql> UPDATE Studenci -> SET Uwagi=NULL -> WHERE NrStudenta=3; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> UPDATE Studenci -> SET Grupa= wt WHERE Grupa= wf ; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 Copyright c P. F. Góra 4 35
36 mysql> SELECT * FROM Studenci; NrStudenta Imie Nazwisko Uwagi Grupa Milena Zahorska uzupełniające wt 2 Sylwester Tomiec uzupełniające wt 3 Michał Gajewczyk NULL wt 4 Rafał Świderski NULL wt 5 Maciej Matowicki NULL wt 6 Janko Muzykant NULL nd rows in set (0.00 sec) Copyright c P. F. Góra 4 36
37 Zapytanie DELETE Usuwanie wierszy spełniajacych podane kryterium: mysql> DELETE FROM Studenci -> WHERE Imie= Janko ; Query OK, 1 row affected (0.03 sec) Dodajmy coś jeszcze: mysql> INSERT INTO Studenci (Imie,Nazwisko,Grupa) VALUES -> ( Michał, Czubek, pt ),( Marcin, Pyra, pt ), -> ( Marcin, Baranowski, pt ); Query OK, 3 rows affected (0.02 sec) Records: 3 Duplicates: 0 Warnings: 0 Copyright c P. F. Góra 4 37
38 mysql> SELECT * FROM Studenci; NrStudenta Imie Nazwisko Uwagi Grupa Milena Zahorska uzupełniające wt 2 Sylwester Tomiec uzupełniające wt 3 Michał Gajewczyk NULL wt 4 Rafał Świderski NULL wt 5 Maciej Matowicki NULL wt 7 Michał Czubek NULL pt 8 Marcin Pyra NULL pt 9 Marcin Baranowski NULL pt rows in set (0.01 sec) Brakuje numeru 6 AUTOINCREMENT zapamiętał, że on tam był. AUTOINCREMENT zawsze startuje od high water mark. Copyright c P. F. Góra 4 38
39 Jawnie wyspecyfikowana lista select mysql> SELECT Imie, Nazwisko FROM Studenci; Imie Nazwisko Milena Zahorska Sylwester Tomiec Michał Gajewczyk Rafał Świderski Maciej Matowicki Michał Czubek Marcin Pyra Marcin Baranowski rows in set (0.01 sec) Gwiazdka w zapytaniu SELECT (SELECT * FROM...) oznacza wszystkie kolumny. Copyright c P. F. Góra 4 39
40 Problem duplikatów mysql> SELECT Imie -> FROM Studenci; Imie Milena Sylwester Michał Rafał Maciej Michał Marcin Marcin rows in set (0.00 sec) mysql> SELECT DISTINCT Imie -> FROM Studenci; Imie Milena Sylwester Michał Rafał Maciej Marcin rows in set (0.00 sec) Copyright c P. F. Góra 4 40
41 Operator LIKE mysql> SELECT Imie, Nazwisko -> FROM Studenci -> WHERE Imie LIKE Mi% ; Imie Nazwisko Milena Zahorska Michał Gajewczyk Michał Czubek rows in set (0.00 sec) mysql> SELECT Imie, Nazwisko -> FROM Studenci -> WHERE Imie LIKE %ł ; Imie Nazwisko Michał Gajewczyk Rafał Świderski Michał Czubek rows in set (0.00 sec) Copyright c P. F. Góra 4 41
42 Wykorzystanie ORDER BY mysql> SELECT Imie, Nazwisko -> FROM Studenci -> WHERE Grupa= wt -> ORDER BY Nazwisko ASC; Imie Nazwisko Michał Gajewczyk Maciej Matowicki Sylwester Tomiec Milena Zahorska Rafał Świderski rows in set (0.02 sec) Problemy z poprawnym sortowaniem polskich znaków diakrytycznych Copyright c P. F. Góra 4 42
43 MySQL i programowanie wsadowe C:\wyklady\bazy> mysql < nazwa pliku C:\wyklady\bazy> mysql -hhostname -uusername -p < nazwa pliku Plik musi być dostępny dla klienta. Pliki wsadowe można też wołać z wnętrza klienta: mysql> source nazwa pliku; Uwaga: Jeśli któreś polecenie w pliku wsadowym spowoduje bład, dalsze polecenia nie sa wykonywane. Copyright c P. F. Góra 4 43
44 Tworzenie tabeli wraz z kopiowaniem danych mysql> USE moistudenci; Database changed mysql> DESCRIBE Studenci; Field Type Null Key Default Extra NrStudenta smallint(5) unsigned NO PRI auto_increment Imie varchar(20) NO Nazwisko varchar(20) NO Uwagi varchar(30) YES Grupa char(2) YES rows in set (0.21 sec) Copyright c P. F. Góra 4 44
45 mysql> CREATE TABLE Studenci2 -> (NrStudenta INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Imie VARCHAR(20) NOT NULL, Nazwisko VARCHAR(20) NOT NULL, -> Uwagi VARCHAR(30), Grupa CHAR(2)) -> -- TU kończy się definicja tabeli! -> SELECT * FROM STUDENCI; Query OK, 9 rows affected (1.08 sec) Records: 9 Duplicates: 0 Warnings: 0 mysql> DESCRIBE Studenci2; Field Type Null Key Default Extra NrStudenta int(10) unsigned NO PRI auto_increment Imie varchar(20) NO Nazwisko varchar(20) NO Uwagi varchar(30) YES Grupa char(2) YES rows in set (0.01 sec) Copyright c P. F. Góra 4 45
46 mysql> SELECT * FROM Studenci2; NrStudenta Imie Nazwisko Uwagi Grupa Mariusz Lewandowski xxxx xy 2 Jakub Stefanowski xy 3 Marek Giebułtowski xy 4 Barbara Jeziorek xy 6 Wojciech Wąchal xy 72 Jakub Janoszek xy 73 Maciej Gowin xy 74 Tadeusz Drozda xy 75 Marek Kolejny xy rows in set (0.03 sec) Copyright c P. F. Góra 4 46
47 Zmienne tymczasowe SQL pozwala na definiowanie zmiennych tymczasowych nazwa zmiennej tymczasowej zawsze zaczyna się Zmienna istnieje dopóty, dopóki nie zostanie zakończone połaczenie z serwerem. Procesy klienckie nie widza zmiennych zdefiniowanych przez inne procesy. mysql> Query OK, 0 rows affected (0.01 sec) mysql> row in set (0.00 sec) Copyright c P. F. Góra 4 47
48 Zmiennej można przypisać wartość, która jest wynikiem zapytania: mysql> NrStudenta FROM Studenci2 WHERE Imie= Tadeusz ); Query OK, 0 rows affected (0.89 sec) @a+@b row in set (0.00 sec) Copyright c P. F. Góra 4 48
49 Aliasy W zapytaniu SELECT możemy nadawać kolumnom inne nazwy niż te, które występuja w definicji tabeli. Nosza one nazwę aliasów. mysql> SELECT NrStudenta AS ToJestNumer, Imie FROM Studenci2; ToJestNumer Imie Mariusz 2 Jakub 3 Marek 4 Barbara 6 Wojciech 72 Jakub 73 Maciej 74 Tadeusz 75 Marek X rows in set (0.00 sec) Copyright c P. F. Góra 4 49
50 Niekiedy wygodnie jest użyć aliasu w dalszej części zapytania, ale nie można go użyć w kaluzuli WHERE mysql> SELECT NrStudenta AS ToJestNumer, Imie FROM Studenci2 -> WHERE ToJestNumer > 10; ERROR 1054 (42S22): Unknown column ToJestNumer in where clause Można natomiast użyć aliasu w klauzuli HAVING: mysql> SELECT NrStudenta AS ToJestNumer, Imie as Pierwsze imię FROM Studenci2 -> HAVING ToJestNumer > 10; ToJestNumer Pierwsze imię Jakub 73 Maciej 74 Tadeusz 75 Marek X rows in set (0.00 sec) Copyright c P. F. Góra 4 50
51 Jest to szczególnie przydatne, gdy w warunku występuje wartość obliczana na podstawie więcej niż jednej kolumny: mysql> SELECT CONCAT(Imie,,Nazwisko) AS Imie_Nazwisko FROM Studenci2 -> HAVING Imie_Nazwisko LIKE "%r%z%"; Imie_Nazwisko Mariusz Lewandowski Barbara Jeziorek Tadeusz Drozda rows in set (0.00 sec) Copyright c P. F. Góra 4 51
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ół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ółowoBazy danych 6. Przykłady
Bazy danych 6. Przykłady P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Przykład I Przedsiębiorca tworzy bazę danych pracowników na potrzeby wypłacania im wynagrodzeń i przekazywania
Bardziej szczegółowoBazy danych 4. SQL podstawy. P. F. Góra
Bazy danych 4. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 SQL:2006 (dialekt) SQL:2008 (dialekt) SQL:2011 (dialekt)
Bardziej szczegółowoBazy danych 4. SQL- podstawy
Bazy danych 4. SQL- podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017/18 SQL - Structured Query Language Interpretowany język programowania. Jego polecenia tradycyjnie nazywane sa zapytaniami
Bardziej szczegółowoBazy danych 7. SQL dalsze możliwości. Grupowanie.
Bazy danych 7. SQL dalsze możliwości. Grupowanie. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 MySQL i programowanie wsadowe C:\wyklady\bazy> mysql < nazwa pliku C:\wyklady\bazy>
Bardziej szczegółowoBazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy
Bazy danych 6. SQL funkcje daty i czasu, zmienne tymczasowe, aliasy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 MySQL i programowanie wsadowe C:\wyklady\bazy> mysql < nazwa pliku
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ół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ół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ół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ół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ół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ół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ółowoBazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z
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ół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ółowoBazy danych i usługi sieciowe
Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z
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 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ół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ółowoBazy danych 6. Klucze obce. P. F. Góra
Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:
Bardziej szczegółowoBazy danych 8. Widoki i wyzwalacze. P. F. Góra
Bazy danych 8. Widoki i wyzwalacze P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 I. Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela podstawowa
Bardziej szczegółowoKurs. 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ół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ółowoBazy 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ół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ół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ół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ół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ółowoOdnawialne Ź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ół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ół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ółowoPo 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ół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ół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ół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ół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ółowoPołączenie z bazą danych : mysql h u root -p Enter password: *******
Połączenie z bazą danych : mysql h 127.0.0.1 -u root -p Enter password: ******* wyświetlenie istniejących baz danych: show databases; Database mysql test Uwaga ważny średnik na końcu każdej linii. Tworzenie
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ół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ół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ół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ółowo1. 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ół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ół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ół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ółowoDr 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ółowoSQL - 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ół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ółowoSIECI 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ółowoJęzyk baz danych SQL cz.1
- 1 - Język baz danych SQL cz.1 1. Wstęp SQL (ang. Structured Query Language Strukturalny Język Zapytań) język umożliwiający dostęp i przetwarzanie danych w relacyjnej bazie danych. Jest międzynarodowym
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ółowoLaboratorium nr 1. Temat: Wprowadzenie do MySQL-a
Laboratorium nr 1 Temat: Wprowadzenie do MySQL-a MySQL jest najpopularniejszym darmowym systemem obsługi baz danych rozpowszechnianym na zasadach licencji GPL. Jego nowatorska budowa pozwoliła na stworzenie
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ółowoBazy danych 6. Podzapytania i grupowanie. P. F. Góra
Bazy danych 6. Podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Podzapytania Podzapytania pozwalaja na tworzenie strukturalnych podzapytań, co umożliwia izolowanie poszczególnych
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ół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ółowoBazy danych 9. SQL Klucze obce Transakcje
Bazy danych 9. SQL Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Klucze obce Klucze obce powiazanie indeksowanej kolumny jakiejś tabeli z indeksowana kolumna
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ółowoProjekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli
Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się
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ół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ółowoMySQL. Darmowa baza danych. Æwiczenia praktyczne
IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE ONOWOœCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREœCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY
Bardziej szczegółowoWyzwalacze (triggery) Przykład
Wyzwalacze (triggery) Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę, a następnie trigger związany
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ółowoProjektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Projektowanie bazy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Możliwości projektowe Relacyjna baza danych Obiektowa baza danych Relacyjno-obiektowa baza danych Inne rozwiązanie (np. XML)
Bardziej szczegółowoSIECI KOMPUTEROWE I BAZY DANYCH
Akademia Górniczo-Hutnicza Wydzia ł Inżynierii Mechanicznej i Robotyki Katedra Robotyki i Dynamiki Maszyn SIECI KOMPUTEROWE I BAZY DANYCH ĆWICZENIE NR 7 Temat: TWORZENIE I ZARZĄDZANIE INTERNETOWĄ BAZĄ
Bardziej szczegółowoBazy danych 9. Klucze obce Transakcje. P. F. Góra
Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób
Bardziej szczegółowoE.14 Bazy Danych cz. 16 SQL Tworzenie, modyfikowanie i usuwanie tabel
Bazy danych Tabele Tworzenie tabel Typy kolumn Instrukcja CREATE TABLE Ograniczenia NOT NULL Klucz podstawowy Niepowtarzalność Wartość domyślna Warunek logiczny Klucz obcy Tworzenie tabel poprzez zapytanie
Bardziej szczegółowoBazy danych 12. SQL Wyszukiwanie pełnotekstowe
Bazy danych 12. SQL Wyszukiwanie pełnotekstowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Wyszukiwanie pełnotekstowe Wyszukiwanie pełnotekstowe służy do wyszukiwania podanych
Bardziej szczegółowokoledzy, 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ół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ółowoBazy danych 7. Widoki i wyzwalacze. P. F. Góra
Bazy danych 7. Widoki i wyzwalacze P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela podstawowa
Bardziej szczegółowo2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1 Bazy Danych Instrukcja laboratoryjna Temat: Obsługa bazy danych za pomocą phpmyadmin oraz phppgadmin 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do phpmyadmin oraz phppgadmin
Bardziej szczegółowoI. 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ółowoInstalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads
Instalacja MySQL Baza MySQL tworzona jest przez Szwedzką firmę MySQL AB strona domowa projektu to: www.mysql.com Wersję bezpłatną (różniącą się od komercyjnej brakiem wsparcia technicznego, nośnika i podręcznika)
Bardziej szczegółowoJę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ół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ół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ółowoBazy danych 9. Klucze obce Transakcje
Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka
Bardziej szczegółowoWydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych
Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Nr ćwiczenia: 9 Praca z bazą danych MySQL wersja 2.0 Temat: Cel ćwiczenia:
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ółowoAplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37
Aplikacje bazodanowe Laboratorium 1 Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 1 / 37 Plan 1 Informacje wst pne 2 Przygotowanie ±rodowiska do pracy 3 Poj cie bazy danych 4 Relacyjne
Bardziej szczegółowoDECLARE VARIABLE zmienna1 typ danych; BEGIN
Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;
Bardziej szczegółowoJę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ół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ół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ół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ółowoSQL 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ółowoTworzenie 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ółowoPodyplomowe Studium Programowania i Baz Danych
Podyplomowe Studium Programowania i Baz Danych Wybrany system baz danych MySQL 15 godz. wykładu / 30 godz. laboratorium dr inż. Paweł Syty, 413GB, sylas@mif.pg.gda.pl, http://sylas.info Literatura P. DuBois,
Bardziej szczegółowoLAB2. Dalsze ćwiczenia z podstaw języka SQL (CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT)
LAB2. Dalsze ćwiczenia z podstaw języka SQL (CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT) 1. Uwagi wstępne W tym ćwiczeniu przećwiczymy raz jeszcze najważniejsze elementy języka SQL (ang. Structured
Bardziej szczegółowoZaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I
Wydział Informatyki Politechnika Białostocka Plan wykładu Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I 1. MySQL 2. Powtórzenie SQL WYKŁAD 2: MySQL: podstawowe obiekty Powtórzenie
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 tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z
Tworzenie tabeli Np. create table nazwa_tab( \\stworzenie tabeli Id numer(4) constraint PRAC_PK primary key, \\ustawiamy klucz podst. Nazwisko varchar2(30), \\typ tekstowy 30 znaków Kwota number(10,2)
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ół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ółowoAdministracja 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