My SQL Kamil Tomaszewski Czym jest My SQL
- Slides: 28
My. SQL Kamil Tomaszewski
Czym jest My. SQL? u My. SQL to jeden z najpopularniejszych, darmowych silników relacyjnych baz danych. My. SQL tworzony jest przez pojedynczy podmiot - szwedzką firmę My. SQL AB. [wikipedia. pl]
Konkurencyjne rozwiązania u Postgre. SQL u Microsoft SQL Server u Firebird u Oracle Początkowo opracowywany na Uniwersytecie Kalifornijskim Berkeley i opublikowany pod nazwą Postgres. W miarę rozwoju i zwiększania funkcjonalności, baza danych otrzymała nazwy Postgres 95 i ostatecznie Postgre. SQL, aby upamiętnić pierwowzór oraz zaznaczyć zgodność ze standardem SQL. komercyjny system zarządzania bazą danych, wspierany i rozpowszechniany przez korporację Microsoft. Jeden z trzech produktów bazodanowych firmy Microsoft, obok Access oraz ADP. MS SQL Server jest platformą bazodanową typu klient-serwer. W stosunku do programu Access odznacza się lepszą wydajnością, niezawodnością i skalowalnością. Przede wszystkim są tu zaimplementowane wszelkie mechanizmy wpływające na bezpieczeństwo operacji (m. in. wyzwalacze i transakcje). całkowicie darmowy serwer relacyjnych baz danych zgodny ze standardem ANSI SQL-92, oferujący również wiele elementów standardu SQL-99 oraz SQL: 2003, działający w środowisku systemu operacyjnego Linux, Windows i wielu innych. Może być używany bez rejestrowania lub wnoszenia jakichkolwiek opłat w dowolnych zastosowaniach, również komercyjnych. Relacyjna baza danych Oracle posługuje się standardowym językiem zapytań SQL oraz posiada wbudowane wewnętrzny język tworzenia procedur składowanych PL/SQL - będący proceduralnie obudowanym językiem SQL. Jako języka tworzenia procedur składowanych w bazach danych Oracle (od wersji 8 i) można używać również języka Java
Zasady licencjonowania u My. SQL jest dostępny na licencji GPL, jednakże można nabyć również wersje z licencjami zamkniętymi. Oznacza to, że My. SQL jest w pełni darmowy, jednak za wsparcie techniczne i pomoc trzeba już zapłacić. Istnieje jednak w internecie wiele darmowych manuali.
Co to jest RDBMS? u u Relational Data. Base Managament System (RDBMS, dosłownie system zarządzania relacyjną bazą danych) to zestaw programów służących do korzystania z bazy danych opartej na modelu relacyjnym. Większość wewnętrznych języków RDBMS jest w pewnym stopniu zgodna ze standardem języka zapytań SQL. Język ten doczekał się już dwóch standardów SQL 92 i SQL 99, jednak różnice pomiędzy teoretycznie SQL-owymi systemami są zbyt duże, żeby możliwe było przeniesienie nawet relatywnie prostej aplikacji z jednego systemu na drugi.
RDBMS a pliki jednorodne u Problemy związane ze stosowaniem plików jednorodnych: • Praca z dużym plikiem może być powolna. • Poszukiwanie konkretnego rekordu lub grupy rekordów w pliku jest trudne. • Problemy sprawia dostęp jednoczesny. • Aby wykonać jakieś operacje na danych konieczne jest wczytanie i przechowywanie w pamięci całego pliku. Przy dużych plikach może to sprawiać problemy. • Nie istnieje żadna prosta metoda tworzenia różnych poziomów dostępu do danych.
RDBMS a pliki jednorodne u Jak RDBMS rozwiązują te problemy? • Pozwalają na szybszy dostęp do danych niż pliki jednorodne. • Można zadawać zapytania o dane spełniające konkretne kryteria. • Posiadają wbudowany mechanizm zapewniania równoległego dostępu, który pozostaje poza kręgiem programisty. • Pozwalają na swobodny dostęp do danych. • Mają wbudowany system przywilejów.
Koncepcje relacyjnych baz danych Relacyjne bazy danych są obecnie najczęściej wykorzystywanym typem baz danych. Opierają się one na teoretycznych podstawach algebry relacyjnej. u Relacyjne bazy danych składają się z relacji, zwanych zazwyczaj tabelami. Tabela jest dokładnie tym co oznacza – tabelą danych. u
Koncepcje relacyjnych baz danych KLIENCI Nazwisko Adres Miejscowosc Nowak Anna Wierzbowa 25 Warszawa Kowalski Adam Szeroka 1/47 Oborniki Pawlak Julia Zachodnia 357 Gliwice
Koncepcje relacyjnych baz danych Nazwa tabeli KLIENCI Nazwisko Adres Miejscowosc Nowak Anna Wierzbowa 25 Warszawa Kowalski Adam Szeroka 1/47 Oborniki Pawlak Julia Zachodnia 357 Gliwice
Koncepcje relacyjnych baz danych Każda kolumna tabeli posiada wyróżniającą ją nazwę i zawiera inny rodzaj danych. KLIENCI Każdej kolumnie przypisany jest typ danych. Kolumny Nazwisko, Adres i Miejscowosc zawierają ciągi znaków – są typu string. Nazwisko Adres Miejscowosc Nowak Anna Wierzbowa 25 Warszawa Kowalski Adam Szeroka 1/47 Oborniki Pawlak Julia Zachodnia 357 Gliwice
Koncepcje relacyjnych baz danych Klucze Konieczne jest znalezienie sposobu jednoznacznej identyfikacji każdego klienta. Rozpatrzmy przykład Anny Nowak. KLIENCI Nazwisko Adres Miejscowosc Nowak Anna Wierzbowa 25 Warszawa Kowalski Adam Szeroka 1/47 Oborniki Pawlak Julia Zachodnia 357 Gliwice Jak jednoznacznie stwierdzić, że chodzi o tę właśnie Annę Nowak?
Koncepcje relacyjnych baz danych Klucze Konieczne jest znalezienie sposobu jednoznacznej identyfikacji każdego klienta. Rozpatrzmy przykład Anny Nowak. KLIENCI Klient. ID Nazwisko Adres Miejscowosc 1 Nowak Anna Wierzbowa 25 Warszawa 2 Kowalski Adam Szeroka 1/47 Oborniki 3 Pawlak Julia Zachodnia 357 Gliwice Dodana została kolumna Klient. ID umożliwiająca jednoznaczne zidentyfikowanie Anny Nowak. Pole identyfikujące poszczególne rekordy nazywane jest kluczem lub kluczem podstawowym. Klucz może składać się z kilku pól – np. Julia Nowak z ulicy Wierzbowej 25 w Warszawie, wtedy klucz składałby się z pól Nazwisko, Adres i Miejscowosc, co jednak nie gwarantowałoby unikalności.
Koncepcje relacyjnych baz danych KLIENCI Klient. ID Nazwisko Adres Miejscowosc 1 Nowak Anna Wierzbowa 25 Warszawa 2 Kowalski Adam Szeroka 1/47 Oborniki 3 Pawlak Julia Zachodnia 357 Gliwice RELACJA: Każde zamówienie w tabeli Zamowienia zawiera odwołanie do klienta z tabeli Klienci ZAMOWIENIA Zamowienie. ID Klient. ID Wartosc Data 1 3 27. 50 25. 11. 2005 2 1 12. 99 31. 09. 2005 3 2 74. 00 1. 01. 2004
Koncepcje relacyjnych baz danych Zamowienie. ID Wartosc Data Klient. ID Nazwisko Adres Miejscowosc 13 227. 50 29. 01. 2004 1 Nowak Anna Wierzbowa 25 Warszawa 15 112. 99 12. 11. 2005 1 Nowak Anna Wierzbowa 25 Warszawa 17 174. 00 13. 12. 2005 1 Nowak Anna Wierzbowa 25 Warszawa
Koncepcje relacyjnych baz danych Zamowienie. ID Wartosc Data Klient. ID Nazwisko Adres Miejscowosc 13 227. 50 29. 01. 2004 1 Nowak Anna Wierzbowa 25 Warszawa 15 112. 99 12. 11. 2005 1 Nowak Anna Wierzbowa 25 Warszawa 17 174. 00 13. 12. 2005 1 Nowak Anna Wierzbowa 25 Warszawa • marnotrawstwo pamięci • niespójność danych
SQL u u u SQL (ang. Structured Query Language) to strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi zarządzania bazą danych DBMS. Jest to język programowania opracowany w latach siedemdziesiątych w firmie IBM. Stał się on standardem w komunikacji z serwerami relacyjnych baz danych. Wiele współczesnych systemów relacyjnych baz danych używa do komunikacji z użytkownikiem SQL, dlatego mówi się, że korzystanie z relacyjnych baz danych, to korzystanie z SQL-a. Pierwszą firmą, która włączyła SQL do swojego produktu komercyjnego, był Oracle. Dalsze wprowadzanie SQL-a, w produktach innych firm, wiązało się nierozłącznie z wprowadzaniem modyfikacji pierwotnego języka. Wkrótce utrzymanie dalszej jednolitości języka wymagało wprowadzenia standardu.
SQL Użycie SQL, zgodnie z jego nazwą, polega na zadawaniu zapytań do bazy danych. Zapytania można zaliczyć do jednego z dwóch głównych podzbiorów: u u SQL DML (ang. Data Manipulation Language, czyli Język Manipulacji Danymi), SQL DDL (ang. Data Definition Language, czyli Język Definicji Danych). Instrukcje SQL w obrębie zapytań tradycyjnie zapisywane są wielkimi literami, jednak nie jest to wymóg. Każde zapytanie w SQL-u musi kończyć się znakiem "; " (średnik). Dodatkowo, niektóre interpretery SQL (np. psql w przypadku Postgre. SQL), używają swoich własnych instrukcji, spoza standardu SQL, które służą np. do połączenia się z bazą, wyświetlenia dokumentacji, itp.
SQL u DML służy do operacji na danych - do ich umieszczania w bazie, kasowania, przeglądania, zmiany. Najważniejsze polecenia z tego zbioru to: • • SELECT - pobranie z bazy danych, INSERT - umieszczenie danych w bazie, UPDATE - zmiana danych, DELETE - usunięcie danych z bazy. Dane tekstowe podawane muszą być zawsze w formie ograniczonej znakami pojedynczego cudzysłowu (').
SQL PRZYKŁAD SELECT * FROM pracownicy WHERE pensja > 2000 ORDER BY staz DESC; Wyświetla z tabeli pracownicy (FROM pracownicy) wszystkie kolumny (*) dotyczące tych pracowników, których pensja jest większa niż 2000 (WHERE pensja > 2000) i sortuje wynik malejąco według stażu pracy (ORDER BY staz DESC).
SQL PRACOWNICY Imię Nazwisko Pensja Staż Jan Kowalski 800 1 Marek Stachowiak 2100 2 Krzysztof Zieliński 5000 3 SELECT * FROM pracownicy
SQL PRACOWNICY Imię Nazwisko Pensja Staż Jan Kowalski 800 1 Marek Stachowiak 2100 2 Krzysztof Zieliński 5000 3 SELECT * FROM pracownicy WHERE pensja > 2000
SQL PRACOWNICY Imię Nazwisko Pensja Staż Jan Kowalski 800 1 Marek Stachowiak 2100 2 Krzysztof Zieliński 5000 3 SELECT * FROM pracownicy WHERE pensja > 2000 ORDER BY staz DESC;
SQL EFEKT KOŃCOWY PRACOWNICY Krzysztof Zieliński 5000 3 Marek Stachowiak 2100 2 SELECT * FROM pracownicy WHERE pensja > 2000 ORDER BY staz DESC;
SQL u DDL Dzięki DDL natomiast, można operować na strukturach, w których te dane są przechowywane - czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy to: • CREATE (np. CREATE TABLE, CREATE DATABASE, . . . ) - utworzenie struktury (bazy, tabeli, indeksu, itp. ), • DROP (np. DROP TABLE, DROP DATABASE, . . . ) - całkowite usunięcie struktury, • ALTER (np. ALTER TABLE ADD COLUMN. . . ) - zmiana struktury (dodanie kolumny do tabeli, zmiana typu danych w kolumnie tabeli).
SQL PRZYKŁAD INSERT INTO pracownicy (imie, nazwisko, pensja, staz) VALUES ('Jan', 'Kowalski', 5500, 1); Dodaje do tabeli pracownicy (INTO pracownicy) wiersz (rekord) zawierający dane pojedynczego pracownika.
My. SQL Zalogowanie się >mysql –h nazwa_komputera –u identyfikator_uzytkownika –p -h – wskazanie komputera, do którego ma nastąpić połączenie. -u – wskazanie identyfikatora użytkownika -p – informuje o logowaniu z użyciem hasła Wskazanie bazy danych, która zostanie wykorzystana >mysql use nazwa_bazy Przykładowy kod SQL tworzący tabelę klienci Create table klienci ( klientid int unsigned not null auto_increment primary key, nazwisko char(30) not null, adres char(40) not null, miejscowosc char(20) not null );
Przydatne linki, literatura Linki: http: //www. mysql. com http: //webdeveloper. pl/manual_mysql/show. php? str=manual_toc_pl. html http: //www. krasnal. tk/ Literatura: PHP i My. SQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie trzecie Autorzy: Luke Welling, Laura Thomson
- Alex tomaszewski
- Czym miłość nie jest
- Sumitować
- Konspekt a scenariusz
- Mol
- Autoprezentacja co to
- Czym jest rytm
- Czym jest poezja która nie ocala narodów ani ludzi
- Komunikacja niewerbalna definicja
- Czym miłość nie jest
- Czym jest motywacja
- Czym jest sakrament pokuty
- Aromaterapia czym jest
- Rozpoczęcie roku liturgicznego
- Historia powstania unii europejskiej
- Czym jest komunikacja
- Opis darów ducha świętego
- Co to jest niebo
- Uamki
- Portfolio co to jest
- Obliczenia do 10
- Cecha krajów o odmiennej kulturze
- Komunikacja co to
- Schemat działania komputera
- Jak powstaje efekt cieplarniany
- Silnia rekurencyjnie
- Miraż dolny zdjęcia
- Ruah co to znaczy
- Ergonomia koncepcyjna