首页
友情链接
关于
Search
1
实验四 数据库设计
122 阅读
2
头歌Java实验五
114 阅读
3
学习通Java作业四
60 阅读
4
C++设计模式之开闭原则笔记
33 阅读
技术
编程
电脑
服务器
资源
下载
专题
考研
作业
默认分类
登录
/
注册
Search
标签搜索
头歌
Java
编程
作业
BreakAndCreate
累计撰写
2
篇文章
累计收到
1
条评论
今日撰写
0
篇文章
首页
栏目
技术
编程
电脑
服务器
资源
下载
专题
考研
作业
默认分类
页面
友情链接
关于
用户登录
登录
注册
搜索到
2
篇与
的结果
2023-05-07
实验四 数据库设计
【实验目的】1、掌握规范化数据库设计包括步骤及其任务、方法、结果等。2、掌握数据库设计过程中关键文档的写法。3、了解数据库辅助设计工具。【实验内容】请按下面大纲书写实验报告(请自行附页)。(1)需求分析,给出数据字典与数据流图(2)数据分析,设计E-R模型(3)E-R模型转换为关系模型(4)数据库说明(5)创建表SQL语句要求:其中,E-R图中至少3个以上实体,每个实体5个以上属性,至少2种以上联系。用户下订单后发下订单后给系统处理,系统首先根据订单判断价格信息等是否有误,然后接着除用户订单数量等等,然后将订单分类为是否付款,如果付款就准时发送订单,如果在规定时内付款则即时发订单发送给商家 数据流字典:名称 来源 去向 所含数据结构 说明 订单 U1 F1 json类型数据格式,以键值对的形式存储 用户提交的商品详情 订单信息 F1 D2json类型数据格式,以键值对的形式存储 订单的是否合格信息 订单数目 F2 D3 json类型数据格式,以键值对的形式存储 处理后的订单数量 正常付款订单 F2.1 D4 json类型数据格式,以键值对的形式存储 包含了订单的付款状态信息 未正常付款订单 F2.1 D4 json类型数据格式,以键值对的形式存储 包含了订单的付款状态信息 准时处理 D4 F2.2 json类型数据格式,以键值对的形式存储 包含了订单的付款状态信息 即使处理 D4 F2.3 json类型数据格式,以键值对的形式存储 包含了订单的付款状态信息 发送订单 D5 S1 json类型数据格式,以键值对的形式存储 包含了订单完整信息 数据处理字典(F1~Fn):编号 名称 来源 处理逻辑概括 输出数据流 说明 F1 订单检查 订单+菜单目录 判断订单的金额与价格与实体是否一致 订单信息 F2 数目统计 订单信息 计算订单的数目 订单数目 F2.1 订单分类 订单数目 根据是否付款把的订单分类 正常付款订单&未付款订单 F2.2 准时处理 正常订单 判断金额把数据返回给客户 准时处理 F2.3 即使处理 待付款倒计时的订单 如果订单超时删除该订单,返回交易关闭,如果在规定时间内付款,则发送订单给商家 即使处理 F2.4 发送订单 待发送订单 把的订单发送给客户 发送订单 数据存储字典(D1~Dn):编号 名称 插入数据流 输出数据流 内容 说明 D2 合格订单 F1 F2 订单 用于存储合格的订单 D3 订单数目 F2 F2.1 订单数量 用于存储订单数量和价格 D4 正常付款订单 F2.1 F2.2 订单详情价格金额已付款金额 用于存储正常付款的订单 D4 未付款订单 F2.1 F2.3 订单详情价格金额需要付款的时间,订单时间 用于存储未付款或未正常付款的订单 D5 转发订单 F2.1+F2.3 F2.4 所有与订单的相关信息 用于存储所有与订单相关的信息 数据项字典:给出数据描述的部分内容,对数据流图中的各个存储文件中的记录字段予以逐个定义编号 名称 类型 长度 说明 备注 I1 Order_Id int l2 Order_Name varchar 50 l3 Order_Amount float 支付金额 l4 Order_PayTime DateTIme 时间 l5 Order_Time DateTIme l6 Order_Merchant_ID int l7 OrderDetail_Status varchar 50 支付状态是否支付,支付异常信息等 E-R图  将上述E-R图转换为关系模式模型 下划线为主码,删除线为外码,订单(订单编号,订单名称,订单金额,付款时间,下单时间,商家编号)对应的实体订单,包含联系”属于“商家(商家编号,商家名称,商家电话,商家地址,店主,注册日期)对应实体商家菜单(菜单编号,菜名,类别,味道,重量,单价)订单详情(订单编号,菜单编号,订单状态)对应联系”组成“菜品列表(菜单编号,商家编号)对应联系"包含"数据库说明 表说明 表名 内容 Order 订单 Merchant 商家 Menu 菜单 OrderDetail 订单详情 MenuList 菜品列表 1.Order:字段名 数据类型长度 字段中文名 约束 Order_Id int 订单编号 Primary Key Order_Name varchar(50) 订单名称 Not Null Order_Amount float 订单金额 Order_PayTime DateTime 付款时间 Order_Time DateTime 下单时间 Order_Merchant_ID int 商家编号 Foreign Key 2.Merchant字段名 数据类型长度 字段中文名 约束 Merchant_Id int 商家编号 Primary Key Merchant_Name varchar(50) 商家名称 Not Null Merchant_Tel varchar(50) 商家电话 Not Null Merchant_Local varchar(50) 商家地址 Merchant_Master varchar(50) 店主 Merchant_LoginTime time 注册日期 Not Null 3.Menu字段名 数据类型长度 字段中文名 约束 Menu_Id int 菜单编号 Primary Key Menu_Name varchar(50) 菜名 Not Null Menu_Type varchar(50) 类别 Not Null Menu_Taste varchar(50) 味道 Menu_Weight varchar(50) 重量 Menu_Price float 单价 Foreign Key 4.OrderDetail字段名 数据类型长度 字段中文名 约束 OrderDetail_Order int 订单编号 FOREIGN KEY Primary KeyOrderDetail_Menu int 菜单编号 FOREIGN KEY OrderDetail_Status varchar(50) 订单状态 5.MenuList字段名 数据类型长度 字段中文名 约束 MenuList_Menu_ID int 菜单编号 FOREIGN KEY Primary Key MenuList_Merchant_ID int 商家编号 FOREIGN KEY 创建表sql语句 DROP TABLE IF EXISTS `menu`;CREATE TABLE `menu` ( `Menu_Id` int(11) NOT NULL COMMENT '菜单编号', `Menu_Name` varchar(50) NOT NULL COMMENT '菜名', `Menu_Type` varchar(50) DEFAULT NULL COMMENT '类别', `Menu_Taste` varchar(50) DEFAULT NULL COMMENT '味道', `Menu_Weight` varchar(50) DEFAULT NULL COMMENT '重量', `Menu_Price` float NOT NULL COMMENT '单价', PRIMARY KEY (`Menu_Id`), CONSTRAINT `menu_ibfk_1` FOREIGN KEY (`Menu_Id`) REFERENCES `menulist` (`MenuList_Menu_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Data for the table `menu` *//*Table structure for table `menulist` */DROP TABLE IF EXISTS `menulist`;CREATE TABLE `menulist` ( `MenuList_Menu_ID` int(11) NOT NULL COMMENT '菜单编号', `MenuList_Merchant_ID` int(11) NOT NULL COMMENT '商家编号', PRIMARY KEY (`MenuList_Menu_ID`,`MenuList_Merchant_ID`), KEY `MenuList_Merchant_ID` (`MenuList_Merchant_ID`), CONSTRAINT `menulist_ibfk_1` FOREIGN KEY (`MenuList_Merchant_ID`) REFERENCES `merchant` (`Merchant_Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Data for the table `menulist` *//*Table structure for table `merchant` */DROP TABLE IF EXISTS `merchant`;CREATE TABLE `merchant` ( `Merchant_Id` int(11) NOT NULL COMMENT '商家编号', `Merchant_Name` varchar(50) NOT NULL COMMENT '商家名称', `Merchant_Tel` varchar(50) NOT NULL COMMENT '商家电话', `Merchant_Local` varchar(50) NOT NULL COMMENT '商家地址', `Merchant_Master` varchar(50) DEFAULT NULL COMMENT '店主', `Merchant_LoginTime` time DEFAULT NULL COMMENT '注册日期', PRIMARY KEY (`Merchant_Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Data for the table `merchant` *//*Table structure for table `order` */DROP TABLE IF EXISTS `order`;CREATE TABLE `order` ( `Order_Id` int(11) NOT NULL COMMENT '订单编号', `Order_Name` varchar(50) NOT NULL COMMENT '订单名称', `Order_Amount` float DEFAULT NULL COMMENT '订单金额', `Order_PayTime` datetime DEFAULT NULL COMMENT '付款时间', `Order_Time` datetime DEFAULT NULL COMMENT '下单时间', `Order_Merchant_ID` int(11) DEFAULT NULL COMMENT '商家编号', PRIMARY KEY (`Order_Id`), KEY `Order_Merchant_ID` (`Order_Merchant_ID`), CONSTRAINT `order_ibfk_1` FOREIGN KEY (`Order_Merchant_ID`) REFERENCES `merchant` (`Merchant_Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Data for the table `order` *//*Table structure for table `orderdetail` */DROP TABLE IF EXISTS `orderdetail`;CREATE TABLE `orderdetail` ( `OrderDetail_Order` int(11) NOT NULL COMMENT '订单编号', `OrderDetail_Menu` int(11) NOT NULL COMMENT '菜单编号', `OrderDetail_Status` varchar(50) DEFAULT NULL COMMENT '订单状态', PRIMARY KEY (`OrderDetail_Order`,`OrderDetail_Menu`), KEY `OrderDetail_Menu` (`OrderDetail_Menu`), CONSTRAINT `orderdetail_ibfk_1` FOREIGN KEY (`OrderDetail_Order`) REFERENCES `order` (`Order_Id`), CONSTRAINT `orderdetail_ibfk_2` FOREIGN KEY (`OrderDetail_Menu`) REFERENCES `menu` (`Menu_Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ```sql DROP TABLE IF EXISTS `menu`;CREATE TABLE `menu` ( `Menu_Id` int(11) NOT NULL COMMENT '菜单编号', `Menu_Name` varchar(50) NOT NULL COMMENT '菜名', `Menu_Type` varchar(50) DEFAULT NULL COMMENT '类别', `Menu_Taste` varchar(50) DEFAULT NULL COMMENT '味道', `Menu_Weight` varchar(50) DEFAULT NULL COMMENT '重量', `Menu_Price` float NOT NULL COMMENT '单价', PRIMARY KEY (`Menu_Id`), CONSTRAINT `menu_ibfk_1` FOREIGN KEY (`Menu_Id`) REFERENCES `menulist` (`MenuList_Menu_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Data for the table `menu` *//*Table structure for table `menulist` */DROP TABLE IF EXISTS `menulist`;CREATE TABLE `menulist` ( `MenuList_Menu_ID` int(11) NOT NULL COMMENT '菜单编号', `MenuList_Merchant_ID` int(11) NOT NULL COMMENT '商家编号', PRIMARY KEY (`MenuList_Menu_ID`,`MenuList_Merchant_ID`), KEY `MenuList_Merchant_ID` (`MenuList_Merchant_ID`), CONSTRAINT `menulist_ibfk_1` FOREIGN KEY (`MenuList_Merchant_ID`) REFERENCES `merchant` (`Merchant_Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Data for the table `menulist` *//*Table structure for table `merchant` */DROP TABLE IF EXISTS `merchant`;CREATE TABLE `merchant` ( `Merchant_Id` int(11) NOT NULL COMMENT '商家编号', `Merchant_Name` varchar(50) NOT NULL COMMENT '商家名称', `Merchant_Tel` varchar(50) NOT NULL COMMENT '商家电话', `Merchant_Local` varchar(50) NOT NULL COMMENT '商家地址', `Merchant_Master` varchar(50) DEFAULT NULL COMMENT '店主', `Merchant_LoginTime` time DEFAULT NULL COMMENT '注册日期', PRIMARY KEY (`Merchant_Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Data for the table `merchant` *//*Table structure for table `order` */DROP TABLE IF EXISTS `order`;CREATE TABLE `order` ( `Order_Id` int(11) NOT NULL COMMENT '订单编号', `Order_Name` varchar(50) NOT NULL COMMENT '订单名称', `Order_Amount` float DEFAULT NULL COMMENT '订单金额', `Order_PayTime` datetime DEFAULT NULL COMMENT '付款时间', `Order_Time` datetime DEFAULT NULL COMMENT '下单时间', `Order_Merchant_ID` int(11) DEFAULT NULL COMMENT '商家编号', PRIMARY KEY (`Order_Id`), KEY `Order_Merchant_ID` (`Order_Merchant_ID`), CONSTRAINT `order_ibfk_1` FOREIGN KEY (`Order_Merchant_ID`) REFERENCES `merchant` (`Merchant_Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Data for the table `order` *//*Table structure for table `orderdetail` */DROP TABLE IF EXISTS `orderdetail`;CREATE TABLE `orderdetail` ( `OrderDetail_Order` int(11) NOT NULL COMMENT '订单编号', `OrderDetail_Menu` int(11) NOT NULL COMMENT '菜单编号', `OrderDetail_Status` varchar(50) DEFAULT NULL COMMENT '订单状态', PRIMARY KEY (`OrderDetail_Order`,`OrderDetail_Menu`), KEY `OrderDetail_Menu` (`OrderDetail_Menu`), CONSTRAINT `orderdetail_ibfk_1` FOREIGN KEY (`OrderDetail_Order`) REFERENCES `order` (`Order_Id`), CONSTRAINT `orderdetail_ibfk_2` FOREIGN KEY (`OrderDetail_Menu`) REFERENCES `menu` (`Menu_Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ```
2023年05月07日
122 阅读
0 评论
1 点赞
2023-05-02
C++设计模式之开闭原则笔记
一.什么是开闭原则定义:一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。说白了就是当一个产品做好的时候,如果有新的功能加入我们应该尽量做到去扩展而不是去修改已经设计好的功能或结构,比如笔记本电脑,厂家生产一台笔记本,如果我们想使用鼠标那么我们只需要使用厂家给我们的接口去连接上自己买好的或者做好的usb就行二.为什么会有开闭原则有这样一个登录的界面需求loginFrom是登录界面而Cirlebutton是界面中的一个圆形按钮,于是我飞快地设计好了于是我把设计好的类发给项目组长,组长看了我两分钟手上拳头紧握,几欲动手,最后打回。而没学过设计模式的我不明所以下面是我写好的代码class Cirlebutton { public: void dispaly() { ...... } }; class loginFrom { Cirlebutton btA; public: void displays() { ........ } };可以看出,我虽然实现了基本需求但是如果需求有变更,想改一个新的方形buton那我是不是得机械的把loginfrom中的Cirlebutton改为RectangeButton呢?每次按钮有变化我是不是又得改回去,所以程序可扩展性极差,对其他人也十分不友好,于是今天学了设计模式的我花了点时间改好了代码,小心的提交了代码,随后傲娇的组长面带喜色。class AbstractButton { public: virtual void displays() { ......... }; }; class Cirlebutton : public AbstractButton { public: void displays() { ............ } }; class loginFrom { AbstractButton* btA; public: void setbt(AbstractButton* btAa) { this->btA = btAa; }; void displays() { this->btA->displays(); } };那么这段代买究竟有何玄机可以看到这段代码增加了一个抽象父类AbstractButton作为接口,子类Cirlebutton去实现AbstractButton,同时重写dispalys方法以及父类增加新的关键字virtual 去修饰dispalys抽象方法三.以及怎么使用开闭原则在Java中我们可以定于interface面向接口编程我们只需要implement方法但是C++中并没有这样的关键字,C++可以通过关键字virtual定义虚函数或者纯虚函数的方式实现接口,然后子类继承这个接口类并且定义虚函数的功能就可以了,这样我们每次更改业务需求时我们只需要定义一个新的button去继承就行了
2023年05月02日
33 阅读
1 评论
1 点赞