首页 > 数据库 >3数据库设计

3数据库设计

时间:2023-09-04 14:33:40浏览次数:44  
标签:关系 联系 数据库 模式 设计 ER 主键 属性

设计过程:

需求分析:数据流图、数据字典 需求说明书

概念结构设计:ER模型(概念模型)

逻辑结构设计:关系模型,转换规则、规范化理论

物理设计:硬件OS特性,DBMS特性(索引,内模式)

 

概念结构设计:ER  E实体 R联系

实体   属性  联系

联系也有属性

 

两个不同实体集之间联系:

一对一   一个班级一个班长

一对多   一个班级有多个学院

多对多    一个课程有多个学员,一个学员可以有多个课程

 

需求分析

概念结构设计:

抽象数据    设计局部ER模型   合并局部模型消除冲突  重构优化消除冗余

逻辑设计

 

集成的方法:

多个局部ER图一次集成

逐步集成,用累加的方式一次集成两个局部ER

集成产生的冲突及解决方法:

属性冲突:包括属性域冲突和属性取值冲突(数据类型不同)

命名冲突:包括同名异义和异名同义

结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部ER图中所包含的属性个数和属性排列次序不完全相同

 

逻辑结构设计

关系模型:

数据模型:数据结构、数据操作、数据的约束条件。

层次模型

网状模型

面相对象模型

关系模型:

目或度:关系模型中的属性的个数

候选码(候选键)---唯一标识元组,且无冗余

主键(候选键的任选一个)

主属性与非主属性:组成候选码的属性就是主属性,其它的就是非主属性

 

实体完整性约束:规定基本关系的主属性不能取空值

参照完整性约束:关系与关系间的引用,其他关系的主键或空值

用户自定义完整性约束:应用环境决定

触发器

逻辑结构设计:

概念设计  转化为数据模型 关系规范化  模式优化   设计用户子模式  物理设计

E-R 图向关系模式的转换

1 实体向关系模式的转换

2 联系向关系模式的转换

关系模式的规范化

确定完整性约束(保证数据的正确性)

用户试图的确定(提高数据的安全性和独立性)

1根据数据流图确定处理过程使用的视图

2根据用户类别确定不同用户使用的视图

 

一个实体型必须转换成为一个关系模式

联系转关系模式:

一对一联系转换有两种方式:

独立的关系模式:并入两端键及联系自身属性。主键:任一端主键

归并(任意一端):并入另一端主键及联系自身属性(主键保持不变)

一对多联系的转换有两种方式:

独立的关系模式:并入两端主键及联系自身属性,主键:多端主键

归并(多端):并入另一端主键及联系自身属性,主键保持不变

多对多联系转换只有一种方式:

独立的关系模式:并入两端主键及联系自身属性,主键两端主键的组合键

 

标签:关系,联系,数据库,模式,设计,ER,主键,属性
From: https://www.cnblogs.com/wumingliang/p/17676932.html

相关文章

  • 数据库与服务端
    啥是数据库?​ 数据库是存储数据的地方,我们平时使用电脑或者手机,接触到的都是图形化界面,不能直接接触到数据库,其实,数据库无处不在,我们使用的绝大多数需要记录的数据都存储在数据库中,可以说,现如今的便捷生活,就是建立在数据库的基础上的。登录网站时,用户的账号和密码都存储在服务器......
  • [达梦]达梦数据库查看锁以及解锁问题
    [达梦]达梦数据库查看锁以及解锁问题1、查看锁为了方便用户查看当前系统中锁的状态,DM数据库专门提供了一个V$LOCK动态视图。通过该视图,用户可以查看到系统当前所有锁的详细信息,如锁的内存地址、所属事务ID、锁类型、锁模式等。用户可以通过执行如下语句查看锁信息:SELECT......
  • 2023年超爆火的15款AI设计软件
    随着人工智能技术的快速发展,数字插画之外的“泛设计”行业的从业者也开始在AI中逐渐受益。可能很多设计师还停留在“AI设计软件只能做一些动漫风格插画”的认知中,实际上受到行业需求提升的刺激,软件厂商已经开始积极研究并发布更多针对特定行业和场景的软件产品。接下来的文章中,我们......
  • 系统架构设计1
    为什么会出现架构?从软件开发过程的角度上来看系统分析(需求分析)偏向业务,而系统设计又偏向技术,中间过程存在“鸿沟”,出现了架构。这里所说的架构虽然说是系统架构大多数指的是软件架构,又叫做软件体系结构(SoftwareArchitecture)简称SA。需要注意的是结构化分析也简称‘’SA",需要结......
  • MYSQL数据库 索引、事务
    索引定义:索引是对数据库表中一列或多列的值进行排序的一种结构(类似书的目录)。MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度索引的优点:通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。可以大大加快数据的检索速度,这也是创建索引......
  • 基于springboot的个人云盘管理系统的设计与实现
    传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装个人云盘管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,个人云盘管理系统的有效运用......
  • 1数据库模式
    数据库分三级模式外模式:用户试图应用程序(外模式与概念模式映射),数据库展示内容,用户视图概念模式:基本表,逻辑模式,核心,外模式数据是从概念模式来的内模式:物理存储文件(基本表存在内模式:概念模式与内模式映射) 关系有3中类型基本关系查询表试图表:从基本表和其他视图导出来的表,虚......
  • 9层次化网络设计
    分层设计三层模型核心层:主要高速数据交换实现高速数据传输,出口路由,常用冗余机制汇聚层:网络访问策略控制,数据包处理和过滤,策略路由,广播域定义、寻址接入层:主要是针对用户端,实现用户接入,计费管理,MAC地址认证,MAC地址过滤,收集用户信息可以使用集线器替代交换机......
  • LightDB数据库支持datetime类型
    在MySQL中datetime存储包含日期和时间的值。当从datetime列查询数据时,MySQL会以以下格式显示datetime值:YYYY-MM-DDHH:MM:SS。默认情况下,datetime的值范围为1000-01-0100:00:00至9999-12-3123:59:59。当前在LightDB数据库(包括LightDB-X和LightDB-A)已经支持了datetime类型,其实......
  • 2023“钉耙编程”中国大学生算法设计超级联赛(3)
    1005.OutofControl题意:有n个数\(x_1,x_2,...,x_n\),在其中选k个数依次放入栈中。如果当前放入栈中的数\(x_i\)小于栈顶的数,则向栈中放入与先前的栈顶相同的数而不是\(x_i\)。求对于每个k对应的方案数。分析:先排序离散化,然后考虑dp。状态定义:f[i][j]表示长度为i且最后一个......