• Nie Znaleziono Wyników

$db = mysql_connect ("adres", "użytkownik", "hasło") ;

N/A
N/A
Protected

Academic year: 2021

Share "$db = mysql_connect ("adres", "użytkownik", "hasło") ;"

Copied!
8
0
0

Pełen tekst

(1)

1 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ę do wydawania tych samych lub podobnych komend tzw. zapytań SQL. Język SQL został zaimplementowany w większości relacyjnych systemów baz danych takich jak: DB2, Oracle, InterBase, MySQL, dBase, Paradox.

Składnię języka SQL można podzielić na trzy części:

• język definiowania struktur danych - DDL (Data Definition Language} - jest wykorzystywany do wszelkiego rodzaju operacji na tabelach, takich jak: tworzenie, modyfikacja oraz usuwanie,

• język do wybierania i manipulowania danymi - DML (Data Manipulation Language) - służy do manipulowania danymi umieszczonymi w tabelach, pozwala na wstawienie danych, ich prezentację, modyfikowanie oraz usuwanie,

• język do zapewnienia bezpieczeństwa dostępu do danych - DCL (Data Contro/Language) - jest używany głównie przez administratorów systemu baz danych do nadawania odpowiednich uprawnień do korzystania z bazy danych.

Relacyjny system baz danych przechowuje wszystkie dane w tabelach. Każda tabela zawiera dane na konkretny temat, np.

dane o klientach, pracownikach, towarach itp. System bazy danych zarządza tymi informacjami, pozwala m.in. na szybsze ich wyszukiwanie i zorganizowanie.

Za każdym razem, kiedy potrzebujesz informacji z bazy danych, musisz "zapytać" system bazy danych w zrozumiałym dla niego języku. Tym językiem jest SQL.

MySQL jest najpopularniejszym darmowym systemem obsługi baz danych rozpowszechnianym na zasadach licencji GPL (General Public License), Jego nowatorska budowa pozwoliła na stworzenie niezwykle szybkiego i niezawodnego serwera obsługującego bazy danych.

Aby połączyć się z serwerem baz danych potrzebujesz specjalnego programu tzw. klienta lub języka skryptowego (umieszczanego na serwerach WWW), który posiada wbudowaną obsługę baz danych. Przykładem programu klienckiego może być opisywany wcześniej MySQL-Front lub oprogramowanie dostarczane łącznie z pakietem MySQL. Najczęstszym jednak sposobem korzystania z bazy danych jest połączenie wywoływane z wnętrza skryptu.

W sieci home.pl połączenie z bazą MySQL można uzyskać z poziomu skryptów PHP i Perl oraz kompilowanych CGI. W każdym przypadku w celu połączenia się z serwerem baz danych należy podać jego nazwę (adres domenowy lub adres IP), nazwę użytkownika oraz hasło. Funkcja języka PHP, nawiązująca połączenie z serwerem MySQL, wygląda następująco:

$db = mysql_connect ("adres", "użytkownik", "hasło") ;

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

mysql_select_db ("baza");

Po poprawnym połączeniu się z bazą danych możesz przystąpić do wydawania poleceń języka SQL. Funkcję PHP wysyłającą zapylanie SQL do serwera wywołuje się następująco:

mysql_query ("zapytanie_SQL") ;

Po zakończonej pracy z bazą danych należy użyć funkcji:

mysql_close ($db);

Tabele zawierają pola, które określają jakie dane będzie zawierał pojedynczy rekord (inaczej: wiersz). Jeśli chcesz utworzyć tabelę przechowującą dane o pracownikach trafią do niej pola typu imię, nazwisko, data_urodzenia, płaca. Jeden z rekordów będzie wyglądał następująco: 'Jan', 'Kowalski', '2002-07-20', '1200.00'. Już na pierwszy rzut oka widać, że podane dane są różnego typu. Imię i nazwiskoto dane tekstowe, data_urodzenia to pole zawierające w sobie datę, płaca reprezentuje dane liczbowe.

Do utworzenia bazy danych służy polecenie SQL CREATE DATABASE:

CREATE DATABASE nazwa_bazy;

Jako nazwę bazy wpisz pracownicy_nazwisko (wpisz swoje nazwisko bez polskich liter).

CREATE DATABASE pracownicy_kowalski;

(2)

2 Następnie trzeba wejść do utworzonej bazy danych (uczynić ja aktywną). Służy do tego polecenie SQL USE:

USE pracownicy_kowalski;

Do utworzenia tabeli służy polecenie SQL CREATE TABLE:

CREATE TABLE nazwa_tabeli struktura_tabeli;

Każda tabela powinna posiadać swoją nazwę. Definiujesz ją w miejscu nazwa_tabeli. W miejsce struktura_tabeli wstawiasz dokładną specyfikację poszczególnych pól, jakie powinna zawierać tabela. Polecenie SQL dla przykładu podanego wyżej będzie wyglądać następująco:

CREATE TABLE pracownicy (

imię VARCHAR(30), nazwisko VARCHAR(30), data_urodzenia DATE, placa DECIMAL(7,2) );

Powyższe polecenie utworzy tabelę pracownicy onastępującej strukturze:

Field Type Null Key Default Extra

imie nazwisko

data_urodzenia placa

varchar(30) varchar(30) date

decimal(7,2)

YES YES YES YES

NULL NULL NULL NULL

Po każdej nazwie pola następuje definicja typu danych, jakie będzie ono zawierało. Spis wszystkich możliwych do użycia w MySQL typów danych znajduje się w osobnym artykule.

Istnieje możliwość określenia wartości standardowej, jakie przyjmie każde nowe pole w momencie, kiedy nie zostanie wypełnione innymi danymi. Wartości standardowe podaje się dla każdego pola po słowie kluczowym DEFAULT zaraz po definicji typu. Polecenie tworzące tę samą tabelę jednak z definicją wartości standardowych dla niektórych pól (data_urodzenia

=> 1950-01-01' i płaca => '1000.00') będzie wyglądać następująco:

CREATE TABLE pracownicy (

imię VARCHAR(30), nazwisko VARCHAR(30),

data_urodzenia DATE DEFAULT '1950-01-01', placa DECIMAL(7,2) DEFAULT '1000.00'

);

Tabela pracownicy będzie wówczas wyglądać:

Field Type Null Key Default Extra

imie nazwisko

data_urodzenia placa

varchar(30) varchar(30) date

decimal(7,2)

YES YES YES YES

NULL NULL

1950-01-01 1000,00

(3)

3

Typy danych Przechowywane wartości

TINYINT 1-bajtowe pole, przechowujące wartości całkowite bez znaku z przedziału od O do 255 lub ze znakiem z przedziału od -127 do 127.

SMALLINT 2-bajtowa wartość całkowita. Zakres wartości bez znaku od 0 do 65 535 lub ze znakiem od -32 768 do 32 768.

MWDIUMINT 3-bajtowa wartość całkowita. Zakres wartości od O do 16 777 215 lub ze znakiem od -8 388 608 do 8 388 608.

INT 4-bajtowa wartość całkowita. Zakres wartości ze znakiem od -2 147 483 648 do 2 147 483 647 lub be£znaku od O do 4 294 967 295.

BIGINT 8-bajtowa wartość całkowita. Typ BIGINT jest używany podczas

przeprowadzania obliczeń. Stosując pola tego typu we własnej bazie danych należy uważać, aby ich wartości nie były zbyt duże, ponieważ użyte w obliczeniach mogą doprowadzić do błędu przepełnienia.

FLOAT(dokładność) Liczba zmiennoprzecinkowa z precyzją wyrażaną liczbą bajtów. Dwie wartości akceptowane jako precyzja to 4 i 8. Użycie 4 tworzy liczbę zmiennoprzecinkową o pojedynczej precyzji, natomiast 8 - liczbę zmiennoprzecinkową o podwójnej lii precyzji. Szczegóły dotyczące tych dwóch typów danych opisują pola FLOAT i DOUBLE.

FLOAT 4-bajtowa liczba zmiennoprzecinkową z zakresu od -1.402823466E+38 do -1.175494351E-38, 0 i 1.175494351E-38 do 3.402823466E+38.

DOUBLE 8-bajtowa liczba zmiennoprzecinkową przechowująca wartości z zakresu od - 1.7976931348623157E+308 do -2.2250738585072014E-308, 0, i

2.2250738585072014E-308 do 1.7976931348623157E+308.

DECIMAL Polezmiennoprzecinkowe o takiejsamejpojemnościjakDOUBLE. Liczba, zamiastzostaćzredukowanadopostaciszesnastkowej, pamiętanajest w formacieznakowym.

DATE Data (bez czasu), wyświetlana w formacie RRRR-MM-DD. Akceptuje

daty w różnych formatach z zakresu od 1000-01-01 do 9999-12-31.

DATETIME Pole daty z czasem dnia wyświetlane według formatu RRRR-MM-DD GG:MM:SS. Może przechowywać wartości z zakresu od 1000-01-0100:00:00 do 9999-12-31 23:59:59.

TIMESTAMP Data i czas liczony od początku epoki systemu UNIX, 1970-01-0100:00:00, do momentu kiedy 32-bitowe pole przechowujące liczbę sekund, jaka upłynęła od tej daty ulegnie przepełnieniu w roku 2037. Jeśli polu temu nie została nadana wartość przez wyrażenie INSERT lub UPDATE, domyślnie otrzyma ono wartość daty bieżącej.

TIME Czas mieszczący się w przedziale od -838:59:59 do 838:59:59.

YEAR Rok. Dozwolone wartości to przedział od 1901 do 2155 oraz wartość 0000.

MySQL wyświetla wartość typu YEAR w formacie RRRR.

CHAR Pole znakowe o stałej długości z zakresu od 1 do 255 bajtów. Po wstawieniu wartości puste miejsca pola CHAR SA uzupełniane z prawej strony spacjami.

VARCHAR Pole znakowe o zmiennej długości z zakresu od 1 do 255 bajtów.

Zajmowany jest jedynie taki obszar pamięci, jakiego wymaga wartość wstawiona w to pole.

TINBLOB, TINYTEXT Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 255 bajtów.

BLOB, TEXT Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 65 535 bajtów.

MEDIUMBLOB, MEDIUMTEXT Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 16 777 215 bajtów.

LONGBLOB, LONGTEXT Kolumna binarna lub tekstowa o rozmiarze nie przekraczającym 4 294 967 295 bajtów.

ENUM(‘eleme’, ‘elem2’, …) Kolumna łańcuchowa, która może zawierać jedną z wartości wymienionych na liście wartości w definicji tej kolumny.

SET(‘eleme’, ‘elem2’, …) Kolumna łańcuchowa, która może zawierać dowolną liczbę wartości spośród wartości występujących na liście w definicji tej kolumny.

(4)

4 Po utworzeniu tabeli należy wypełnić ją danymi. Służy do tego polecenie INSERT. Polecenie SQL dla przykładu będzie wyglądać następująco:

INSERT INTO pracownicy VALUES ('Jan', 'Kowalski', '2002-07-20', '1200.00');

Powyższe polecenie wstawi pojedynczy rekord do tabeli pracownicy. Aby wstawić kolejne rekordy należy ponowić powyższe zapytanie używając nowych danych:

INSERT INTO pracownicy VALUES ('Aleksander', 'Borowiecki', '1952-08-06', '1500.50');

INSERT INTO pracownicy VALUES ('Aniela', 'Michałkowska', '1970-05-23', '900.00');

INSERT INTO pracownicy VALUES ('Katarzyna', 'Kowalska', '2002-07-02', '1200.00');

Polecenia INSERT można użyć także w innej formie. Za nazwą tabeli można wyspecyfikować listę pól, które będziesz wypełniać danymi. Pozostałe pola przyjmą puste lub standardowe wartości. Zapytanie z wyspecyfikowaną listą pól wygląda następująco:

INSERT INTO pracownicy (imię, nazwisko) VALUES ('Izabela', 'Kwiatkowska');

Powyższa składnia polecenia jest szczególnie przydatna gdy tabela posiada wiele kolumn, a nie chcesz w danym momencie podawać wszystkich danych dla pojedynczego rekordu lub satysfakcjonują Cię ustawione wcześniej wartości standardowe.

Poleceniem INSERT można wstawiać nowe dane do istniejącej tabeli. Do modyfikacji danych już wcześniej umieszczonych w tabeli służy polcenie UPDATE. Jego składnia jest następująca:

UPDATE nazwa_tabeli SET nazwa_pola='nowa_wartość';

Po słowie kluczowym SET podaj kolejno (po przecinku) nazwy kolumn wraz z nowymi wartościami, jakie powinny przyjąć.

Po wydaniu poniższego polecenia:

UPDATEpracownicySET imie='Zofia' ; wszystkierekordy w poluimiebędąmiaływartość'Zofia':

imie nazwisko data_urodzenia placa

Zofia Zofia Zofia Zofia Zofia

Kowalski Kwiatkowska Borowiecki Michałowska Kowalska

2002-07-20 NULL

1952-08-06 1970-05-23 2002-07-02

1200.00 NULL 1500.50 900.00 1200.00

Nie jest to najczęściej pożądana sytuacja. Zazwyczaj chcesz zmienić dane dotyczące tylko jednego lub wybranych rekordów.

Do określenia czego ma dotyczyć zmiana służy klauzula WHERE podawana na końcu polecenia UPDATE.

W celu zmiany imienia tylko dla Izabeli Kwiatkowskiej polecenie UPDATE będzie wyglądać następująco:

UPDATE pracownicy SET imie='Zofia' WHERE nazwisko='Kwiatkowska';

Aby pobrać dane zapisane w tabeli należy użyć zapytania SELECT. Jego postać ogólna prezentuje się następująco:

SELECT co zaprezentować FROM nazwa tabeli [WHERE warunki wyszukiwania]

[ORDER BY sortowanie [ASC | DESC] , . . . ] [LIMIT [ofset,] ilość_wierszy];

W miejscu co_zaprezentować podaj (po przecinku) listę kolumn, które chcesz zawrzeć w zestawieniu. W miejscu nazwa_tabeli podaj nazwę tabeli, z której pobierzesz dane. Wybierając trzy kolumny do zestawienia z tabeli pracownicy napiszesz następująco:

SELECT imię, nazwisko, placa FROM pracownicy;

(5)

5 Spowoduje to wyświetlenie wszystkich rekordów, jednak w zestawieniu zostaną zaprezentowane jedynie wartości trzech pól:

imię, nazwisko i płaca:

imie nazwisko placa

Jan Izabela Aleksander Aniela Katarzyna

Kowalski Kwiatkowska Borowiecki Michałowska Kowalska

1200.00 NULL 1500.50 900.00 1200.00

Aby w zestawieniu umieścić wszystkie pola można użyć w miejscu co_zaprezentować znaku '*' (gwiazdki):

SELECT * FROM pracownicy;

Zostaną wówczas wyświetlone wszystkie rekordy znajdujące się w tabeli:

imie nazwisko data_urodzenia placa

Jan Izabela Aleksander Aniela Katarzyna

Kowalski Kwiatkowska Borowiecki Michałowska Kowalska

2002-07-20 NULL

1952-08-06 1970-05-23 2002-07-02

1200.00 NULL 1500.50 900.00 1200.00

Dzięki klauzuli WHERE jesteś w stanie wpłynąć na zakres prezentowanych danych. Dzięki niej możesz dokładnie definiować co chcesz uzyskać swoim zapytaniem. Specyfikując dokładne warunki wyszukiwania można z tabeli zawierającej setki tysięcy rekordów wybrać tylko kilka interesujących w danym momencie Informacji.

Klauzulę WHERE stosuje się najczęściej w poleceniu SELECT. Ma ona jednak zastosowanie także w innych poleceniach operujących na danych takich jak UPDATE, DELETE itp.

Stosując operatory przyrównania możesz dokładnie określić, jakie informacje chcesz pobrać. Dozwolone w MySQL operatory przyrównania to:

=

równe

>

większe

>=

większe równe

< mniejsze

<= mniejsze równe

<>

lub

!=

różne

LIKE

służy głównie do porównywania danych łańcuchowych

Przykłady zastosowania:

SELECT * FROM pracownicy WHERE płaca >= 1000;

Spowoduje wyświetlenie listy pracowników, których płaca jest większa lub równa 1000:

imie nazwisko data_urodzenia placa

Jan

Aleksander Katarzyna

Kowalski Borowiecki Kowalska

2002-07-20 1952-08-06 2002-07-02

1200.00 1500.50 1200.00

(6)

6 SELECT imię, nazwisko, placa FROM pracownicy WHERE nazwisko = ' Ko wals ki';

Spowoduje wyświetlenie danych (tylko imię, nazwisko i płaca) wszystkich pracowników, których nazwisko brzmi dokładnie Kowalski:

imie nazwisko placa

Jan Kowalski 1200.00

SELECT * FROM pracownicy WHERE nazwisko LIKE ' K% ' ;

Spowoduje wyświetlenie wszystkich pracowników, których nazwisko rozpoczyna się na literę 'K':

imie nazwisko data_urodzenia placa

Jan Izabela Katarzyna

Kowalski Kwiatkowska Kowalska

2002-07-20 NULL

2002-07-02

1200.00 NULL 1200.00

Dzięki zastosowaniu znaków globalnych (% i _) istnieje możliwość przyrównania do dowolnego ciągu znaków. Znak '%' (procent) zastępuje dowolną ilość znaków. Znak '_' (podkreślenie) zastępuje dokładnie jeden znak. Zapytanie:

SELECT imię, nazwisko FROM pracownicy WHERE nazwisko LIKE 'Kowalsk_';

spowoduje wyświetlenie wszystkich pracowników, których nazwisko zaczyna się ciągiem znaków 'Kowalsk' i zaraz po nim występuje jeden dowolny znak:

imie nazwisko

Jan

Katarzyna

Kowalski Kowalska

Warunki wyboru podawane za WHERE można łączyć ze sobą stosując operatory AND oraz OR. Dzięki temu istnieje możliwość zbudowania zapytania bardziej złożonego, a co za tym idzie bardziej dokładnego. W momencie zastosowania operatora AND wszystkie połączone tak warunki muszą zostać spełnione, aby w wyniku pojawił się dany rekord. Jeśli zastosujesz do połączenia warunków operator OR - wówczas może zostać spełniony tylko jeden z warunków wchodzących w skład zapytania. Wydając zapytanie:

SELECT * FROM pracownicy WHERE (płaca > 500 AND płaca < 1000) OR nazwisko='Kowalski';

spowodujesz wyświetlenie w wyniku wszystkich pracowników, których płaca mieści się w zakresie 500-1000 oraz pracowników o nazwisku 'Kowalski':

imie nazwisko data_urodzenia placa

Jan Aniela

Kowalski Michałowska

2002-07-20 1970-05-23

1200.00 900.00

Dane w tabeli mogą być przechowywane w dowolnej kolejności. Możesz jednak spowodować ich pobranie w ściśle określonym porządku. Kolumny, według których MySQL ma posortować dane podaje się po klauzuli ORDER BY oddzielone przecinkami.

Chcąc więc uszeregować listę pracowników rosnąco według nazwiska i malejąco według płacy wpiszesz następujące polecenie:

SELECT * FROM pracownicy ORDER BY nazwisko ASC, płaca DESC;

ASC oznacza sortowanie rosnąco według podanego pola, DESC natomiast oznacza sortowanie malejące:

(7)

7

imie nazwisko data_urodzenia placa

Aleksander Katarzyna Jan

Izabela Aniela

Borowiecki Kowalska Kowalski Kwiatkowska Michałowska

1952-08-06 2002-07-02 2002-07-20 NULL

1970-05-23

1500.50 1200.00 1200.00 NULL 900.00

Używając klauzuli LIMIT spowodujesz wyświetlenie jedynie części rekordów. Aby pobrać dwa pierwsze rekordy napisz:

SELECT * FROM pracownicy LIMIT 2;

W wyniku otrzymasz:

imie nazwisko data_urodzenia placa

Jan Izabela

Kowalski Kwiatkowska

2002-07-20 NULL

1200.00 NULL

Wypełniając pole ofset wyświetlisz podaną ilość rekordów od pewnego miejsca w tabeli. Chcąc pobrać rekordy od 3 do 7 napisz następująco:

SELECT * FROM pracownicy LIMIT 2, 5;

Spowoduje to wyświetlenie pięciu rekordów (o ile tyle Istnieje w bazie) poczynając od rekordu trzeciego:

imie nazwisko data_urodzenia placa

Aleksander Aniela Katarzyna

Borowiecki Michałowska Kowalska

1952-08-06 1970-05-23 2002-07-02

1500.50 900.00 1200.00

MySQL pozwala na połączenie ze sobą wielu opcji, dzięki którym można bardzo dokładnie zawęzić poszukiwaną ilość informacji.

Przykład bardziej złożonego zapytania można przedstawić następująco:

SELECT imię, nazwisko, placa FROM pracownicy WHERE placa >= 500 AND placa < 1200

ORDER BY nazwisko LIMIT 5;

Powyższe zapytanie spowoduje wygenerowanie następującego zestawienia:

imie nazwisko placa

Aniela Michałowska 900.00

Jak widać połączono w tym momencie warunek wyboru według płacy pomiędzy 500 a 1200 z sortowaniem danych według nazwiska i ograniczeniem wyniku tylko do pięciu pierwszych rekordów.

Do usunięcia danych z tabeli służy polecenie DELETE. Aby usunąć wszystkie dane z tabeli należy wydać polecenie:

DELETE FROM nazwa_tabeli;

Można użyć także opisywanego już wcześniej warunku wyboru, dzięki któremu wyspecyfikujesz dane przeznaczone do usunięcia. Aby usunąć z przykładowej tabeli pracownicy wszystkie rekordy, w których płaca jest wyższa od 1000 należy wydać następujące polecenie:

DELETE FROM pracownicy WHERE placa > 1000;

(8)

8 Do modyfikacji struktury tabeli służy polecenie ALTER TABLE. Zmodyfikowanie struktury tabeli zawierającej już jakieś dane spowoduje próbę podporządkowania istniejących danych nowemu formatowi. Dzięki temu poleceniu można dodawać, modyfikować, usuwać pola oraz manipulować indeksami. Ogólna postać polecenia przedstawia się następująco:

ALTER TABLE nazwa_tabeli specyfikacja_struktury;

W miejsce specyflkacja_struktury podajesz dokładną operację, jaką chcesz wykonać na danej tabeli. Aby dodać kolejne pole do istniejącej tabeli należy użyć polecenia:

ALTER TABLE pracownicy ADD rozmiar_buta CHAR(2);

Spowoduje to dodanie jednego pola o nazwie rozmiar_buta na końcu struktury tabeli.

Aby zmienić typ jednego konkretnego pola użyj polecenia:

ALTER TABLEpracownicy MODIFYrozmiar_buta INT;

Aby usunąć konkretne pole ze struktury tabeli należy użyć polecenia:

ALTER TABLE pracownicy DROP rozmiar

_

buta

;

Zmiana nazwy tabeli przedstawia się następująco:

ALTER TABLE pracownicy RENAME zatrudnieni;

Do usunięcia tabeli służy proste polecenie:

DROP TABLE nazwa_tabeli;

Spowoduje to usunięcie tabeli wraz ze wszystkimi umieszczonymi w niej danymi.

Indeksy, w dużym uproszczeniu, powodują przyśpieszenie operacji wyszukiwania wykonywanych na bardzo dużych tabelach.

Jeśli Twoje tabele mają więcej niż 100 rekordów zastanów się nad założeniem odpowiednich indeksów.

W indeksach system bazy danych zapisuje wewnętrzne przyporządkowania bloków danych do odpowiednich rekordów, dzięki czemu operacja wyszukiwania sprowadza się do przeszukania indeksu, a nie całej tabeli.

Indeks należy zakładać dla pól, według których najczęściej jest wykonywane wyszukiwanie.

Modyfikacja indeksów przebiega w podobny sposób do modyfikacji struktury tabeli. Dodanie indeksu na polu nazwisko będzie wyglądało następująco:

ALTER TABLE pracownicy ADD INDEX nazwisko_idx (nazwisko);

Spowoduje to utworzenie indeksu o nazwie nazwisko_idx opartego na kolumnie nazwisko.

Usunięcie indeksu odbywa się za pomocą polecenia:

ALTER TABLE DROP INDEX nazwisko_idx;

Cytaty

Powiązane dokumenty

zawartości siarki dla olejów oraz rodzajów instalacji i warunków, w których będą stosowane ciężkie oleje opałowe określone w Rozporządzeniu Ministra Gospodarki z dnia 4

pozwolą im działać, interesując się głównie rezultatem końcowym; brak zaufania ze strony przełożonego co do sposobu wykonania pracy mogą trak- tować jako podważenie

The art of performance existed long before the Internet, while meet- ing the performer (planned or spontaneous) was, as seemed obvious then, live, with the audience – time and

Dla mnie jest ważne to, jakich artysta używa środków i jakie są jego pobudki… Nadal ważny jest dla mnie warsztat artysty, jego wiedza, wraż- liwość, biegłość,

--usunięcie z tabeli ksiazki kolumny autor i dodaj kolumnę id_autora typu int ALTER TABLE ksiazki DROP COLUMN autor;.. ALTER TABLE książki ADD

Wykaz zajęć/grup zajęć i godzin zajęć prowadzonych na ocenianym kierunku przez nauczyciela akademickiego lub inną osobę w roku akademickim, w którym przeprowadzana

W odniesieniu do świadomego nadawania nazwy i wybierania miejsca zapi- su dokumentu – wyższa punktacja w fi rmach wskazuje, naszym zdaniem, na istniejące mechanizmy

W przypadku członków korpusu służby cywilnej niezbędne jest wyodrębnienie pracowników urzędów i izb skarbowych, urzędów kontroli skarbowej oraz urzędów i izb celnych.