php za pocetnike - predavanje 9

24
PHP za početnike Academy387 Nermin Šehić Predavanje 9

Upload: nermin-sehic

Post on 23-Feb-2017

274 views

Category:

Education


11 download

TRANSCRIPT

Page 1: PHP za pocetnike - predavanje 9

PHP za početnike

Academy387 Nermin Šehić

Predavanje 9

Page 2: PHP za pocetnike - predavanje 9

Recap: predavanje 8• Baze podataka

• DBMS

• Tabele

• Redovi

• Kolone

• Atributi

• Primary key

• Foreign key

• Query

Page 3: PHP za pocetnike - predavanje 9

Dodavaje foreign key-a

ALTER TABLE child_table_name ADD FOREIGN KEY (foreign_key_name) REFERENCES parent_table_name (table_id)

Page 4: PHP za pocetnike - predavanje 9

Vjezba 1• Napraviti novu bazu blog

• Napraviti dvije table author i article

• U tabeli author dodati polja id, name, email, pop

• U tabeli article dodati polja id, title, text, author_id

• Polje author_id u tabeli article je foreign key od tabele author

• Uraditi dva INSERT query-a u tabelu author

Page 5: PHP za pocetnike - predavanje 9

JOINS

• Inner join

• Left join

• Right join

• Outer join

Page 6: PHP za pocetnike - predavanje 9

id name course_fk

1 John Doe 1

2 Foo Bar 3

3 Branko Copic 5

id name

1 HTML5

2 PHP

3 CSS

Page 7: PHP za pocetnike - predavanje 9

INNER JOIN

SELECT user.name, course.nameFROM `user` INNER JOIN `course` on user.course = course.id;

Page 8: PHP za pocetnike - predavanje 9

LEFT JOIN

SELECT user.name, course.nameFROM `user` LEFT JOIN `course` on user.course = course.id;

Page 9: PHP za pocetnike - predavanje 9

RIGHT JOIN

SELECT user.name, course.nameFROM `user` RIGHT JOIN `course` on user.course = course.id;

Page 10: PHP za pocetnike - predavanje 9

OUTER JOIN

Page 11: PHP za pocetnike - predavanje 9

OUTER JOIN

SELECT user.name, course.name| FROM `user ̀LEFT JOIN `course` on user.course = course.id

UNIONSELECT user.name, course.name FROM `user ̀RIGHT JOIN `course` on user.course = course.id;

Page 12: PHP za pocetnike - predavanje 9

Alternativni pristup

• SELECT * FROM table1, table2 WHERE table2.fk = table1.pk

• fk - foreign key

• pk - primary key

Page 13: PHP za pocetnike - predavanje 9

Primer 1

• Dodavanje u tabelu sa foreign key-em

• INSERT INTO table_name (column1, column2, foreign_key) VALUES (value1, value2, foreign_key_value)

Page 14: PHP za pocetnike - predavanje 9

Vjezba 2

• Koristeci bazu iz vjezbe 1, dodati u tabelu article 2 reda sa razliciom fk referencom

• Koristeci jedan od join metoda uraditi SELECT query

Page 15: PHP za pocetnike - predavanje 9

ERD

• Entity relationship diagram

• Koristi se za vizuelnu prezentaciju baze, njenih atributa i veza medju tabelama

Page 16: PHP za pocetnike - predavanje 9

Primjer ERD

Page 17: PHP za pocetnike - predavanje 9

Vjezba 3

• Koristeci bazu iz vjezbi 1 i 2 i nacrtati ERD

Page 18: PHP za pocetnike - predavanje 9

Vjezba 4

• Isprogramirati bazu na osnovu zadanog ERD

Page 19: PHP za pocetnike - predavanje 9

Vjezba 4

Page 20: PHP za pocetnike - predavanje 9

Korisne MySQL komande

• SELECT * FROM tableName LIMIT 30

• SELECT COUNT(pk) FROM tableName

• SELECT COUNT(id) as count FROM author

Page 21: PHP za pocetnike - predavanje 9

Korisne MySQL komande

• SELECT * FROM tableName ORDER BY pk DESC

• SELECT * FROM tableName ORDER BY pk ASC

• SELECT tN.pk FROM tableName tN

Page 22: PHP za pocetnike - predavanje 9

To sum up…• Dodavanje FK constraint-a

• Left join

• Right join

• Inner join

• Outer join

• ERD

• MySQL Komande

Page 23: PHP za pocetnike - predavanje 9

Pitanja?

Page 24: PHP za pocetnike - predavanje 9

• Naredno predavanje: 10.11.2015

• http://www.slideshare.net/NerminSehic/php-za-pocetnike-predavanje-9