Bazy danych w aplikacjach internetowych

Podobne dokumenty
osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy niż zadeklarowana długość, zostaje ucięty z prawej strony.

Bazy danych 2. Anna Fiedorowicz Wydział Matematyki, Informatyki i Ekonometrii

Przestrzenne bazy danych Podstawy języka SQL

Język SQL. Rozdział 2. Proste zapytania

Systemy GIS Tworzenie zapytań w bazach danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Projektowanie systemów baz danych

Wprowadzenie do języka SQL

P o d s t a w y j ę z y k a S Q L

Wprowadzenie do baz danych

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Relacyjne bazy danych. Podstawy SQL

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Oracle11g: Wprowadzenie do SQL

Uprawnienia użytkowników Role użytkowników

Język SQL, zajęcia nr 1

Wykład 5. SQL praca z tabelami 2

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

SQL (ang. Structured Query Language)

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Relacyjne bazy danych. Podstawy SQL

PL/SQL. Funkcje wbudowane

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Polecenia SQL

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Widok Connections po utworzeniu połączenia. Obszar roboczy

niż zadeklarowana długość, zostaje ucięty z prawej strony. osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Ref. 7 - Język SQL - polecenia DDL i DML

Microsoft SQL Server Podstawy T-SQL

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

SQL i PL/SQL podstawy

Wprowadzenie do SQL Użycie kwerend i SQL

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

Autor: Joanna Karwowska

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Bazy danych - wykład wstępny

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Ćwiczenie zapytań języka bazy danych PostgreSQL

SQL - Structured Query Language. strukturalny język zapytań

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

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

Zarządzanie kontami użytkowników w i uprawnieniami

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

QUERY język zapytań do tworzenia raportów w AS/400

Podstawowe zapytania SELECT (na jednej tabeli)

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Paweł Rajba

Wykład 8. SQL praca z tabelami 5

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Oracle PL/SQL. Paweł Rajba.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Kurs. Podstawy MySQL

Technologie baz danych

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Język SQL podstawy zapytań

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

CREATE USER

PL/SQL. Część 1 Oracle SQL. Piotr Medoń

Laboratorium Bazy danych SQL 2

Autor: Joanna Karwowska

Indeksowanie w bazach danych

Język SQL. Rozdział 3. Funkcje wierszowe

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Podstawowe informacje o bazach danych. Technologie Informacyjne

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

BAZY DANYCH JĘZYK ZAPYTAŃ BAZ DANYCH SQL. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy danych 2. Wykład 1

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Funkcje. Rozdział 3a Funkcje wierszowe. Funkcje znakowe (1) Funkcje wierszowe

Autor: Joanna Karwowska

System imed24 Instrukcja Moduł Analizy i raporty

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Komunikacja z bazą danych psql

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli.

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

PHP: bazy danych, SQL, AJAX i JSON

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Transkrypt:

Literatura Bazy danych w aplikacjach internetowych Anna Fiedorowicz Wydział Matematyki, Informatyki i Ekonometrii 10.10.2016 1. S. Urman, R. Hardman, M. McLaughlin, Oracle Database 10g. Programowanie w języku PL/SQL, Helion, 2007. 2. R. Coburn: SQL dla każdego, Helion, 2001. 3. A. Klusiewicz, SQL i PL/SQL podstawy, 2013 (http://jsystems.pl/storage/sqlplsql1.pdf). 4. M. McLaughlin, Oracle Database 11g PL/SQL Programming, McGraw-Hill, 2008. 5. Dokumentacja dostępna na stronie Oracle. 6. W.J. Gilmore, B. Bryla, Beginning PHP and Oracle: From Novice to Professional, APress 2007. 7. Y. Vasiliev, PHP i Oracle. Tworzenie aplikacji webowych: od przetwarzania danych po Ajaksa, Helion 2009. 8. T. Converse, J. Park, C. Morgan, PHP5 i MySQL. Biblia, Helion, 2005. Baza danych: zbiór danych zapisanych w ściśle określony sposób, w strukturach odpowiadających przyjętemu modelowi danych. W relacyjnej bazie danych, podstawową strukturą jest tabela rekordów. W uproszczeniu, baza danych obejmuje dane oraz wyspecjalizowany program komputerowy służący do gromadzenia i przetwarzania danych. W modelu relacyjnym, zestaw programów służących do korzystania z bazy jest nazywany RDBMS (Relational Database Management System - system zarządzania relacyjną bazą danych). SQL - strukturalny język zapytań, jest uniwersalnym interfejsem umożliwiającym tworzenie i utrzymanie struktury bazy danych, dostęp do danych oraz zapewnienie bezpieczeństwa danym, poprzez system uprawnień użytkowników. SQL jest tzw językiem deklaratywnym, decyzję o sposobie pobrania i przechowywania danych pozostawia się systemowi zarządzania bazą danych. Systemy RDBMS, w których podstawowym językiem jest SQL, to dla przykładu Oracle, MS SQL Server, IBM DB2, Firebird, MySQL, PostgreSQL,... Podział języka SQL: DML (Data Manipulation Language) - umożliwia wybieranie, dodawanie, modyfikację, usuwanie danych w bazie (SELECT, INSERT, UPDATE, DELETE). DDL (Data Definition Language) - stworzenie i utrzymanie struktury bazy (CREATE, ALTER, DROP). DCL (Data Control Language) - zarządzanie uprawnieniami w bazie (GRANT, REVOKE). (Niektóre) standardy języka SQL: Rok Nazwa Uwagi 1986 SQL-86 pierwszy standard ANSI 1992 SQL-92 SQL2, uściślenie standardu 2003 SQL-2003 wprowadzenie m.in. obsługi XML-a (SQL/XML) 2011 SQL:2011 aktualny standard ANSI.

Serwer bazy danych Oracle Serwer bazy danych Oracle obejmuje szereg plików, procesów i struktur pamięci, umożliwiających przede wszystkim trwałe przechowywanie danych i wykonywanie instrukcji SQL. Oprócz tego niektóre ze składowych służą do poprawienia efektywności korzystania z bazy danych, do zapewnienia odtwarzalności bazy danych w przypadku awarii oprogramowania lub sprzętu, do wykonywania innych zadań potrzebnych przy eksploatacji bazy danych. Serwer bazy danych Oracle Ogólnie rzecz biorąc, serwer bazy danych Oracle składa się z dwóch części: bazy danych: zbioru plików znajdujących się na dysku, zawierających dane; instancji: procesy serwera, wraz z przydzielonymi strukturami pamięci i procesami tła, umożliwiające dostęp do danych. Baza danych Oracle oprócz tego, że wykorzystuje język SQL, posiada też rozszerzenie proceduralne języka SQL wbudowany wewnętrzny język tworzenia procedur składowanych PL/SQL. Baza danych Oracle: składa się z plików systemu operacyjnego, nazywanych plikami bazodanowymi, które są miejscem przechowywania danych. Zwykle mamy do czynienia z sytuacją, w której tylko jedna instancja Oracle ma dostęp do bazy danych. Instancja: każda baza danych Oracle database jest powiązana z odpowiednią instancja. W momencie uruchomienia serwera bazy danych, następuje alokacja w pamięci operacyjnej obszaru pamięci, który jest współdzielony (dostępny dla wszystkich użytkowników bazy danych), nazywanego System Global Area (SGA) (tzw Globalny Obszar Wpółdzielony) oraz uruchomienie przez Oracle procesów serwera i procesów tła. Instancja Oracle to właśnie połączenie obszaru pamięci SGA oraz procesów tła.

Użytkownik nie pobiera danych bezpośrednio z pliku bazy danych. Polecenie SQL zadane przez użytkownika trafia najpierw do odpowiedniego bufora w strukturze SGA (za pośrednictwem odpowiedniego procesu serwera), następnie jest przetwarzane i analizowane, potem pobierane są dane z plików danych do obszaru SGA. Dopiero stąd informacja jest przekazywana do użytkownika. Program Global Area (PGA): obszar pamięci przydzielony (na wyłączność) dla każdego procesu serwera i procesu tła. Każdy proces ma przydzielony własny obszar PGA. Baza danych Oracle funkcjonuje w architekturze klient-serwer, zapewniając jednoczesny dostęp do danych dla wielu użytkowników, realizowany za pomocą mechanizmu transakcji. Moment podłączenia się użytkownika do bazy jest równoznaczny z otwarciem nowej sesji dla danego użytkownika. W obrębie sesji, użytkownik może realizować jedną lub więcej transakcji, jedną po drugiej (transakcja jest jednostką interakcji użytkownika z bazą danych i składa się z pojedynczych operacji realizowanych w bazie danych (np. przez polecenia SQL). Równolegle, jeden użytkownik może mieć w danym momencie otwartych więcej niż jedną sesję. Użytkownicy i schematy Użytkownik tworząc obiekt, np. tabelę, staje się jego właścicielem. Obiekty te są tworzone w schemacie użytkownika (logicznej przestrzeni bazy danych). Schemat użytkownika jest tworzony automatycznie podczas definiowania użytkownika i posiada unikalną nazwę (identyczną z nazwą użytkownika). Użytkownik HR i jego schemat Oracle posiada przedefiniowanego użytkownika HR, który służy do celów testowych. W schemacie HR mamy kilka tabel z przykładowymi danymi: Nazwa schematu jest wykorzystywana, aby wskazać obiekty bazy danych stanowiące własność danego użytkownika (w różnych schematach mogą istnieć obiekty, np. tabele, o tych samych nazwach). Odwołanie do obiektu znajdującego się w schemacie innego użytkownika realizowane jest następująco: nazwa_użytkownika.nazwa_obiektu Domyślnie, konto HR jest zablokowane. Aby je odblokować, należy wydać instrukcję (z poziomu administratora czyli SYSTEM): ALTER USER HR IDENTIFIED BY password ACCOUNT UNLOCK;

Obiekty bazy danych W Oracle istnieją obiekty służące do przechowywania danych, jak i wspomagające zarządzanie tymi danymi: tabele: przechowywanie danych; indeksy: struktury danych zwiększające prędkość wykonywania operacji na tabelach; tabele tymczasowe: przechowują dane potrzebne w czasie jednej sesji (transakcji), wspomagają zarządzanie nimi; widoki: logiczna struktura, definiowana przez zapytanie SQL; sekwencje: generują kolejne liczby (wykorzystywane do tworzenia wartości kluczy); wyzwalacze: procedury wykonywane automatycznie, reagujące na pewne zdarzenia w bazie danych; procedury, pakiety, funkcje,... Instrukcja SELECT Instrukcja select w najprostszej postaci pobiera wszystkie dane z wybranej tabeli. select * from department; SELECT wybranych kolumn Po wyrażeniu SELECT określamy nazwy kolumn, które mają zostać wybrane do wyświetlenia. Można wybierać stałe lub wyrażenia. Aliasy kolumn Czasem zdarza się że nazwy kolumn są mało zrozumiałe lub przyjazne dla użytkownika. W takim wypadku w wyniku zapytania możemy zamienić je na własne aliasy. select full_name as nazwisko i imie from employees; Klauzula DISTINCT Słowo kluczowe distinct służy do wyświetlenia wartości lub szeregu wartości bez powtórzeń. Stosuje się je w przypadku gdy chcemy wiedzieć jakie w ogóle wartości występują w danej kolumnie a nie interesuje nas ich częstotliwość występowania. Sortowanie sortowanie klauzula ORDER BY Możemy wyświetlić dane posortowane wg wybranej kolumny. W tym celu dodajemy do zapytania klauzulę order by określającą kolumnę wg której dane mają być sortowane. ASC - sortowanie rosnące, DESC - malejące. Jeśli nie istnieje potrzeba stosowania sortowania, nie powinniśmy z niej korzystać ponieważ powoduje dodatkowe niepotrzebne obciążenie serwera bazy danych. Klauzule NULLS FIRST I NULLS LAST Aby zmienić sposób traktowania wartości pustych przy sortowaniu, musimy po nazwie sortowanej kolumny dodać klauzulę NULLS FIRST lub NULLS LAST. Filtrowanie wierszy Operatory Budując zapytania do bazy danych Oracle możemy korzystać z operatorów które pozwalają porównywać, wykonywać operacje, łączenia i porównania wartości. Operatory arytmetyczne Pozwalają wykonywać operacje matematyczne na wartościach. Należą do nich:+,,,/ Operator konkatenacji Operator ten służy do łączenia dwu wartości tekstowych. Operatory porównań >,>=,=,<,<=,<>,!= Operator zakresu x [NOT] BETWEEN y AND z Operator ten sprawdza, czy wartość x mieści [nie mieści] się w przedziale domkniętym <y,z> Operator przynależności do listy x [NOT] IN (x1, x2,..., xn) Operator ten sprawdza, czy wartość x znajduje [nie znajduje ] się na liście wartości x1, x2,..., xn.

Operator wzorca x [NOT] LIKE y Operator ten sprawdza, czy wartość napisu x przystaje [nie przystaje] do maski y. Podczas definiowania maski możemy korzystać ze znaków specjalnych: % zastępuje dowolną ilość dowolnych znaków, natomiast _ zastępuje dokładnie jeden dowolny znak. Operator testowania wartości pustych x IS [NOT] NULL Operator ten sprawdza, czy x zawiera [nie zawiera] wartości NULL. Operatory logicznenot, AND, OR Operatory te służą do nadawania więcej niż jednego warunku w zapytaniu. Uwaga: "Arytmetyka wartości pustych" Każde wyrażenie arytmetyczne zawierające choć jeden składnik lub czynnik z wartością pustą daje pusty wynik. TRUE AND NULL => NULL FALSE AND NULL => FALSE TRUE OR NULL => TRUE FALSE OR NULL => NULL Funkcje jednowierszowe. Funkcje znakowe Upper: Zamienia wszystkie litery na wielkie. Lower: Zamienia wszystkie litery na małe. Initcap: Zwiększa pierwsze litery wszystkich wyrazów. np.select initcap( ola, ala ) from dual; Uwaga: dual: specjalna tablica w Oracle, z jednym wierszem i jedna kolumna, używamy jej w przypadku pisania zapytań, które nie odwołuja się do danych z żadnej tablicy (widoku). Lpad(text,n,znak) Funkcja uzupełniająca z lewej strony znakami podanymi jako trzeci argument w taki sposób by wynik osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy niż zadeklarowana długość, zostaje ucięty z prawej strony. np.select Lpad(job_code,5, x ) from employees; Rpad(text,n,znak) Funkcja uzupełniająca z prawej strony wynik znakami podanymi jako trzeci argument w taki sposób, by wynik osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy niż zadeklarowana długość, zostaje ucięty z prawej strony. Funkcje znakowe RTrim(text,text2), LTrim(text,text2) Funkcje te usuwają z prawej lub lewej strony napisu text znaki zawarte w text2. Jeśli nie podamy wartości text2, usunięte zostaną spacje (i w praktyce do tego tych funkcji używa się najczęściej). Replace (text, text1 [,text2]) Funkcja zamienia wszystkie wystąpienia ciągu text1 w ciągu text na text2. W przypadku braku ciągu text2 z ciągu text usuwane są wszystkie wystąpienia ciągu text1. translate (text, text1,text2) Funkcja działa podobnie jak funkcja replace, tylko że zamienia w ciagu text wszystkie wystąpienia pojedynczych liter z ciągu text1 na odpowiednie litery z ciągu text2. np.select translate(last_name, ąćęłńóśźż, acelnoszz ) from employees; length (text) Zwraca długość ciągu text, jeśli text ma wartość NULL funkcja zwraca NULL. np.select length(last_name) from employees;

Funkcje znakowe Substr(text, m [,n]): Funkcja wycina z ciągu text n znaków począwszy od pozycji m. Jeżeli n nie jest podane, to wycina wszystkie znaki od pozycji m do końca ciągu text. Jeżeli m jest ujemne, to znaki są odliczane od końca ciągu text. Przykłady: (1) Wyświetlenie pierwszych czterech znaków nazwiska. select substr(last_name,1,4) from employees; (2) Funkcja substr z użyciem dwóch parametrów zwróci ciąg znaków zaczynając od drugiego znaku, do końca (czyli usunie pierwszy znak). select substr(last_name,2) from employees; (3) Substr z m ujemnym. Parametr n najbezpieczniej w takiej sytuacji jest podać większy niż długość najdłuższego wyrazu (jeżeli m jest większa niż długość, zwraca null). select substr(last_name, -2, 20) from employees; //ostatnie dwa znaki z nazwiska Funkcje znakowe to_char Funkcja ta ma kilka zastosowań. Jedno z nich odnosi się do zamiany liczb na postać znakową. Inne formy to_char zostaną omówione później. to_char (liczba [,wzorzec]) zamienia liczbę na postać znakową według podanego wzorca. np. Chcemy wyświetlić roczne wynagrodzenie pracowników podzielone przez 12, otrzymaliśmy mało czytelny wynik: select last_name, salary/12 as "miesięczne zarobki" from employees; Stosując funkcję to_char możemy zamienić go na odpowiadający nam format: select last_name, to_char((salary/12), 9999.99 ) as "miesięczne zarobki" from employees; Wzorzec w funkcji to_char jest napisem, który może zawierać następujące elementy: Element Opis Przykład Wynik 9 Cyfra (liczba dziewitek okrela szeroko pola) 999999 1234 0 Wywietl wiodce zera 099999 001234 $ Ruchomy znak dolara $999999 $1234 L Ruchomy znak lokalnej waluty L999999 zł1234. Kropka dziesitna na wskazanej pozycji 9999.99 1234.00, Przecinek na wskazanej pozycji 999,999 1,234 MI Znak minus z prawej strony (przy wartociach ujemnych) 9999MI 1234- PR Liczby ujemne w nawiasach 9999PR <1234> EEEE Notacja inynierska (w formacie musz by cztery E) 9.9EEEE 1.2E+03 V Pomnó przez 10 n razy (n to liczba dziewitek po V) 9999V99 123400 Funkcje znakowe to_number (text [,wzorzec]) Funkcja zamienia ciąg znaków na liczbę według wzorca zbudowanego podobnie dla funkcji to_char (jak powyżej). Funkcja ta jest przydatna, gdy w naszej bazie liczby przechowywane są w postaci tekstowej. SELECT To_Number(postal_code, 99999) FROM locations WHERE country_id= US ; decode Select decode (nazwa_kolumny,wartość, zamiennik, wartość2, zamiennik2,wartość domyślna) [alias] from nazwa_tabeli; Funkcja testuje wartość w podanej kolumnie i w zależności od wartości mieszczącej się w pierwszym argumencie zwraca wartość podaną w drugim argumencie. Jeśli nie znajdzie odpowiedniej wartości w podanych warunkach, wyświetli wartość domyślną podaną jaką ostatni warunek.

Funkcje numeryczne ROUND (x,[,y]) Zaokrągla x z dokładnością do y miejsc po przecinku. Jeśli y nie zostało podane, jest domyślnie ustawiane jako 0. (select round(15.75, 1) from dual; -> 15.8 TRUNC (x,[,y]) Ucina x z dokładnością do y miejsc po przecinku. Jeśli y nie zostało podane, jest domyślnie ustawiane jako 0. Uwaga! round, trunc z ujemnym parametrem y zaokrągla (obcina) liczbę z lewej strony przecinka, czyli do dzisiątek, setek, tysięcy, itp.) POWER (x,y) > x y. SQRT(x) > x. SIGN(x) Zwraca wartość 0, 1 lub -1 w zależności od znaku liczby x. ABS(x) Wartość bezwzględna liczby x. MOD(x,y) Reszta z dzielenia x przez y. Jeśli y = 0 zwraca x. SIN(x), COS(x), TAN(x) Funkcje trygonometryczne, x jest podawane w radianach.