0
点赞
收藏
分享

微信扫一扫

数据库学习笔记:数据库分析与设计

爱做梦的老巫婆 2022-03-11 阅读 46

数据模型

1、SQL Server数据库是小型关系数据库管理系统(DBMS)

2、关系就是二维表,属性就是字段

3、数据完整性:

    实体完整性(必须有主键,唯一性和不能为空),

    参照完整性(外键必须与主表中的主键一致,外键值必须是主表中存在的值)

    域完整性(字段值的范围,比如年龄或分数不能为负值,性别只能为男女)

   用户定义的完整性

4、三种范式

第一范式:属性的原子性

第二范式:属性必须完全依赖于主码(不能依赖主码的一部分)

第三范式:非主属性之间不能相互依赖

  

概念模型的表示方法 

将信息世界的几大概念直观地描述出来

概念模型是现实世界到信息世界的第一层抽象。

概念模型易于被用户所理解,是用户与数据库设计人员之间交流的工具

目前主流方法

实体 - 联系方法 (Entity-Relationship)

一般称为 E-R 图来描述

ER图的组成元素

        ER模型是一种用图形表示数据及其联系的方法,ER模型通过ER图来表示。

        ER图包括三个组成元素,分别是 实体 联系 属性

        ER图绘制简单,图符较少,简单易懂,可以快速建立待开发系统的概念模型。

实体

        实体(Entity)是现实世界中客观存在的,而且可以相互区别的事物或活动的抽象。

        例如,一个公司,  一门课程,一名学生、一次足球赛比赛 。

        在ER图中,实体用矩形框表示,矩形框内写明实体的名称。

属性

        每一个实体都具有一定的固有特征,而这些特征可以区分开每一个实体。在数据库系统中,实体所具有的某一特性被称为属性。

        属性(Attribute)是描述实体或联系中的一种特征。一个实体或联系通常具有多个特征,需要多个相应属性来描述。

        码(Key)或键是属性的一种,它是实体间相互区别的一种惟一标识。

在ER 图中,属性用椭圆形表示,椭圆形内写明属性的名称,用无向边将其与相应的实体连接起来,一般用下划线标注作为主键的属性。

联系 

        实体内部的联系(Relationship)通常指组成实体的各个属性之间的关系,实体外部的联系通常指不同实体间的关系。

        在ER图中联系用菱形表示,菱形内写明联系的名称,用无向边分别与实体连接起来,在无向边上注明联系的类型( 1:1,1:n,m:n

        如果联系有属性,则这些属性同样用椭圆表示,用无向边与联系连接起来。

 

        在某些情况下,还可能出现多个实体(大于两个实体)之间存在联系,这种联系称为多元联系,这与两个实体之间的二元联系相对应。

ER图实例

 •思考

1. 请用 ER 图表示下列关系,并在实体图上标明属性。

顾客( 顾客编号 ,顾客姓名,电话,地址)

商品( 商品编号 ,商品名称,价格)

购买(顾客编号,商品编号,购买数量,购买时间)

2. 一个教室可以容纳多个班级上课,但是一个班级只能在一个教室上课。识别其中的实体及联系,并绘制相应的 ER 图。

ER模型的建立

实体联系模型的创建

实体联系模型的创建过程分为两个步骤

局部ER图设计

 全局ER图设计及优化

局部ER图设计

   确定范围

        在设计局部时首先要确定局部ER设计的范围,规模较大的软件系统包括多个子系统。

        为了降低数据库设计的难度,可以先设计每个子系统的数据库,绘制局部的ER图,一个范围即对应一个相对独立的子系统 。

识别实体

        在确定的范围内,寻找和识别实体,确定实体的键。

                在需求文档中根据人员、组织、物品、事件等 名词 来寻找实体;

                        实体找到后,给实体取一个 合适的名称 ,给实体正确命名时,可以发现实体之间的差别;根据实体的特点,标识实体的 主键

确定联系 

        对于识别出的实体,进行 两两组合 ,判断实体之间是否存在联系,联系的类型是 1:1 1:n m:n ,如果是 m:n 的实体,考虑是否可以分解,增加关联实体,使之成为 1:n 的联系。

定义属性

属性是描述实体的 特征 和组成

相同实体的属性应该具有相同的 数量 名称 数据类型

在实体的属性中,去掉软件系统 不需要 的属性

必要时,需要人为地增加属性

例如:当实体缺少明确的主键,需要人为地设置主键

如果实体和属性之间没有明显的区别,能作为属性对待的,尽量作为属性对待

定义属性的基本原则是:

属性是 不可再分 的数据项

属性不能与其它实体产生联系

全局 ER 图设计及优化

局部 ER 图设计好后,需要将所有的局部 ER 图集成起来,形成一个全局 ER 图。

合 并

        不同的局部ER图面向不同的应用,可能由 不同的人 进行设计或同一个人 不同时间 进行设计

        各个局部ER图可能存在许多 不一致 的地方,称之为 冲突

        合并局部ER图的主要目的是 消除冲突

全局ER图设计及优化

        什么是冲突?

                属性冲突 :相同的属性在不同的 ER 图中属性值的 类型 取值范围 单位 不同。

                命名冲突 :相同的实体或属性在不同的局部 ER 图中有不同的名字,不同的实体或属性有相同的名字。

                结构冲突 :同一事物在不同的局部 ER 图中,有的作为实体,有的作为属性;相同的实体在不同的局部 ER 图中 属性的个数 不一致;同一实体的在局部 ER 图中 键不同 ;实体间的联系在不同的局部 ER 图中联系的 类型不同

全局ER图设计及优化

重 构

        重构的目的是消除不必要的 冗余

        冗余属性 是指可以用其他属性导出的属性。

        冗余联系 是指可以通过其他实体之间的联系导出的联系。

        冗余属性和冗余联系容易破坏数据库的完整性,给数据库的维护增加困难,应该予以消除。

实体之间的联系如下:

 (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。

(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系

(3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。

(4)供应商、项目和零件三者之间具有多对多的联系

      

举报

相关推荐

0 条评论