Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Выборка всех товаров определенной категории





 

Выборка товаров определенной категории имеет не самый тривиальный запрос. По задумке нашего интернет-магазина мы не можем добавлять товар в категорию, которая имеет дочерние категории и тем не менее при выборке всех товаров с предикатом родительской категории мы должны получить все товары дочерних категорий, которые относятся к данной категории.

Запрос будет состоять из 2 подзапросов. Первый подзапрос будет выбирать из таблицы goods все товары где goods_brandid = КЛЮЧ_КАТЕГОРИИ и товар не скрыт на сайте. Второй подзапрос будет немного сложнее, он будет иметь вложенный запрос. Это нужно для того чтобы выбрать все товары дочерних категорий. Потом мы возьмем эти два подзапроса и объединим оператором UNION. В конечном итоге мы получим универсальный запрос который будет выбирать все товары конкретной категории, и если категория родительская, то он будет выбирать все товары всех дочерних подкатегорий.

SQL:

(SELECT goods_id, name, img, anons, price, hits, new, sale, date FROM goods WHERE goods_brandid = $category AND visible='1')

UNION

(SELECT goods_id, name, img, anons, price, hits, new, sale, date FROM goods WHERE goods_brandid IN (SELECT brand_id FROM brands WHERE parent_id = $category) AND visible='1')

$category – это ключ выбираемой категории.

На самом деле тут все очень просто, если $category родительская, то первый подзапрос вернет нам пустой результат, а второй подзапрос вернет нам все товары из подкатегории где, parent_id = $category (родитель подкатегории = категории).

 


 

Заключение

 

Мы закрепили изучаемый материал по дисциплине «Информационные ресурсы и системы. Базы данных». Повторили весь материал и сделали самостоятельную практическую часть. Мы разработали нормализированную базу данных для стандартного интернет магазина. При разработке БД, мы придерживались, правилам так называемых «нормальных форм», тем самым разработали правильную структуру БД. Также мы продемонстрировали широкое использование реляционной модели базы данных и работали с сервером MySQL и СУБД phpMyAdmin. В итоге проектирование и разработке мы получили базу данных из 7 таблиц. После проектирования и разработки нашей базы данных интернет-магазина, мы закрепили наши знания по языку программирования запросов к базе данных SQL и разобрали несколько нестандартных запросов и показали наиболее оптимальное решение одной нетривиальной задачи выборки данных из БД.

 


 

Список литературы

Date: 2015-12-13; view: 343; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию