《数据库应用系统实践》------ 屈臣氏数据管理系统

系列文章

《数据库应用系统实践》------ 屈臣氏数据管理系统



一、需求分析

1、系统背景

屈臣氏数据管理系统旨在通过信息化手段对屈臣氏门店的运营进行全面管理,包括用户信息、会员管理、商品销售、供应链管理等多个方面。系统通过对用户、会员、商品、供应商、购买、供应和销售等数据的整合与分析,优化了用户购买体验、库存管理以及商品供应链的效率。用户模块记录了顾客的基本信息和购买记录,会员模块则管理会员积分、等级和折扣信息,增强了会员制营销策略的实施效果;商品模块提供了商品的基本属性、库存量和供应商信息,确保商品的充足供应;供应商模块则记录了供应商的联系方式和供货情况,保证商品供应链的稳定;购买模块和销售模块分别记录了用户的购买行为和员工的销售情况,为运营决策提供数据支持;部门模块则关联了员工信息与所销售的商品。系统通过建立外键关系,确保了各个模块之间的数据一致性和完整性,帮助屈臣氏管理层实时跟踪运营状况,提升了决策效率和客户服务水平。

2、 系统功能结构(需包含功能结构框图和模块说明)

(1)功能结构图
在这里插入图片描述

(2)模块说明
包含用户信息、会员信息、部门信息、商品信息、供应商信息、购买信息、供应信息、销售信息模块。

3.系统功能简介

可以对用户信息、会员信息、部门信息、商品信息、供应商信息、购买信息、供应信息、销售信息进行查询以及增删改查的操作。

二、概念模型设计

1.基本要素(符号介绍说明)

.基本要素(符号介绍说明)
① 矩形:表示实体。
② 椭圆形:表示属性,即实体的属性。
③ 菱形:表示联系。
④ 连线:该连线为没有方向的线段,分为连接实体与属性(矩形与椭圆形之间的连线)和连接实体与联系名(矩形与菱形之间的连线);实体与联系名的连线旁需标注联系的类型,如1:1、1:n、m:n。
注意:在联系类型标注时请按照约定俗成的方式标注,一对多使用1:n,多对多使用m:n,如果超过两个实体请采用m:n:p:q:

2.ER图

在这里插入图片描述

三、逻辑模型设计

1.ER模型向关系模型转换规则

① 实体转换为单独的关系模式。
② 一对一联系转换为关系模式有两种方法。一、将联系转换为单独的关系模式;二、将其中一个实体的之间加入到另外一个实体的关系模式中,作为外键。
③ 一对多联系转换为关系模式有两种方法。一、将联系转换为单独的关系模式;二、将n实体的主键合并到1实体的关系模式中,作为1实体关系模式的外键。

2.转换后的关系模型

用户(用户编号,姓名,性别,电话,出身年月,是否为会员,商品编号)(∈3NF)
会员(会员编号,积分值,会员等级,会员折扣,用户编号)(∈2NF)
部门(员工id,员工姓名,电话,商品编号)(∈3NF)
商品(商品编号,商品名,价格,库存量,供应商编号)(∈3NF)
供应商(供应商编号,联系电话,地址)(∈3NF)
购买(用户编号,商品编号,购买时间,购买数量)(∈3NF)
供应(供应商编号,商品编号,供应日期,供应数量)(∈3NF)
销售(商品编号,员工id,销售时间,销售数量)(∈3NF)

3.关系模型优化(达到3NF)

以上要素都属于第三范式

四、物理设计

1.创建数据库的SQL语句或截图

/*创建数据库*/
CREATE DATABASE qcs
ON PRIMARY
(NAME=YAN,
FILENAME='E:\SQLDate\qcs.mdf',
SIZE=3MB,
MAXSIZE=UNLIMITED)
LOG ON
(NAME=YAN_log,
FILENAME='E:\SQLDate\qcs.ldf',
SIZE=3MB,
MAXSIZE=UNLIMITED)

2.创建所有表的SQL语句或截图(包含完整性约束)

create table userID(
userno varchar(10) primary key,
username nvarchar(5) not null,
usersex nchar default'男',
usertel char(11) check(usertel like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
userbirth date not null,
whetherMember char(1) default'1',
productno varchar(10) not null,
foreign key (productno) references product
)

create table member(
memberno varchar(10) primary key,
totalCredit varchar(8) not null,
memberGrade char(20) not null,
memberCount char(20) not null,
userno varchar(10) not null,
foreign key(userno) references userid
)

create table department(
staffno varchar(4) primary key,
staffname nvarchar(4) not null,
stafftel char(11) check(stafftel like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
productno varchar(10) not null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AXiaoFighting

给小编价格鸡腿吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值