Bazy Danych - sql

lipiec 21st, 2008

Przykładowe zapytania SQL:

PROJEKCJA:
1. SELECT * FROM czasopisma;
2. SELECT tytul, cena, rodzaj FROM czasopisma;
4. SELECT idczytelnika, datapocz, datakon, (datakon-datapocz) AS “Liczba Dni” FROM prenumer;
5. SELECT tytul, cena, rodzaj FROM czasopisma ORDER BY cena ASC;
6. SELECT tytul, cena, rodzaj FROM czasopisma ORDER BY tytul DESC;
7. SELECT rodzaj, tytul FROM czasopisma ORDER BY rodzaj, tytul ASC;

***************************************
SELEKCJA:
8. SELECT DISTINCT rodzaj FROM czasopisma;
9. SELECT tytul,  rodzaj FROM czasopisma WHERE rodzaj=’dziennik’;
10.SELECT tytul, cena,  rodzaj FROM czasopisma WHERE cena>5;
11. SELECT tytul FROM czasopisma WHERE rodzaj<>’dziennik’;
12. SELECT tytul, cena, rodzaj FROM czasopisma WHERE rodzaj=’miesiecznik’AND cena>5;
14. SELECT tytul, wydawca, rodzaj FROM czasopisma WHERE wydawca=’lupus’ AND rodzaj=’miesiecznik’ OR wydawca=’lupus’ AND rodzaj=’dwutygodnik’;
15. SELECT tytul FROM czasopisma WHERE cena=3 between 9;
17. SELECT tytul FROM czasopisma WHER tytul Like ‘P%’;
18. SELECT ..  WHERE nazwisko IS NULL;

FUNKCJE AGREGUJACE:
19. SELECT COUNT(*) AS “Ilosc czasopism” FROM czasopisma;
20. SELECT MIN(cena) AS “Min cena” FROM czasopisma;
21. SELECT MAX(cena) AS “MAx: ” FROM czasopisma;
22. SELECT AVG(cena) AS “srednia” FROM czasopisma;
23. SELECT DISTINCT rodzaj, COUNT(*) AS “Ilosc” FROM czasopisma GROUP BY rodzaj;
24. SELECT DISTINCT rodzaj, COUNT(*) AS “Ilosc” FROM czasopisma GROUP BY rodzaj ORDER BY COUNT(*);
25.  SELECT DISTINCT rodzaj, COUNT(*) AS “Ilosc” FROM czasopisma GROUP BY rodzaj HAVING COUNT(*)>1 ORDER BY COUNT(*) DESC;
26. SELECT DISTINCT rodzaj, AVG(cena) AS “Sr:” FROM ..
27. SELECT rodzaj, COUNT(cena) AS “ilosc”, AVG(SREDNIA) AS “SREDNIA”

Read the rest of this entry »

Przerwania IRQ

czerwiec 3rd, 2008

Program mrugający diodą LED po odebraniu znaku przez DBGU.

//————————————————————————————–

void Przerwanie_Open(unsigned int periph_id, unsigned int priorytet_i_wyzwalanie, void(adres_proc_obslugi)(void))
{
unsigned int mask;
mask=(0×1<<periph_id);
AIC->INT_DISABLE_R=mask;
AIC->SOURCE_VECTOR_R[periph_id]=(unsigned int) adres_proc_obslugi;
AIC->SOURCE_MODE_R[periph_id]=priorytet_i_wyzwalanie;
AIC->INT_CLEAR_CMD_R=mask;
AIC->INT_ENABLE_R=mask;
} Read the rest of this entry »

Obsługa kontrolera DMA

kwiecień 17th, 2008

Kontroler DMA umożliwia w sposób efektywny przesyłać dane pomiędzy urządzeniami peryferyjnymi, a pamięcią mikrokontrolera(PDC - peripherial DMA). Bloki danych przesyłane są bez udziału rdzenia, co nie powoduje blokowania wykonywania programu na czas transferu.
Aby zaprogramować kanał DNA należy podać ilość danych które mają ulec przesłaniu, oraz adres pod którym się znajdują. Rejestr który zawiera ilość danych do transferu po przesłaniu każdego bajtu zostaje dekrementowany, a przesyłanie zostaje zakończone gdy rejestr ten osiągnie wartość 0 (jednocześnie jest ustawiana odpowiednia flaga sygnalizująca zakończenia operacji).

Przedstawiony poniżej program ma za zadanie periodycznie wysyłać przez port DBGU jakiś ciąg znaków. Znaki te można odczytać na komputerze za pomocą programu HyperTerminal.

#include “library.h”

void main(void)
{
	char tekst[]=“Test kontrolera DMA w uC SAM7S \n\r”;
	int i,j;

	DBGU->BAUD_RATE_GEN_R = 156;			//1
	DBGU->MODE_R = DBGU_MODE_NORMAL | DBGU_PARITY_NONE;
	DBGU->CONTROL_R = DBGU_TX_ENABLE | DBGU_RX_ENABLE ;

	PIO->PERIPH_A_SELECT_R=PIO_PA9 | PIO_PA10;	//2
	PIO->PIO_DISABLE_R=PIO_PA9 | PIO_PA10;

	while(1)
	{
		PDC_DBGU->CONTROL_R=PDC_TX_DISABLE;	//3
		PDC_DBGU->TX_PTR_R=(void*)tekst;	//4
		PDC_DBGU->TX_CNT_R=strlen(tekst);	//5
		PDC_DBGU->CONTROL_R=PDC_TX_ENABLE;	//6
		for(i=0; i<4000; i++)			//7
			for(j=0; j<500; j++) {};
                      					//8
		while(!DBGU->INT_STATUS_R & DBGU_TX_BUFS_EMPTY);
	}
}

1. Ustalenie parametrów pracy portu asynchronicznej transmisji szeregowej DBGU aby pracował z częstotliwością 19200 bodów i bez bitu parzystości.
2. Koncówki A9 i A10 ustawione do pracy z urządzeniem peryferyjnym A, oraz odłączenie od nich portu PIO.
3. Wyłączenie kanału DMA dla portu DBGU
4. Podanie adresu pierwszego elementu bufora
5. Podanie ilości elementów do wysłania.
6. Włączenie kanału DMA
7. Pętla zatrzymująca program na moment
8. Opcjonalna pętla wykonywana do momentu zasygnalizowania ukończenia wysyłania danych (była by niezbędna gdyby nie było pętli opóźniającej). Read the rest of this entry »

Katalogi z wysokim PageRank

kwiecień 7th, 2008

katalogi:

WebTree.pl

DMOZ.org

wyszukiwarki:

Google 

Pozycjonowanie - podstawy

kwiecień 7th, 2008

Pozycjonowanie stron ma na celu zwiększenie ich wartości dla wyszukiwarek, czyli sprawienie, by były na jak najwyższej pozycji w wyszukiwaniach dla danych słów kluczowych. Dla zapytania “sms” Google w tej chwili zwraca 374 000 000 wyników. Łatwo wywnioskować, że ponad 99% z nich nigdy nie zobaczymy na oczy. Osoba szukająca czegoś konkretnego wpisuje bardziej rozbudowane wyrażenie np “darmowy sms” i w rezultacie dostaje 1 110 000 wyników, które w porównaniu z poprzednim wyszukiwaniem jest znacznym postępem, ale mimo to i tak nie zobaczymy nigdy ponad 99% z wyszukiwanych stron. Przeciętny googlowicz przegląda pierwsze strony, czasem uda mu się dojść do 5 podstrony przy czym na jednej domyślnie zwracanych jest tylko 10 wyników wyszukiwania (5 * 10 =50 witryn!!).

Celem pozycjonowania będzie zatem znalezienie się na pierwszej stronie, czyli w pierwszej dziesiątce dla zapytania na słowa, na które optymalizujemy witrynę. Słowa te zwane są słowami kluczowymi i powinny jak najbardziej obrazować treść strony, np. dla tematyki telefonów komórkowych mogły by to być słowa: gsm, simlock, telefony, nokia, siemens, itp..
Read the rest of this entry »

Podstawowe komendy Linuksa

kwiecień 7th, 2008

Kilka pomocnych poleceń przy pierwszych kontaktach z Linuksem:

pwd - wyswietla ścieżkę do aktualnego katalogu
man - informacja o danym poleceniu (np. man pwd)
–help - informacja o danym poleceniu (np. pwd –help), “q”wyjście z pomocy poprzez ctrl+C
startx - przejście do trybu graficznego (jeśli takowy jest zainstalowany)
mc - midnight commander to program do zarządzania plikami
mcedit - edytor plików tekstowych (np. mcedit plik.txt)
Read the rest of this entry »

Archiwum rar w pliku graficznym

kwiecień 7th, 2008

Jak w niejawny i prosty sposób przekazywać sobie pliki zawarte w archiwum rar? Otóż omówiony tutaj sposób polega na tym, że z dwóch plików ( *.jpg i *.rar) tworzymy jeden.

Jak to zrobić.

mamy jeden plik graficzny z rozszerzeniem *.jpg, oraz
drugi plik to archiwum *.rar, ze spakowanymi plikami, które chcemy przesłać w postaci niejawnej. Read the rest of this entry »