Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bazat e te dhenave Elemente kryesore te MySQL-se

Similar presentations


Presentation on theme: "Bazat e te dhenave Elemente kryesore te MySQL-se"— Presentation transcript:

1 Bazat e te dhenave Elemente kryesore te MySQL-se
Leksion 12 1

2 Cfare jane te dhenat? Te dhena (Data nga Datum) jane cdo informacion qe na duhet ta ruajme. Emra te njerezve Numra telefoni Adresa Etj.

3 Cfare eshte nje Baze te dhenash (Database)?
Nje database eshte nje koleksion i organizuar informacioni, zakonisht ne forme dixhitale. Shembuj databazave qe mund te ndeshen ne jeten e perditeshme: Nje numerator telefonik Sistemi i rezervimit te avioneve Sistemi i regjistrimit te automjeteve Sistemi i kartave te baseball-it Skedaret ne hard drive-n e kompjuterit tuaj. Cdo rekord ne nje databaze perbehet nga elemente te rendesishme te informacionit per nje artikull te vecante.

4 Cfare eshte nje Baze te dhenash (Database)?
DataBase ( a collection of records) Title: MySQL/PHP Author: Jay Greenspan, Brad Bulger Source: Subject: Database Driven Web Sites Title …………………… Author ……………………. Source ……………………. Subject ……………………. Records (a collection of fields) Title ……………………. Author ……………………. Source ……………………. Subject ……………………. Fields (individual elements of information)

5 Cfare eshte nje Sistem Manaxhimi i Bazave te te dhenave (Database Management System - DBMS)?
Ruan dhe nxjerr informacion nga nje Database (psh: roli i nje nepunesi te nje zyre). Nje DBMS perfaqeson realitetin. Informacioni duhet te modelohet sipas jete reale. Ne nje koleksion te kartave te baseball-it, informacioni ne nje karte eshte per nje lojtar. Kartat grupohen ne Ekipe. Ekipet grupohen ne Liga

6 Probleme qe ndeshen kur nuk perdoren Databazat relacionale.
Te dhena te teperta, qe cojne ne paqendrueshmeri te te dhenave. Sa me shume qe te shtoni te dhena te njejta , aq me shume mundesi keni per te bere gabime. Nese nje e dhene ndryshon (psh: adrese e re) duhet te ndryshoni te dhenat ne shume vende.

7 Rregullat kryesore te Databazave Relacionale
Databazat Relacionale permbajne me shume se nje tabele. Tabelat jane grupime logjike te te dhenave te ngjashme. Tabelat perbehen nga Rreshta(rekordet) dhe Kolona (fushat) Te gjitha kolonat ne nje tabele lidhen me fushen celes.

8 Arsyeja Shumica e aplikacioneve kane shume tabela qe lidhen me tabelat e tjera, per te paraqitur informacionin ne menyre efikase. Perdorimi i shume tabelave na lejon qe te manipulojme te dhenat ne menyre me efikase. Nese keni shume tabela ju nevojiten celesa primare unike dhe celesa te jashtem.

9 Celesat Primare dhe te Jashtem
Celesat primare (Primary Key) dhe te jashtem (Foreign Key ) perdoren per te vendosur relacionet ndermjet tabelave. Celesi Primar ne tabelen A duhet te jete Unik Celesi Primar ne tabelen A lidhet me nje fushe ne tabelen B. Celesi i Jashtem ne tabelen B nuk do te jete unik, pervec rastit kur kemi relacion NJE-ME- NJE

10 Shembull i celesave primare dhe te jashtem
Table A - Customers Table B - Orders Customer Key - (PK) Order Key - (PK) Name Customer Key - (FK) Company Item Street Price City State Zip Phone

11 Cfare eshte MySQL?

12 Cfare eshte MySQL? • Databaza open source me popullore:
> Performance e larte > Besueshmeri e larte > Lehtesi ne perdorim • Perdoret ne shumicen e websiteve me te kerkuara ne bote > Yahoo, Google, YouTube, ... • Ekzekutohet ne te gjitha platformat OS

13 Baza te SQL-se: Koncepte dhe Terminologji

14 Cfare eshte SQL-ja? SQL (Structured Query Language) eshte nje gjuhe per te nxjerre dhe per te manipuluar te dhenat ne nje databaze > Data definition (DDL) > Data manipulation (DML) > Data control (DCL)

15 Terminologji ne SQL • Tabele • Rresht • Kolone • Celes Primar
> Nje bashkesi rreshtash > Analog me nje “skedar” • Rresht > Analog me nje rekord ne nje “skedar” • Kolone > Nje kolone eshte analoge me nje fushe te nje rekordi > Cdo kolone ne nje rresht te dhene ka nje vlere te vetme • Celes Primar > Nje ose me shume kolona qe kane vlera unike brenda nje tabele dhe mund te perdoren per te identifikuar nje rresht te asaj tabele

16 Baza te SQL-se: Databazat

17 Krijimi i nje databaze mysql> CREATE DATABASE mydb; Query OK, 1 row affected (0.01 sec)

18 Caktimi i nje databaze default
mysql> USE mydb; Database changed 17

19 Fshirja e nje databaze mysql> DROP DATABASE temp_db; Query OK, 0 rows affected (0.01 sec) mysql> DROP DATABASE IF EXISTS temp_db; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> SHOW DATABASES; | Database | | information_schema | | mydb | | mysql | | test | 4 rows in set (0.00 sec) 18

20 SQL Basics: Baza te SQL-se: Tabelat

21 Krijimi i nje tabele mysql> CREATE TABLE person (
-> person_id SMALLINT UNSIGNED NOT NULL, -> first_name VARCHAR(45) NOT NULL, -> last_name VARCHAR(45) NOT NULL, -> PRIMARY KEY (person_id) -> ) ENGINE=InnoDB; Query OK, 0 rows affected (0.14 sec) mysql> SHOW TABLES; | Tables_in_mydb | | person | 1 row in set (0.00 sec) 20

22 Fshirja e tabelave mysql> SHOW TABLES; +-------------------+
| Tables_in_temp_db | | temp_table | 1 row in set (0.00 sec) mysql> DROP TABLE temp_table; Query OK, 0 rows affected (0.06 sec) mysql> DROP TABLE IF EXISTS temp_table; Query OK, 0 rows affected, 1 warning (0.12 sec) mysql> SHOW TABLES; Empty set (0.00 sec) 24

23 Baza te SQL-se: Fushat

24 Perkufizime te fushave:
• Cdo fushe ka Emrin e fushes Tipin e te dhenave Modifikuesin e fushes –kushtezimin (constraint) 27

25 Tipet e te dhenave te fushave - Integer
• TINYINT > 1 byte, -128 to 127 (signed), 0 to 255 (unsigned) • SMALLINT > 2 bytes, to (signed), 0 to 65535 (unsigned) • MEDIUMINT > 3 bytes • INT > 4 bytes • BIGINT > 8 bytes 31

26 Tipet e te dhenave te fushave
• TINYINT > 1 byte, -128 to 127 (me shenje), 0 to 255 (pa shenje) • FLOAT > vlera me presje dhjetore me precision te thjeshte • DOUBLE > vlera me presje dhjetore me precision te dyfishte • DECIMAL > vlera decimal • BIT > vlera bit ( b'0101‘) 31

27 Tipet e te dhenave te fushave
• CHAR > Stringje me gjatesi fikse deri ne 255 karaktere • VARCHAR > Stringje me gjatesi variabel deri ne 255 karaktere • DATE, TIME, YEAR • DATETIME, TIMESTAMP • ENUM, SET > Bashkesi vlerash te paracaktuara 31

28 Modifikuesit e fushes • NULL ose NOT NULL • DEFAULT • AUTO_INCREMENT
> Tregon nese fusha mund te kete vlere null apo jo • DEFAULT > Cakton nje vlere default nese nuk eshte specifikuar ndonje vlere gjate shtimit te rekordit te ri • AUTO_INCREMENT > MySQL gjeneron nje numer ne menyre automatike (duke by i shtuar 1 vleres se meparshme) > Perdoret per krijimin e celesit primar • CHARACTER SET > Specifikon bashkesine e karaktereve per vlerat string 31

29 Baza te SQL-se: INSERT/UPDATE/DELETE

30 Shtimi i nje rekordi te vetem
mysql> INSERT INTO person (person_id, first_name, last_name, age) -> VALUES (1, 'sang', 'shin', 88); Query OK, 1 row affected (0.10 sec) mysql> SELECT * FROM person; | person_id | first_name | last_name | age | | 1 | sang | shin | 88 | 1 row in set (0.00 sec)

31 Shtimi i disa rekordeve njeheresh
mysql> INSERT INTO person (person_id, first_name, last_name, age) -> VALUES -> (2, 'kelly', 'jones', 22), -> (3, 'jack', 'kennedy', 56), -> (4, 'paul', 'kennedy', 34), -> (5, 'daniel', 'song', 24), -> (6, 'nichole', 'scott', 9); Query OK, 3 rows affected (0.05 sec) Records: 3 Duplicates: 0 Warnings: 0 34

32 Fshirja e rekordeve mysql> DELETE FROM person WHERE age < 10; Query OK, 1 row affected (0.07 sec) 35

33 Modifikimi i rekordeve
mysql> UPDATE person SET age = 88 -> WHERE age = 99 OR first_name = 'paul'; Query OK, 1 row affected, 2 warnings (0.04 sec) Rows matched: 1 Changed: 1 Warnings: 2 mysql> SELECT * FROM person; | person_id | first_name | last_name | age | | 1 | sang | shin | 88 | | 2 | kelly | jones | 22 | | 3 | jack | kennedy | 56 | | 4 | paul | kennedy | 88 | 4 rows in set (0.00 sec) 36

34 Baza te SQL-se: SELECT

35 Nxjerrja e disa fushave ne menyre selektive
mysql> SELECT last_name, age FROM person; | last_name | age | | shin | 88 | | jones | 22 | | kennedy | 56 | | kennedy | 34 | | song | 24 | 5 rows in set (0.00 sec)

36 Nxjerrja e informacionit me WHERE
mysql> SELECT first_name, age FROM person -> WHERE age > 50; | first_name | age | | sang | 88 | | jack | 56 | 2 rows in set (0.00 sec) mysql> SELECT first_name, last_name, age FROM person -> WHERE age < 50 AND first_name LIKE '%niel'; | first_name | last_name | age | | daniel | song | 24 | 1 row in set (0.00 sec) 39

37 Nxjerrja e rekordeve sipas rradhes
mysql> SELECT last_name, age FROM person -> ORDER BY age ASC; | last_name | age | | jones | 22 | | song | 24 | | kennedy | 34 | | kennedy | 56 | | shin | 88 | 5 rows in set (0.00 sec) mysql> SELECT * FROM person -> ORDER BY age DESC; | person_id | first_name | last_name | age | | 1 | sang | shin | 88 | | 3 | jack | kennedy | 56 | | 4 | paul | kennedy | 34 | | 5 | daniel | song | 24 | | 2 | kelly | jones | 22 |

38 Nxjerrja e nje numri te kufizuar rekordesh
mysql> SELECT * from person -> ORDER BY age DESC -> LIMIT 3; | person_id | first_name | last_name | age | | 1 | sang | shin | 88 | | 3 | jack | kennedy | 56 | | 4 | paul | kennedy | 34 | 3 rows in set (0.00 sec)

39 Komanda baze ne SQL: Funksionet Aritmetike

40 Veprimet Aritmetike mysql> SELECT 3 + 6; +-------+ | 3 + 6 | | 9 |
1 row in set (0.00 sec) mysql> SELECT 45 * (1+2); | 45 * (1+2) | | 135 |

41 COUNT, AVG, SUM mysql> SELECT COUNT(age) FROM person; | COUNT(age) | | 5 | 1 row in set (0.04 sec) mysql> SELECT AVG(age) from person; | AVG(age) | | | 1 row in set (0.00 sec) mysql> SELECT SUM(age) FROM person; | SUM(age) | | 224 | 1 row in set (0.00 sec) 44

42 MIN, MAX mysql> SELECT MIN(age) FROM person; +----------+
| 22 | 1 row in set (0.00 sec) mysql> SELECT MAX(age) FROM person; | MAX(age) | | 88 | 1 row in set (0.00 sec) 45

43 Pyetje?


Download ppt "Bazat e te dhenave Elemente kryesore te MySQL-se"

Similar presentations


Ads by Google