实验四 数据库设计

您所在的位置:网站首页 数据库及表的创建实验报告实验数据与结论 实验四 数据库设计

实验四 数据库设计

#实验四 数据库设计| 来源: 网络整理| 查看: 265

【实验目的】

1、掌握规范化数据库设计包括步骤及其任务、方法、结果等。

2、掌握数据库设计过程中关键文档的写法。

3、了解数据库辅助设计工具。

【实验内容】

请按下面大纲书写实验报告(请自行附页)。

(1)需求分析,给出数据字典与数据流图

(2)数据分析,设计E-R模型

(3)E-R模型转换为关系模型

(4)数据库说明

(5)创建表SQL语句

要求:其中,E-R图中至少3个以上实体,每个实体5个以上属性,至少2种以上联系。

 用户下订单后发下订单后给系统处理,系统首先根据订单判断价格信息等是否有误,然后接着除用户订单数量等等,然后将订单分类为是否付款,如果付款就准时发送订单,如果在规定时内付款则即时发订单发送给商家 

 

数据流字典:

名称来源去向所含数据结构说明订单U1F1json类型数据格式,以键值对的形式存储用户提交的商品详情订单信息F1

D2

json类型数据格式,以键值对的形式存储订单的是否合格信息订单数目F2D3json类型数据格式,以键值对的形式存储处理后的订单数量正常付款订单F2.1D4json类型数据格式,以键值对的形式存储包含了订单的付款状态信息未正常付款订单F2.1D4json类型数据格式,以键值对的形式存储包含了订单的付款状态信息准时处理D4F2.2json类型数据格式,以键值对的形式存储包含了订单的付款状态信息即使处理D4F2.3json类型数据格式,以键值对的形式存储包含了订单的付款状态信息发送订单D5S1json类型数据格式,以键值对的形式存储包含了订单完整信息

数据处理字典(F1~Fn):

编号名称来源处理逻辑概括输出数据流说明F1订单检查订单+菜单目录判断订单的金额与价格与实体是否一致订单信息F2数目统计 订单信息计算订单的数目订单数目F2.1订单分类订单数目根据是否付款把的订单分类正常付款订单&未付款订单F2.2准时处理正常订单判断金额把数据返回给客户准时处理F2.3  即使处理待付款倒计时的订单如果订单超时删除该订单,返回交易关闭,如果在规定时间内付款,则发送订单给商家即使处理F2.4发送订单待发送订单把的订单发送给客户发送订单

数据存储字典(D1~Dn):

编号名称插入数据流输出数据流内容说明D2合格订单F1F2订单用于存储合格的订单D3订单数目F2F2.1订单数量用于存储订单数量和价格D4正常付款订单F2.1F2.2订单详情价格金额已付款金额用于存储正常付款的订单D4未付款订单F2.1F2.3订单详情价格金额需要付款的时间,订单时间用于存储未付款或未正常付款的订单D5转发订单F2.1+F2.3F2.4所有与订单的相关信息用于存储所有与订单相关的信息

数据项字典:

给出数据描述的部分内容,对数据流图中的各个存储文件中的记录字段予以逐个定义

编号名称类型长度说明备注I1Order_Idint  l2Order_Namevarchar50l3Order_Amountfloat支付金额l4Order_PayTimeDateTIme时间l5Order_TimeDateTImel6Order_Merchant_IDint  l7OrderDetail_Statusvarchar50支付状态是否支付,支付异常信息等  E-R图

 

 将上述E-R图转换为关系模式模型

下划线为主码,删除线为外码,

订单(订单编号,订单名称,订单金额,付款时间,下单时间,商家编号)对应的实体订单,包含联系”属于“

商家(商家编号,商家名称,商家电话,商家地址,店主,注册日期)对应实体商家

菜单(菜单编号,菜名,类别,味道,重量,单价)

订单详情(订单编号,菜单编号,订单状态)对应联系”组成“

菜品列表(菜单编号,商家编号)对应联系"包含"

数据库说明 表说明 表名内容Order订单Merchant商家Menu 菜单OrderDetail订单详情MenuList菜品列表

1.Order:

字段名数据类型长度字段中文名约束Order_Idint        订单编号Primary KeyOrder_Namevarchar(50)订单名称Not NullOrder_Amountfloat订单金额Order_PayTimeDateTime付款时间Order_TimeDateTime下单时间Order_Merchant_IDint     商家编号Foreign Key

2.Merchant

字段名数据类型长度字段中文名约束Merchant_Idint        商家编号Primary KeyMerchant_Namevarchar(50)商家名称Not NullMerchant_Telvarchar(50)商家电话Not NullMerchant_Localvarchar(50)商家地址Merchant_Mastervarchar(50)店主Merchant_LoginTimetime     注册日期Not Null

3.Menu

字段名数据类型长度字段中文名约束Menu_Idint        菜单编号Primary KeyMenu_Namevarchar(50)菜名Not NullMenu_Typevarchar(50)类别Not NullMenu_Tastevarchar(50)味道Menu_Weightvarchar(50)重量Menu_Pricefloat    单价Foreign Key

4.OrderDetail

字段名数据类型长度字段中文名约束OrderDetail_Orderint        订单编号FOREIGN KEYPrimary Key  OrderDetail_Menuint菜单编号FOREIGN KEYOrderDetail_Statusvarchar(50)订单状态

5.MenuList

字段名数据类型长度字段中文名约束MenuList_Menu_IDint        菜单编号FOREIGN KEYPrimary KeyMenuList_Merchant_IDint商家编号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;



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3