系统数据库设计
2018-12-08 本文已影响0人
Layoomiet
一.数据库设计的流程和方法
第一步标识实体
实体的定义:数据库中的数据对象.。
1.实体是客观存在并可相互区分的事物,可以是人、物等实际对象,也可以是某些概念;可以是事物本身,也可以是事物间的联系。
2.实体有一个或多个属性。
3.属性指实体具有的特性。
4.实体间存在一定的关系。
第二步绘制E-R图
E-R图(Entity Relationship Diagram),中文称为“实体-关系图”,提供了表示实体、属性和关系的图形符号。
如图所示
实体-关系图.PNG
第三步将E-R模型转换为数据表
将E-R模型转换为数据表的基本原则:
1.将各实体转换为对应的表,将各属性转换为各表对应的列。
2.标识每个表的主键列,需要注意的是:没有主键的表要添加ID编号列,它没有实际含义,用于做主键。
例如:通知数据表中除了标题、内容外,还应加一个ID主键列,用以区分每条记录。
3.如果实体之间有某种关系,还要在表中添加外键。
第四步将E-R模型转换为数据库表
如果实体A和实体B之间存在一对一的关系
- 把A实体的主关键字加入到B实体转换后的数据表中作为外键,如果关系有属性也一并加入。
- 把B实体的主关键字加入到A实体转换后的数据表中作为外键,如果关系有属性也一并加入。
- 直接将关系转换为数据表,表中包含两个实体的主关键字,如果关系有属性也一并加入。
如果实体A和实体B之间是一对多的关系 - 可将“一方”实体的主关键字纳入“n方”实体转换后的数据表中作为“外部关键字”,同时把关系的属性也一并其中。
如果实体A和实体B之间是多对多的关系 - 必须对“关系”单独建立一个数据表。
该数据表的属性中至少要包括实体A和实体B的主关键字作为外键,并且如果关系有属性,也要归入这个关系中
系统数据库设计流程图
系统数据库设计流程图.PNG智慧商超系统
智慧社区商超管理ER图
智慧社区商超管理ER图.png智慧商超涉及到的数据库表的各个字段
USERS TABLE
CREATE TABLE [dbo].[USERS](
[ID] [int] NOT NULL,
[NAME] [varchar](50) NULL,
[PASSWORD] [varchar](50) NULL,
[PHONE] [varchar](15) NULL,
CONSTRAINT [PK_USER] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ADMIN TABLE
CREATE TABLE [dbo].[ADMIN](
[ID] [int] NOT NULL,
[NAME] [varchar](50) NULL,
[PASSWORD] [varchar](50) NULL,
[PHONE] [varchar](15) NULL,
CONSTRAINT [PK_ADMIN] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]