Системах курсовая работа по мдк



бет5/6
Дата30.06.2020
өлшемі0,69 Mb.
#74698
түріКурсовая
1   2   3   4   5   6
Байланысты:
Курсовая

Запросы


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

Мои запросы:



  • В наших таблицах есть связи, но в полях хранятся id вместо какой-либо полезной нам информации. Запросы позволяют это исправить и сделать наши таблицы более информативными и понятными.

    • Таблица carts - SELECT carts.id, goods.name, quantity, order_id FROM carts, goods WHERE goods.id = goods_id



    • Таблица orders - SELECT orders.id, clients.first_name client_first_name, clients.last_name client_last_name, clients.middle_name client_middle_name, payment_methods.name payment_method_name, paid, date_time FROM orders, clients, payment_methods WHERE orders.client_id = clients.id AND orders.payment_method_id = payment_methods.id



    • Таблица procurement - SELECT procurement.id, goods.name goods_name, suppliers.first_name supplier_first_name, suppliers.last_name supplier_last_name, suppliers.middle_name supplier_middle_name, suppliers.phone supplier_phone, procurement.price FROM procurement, goods, suppliers WHERE procurement.goods_id = goods.id AND procurement.supplier_id = suppliers.id



    • Таблица reviews - SELECT reviews.id, goods.name goods_name, clients.first_name client_first_name, clients.last_name client_last_name, clients.middle_name client_middle_name, review_text, rating FROM reviews, goods, clients WHERE reviews.goods_id = goods.id AND reviews.client_id = clients.id



    • Таблица sale - SELECT sale.id, goods.name goods_name, price, discount FROM sale, goods WHERE sale.goods_id = goods.id



  • Для удобства мы можем создать представления наших запросов и в будущем мы будет обращаться именно к представлениям

    • Представление для carts - CREATE VIEW carts_view AS SELECT carts.id, goods.name, quantity, order_id FROM carts, goods WHERE goods.id = goods_id

    • Представление для orders - CREATE VIEW order_view AS SELECT orders.id, clients.first_name client_first_name, clients.last_name client_last_name, clients.middle_name client_middle_name, payment_methods.name payment_method_name, paid, date_time FROM orders, clients, payment_methods WHERE orders.client_id = clients.id AND orders.payment_method_id = payment_methods.id

    • Представление для procurement - CREATE VIEW procurement_view AS SELECT procurement.id, goods.name goods_name, suppliers.first_name supplier_first_name, suppliers.last_name supplier_last_name, suppliers.middle_name supplier_middle_name, suppliers.phone supplier_phone, procurement.price FROM procurement, goods, suppliers WHERE procurement.goods_id = goods.id AND procurement.supplier_id = suppliers.id

    • CREATE VIEW review_view AS SELECT reviews.id, goods.name goods_name, clients.first_name client_first_name, clients.last_name client_last_name, clients.middle_name client_middle_name, review_text, rating FROM reviews, goods, clients WHERE reviews.goods_id = goods.id AND reviews.client_id = clients.id

    • CREATE VIEW sale_view AS SELECT sale.id, goods.name goods_name, price, discount FROM sale, goods WHERE sale.goods_id = goods.id

    • Вот что получилось:



  • Пример удаления строки (Удаляем отзыв с рейтингом 4) - DELETE FROM `reviews` WHERE rating = 4

  • Пример добавления строки (Добавляем отзыв) - INSERT INTO `reviews`(`id`, `goods_id`, `client_id`, `review_text`, `rating`) VALUES (null, 4, 2, "Some review", 5)

  • Пример изменения строки. (Даём скидку пользователю) - UPDATE `clients` SET `discount`=2 WHERE id = 1

  • Пример группировки строк в таблице. (группируем по заказу) - SELECT * FROM carts GROUP BY order_id

  • Пример группировки строк в таблице с having (группируем по заказу с подсчетом товаров в заказе и общим количеством) - SELECT COUNT(goods_id) count_goods, sum(quantity) sum_quantity, order_id FROM carts GROUP BY order_id HAVING COUNT(goods_id)

  • Пример использования. (Поиск пользователя по имени) LIKE - SELECT * FROM clients WHERE first_name LIKE "Кумуш"

  • Пример использования JOIN - SELECT goods.id, goods.name, types_of_goods.name name_types_of_goods, quantity_in_stock, description FROM goods INNER JOIN types_of_goods ON goods.type_id = types_of_goods.id

  • Пример использования BETWEEN (Выбираем товар по минимальной и максимальной цене) - SELECT * FROM sale WHERE price BETWEEN 13000 AND 16000

  • Пример сортировки от меньшего к большему - SELECT * FROM sale ORDER BY price

  • Пример сортировки от большего к меньшему - SELECT * FROM sale ORDER BY price DESC

  • Пример использования IN (Выбираем типы данных «Ноутбук» и «Нетбук») - SELECT * FROM types_of_goods WHERE name IN ("Ноутбук", "Нетбук")

  • Пример использования OR - SELECT * FROM types_of_goods WHERE name = "Ноутбук" OR name = "Нетбук"

  • Пример использования UNION (Выбираем всех людей в бд) - SELECT first_name, last_name, middle_name FROM clients UNION SELECT first_name, last_name, middle_name FROM suppliers




Достарыңызбен бөлісу:
1   2   3   4   5   6




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет