260 likes | 443 Views
БД. Къде се съхраняват данните за нашите WP – страници ? Защо има толкова много таблици нашият WP? За какво служи всяка от тях? Какво се случва като натиснем бутона Publish?. Бази от данни. заявки дизайн phpmyadmin. Съдържание. Заявки Дизайн на БД phpmyadmin. Заявки.
E N D
БД • Къде се съхраняват данните за нашите WP – страници? • Защо има толкова много таблици нашият WP? За какво служи всяка от тях? • Какво се случва като натиснем бутона Publish?
Бази от данни заявки дизайн phpmyadmin
Съдържание • Заявки • Дизайн на БД • phpmyadmin
Заявки • Data manipulation language (DML) • SELECT • INSERT • UPDATE • DELETE • Заявки между няколко таблици
БД-заявки (queries) • За манипулации с данни в създадени таблици • Data manipulation language (DML) • Най-популярен език - SQL
SELECT • Извлича данни от таблици SELECT полета FROM таблицаWHERE условия • Примери: • SELECT teamName FROM ‘teams’ • SELECT * FROM ‘teams’ WHERE budget > 1 000 000
INSERT • Вмъква данни в таблица INSERT INTO таблица VALUES (стойности) • Примери: • INSERT INTO ‘teams‘ VALUES (‘5’, ‘Slavia Sofia’, ‘Bulgaria’, ’50 000’, ‘Ovchakupel’)
UPDATE • Обновява записи в таблица UPDATE таблица SET полетаWHERE условия • Пример: • UPDATE ‘players’ SET salary = salary * 1.1 WHERE teamID = ‘5’
DELETE • Изтрива записи от таблица DELETE FROM таблицаWHERE условия • Пример: • DELETE FROM ‘players’ WHERE age > 40
Задачи За таблицата youthsav_study_db Пример: Да се извлечат: а) всички отбори; б) всички отбори от Русия; в) всички отбори с бюджет под 300 000 • Да се извлечат всички записи от таблицита с играчи ‘players’ (6) • Да се извлечат играчи на възраст под 25 години (4) • Да се извлечат всички играчи, с име ‘Georgi’ • Да се добави по 1 запис в таблиците ‘players’, ‘teams’ • Да се извлечат всички играчи, които са от отбор ‘CSKA’ [3]
Работа с няколко таблици • Как да извлечем всички играчи от български отбори?
Работа с няколко таблици (2) • Извличане на всички играчи от български отбори • SELECT * FROM ‘players’ p INNER JOIN ’teams’ t ON p.teamID = t.ID WHERE t.country = ‘Bulgaria’ • Извличане на всички играчи от български отбори • SELECT * FROM `players` WHERE teamID IN (SELECT id FROM ‘teams’ WHERE country = 'Bulgaria')
Задачи За таблицата youthsav_study_db • Да се извлечат всички играчи, които са от отбор с бюджет над 1 млн [1] • Да се извлечат всички руски отбори [2] • Да се извлечат всички отбори, които имат играч с име ‘Georgi’ [2] • Да се извлечат всички български отбори, които имат чуждестранен играч [1]
Дизайн на бази данни • Data definition language (DDL) • Нормализация на БД • Първа нормална форма • Втора нормална форма
Дизайн на БД • Създаване на БД и таблици с колони към нея • Как определяме колко таблици да има и кои колони в коя таблица да сложим? • Как да бъдат свързани таблиците помежду си? • Data definition language (DDL)
Нормализация на данните • Изключване на повтаряща се информация в таблиците. • Минимизиране на аномалиите при съхраняване, изтриване и промяна на данните. • Създаване на отворена към бъдещи промени структура.
Първа нормална форма • Цел: Всяка колона (всяко поле) от таблицата съдържа само по 1 стойност.
Втора нормална форма • Цел: Една таблица не съдържа повтаряща се информация.
Втора нормална форма • Условие: Когато имаме повече 1 колона за първичен ключ, тогава всяка колона от таблицата трябва да е зависима от целия първичен ключ.
Задача 1 • Да се нормализира БД за Уoutubeпесни със следните полета: • Име на изпълнител • Жанр за изпълнител • Възраст на изпълнител • Заглавие на песен • Година на песен • Брой гледания на песен
Задача 2 • Да се нормализира БД за училище със следните полета: • Име на ученик • Клас • Номер в клас • Класна стая • Класен ръководител • Среден успех на ученик • Телефон на класен ръководител
phpmyadmin • Преглед на таблици • Създаване на БД • Работа с БД (DML) • Вмъкване на данни в таблица • Експортиране на БД
Още по темата • http://w3schools.com/sql/default.asp • http://www.youtube.com/watch?v=E7_rIGq3u58&list=PLVpLSaSC1ZDRvC9pV-41K8kB2pr5fZH_M&index=1