Отчет по «Базы данных»


Download 18.24 Kb.
Sana09.06.2023
Hajmi18.24 Kb.
#1469865
TuriОтчет
Bog'liq
Отчет по БД


Отчет по «Базы данных»:
1. Как в моей профессиональной жизни я буду использовать полученные знания о базах данных?
Я купил курс по Flutter в Udеmу.com . В курсе я должен создать STORE APP. Знания о базах данных будут необходимы для эффективной работы с данными в продуктовом магазине. Базы данных помогут управлять информацией о продуктах, заказах и пользователях, а также сделать анализ данных для принятия важных бизнес-решений.
2. Описание ER-модели для выбранной предметной области:
Предметная область: продуктовый магазин
Сущности:
Product (товары)
Category (категории товаров)
Order (заказы)
User (пользователи)
Связи:
У каждого товара может быть только одна категория, но у одной категории может быть много товаров (связь "многие к одному" между сущностями Category и Product)
У каждого заказа может быть много товаров, а у каждого товара может быть много заказов (связь "многие ко многим" между сущностями Order и Product)
У каждого заказа может быть только один пользователь, но у одного пользователя может быть много заказов (связь "многие к одному" между сущностями Order и User)
Поля:
Product: id, name, description, price, quantity, manufacturer, category_id
Category: id, name
Order: id, order_date, status, total_amount, user_id
User: id, first_name, last_name, delivery_address, email, phone_number

3. DDL запросы для создания таблиц, реализующих описанную ER-модель:

CREATE TABLE Product (


id INTEGER PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
price DECIMAL(10,2) NOT NULL,
quantity INTEGER NOT NULL,
manufacturer VARCHAR(255) NOT NULL,
category_id INTEGER NOT NULL,
FOREIGN KEY (category_id) REFERENCES Category (id)
);

CREATE TABLE Category (


id INTEGER PRIMARY KEY,
name VARCHAR(255) NOT NULL
);

CREATE TABLE Order (


id INTEGER PRIMARY KEY,
order_date DATE NOT NULL,
status VARCHAR(255) NOT NULL,
total_amount DECIMAL(10,2) NOT NULL,
user_id INTEGER NOT NULL,
FOREIGN KEY (user_id) REFERENCES User (id)
);

CREATE TABLE User (


id INTEGER PRIMARY KEY,
first_name VARCHAR(255) NOT NULL,
last_name VARCHAR(255) NOT NULL,
delivery_address VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
phone_number VARCHAR(20) NOT NULL
);

CREATE TABLE Order_Product (


order_id INTEGER NOT NULL,
product_id INTEGER NOT NULL,
quantity INTEGER NOT NULL,
PRIMARY KEY (order_id, product_id),
FOREIGN KEY (order_id) REFERENCES Order (id),
FOREIGN KEY (product_id) REFERENCES Product (id)
);
4. DML запросы правки данных в, как минимум, одной таблице:
Изменим количество товара на складе для товара с id = 1:

UPDATE Product


SET quantity = 10
WHERE id = 1;
5. Определение критерия выборки и запрос для выборки данных из, как минимум, трех связанных таблиц:
Критерий выборки: получить информацию о товарах и заказах, оформленных пользователем с id = 1.

SELECT Product.name, Product.price, Order.order_date, Order.status


FROM Product
INNER JOIN Order_Product ON Product.id = Order_Product.product_id
INNER JOIN Order ON Order_Product.order_id = Order.id
WHERE Order.user_id = 1;
Download 18.24 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling