Podstawy SQL.

Autor: Grzegorz Patynek

Data: 11-11-2018

Zarządzanie bazami danych. Baza danych, czym jest? O co chodzi z tym mysql, administracją bazą danych. Jak nauczyć się SQL? Na te pytania odpowiem w tym artykule. Baza danych jako byt, kojarzy nam się z danymi a hasło dzisiaj jest przereklamowane. Przecież wszędzie krążą teraz dane. Wysyłamy e-mail, imię, nazwisko. RODO – Ochrona danych osobowych. Są przepisy, że dane trzeba chronić, ale co to właściwie jest, z praktycznego punktu widzenia. Mysql, jest to program komputerowy. Na nośniku danych, czyli dysku, pendrive czy nawet w internecie na serwerze czy w chmurze, występuje taki element jak dysk. W nim zapisane są dane. Pamięć RAM, w telefonie komórkowym, tam też można składować dane. Są różne formy pamięci, dawniej były kasety, dyskietki, w latach osiemdziesiątych ludzie mieli kasety a na stare komputery na przykład commodore, dane były zapisane na kasetach. Tymi danymi są ciągi bitów i bajtów ale inna kwestia to zinterpretować te dane. To tak jak z sikaniem na kamienie przez psy. Człowiek widzi kasetę z danymi albo dysk a może też widzieć osikany kamień. I tak, komputery interpretują fragment danych na dysku i coś z nim robią. Na przykład wyświetlają nam coś na ekranie. Z kolei z kamieniem z sikami może się dziać tak, że Burek nasika i powie, że tutaj rządzi. Potem przyjdzie Azor i interpretuje ten kamień na swój sposób, dane na kamieniu pozostaną danymi. I tak każdy pies coś tam innego wywącha. W latach osiemdziesiątych, jako, że można było nagrywać w magnetofonach audycje radiowe i odsłuchiwać później, pewna stacja zrobiła coś następującego. Ogłosili, że dzisiaj będzie darmowa gra dla użytkowników, proszę wziąć tylko kasety i włączyć nagrywanie. I nadali sygnał z nagranej taśmy komputera commodore. I tak użytkownicy poprzez radio, mogli pobrać sobie program czyli tę grę.

Baza danych zarządza pewnym zbiorem danych, np. fragmentem, odcinkiem pamięci na dysku. Baza, jest to wyspecjalizowany program, który ma za zadanie skracać czas dostępu do wybranych punktów na danym odcinku. Tym punktem może być kolor włosów, numer dna, pesel czy cena krawatu. Baza, jak na przykład mysql, ma za zadanie pozwolić jej użytkownikowi pobrać te dane i przedstawić mu je, najczęściej w postaci tabel. Tabel, bo mówimy o relacyjnej bazie danych. Mysql jest relacyjną bazą danych. Jest teoria informatyczna stojąca za hasłem, że baza jest relacyjna. Proszę poszukać takich haseł, jak krotka, projekcja, rzutowanie.

Pracując z danymi w mysql, mamy zawsze zbiór tabel i proces tworzenia tych tabel, nazywamy projektowaniem bazy danych. Możemy podejść do tego w sposób taki, że mamy jakąś rzeczywistość albo proces biznesowy. Widzimy na przykład, że sprzedajemy jabłka na straganie i pomidory. Mamy dwa rodzaje jabłek i jeden pomidorów. Jabłka kosztują 4,50 zł za kilogram zielone i 3,50 za kilogram czerwono-zielone. Pomidory kosztują 7zł za kilogram. Chcemy zaprojektować bazę danych, tak aby móc stworzyć bazę danych w programie mysql ( albo access, albo inne ). No to tworzymy tabelę relacji. Nazwa, cena, rodzaj. I tak będziemy mieli przykładową tabelę:

antonówka4,50jabłko
polskie3jabłko
zwyczajne7pomidory

Mamy tabelę, z trzema wierszami. Możemy tworzyć więcej tabel ale ta jedna pozwoli nam na stworzenie i uzupełnianie bazy danych. A teraz, jak zapisać tworzenie takiej bazy danych w języku sql.

Create table produkty ( id int, nazwa varchar(300), cena double, rodzaj varchar(100));

Takim poleceniem języka sql, stworzymy tabelę o nazwie produkty, z nazwą typu varchar, czyli tekstowego, o maksymalnej długości 300 znaków ( liter i cyfr ), cena typu liczba rzeczywista ( double ). i rodzaj, typu varchar, czyli tekstowego do 100 znaków. Typ int, to integer, czyli liczba całkowita. Liczby całkowite to np. 2,3,4 a rzeczywiste to np. 1,2,34, 3,14, 23,555. w nawiasach w poleceniu widzimy kolumny tabeli. Jest dobrą praktyką aby przy każdej tabeli umieścić dodatkową kolumnę id, która jest kluczem pierwszym tabeli. Klucz pierwszy to wartość, która jest unikalna dla całego zbioru danych. Na przykład każdy obywatel ma numer pesel, który jednoznacznie identyfikuje go jako osobę. Każdy banknot ma numer seryjny, który identyfikuje ten banknot. To jest właśnie klucz pierwszy.

Mamy za sobą projektowanie tabeli, to teraz jeszcze dwa tematy. Odpytywanie danych a także przykład praktycznego silnika bazy danych.

Dwa darmowe narzędzia do zarządzania danymi to libre office base ( darmowy ). i mysql ( też darmowy, ale trzeba się zarejestrować ). mysql pozwala na dostęp do danych od strony m.in. skryptów programistycznych takich jak php, czy języków wysokiego poziomu jak java. W aplikacjach javascriptowych czy typescriptowych opartych na angular, mamy wbudowane silniki danych, które są trzymane w pamięci przeglądarki, a także możemy zrobić interfejs aby połączyć się przez api do bazy na serwerze – to rozwiązanie jest wydajniejsze, ponieważ serwer przetwarza dane a nie nasze klienckie urządzenie ( patrz architektura klient-serwer ).

Libre office Base, odpowiednik popularnego MS Access, ma możliwość tworzenia bazy danych i wpisywania danych i odpytywania, jednak słabo jeśli chodzi o sql. Polecam na początek zainstalować mysql oraz nakładkę graficzną na mysql. Coś w stylu mysql admin. Możemy też z mysql po zainstalowaniu połączyć się przez konsolę w windows czy terminal w linux.

Wpisujemy mysql -u root -p. Gdzie zapyta nas o hasło, na początku instalacji ustalamy hasło użytkownika root, a domyślne można wygooglować, jest to zdaje się admin albo pusty ciąg albo root.

Zapytania sql, najprostsze to select * from products
. Wybierze nam wszystkie produkty. Albo select nazwa, cena where cena < 5
. Wybierze nam nazwe i cenę, gdzie cena będzie mniejsza niż 5. Tutaj powinniśmy wpisać 5.0, jako, że wpisujemy liczbę typu rzeczywistego double, jednakże pieć zostanie przekonwertowane na double automatycznie przez silnik mysql. Używamy klauzuli where i select, select wybiera nam jakie dane prezentujemy a where określa co się w nich dzieje. I ten oto sposób, wyświetlimy takie dane:

antonówka4,50
polskie3

Prosiliśmy o dane o nazwie oraz cenie i dodatkowo cena ma być niższa niż 5. System bazodanowy, po tym poleceniu, sprawdza wszystkie wiersze tabeli wiersz po wierszu i patrzy, w którym cena jest niższa niż pięć. Jeśli jest – wrzuca go na listę. A prezentuje nam z tego worka wierszy tylko te, które spełniają te kryterium. Pozostałe są ignorowane. Wyświetlana jest tylko nazwa i cena, bo tak wybraliśmy w poleceniu select. Rodzaj jest pominięty.

Praktycznie każda aplikacja, instagram, facebook, google, sklepy internetowe, strony z cms, mają swoją baze danych. Znajomość tych zagadnień, pozwala na rozwiązywanie problemów związanych z danymi przy tych aplikacjach w otoczeniu biznesu, dzięki czemu oferowane są w polsce stanowiska pracy związane z administracją bazy danych a także znajomości sql w pracy. Przydatne jest chociażby zrozumienie podstawowej tematyki z sql. Możemy kontynuować dalszą naukę, lekcja po lekcji na przykład na darmowej stronie w3schools.

Link do kursu sql. Powrót do strony głównej

UIPG

Twój solidny partner w biznesie