【Java工程师之路】[2-2.1]数据库数据建模

一、数据建模简介

数据建模不仅可以对象的属性建模(比如E-R图),也可以对数据的行为建模(比如触发器Trigger、存储过程Stored Procedure).在进行数据库设计时,设计到如下几个概念:

模式 Schema、主键 Primary、外键 Foreign key、关系 Relationship、约束 constraint、索引 Index、触发器 Trigger、存储过程 Stored Procedure、视图View。

二、数据建模元素

1、表(Table)

表是关系数据库最基本的模型结构。如下图

 

【Java工程师之路】[2-2.1]数据库数据建模_第1张图片

 

表的主键:InventoryID

表的外键:WarehouseId,关联到表Warehouse的主键

可以设置Table的数据库类型,如下图

 

【Java工程师之路】[2-2.1]数据库数据建模_第2张图片

 

也可以设置表空间,如下图

 

【Java工程师之路】[2-2.1]数据库数据建模_第3张图片 

 

2、表索引(Table Index)

指按表文件中某个关键字段或表达式建立记录的逻辑顺序。它是由一系列记录号组成的一个列表,提供对数据的快速访问。索引不改变表中记录的物理顺序

3、表触发器(Table Trigger)

当对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。 
    触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性

4、表约束(Table Constraint)

通过对列的约束,保证数据的有效性。

 

【Java工程师之路】[2-2.1]数据库数据建模_第4张图片 

 

5、视图(View)

视图是从一个或多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。如下图

 

【Java工程师之路】[2-2.1]数据库数据建模_第5张图片 

6、存储过程(Stored Procedure)

将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。

【Java工程师之路】[2-2.1]数据库数据建模_第6张图片

 

 

 

 

三、数据建模实例

 

【Java工程师之路】[2-2.1]数据库数据建模_第7张图片

 

1、表有仓库Warehouse、库存Inventory以及书Book

2、主键分别为WarehouseID,InventoryID,ISBN

3、外键,表Iinventory的外键是WarehouseID,同时也是Warehouse的主键

   表Book的外键是InventoryID,同时也是Inventory的主键

4、关系,表Warehouse与表Inventory是一对多的关系

   Inventory与表Book是一对多的关系。

你可能感兴趣的:(【Java工程师之路】[2-2.1]数据库数据建模)