首页 > 数据库 >数据库设计步骤

数据库设计步骤

时间:2023-09-22 20:23:03浏览次数:50  
标签:班级 联系 步骤 数据库 实体 学生 设计 主键 属性

首先我们需要建立一个ER模型 

建立E-R模型的步骤

1.定义实体集; 

2.定义联系集 

3.确定实体集与联系集的属性,

4.标识出实体集与联系集的主码,形成完整的ER图 

注意:

实体在E-R图画成矩形

联系在E-R图里画成菱形 

两实体联系比值在连线上标识

属性在E-R图里画成椭圆

关于联系的属性

1:1

遇到1:1 关系的话在两个实体任选一个添加另一个实体的主键即可。

1:N

1:N 遇到 1:N 关系的话在N端添加另一端的主键,假如有学生和班级两个实体,一个班级可以容纳多个学生,但是一个学生只能选择一个班级, 因此班级和学生是1:N的关系,现在要转换为关系模型, 我们只需在学生的这端加上班级的唯一标识即可,这样做的原因是,因为一个学生只能有一个班级,班级是相对学生唯一的。

N:M

遇到N:M我们需要将联系转换为实体(问题的关键!!!!解释了为什么联系能够连接属性,因为他已经变成了一个实体),然后在该实体上加上另外两个实体的主键,作为联系实体的主键,然后再加上该联系自身带的属性即可。例如有学生和老师两个实体, 一个学生可以由多名老师来授课,一名老师也可以授课多名学生,它们是M:N关系的,假如联系为授课,该联系上有成绩属性,因此当我们把它转换为关系模型时,我们把联系转换为联系实体,并添加学生实体的主键(学号)和教师实体的主键(教师编号)作为自己的主键,值得注意的是,授课实体的外键分别是学号和教师编号,但是它的主键是(学号,教师编号),另外它还拥有自己的一个属性成绩。 

然后根据ER图设计sql代码即可。

注意主键和外键要标明确

标签:班级,联系,步骤,数据库,实体,学生,设计,主键,属性
From: https://www.cnblogs.com/yuxiyuxi/p/17723276.html

相关文章

  • openGauss学习笔记-77 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT特性及
    openGauss学习笔记-77openGauss数据库管理-内存优化表MOT管理-内存表特性-MOT特性及价值本节介绍了openGauss内存优化表(Memory-OptimizedTable,MOT)的特性及价值。77MOT特性及价值MOT在高性能(查询和事务延迟)、高可扩展性(吞吐量和并发量)以及高资源利用率(某些程度上节约成本)方面......
  • 基于云服务器 EC2 的云上堡垒机的设计和自动化实现
    背景在很多企业的实际应用场景中,特别是金融类的客户,大部分的应用都是部署在私有子网中,如何能够让客户的开发人员和运维人员从本地的数据中心中安全的访问云上资源,堡垒机是一个很好的选择。传统堡垒机的核心实现原理是基于SSH协议的安全连接,通常运用SSH(SecureShell)协议实现数......
  • 设计模式序言
    1.设计模式和编程语言的规范不同编程语言大多有以下共同点: 编程语言规范严格:编译器严格规定语法,如条件判断语句if()不可以加分号,标识符不能在变量声明占用等等,否则编译会报错 设计模式模式繁多:有多种设计模式,想使用哪种就哪种,更像是一门经验学科2.学生的思维方式 为了考......
  • C#连接MYSQL数据库基本步骤详解
    1、下载连接需要的connect-net包下载链接在这里:https://dev.mysql.com/downloads/connector/net/根据版本问题,我选择下载6.9的:下载完成之后,直接在我们新建好的窗体里面右键引用那里:选择添加引用:然后在选择下面浏览:按照C\ProgramFiles(X86)\MYSQL的路径下面,找到mySQL.d......
  • INNODB数据库恢复方法
    MYSQL数据库经常会出现重启数据库服务时卡住不动了,这时只能手动KILL进程,但很多情况下KILL后数据库服务就无法启动了,一般都是ibdata1这个文件损坏导致的,基本没有办法在原来的基础上恢复数据库。官方文档给出的解决办法是,新建一台数据库实例,版本要和原来的一样,前提是INNODB表必须是......
  • 【Java】JDBC 获取数据库表名、字段名、注释 Comment 等信息
    需求:给定数据库信息和表名,扫描表的字段名、字段类型和注释。要使用JavaJDBC获取数据库表名、字段名和注释信息,你需要连接到数据库并执行适当的SQL查询。以下是一些示例代码,展示如何获取这些信息。请注意,这些示例代码假定你已经建立了数据库连接。你需要根据你的数据库类型和连接......
  • 数据库考核2
    数据库考核文件要求:专业,班级,姓名。例如:计算111张三.md考核标准:格式及内容,请遵守markdown文件的语法。请填写正确的SQL语句,而不仅仅是结果。1统计出场率最高的三位英雄字段要求:英雄名称,出场次数SELECThero,COUNT(hero)frommatch_infoGROUPBYheroORDERBYCOUNT......
  • 使用JDBC插入数据时,数据库中文显示为?的解决方法
    问题描述:使用JDBC进行添加数据的操作,设置的参数为中文,运行成功后数据库显示插入的数据为??解决方法:配置url时加上?useUnicode=true&characterEncoding=UTF-8重新进行插入:结果显示正确。......
  • SOLIDWORKS二次开发——拓展设计能力与定制化解决方案
    SOLIDWORKS是一款广泛应用于机械设计行业的三维CAD软件,它提供了丰富的功能和工具,满足了企业的基本设计需求。然而,有时候标准软件的功能无法满足特定的要求,这就需要进行二次开发来扩展SOLIDWORKS的功能,制定定制化的解决方案。 1.什么是SOLIDWORKS二次开发?SOLIDWORKS二次开发是......
  • 软件设计模式系列之十二——外观模式
    在软件设计中,经常会遇到需要与复杂子系统进行交互的情况。为了简化客户端与子系统之间的交互,提高系统的可维护性和可用性,外观模式应运而生。外观模式(FacadePattern)是一种结构型设计模式,它提供一个统一的界面,用于访问系统中的一组相关接口,从而隐藏了系统的复杂性。在本文中,我们将......