系统数据库设计

一.数据库设计的流程和方法

第一步标识实体

实体的定义:数据库中的数据对象.。
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]

你可能感兴趣的:(系统数据库设计)