Tablice w PHP

<?php
$tabela = array("Ala", "Ola", "Ela");
echo $tabela[0]."<br /><pre>";
print_r($tabela);
echo "</pre>";

//Dodawanie własnego klucza
$towar = ("nazwa"=>"zeszyt", "kategoria"=>"biurowe", "cena"=>50);

//Tablice wielowymiarowe
$wielowymiarowa = array("A", "B", "C", array(1,2,3));
?>

 

Typy danych w PHP

Różnice pomiędzy apostrofami i cudzysłowem w PHP

Napis ujęty w cudzysłów może zawierać znaki specjalne i zmienne, natomiast w apostrofach nie można tego stosować. Jeśli napis jest oznaczony apostrofami, wówczas wewnątrz nie można stosować apostrofów. Jeśli jednak chcemy wstawić apostrof, należy przed nim napisać znak ukośnika: \'. Wewnątrz napisu ujętego w cudzysłów, analogicznie, nie można użyć cudzysłowu bez ukośnika: \".

Stosowanie zmiennych

Pod względem stosowania zmiennych język PHP różni się od języków C++/Pascal:

  • Zmienne w PHP nie są deklarowane
  • Typ zmiennej wynika z wykonywanych na nich instrukcji przypisania
  • Przed nazwą zmiennej występuje znak $
  • Zasięg zmiennych jest lokalny

Wyrażenia i operatory

Wyrażeniem w PHP jest każda instrukcja, która zwraca wartość. Wyrażenia mogą zawierać stałe, zmienne i operatory. PHP udostępnia następujące grupy operatorów:

  • operatory przypisania: =
  • operatory arytmetyczne: + (dodawanie), - (odejmowanie), * (mnożenie), / (dzielenie), % (modulo)
  • operatory inkrementacji i dekrementacji
  • operatory porównania
  • operatory logiczne
  • operatory bitowe: & (AND), ^ (XOR), | (OR),
  • operatory dotyczące napisów
  • operator dotyczący tablic
  • operator kontroli błędów
  • operator polecenia systemowego

Zmienne i stałe w PHP

Zmienne

Nazwa zmiennej zaczyna się od znaku $. Może zawierać litery a-z i cyfry 0-9. Nie stosujemy spacji w nazwach, lecz znak _. Nie możemy stosować znaków specjalnych czy diakrytycznych.

<?php
$a = rand()%100;
$b = rand()%100;
echo "A: ".$a."<br>B: ".$b."<br><hr>";
echo "A + B = ".($a+$b)."<br>";
echo "A - B = ".($a-$b)."<br>";
echo "A * B = ".($a*$b)."<br>";
echo "A / B = ".($a/$b)."<br>";
echo "A % B = ".($a%$b)."<br>";
echo "A ^ B = ".pow($a, $b)."<br>";
echo "vA: ".sqrt($a)."<br><hr>";
echo "++A: ".++$a."<br>";
echo "A++: ".$a++."<br>";
echo "A: ".$a."<br><hr>";
echo "--A: ".--$a."<br>";
echo "A--: ".$a--."<br>";
echo "A: ".$a."<br>";

define("OK", "Hallelujah!");
echo ($a!=28 ? "OK" : ":(");
?>

 

Grupy użytkowników baz danych. Metodologia projektowania baz danych

1. Grupy użytkowników

  1. Administratorzy danych (Data Administrators, DA)
    1. podejmują decyzję, jakie dane powinny być przechowywane w bazie danych
    2. odpowiedzialni za projektowanie i kontrolowanie ustalonych standardów
    3. odpowiedzialni za przestrzeganie strategii i procedur postępowania
    4. odpowiedzialni za prawidłowy rozwój bazy
  2. Administratorzy bazy danych (Database Administrators, DBA)
    1. odpowiedzialni technicznie za realizację decyzji Administratora danych
    2. odpowiedzialni za fizyczną realizację bazy danych, kontrolę bezpieczeństwa i spójności, zapewnienie sprawnego działania aplikacji użytkowników, wydajność i konserwację systemu
    3. opiekują się gotowymi aplikacjami baz danych, instalują je, zapewniają ciągłość pracy aplikacji
    4. uruchamiają, zatrzymują, restartują bazę danych
    5. odpowiadają za ciągłość pracy bazy danych
    6. odpowiadają za wydajność bazy danych
    7. tworzą kopie zapasowe
    8. zarządzają użytkownikami końcowymi i nadają im uprawnienia
    9. są odpowiedzialni za zapewnienie optymalnych warunków dostępu do bazy danych na zasadach bezpieczeństwa określonych odpowiednią polityką dostępu do bazy danych
    10. odpowiadają za monitorowanie systemu
    11. tworzą i usuwają użytkowników
    12. przywracają i naprawiają bazę danych
  3. Projektanci bazy danych
    1. projektant logicznej bazy danych
      1. analizuje dane
      2. tworzy związki między danymi i zarządza nimi
      3. określa ograniczenia, które muszą spełniać dane przechowywane w bazie
    2. projektant fizycznej bazy danych
      1. odwzorowuje logiczny projekt bazy danych w postaci tabel i więzów integralności
      2. wybiera odpowiednie struktury i metody dostępu do danych
      3. projektuje procedury gwarantujące bezpieczeństwo danych
  4. Twórcy aplikacji (programiści)
    1. tworzą programy, które pozwalają użytkownikom realizować potrzebne funkcje dotyczące pracy w bazie
  5. Uzytkownicy (klienci)
    1. użytkownicy naiwni (laicy)
      1. na ogół nie są świadomi istnienia SZBD
      2. komunikują się z bazą przy pomocy specjalnie napisanych programów, które pozwalają realizować konieczne operacje w najprostszy sposób
    2. użytkownicy profesjonalni
      1. znają strukturę bazy i funkcje realizowane przez SZBD
      2. mogą używać języka wysokiego poziomu (np. SQL), by wykonywac potrzebne operacje (np. na danych)

2. Metodologia projektowania baz danych

  • metoda wstępująca - nadaje się do projektowania prostych baz danych zawierających względnie małą liczbę atrybutów; proces projektowania bazy danych rozpoczyna się od zidentyfikowania wszystkich atrybutów, a następnie poprzez analizę zależności funkcyjnych (powiązań) pomiędzy atrybutami łączy się je w tabele (relacje); od szczegółu do ogółu.
  • metoda zstępująca - nadaje się do projektowania złożonych baz zawierających względnie dużą liczbę atrybutów. Proces projektowania bazy danych rozpoczyna się od zidentyfikowania istotnych encji oraz związków pomiędzy nimi, a następnie stosując metodę kolejnych uściśleń wprowadza się encje, związki oraz atrybuty niższego poziomu; od ogółu do szczegółu.

3. Etapy projektowania bazy danych

  • konceptualne projektowanie bazy danych - proces konstrukcji modelu danych, który jest niezależny od wszelkich aspektów fizycznych (specyficzny model danych, docelowy SZBD, programy użytkowe, języki programowania, platforma sprzętowa)
  • logiczne projektowanie bazy danych - proces konstrukcji modelu, który jest oparty na specyficznym modelu danych (np. model relacyjny, model obiektowy), ale niezależny od konkretnego SZBD i innych aspektów fizycznych
  • fizyczne projektowanie bazy danych - proces tworzenia implementacji bazy danych w pamięci zewnętrznej. Opis ten zawiera bazowe relacje oraz organizację plików i indeksów zapewniających efektywny dostęp do danych, realizację więzów integralności i środków bezpieczeństwa danych

4. Cykl życia aplikacji bazy danych

  • planowanie bazy danych - planowanie najbardziej skutecznej i wydajnej metody realizacji faz cyklu życia
  • definicja systemu - określenie zakresu i granic stosowania danej aplikacji bazy danych, wskazanie jej użytkowników oraz obszarów zastosowań
  • gromadzenie i analiza wymagań - zbieranie i analiza wymagań pochodzących od użytkowników i wynikających z obszarów zastosowań
  • projektowanie bazy danych - projektowanie konceptualne, logiczne i fizyczne bazy danych
  • selekcja DBMS (opcjonalnie) - wybór DBMS odpowiedniego dla aplikacji bazy danych
  • tworzenie prototypów (opcjonalnie) - budowanie działającego modelu aplikacji bazy danych, który pozwala projektantom i użytkownikom zobrazować i ocenić sposób działania i wygląd końcowego programu
  • implementacja - tworzenie zewnętrznych, konceptualnych i wewnętrznych definicji bazy danych i programów użytkowych
  • konwersja i przenoszenie danych - przenoszenie danych ze starego systemu do nowego
  • testowanie - testowanie i usuwanie błędów z aplikacji bazy danych oraz sprawdzanie zgodności z wymaganiami użytkowników
  • bieżąca konserwacja - aplikacja bazy danych jest w pełni zaimplementowana. System jest na bieżąco monitorowany i konserwowany. W razie potrzeby do aplikacji bazy danych są wprowadzane nowe wymagania poprzez ponowne przejście przez powyższe fazy

5. Metody projektowania systemu baz danych

  • metodologia strukturalna - podejście starsze, lecz ciągle rozpowszechnione w praktyce
  • metodologia obiektowa - podejście nowsze, zdobywające coraz większa popularność w związku z rozwojem języków programowania