0804【任务8-4】网上购物数据库的物理结构设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
了多种信息,以后要获取独立的信息就比较困难。
8
(4)确定主关键字。
主关键字,又称主键,它是一个或多个字段的 集合,是数据表中存储的每一条记录的唯一标识, 即通过主关键字,就可以唯一确定数据表中的每一 条记录。例如,“商品信息表”表中的“商品编码” 是唯一的,但“商品名称”可能有相同,所以“商
品名称”不能作为主关键字。
Access 等。这里选用 Oracle 作为数据库管理
系统,相应的数据库、数据表的设计应符合
Oracle的要求。
5
(2)确定数据库文件和数据表的名称及其 组成。
首先确定表空间名称为“user_commerce”, 方案名称为“commerce”。其次确定该方案中所包
括的数据表及其名称,数据表的名称分别为:商品
字段名称
“送货方式表”的结构数据
是否允许Null值 约束
数据类型(字段长度)
送货ID
送货方式 送货说明
char(2)
varchar2(20) varchar2(50)

是 是
主键
22
“用户表”的结构数据如表8-18所示。
表8-18
字段名称
用户ID 用户名
“用户表”的结构数据
是否允许Null值
否 是
主键
外键 外键
购买数量
number(6,0)

17
“客户信息表”的结构数据如表8-11所示。
表8-11
字段名称 客户编号 客户名称
“客户信息表”的结构数据
是否允许Null值 否 是 约束 主键
数据类型(字段长度) char(6) varchar2(20)
收货地址
手机号码 固定电话 Email 邮政编码 客户类型 身份证号
数据类型(字段长度)
货币单位
厂家 产地 商品描述 图片地址 生产日期
varchar2(10)
varchar2(50) varchar2(0) varchar2(500) varchar2(100) date

是 是 是 是 是
13
“商品类型表”的结构数据如表8-7所示。
表8-7
字段名称
类型编号 类型名称 父类编号 显示顺序 类型说明
“商品信息表”的结构数据如表8-6所示。
表8-6
字段名称 商品编码 商品名称 类型编号 商品价格 优惠价格 扣折 库存数量 售出数量
“商品信息表”的结构数据
是否允许Null值 否 是 否 是 是 是 是 是 外键 约束 主键 char(7) varchar2(50) char(6) number(8,2) number(8,2) number(4,2) number(6,0) number(6,0)
7
确定数据表的字段应考虑以下问题: ① 每个字段直接和数据表的主题相关。必须确 保一个数据表中的每一个字段直接描述该表的主题, 描述另一个主题的字段应属于另一个数据表。 ② 不要包含可推导得到或通过计算可以得到的 字段。 ③ 以最小的逻辑单元存储信息。应尽量把信息
分解为比较小的逻辑单元,不要在一个字段中结合
用户类型ID、类型名称
购物车编号、商品编码、购买数量、购买日期 订单编号、客户、收货人姓名、付款方式、送货方式、订单总金额、下单时间、订单状态、索 要发票、发票内容、操作员 订单明细ID、订单编号、购物车编号、商品编码、购买数量 商品编码、商品名称、类型编号、商品价格、优惠价格、扣折、库存数量、售出数量、货币单 位、厂家、产地、商品描述、图片地址、生产日期 类型编号、类型名称、父类编号、显示顺序、类型说明 员工编号、员工姓名、性别、部门、职位、工作岗位、出生日期、身份证号码、手机号码、固 定电话、Email、邮政编码、住址、照片 客户类型ID、客户类型、客户类型说明 部门编号、部门名称、部门负责人、联系电话、办公地点 员工编号、员工姓名、性别、部门、职位、出生日期、身份证号码 发货ID、发货方式 支付ID、付款方式、支付说明 送货ID、送货方式、送货说明 12
数据库的物理结构设计是在逻辑结构
设计的基础上,进一步设计数据模型的一
些物理细节,为数据模型在设备上确定合
适的存储结构和存取方法,其出发点是如
何提高数据库系统的效率。
4
(1)选用数据库管理系统
网上购物系统的数据库管理系统可以采
用Oracle、Microsoft SQL Server、Microsoft
客户类型ID
char(1)

主键
客户类型
varchar2(20)

客户类型说明
varchar2(50)

19
“员工信息表”的结Leabharlann Baidu数据如表8-13所示。
表8-13
字段名称 员工编号 员工姓名 性别 部门 职位 工作岗位 出生日期
“员工信息表”的结构数据
是否允许Null值 否 是 是 否 是 是 是 外键 约束 主键 char(6)
是 是
操作员
char(6)

外键
16
“订单明细表”的结构数据如表8-10所示。
表8-10
字段名称
“订单明细表”的结构数据
是否允许Null值 约束
数据类型(字段长度)
订单明细ID
订单编号 商品编码 购物车编号
varchar2(10)
char(6) char(7) varchar2(30)

否 否 是
数据类型(字段长度)
购物车编号
varchar2(30)
char(7) number(6,0) date

主键
商品编码

主键
购买数量

购买日期

15
“订单主表”的结构数据如表8-9所示。
表8-9
字段名称 订单编号
“订单主表”的结构数据
是否允许Null值 否 约束 主键
数据类型(字段长度) char(10)
Oracle 12c 数据库应用与设计
《 Oracle 12c数据库应用与设计》
单元8 分析与设计Oracle数据库
8.1 数据库设计的需求分析
2
《 Oracle 12c数据库应用与设计》
【任务8-4】网上购物数据库的
物理结构设计
【任务描述】
对网上购物系统数据库的物理结构进行设计。
3
【任务实施】
varchar2(50)
varchar(20) varchar(20) varchar2(20) char(6) char(1) char(18)

是 是 是 是 否 是
18
外键
“客户类型表”的结构数据如表8-12所示。
表8-12
字段名称
“客户类型表”的结构数据
是否允许Null值 约束
数据类型(字段长度)
10
(5)确定数据库的各个数据表之间的关系。
在Oracle数据库中,每一个数据表都是一个独 立的对象实体,本身具有完整的结构和功能。但是 每个数据表不是孤立的,它与数据库中的其他表之 间又存在联系。关系就是指连接在表之间的纽带, 使数据的处理和表达有更大的灵活性。例如与“商 品信息表”相关的表有“商品类型表”表。
11
网上购物系统数据库中主要的数据表如表8-5所示。
表8-5
表序号 1 表名 用户表
网上购物系统数据库中各个数据表的结构数据
表列名称
用户ID、用户名、密码、Email、用户类型、注册日期
2
3 4 5 6 7 8 9 10 11 12 13 14
用户类型表
购物车商品表 订单主表 订单明细表 商品信息表 商品类型表 客户信息表 客户类型表 部门信息表 员工信息表 发货方式表 付款方式表 送货方式表
信息表、商品类型表、购物车商品表、订单主表、
订单明细表、客户信息表、客户类型表、部门信息
表、员工信息表、发货方式表、付款方式表、送货
方式表、用户表、用户类型表等。
6
(3)确定各个数据表应包括的字段 以及所有字段的名称、数据类型和长度。
字段的确定根据关系的属性同时结合实 际需求,字段名称一般采用英文表示,字段 类型的选取还需要参考数据字典。
“商品类型表”的结构数据
是否允许Null值
否 是 是 是 是
数据类型(字段长度)
char(6) varchar2(20) char(6) number(3) varchar2(100)
约束
主键
14
“购物车商品表”的结构数据如表8-8所示。
表8-8
字段名称
“购物车商品表”的结构数据
是否允许Null值 约束
21
“付款方式表”的结构数据如表8-16所示。
表8-16
字段名称 支付ID 付款方式 支付说明
“付款方式表”的结构数据
是否允许Null值 否 是 是 约束 主键
数据类型(字段长度) char(2) varchar2(20) varchar2(50)
“送货方式表”的结构数据如表8-17所示。
表8-17
数据类型(字段长度)
用户类型ID 类型名称
char(1) varchar2(20)
否 是
主键
24
《 Oracle 12c数据库应用与设计》
数据类型(字段长度)
char(6) varchar2(30)
约束
主键
密码
Email 用户类型
varchar2(10)
varchar2(50) char(1)

是 否 外键
注册日期
date

23
“用户类型表”的结构数据如表8-19所示。
表8-19
字段名称
“用户类型表”的结构数据
是否允许Null值 约束
数据类型(字段长度) varchar2(20) char(2) char(3) varchar2(20) varchar2(20) date
身份证号码
手机号码 固定电话 Email 邮政编码 住址 照片
char(18)
varchar2(20) varchar2(20) varchar2(20) char(6) varchar2(50) blob
客户
收货人姓名 付款方式
varchar(30)
varchar2(30) varchar2(20)

是 否
外键
外键
送货方式
订单总金额 下单时间
varchar2(20)
number date

是 是
外键
订单状态
索要发票 发票内容
varchar2(20)
varchar2(10) varchar2(20)


是 是 是 是 是 是
20
“部门信息表”的结构数据如表8-14所示。
表8-14
字段名称 部门编号 部门名称 部门负责人 联系电话 办公地点
“部门信息表”的结构数据
是否允许Null值 否 是 是 是 是 约束 主键
数据类型(字段长度) char(3) varchar2(20) varchar2(20) varchar2(20) varchar2(30)
9
确定主关键字时应注意以下几点: ① 不允许在主关键字中出现重复值或Null值, 所以,不能选择包含有这类值的字段作为主关键字。 ② 因为要利用主关键字的值来查找记录,所 以它不能太长,便于记忆和输入。 ③ 主关键字的长度直接影响数据库的操作速 度,因此,在创建主关键字时,该字段值最好使用 能满足存储要求的最小长度。
相关文档
最新文档