独辟设计网
首页 数据库 正文

手机销售数据库设计:从需求分析到实现

来源:独辟设计网 2024-05-24 17:02:35

本文目录一览:

手机销售数据库设计:从需求分析到实现(1)

  着移动互联网的飞速发展,手机已经成为人们生活中不可或缺的一部分eDMq。而手机销售业也蓬勃发展。为了好地管理手机销售业,提高销售效率,我们需要设计一个手机销售数据库。

一、需求分析

  1. 数据库范围

  手机销售数据库应该包含手机品牌、型号、颜色、价格、库存、销售记录等信息。

2. 数据库功能

  (1)查询手机信息:根据品牌、型号、颜色等条件查询手机信息NZN

  (2)添加手机信息:添加新的手机信息,包括品牌、型号、颜色、价格、库存等。

  (3)修改手机信息:修改已有的手机信息,包括价格、库存等。

  (4)除手机信息:除已有的手机信息。

  (5)销售手机:记录销售信息,包括销售日期、销售数量、销售价格等www.yuxin1226.com独辟设计网

  (6)查询销售记录:根据日期、品牌、型号等条件查询销售记录。

3. 数据库设计

  (1)手机品牌表(Brand):包含品牌ID、品牌名称等字段。

  (2)手机型号表(Model):包含型号ID、型号名称、品牌ID等字段。

  (3)手机颜色表(Color):包含颜色ID、颜色名称等字段独辟设计网

  (4)手机信息表(Phone):包含手机ID、品牌ID、型号ID、颜色ID、价格、库存等字段。

  (5)销售记录表(Sales):包含销售ID、手机ID、销售日期、销售数量、销售价格等字段。

手机销售数据库设计:从需求分析到实现(2)

二、数据库设计

  1. 立数据库

  我们可以使用MySQL数据库,创一个名为“phone_sales”的数据库。

  2. 创数据表

我们可以使用以下SQL语句创数据表:

(1)手机品牌表(Brand):

  CREATE TABLE `brand` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(50) NOT NULL,

  PRIMARY KEY (`id`)

  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  (2)手机型号表(Model):

  CREATE TABLE `model` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) NOT NULL,

`brand_id` int(11) NOT NULL,

  PRIMARY KEY (`id`),

KEY `brand_id` (`brand_id`),

  CONSTRAINT `model_ibfk_1` FOREIGN KEY (`brand_id`) REFERENCES `brand` (`id`) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  (3)手机颜色表(Color):

  CREATE TABLE `color` (

`id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(50) NOT NULL,

  PRIMARY KEY (`id`)

  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

(4)手机信息表(Phone):

  CREATE TABLE `phone` (

`id` int(11) NOT NULL AUTO_INCREMENT,

  `brand_id` int(11) NOT NULL,

  `model_id` int(11) NOT NULL,

  `color_id` int(11) NOT NULL,

  `price` decimal(10,2) NOT NULL,

  `stock` int(11) NOT NULL,

  PRIMARY KEY (`id`),

  KEY `brand_id` (`brand_id`),

KEY `model_id` (`model_id`),

KEY `color_id` (`color_id`),

CONSTRAINT `phone_ibfk_1` FOREIGN KEY (`brand_id`) REFERENCES `brand` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,

  CONSTRAINT `phone_ibfk_2` FOREIGN KEY (`model_id`) REFERENCES `model` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,

  CONSTRAINT `phone_ibfk_3` FOREIGN KEY (`color_id`) REFERENCES `color` (`id`) ON DELETE CASCADE ON UPDATE CASCADE

  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  (5)销售记录表(Sales):

  CREATE TABLE `sales` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`phone_id` int(11) NOT NULL,

  `sale_date` date NOT NULL,

`sale_qty` int(11) NOT NULL,

  `sale_price` decimal(10,2) NOT NULL,

  PRIMARY KEY (`id`),

KEY `phone_id` (`phone_id`),

  CONSTRAINT `sales_ibfk_1` FOREIGN KEY (`phone_id`) REFERENCES `phone` (`id`) ON DELETE CASCADE ON UPDATE CASCADE

  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

手机销售数据库设计:从需求分析到实现(3)

三、数据库实现

  1. 插入数据

  我们可以使用以下SQL语句向数据表中插入数据:

  (1)手机品牌表(Brand):

  INSERT INTO `brand` (`name`) VALUES ('华为'),('小'),('苹果'),('OPPO'),('vivo');

  (2)手机型号表(Model):

  INSERT INTO `model` (`name`, `brand_id`) VALUES

('Mate 30 Pro', 1),

('P40 Pro', 1),

  ('Mi 10', 2),

('iPhone 11', 3),

('iPhone SE', 3),

('Find X2 Pro', 4),

('Reno3 Pro', 4),

  ('X50 Pro', 5);

(3)手机颜色表(Color):

  INSERT INTO `color` (`name`) VALUES ('黑色'),('白色'),('金色'),('银色'),('蓝色');

  (4)手机信息表(Phone):

  INSERT INTO `phone` (`brand_id`, `model_id`, `color_id`, `price`, `stock`) VALUES

(1, 1, 1, 7999.00, 100),

  (1, 1, 2, 7999.00, 100),

  (1, 2, 1, 6988.00, 100),

  (1, 2, 2, 6988.00, 100),

(2, 3, 1, 3999.00, 100),

  (2, 3, 2, 3999.00, 100),

  (3, 4, 1, 5499.00, 100),

  (3, 5, 2, 3299.00, 100),

(4, 6, 1, 6999.00, 100),

  (4, 7, 2, 3699.00, 100),

  (5, 8, 1, 3998.00, 100),

  (5, 8, 2, 3998.00, 100);

(5)销售记录表(Sales):

  INSERT INTO `sales` (`phone_id`, `sale_date`, `sale_qty`, `sale_price`) VALUES

  (1, '2020-06-01', 10, 7999.00),

  (2, '2020-06-02', 5, 7999.00),

  (3, '2020-06-03', 10, 6988.00),

  (4, '2020-06-04', 5, 6988.00),

(5, '2020-06-05', 10, 3999.00),

  (6, '2020-06-06', 5, 3999.00),

  (7, '2020-06-07', 10, 5499.00),

(8, '2020-06-08', 5, 3299.00),

(9, '2020-06-09', 10, 6999.00),

  (10, '2020-06-10', 5, 3699.00),

(11, '2020-06-11', 10, 3998.00),

(12, '2020-06-12', 5, 3998.00);

  2. 查询数据

  我们可以使用以下SQL语句查询数据:

(1)查询所有手机品牌:

  SELECT * FROM `brand`;

  (2)查询所有手机型号:

  SELECT * FROM `model`;

  (3)查询所有手机颜色:

  SELECT * FROM `color`;

  (4)查询所有手机信息:

SELECT p.id, b.name AS brand, m.name AS model, c.name AS color, p.price, p.stock FROM `phone` p

LEFT JOIN `brand` b ON p.brand_id = b.id

  LEFT JOIN `model` m ON p.model_id = m.id

  LEFT JOIN `color` c ON p.color_id = c.id;

  (5)查询所有销售记录:

  SELECT s.id, b.name AS brand, m.name AS model, c.name AS color, s.sale_date, s.sale_qty, s.sale_price FROM `sales` s

  LEFT JOIN `phone` p ON s.phone_id = p.id

  LEFT JOIN `brand` b ON p.brand_id = b.id

LEFT JOIN `model` m ON p.model_id = m.id

  LEFT JOIN `color` c ON p.color_id = c.id;

  3. 修改数据

  我们可以使用以下SQL语句修改数据:

  (1)修改手机价格:

UPDATE `phone` SET `price` = 7999.00 WHERE `id` = 1;

4. 除数据

  我们可以使用以下SQL语句除数据:

  (1)除手机信息:

  DELETE FROM `phone` WHERE `id` = 1;

  (2)除销售记录:

DELETE FROM `sales` WHERE `id` = 1;

四、总结

  手机销售数据库设计是一个复杂的过程,需要考虑素,如数据库范围、数据库功能、数据库设计等原文www.yuxin1226.com。在实现过程中,我们需要使用SQL语句来操作数据库,包括插入数据、查询数据、修改数据、除数据等。通过理的数据库设计和实现,我们可以好地管理手机销售业,提高销售效率。

我说两句
0 条评论
请遵守当地法律法规
最新评论

还没有评论,快来做评论第一人吧!
相关文章
最新更新
最新推荐