基于 C++和 MySQL 实现(控制台)汽销售管理系统【100010538】
数据库系统 课程设计报告
汽销售管理系统
开发环境与开发具
开发环境:windows
开发具:mysql 3.7.31, mysql workbench, visual studio 2017
系统需求分析
2.1 功能分析
基础信息管理:
商信息管理:查询、增、删、改 型信息管理:查询、增、删、改客信息管理:查询、增、删、改 进货管理:
辆采购信息的管理:查询、增、删、改
辆库信息的管理:查询、增、删、改 销售管理:
辆销售:客可以根据的需求,选择不同型号的型收益统计:商按照所出售的辆数量及价格进统计 仓库管理:
仓库明细:库存各种型号的辆的详细信息进销存统计:对辆的出售与进货进统计
2.2 数据字典 以下为系统的数据结构:
编号 | 数据结构名 | 属性 | ||
---|---|---|---|---|
1 | 客 customer | 客 ID,姓名,性别,电话 | ||
2 | 商 industry | 商 ID,进货辆数,出货辆数,库存辆数,总利润 | ||
3 | 辆 car | 辆 ID,辆型号,利润 | ||
4 | 购买 purchase | 辆型号,客 ID,商 ID,数量 | ||
5 | 拥有 possess | 辆型号,数量,商 ID | ||
数据库关系模式设计
In_amount, Out_amount, Remain_amount, Total_profit均初始化为0。
这是商和汽之间的Relationship,在我们设计的数据库中要求某种汽只能被特定商销售,如car_name为Toyota时只能被Industry_ID为"本"售卖,所以这个表的主码为car_name。
这是商和客之间购买的Relationship,我们将属性customer_ID和industry_ID分别设置外码约束来保证数据库完整性,注意这客购买的是某个汽品牌并该品牌中的哪辆。
数据库物理结构设计
else{;
printf("您有以下厂商可供选择:\n");;
char strquery[200] = "select industry_ID from industry";
mysql_query(&mysql, strquery);
result = mysql_store_result(&mysql);
MYSQL_ROW row;;
row = mysql_fetch_row(result);
if (row == NULL){;
printf("当前系统中不存在厂商。\n\n");;
return -1;;
};
while (row != NULL){
printf("%s\t", row[0]);
row = mysql_fetch_row(result);;
}; if (mysql_errno(&mysql)){
fprintf(stderr, "Error:%s\n", mysql_error(&mysql));
return 0;; };
printf("\n 你想从哪个厂商购买车辆?请输入名称:");;
char industry_ID[5];
scanf("%s", industry_ID); printf("\n");
char strquery1[200] = "select car_name,car_amount from possess where industry_ID='"; strcat(strquery1, industry_ID);
strcat(strquery1, "'");
mysql_query(&mysql, strquery1);
result = mysql_store_result(&mysql);;
row = mysql_fetch_row(result);
if (row == NULL){;
printf("当前厂商没有车辆库存。\n\n");;
return -1;; };
printf("当前厂商 %s 的车辆有:\n", industry_ID);;
while (row != NULL){
printf("%-12s%s\n", row[0], row[1]);
row = mysql_fetch_row(result);;
};
printf("请输入您想购买的车辆名称及数量:(以空格分隔)");
char number[3];
char name[10];
scanf("%s", name);
scanf("%s", number);;
int number1 = number[0] - '0';;
//更新 possess 表;
update_possess_table(name, number, industry_ID, true, true);
char* profit = (char*)malloc(sizeof(char) * 6);
char temp_str[3] = "1";;
while (number1--){;
//删除 car 表中含有该车辆名称的第一行;
delete_car_table_ID(name, profit);; //更新 industry 表; update_industry_table(industry_ID, temp_str, true, profit);; };
free(profit);;
//更新 purchase 表,直接插入一行
update_purchase_table :更新 purchase 表,直接插
int update_purchase_table(char* ID, char* industry_ID, char* car_name, char* number)
//直接将客户ID,厂商ID,汽车品牌和购买数量插入purchase表,表示这次销售记录已经被系统保存
一、总结
语句的语法,例如 , , 等常数据库更新语句的使。(主要知识点分布在 Chapter 3,Chapter 4,Chapter 5)
根据客需求设计数据库的步骤在这次实验中都有体现,在概念设计阶段、逻辑设计阶段和物理设计阶段均运了理论和实验课上的知识。(知识点主要分布在 Chapter 6 和 Chapter 7)
使用了嵌式 SQL 进编程(Chapter 5),实现了使程序设计语访问数据库的功能。
♻️ 资源
大小: 10.4MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87400362
相关文章
- MySQL索引优化(索引两表优化案例)
- Navicat Premium连接MySQL 1251错误和Mysql初始化root密码和允许远程访问
- 如何在MySql中记录SQL日志
- 【Mysql 学习】mysqld_safe:MySQL服务器启动脚本
- 【MySql】mysql 慢日志查询工具之mysqldumpslow
- linux - mysql 异常:MySQL Daemon failed to start.
- MySQL选择数据库use与mysql_select_db使用详解
- mysql联合索引详解
- Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题
- Centos设置开机启动Apache和Mysql[总结]
- mysql 必知必会整理—组合查询与全文搜索[九]
- MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- mysql订单表如何设计?
- mysql之创建数据库,创建数据表
- mysql 必知必会整理—数据库的维护[十八]
- mysql添加DATETIME类型字段导致Invalid default value错误的问题
- mysql cascade|restrict|no action|set null__mysql 外键的几种约束
- MySQL保留字不能作为字段名使用_Table字段不能设为关键字range,range在mysql中是分区,是mysql的关键字
- MySQL的锁机制和加锁原理
- 【收藏】windows下 Mysql 错误 Can‘t open and lock privilege tables: Table ‘mysql.user‘ doesn‘t exist
- Win10_MySQL环境搭建以及Navicat的使用全解
- 【实施工程师】MySQL导入大sql 文件大小限制问题的解决
- Starting MySQL ERROR! Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe)
- 【高可用MySQL解决方案】centos7配置mysql主从复制
- VS中c++文件调用c 函数 ,fatal error C1853 预编译头文件来自编译器的早期版本号,或者预编译头为 C++ 而在 C 中使用它(或相反)
- Ubuntu20.04下,qt交叉编译报错::15: warning: identifier ‘nullptr‘ is a keyword in C++11 [-Wc++0x-compat]
- MySQL与逻辑模块
- mysql case when
- MySQL缺失mysql_config文件
- Mysql分表和分区的区别、分库和分表区别
- Mysql入门技能树-聚合和分组
- 【图形工具】MySQL Workbench 图形化界面工具
- MySQL-用户与权限