尚庭公寓——数据库设计

1. 数据的关系

一对一,一对多(多对一),多对多

2. 实体关系模型

实体关系模型常用ER图(enity relationship graph)表示;

矩形表示实体(类似Java中的对象,如学生就是一个实体),椭圆表示属性(如学生的姓名,性别等),菱形表示关系;

关系也可以使用符号来表示:

符号:0        表示0个;符号:|        表示1个;        符号:           表示多个

成对使用,可以表示实体之间的关系;

比如:班级左侧第一个|表示最小值是1,第二个|表示最大值是1;学生实体左侧|表示最小值是1,最大值为多个。班级实体与学生实体的关系为一个班级最少有一个学生,最多有多个学生,即是一对多的关系;

3. 数据库设计流程

下面的流程以“查询课表”为例;

3.1 概念模型设计

简单来说,第一步就是确定数据库中的主体,即对象;

比如数据库对象中有学生,老师,课表,班级四个对象,可以这样表示:

3.2 逻辑概念模型设计

在第一步的基础上,详细列出各个主体的属性,多对多关系的主体需要构建中间表,这在学习数据库的时候学习过;

3.3 物理模型阶段

在逻辑模型的基础上,继续丰富。比如考虑字段类型,索引,建表语句,使用哪个数据库等等; 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/41983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NoSQL 之 Redis 配置与常用命令

一、关系型数据库与非关系型数据库 1、数据库概述 (1)关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记 录。 SQL 语句(标准数据查询语言&am…

在5G/6G应用中实现高性能放大器的建模挑战

来源:Modelling Challenges for Enabling High Performance Amplifiers in 5G/6G Applications {第28届“集成电路和系统的混合设计”(Mixed Design of Integrated Circuits and Systems)国际会议论文集,2021年6月24日至26日,波兰洛迪} 本文讨…

Vue中Class数据绑定

Class数据绑定 数据绑定的一个常见需求场景是操作CSS class列表,因为class是attribute(属性),我们可以和其他attribute一样使用v-bind 将它们和动态的字符串绑定。但是,在处理比较复杂的绑定时,通过拼接生…

[C 语言] 嵌套结构体

结构体理解: 起始结构体就是一个类型,而用这个类型下有不同的成员。 每个成员在共同的类型下有相同的属性。 比如有一个班级的类,班级的类下有学生这种类型,而不同的学生有名字,年龄,班级信息这种属性。学生…

图片压缩代码和实际操作页面

先编写一个小工具类 package com.ai157.aigc.utils; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.io.InputStream; public class MyFileUtils {public static File convert(MultipartFile multip…

金蝶云苍穹-插件开发(一)加载数据

前言 此系列博客是进行金蝶云苍穹开发时的插件开发的教程,一是在明年要是还要参加软件杯金蝶A6赛题的话,可以看此系列教程的博客来进行复习,同时如果要是我实验室的学弟学妹要参加的话,我这个系列的博客可以给他们提供学习参考&a…

Spark SQL----内置函数Bitwise Functions

Spark SQL----内置函数Bitwise Functions Bitwise Functions 例子: -- & SELECT 3 & 5; ------- |(3 & 5)| ------- | 1| --------- ^ SELECT 3 ^ 5; ------- |(3 ^ 5)| ------- | 6| --------- bit_count SELECT bit_count(0); -----------…

谷粒商城学习-10-docker安装mysql

文章目录 一,拉取MySQL镜像1,搜索MySQL的Docker镜像2,拉取MySQL镜像3,查看已经拉取的镜像 二,创建、启动MySQL容器1,使用docker run创建启动容器2,使用docker ps查看运行状态的容器3&#xff0c…

SpringBoot新手快速入门系列教程:基于JPA的一个Mysql简单读写例子

现在我们来做一个简单的读写Mysql的项目 1,先新建一个项目,我们叫它“HelloJPA”并且添加依赖 2,引入以下依赖: Spring Boot DevTools (可选,但推荐,用于开发时热部署)Lombok(可选&#xff0c…

深度解析:机器学习与深度学习的关系与区别

一、前言 在人工智能领域,机器学习与深度学习常常被提及并广泛应用。虽然它们在本质上都是通过数据训练模型以进行预测或分类,但两者之间存在着显著的区别和联系。本文将深入解析机器学习与深度学习的关系与区别,帮助读者更好地理解和应用这…

poetry使用经验汇总

什么是poetry Poetry 是一个 Python 依赖管理和打包工具,它旨在解决 Python 项目中常见的依赖问题,提供更简洁、更可靠的依赖管理方式。以下是 Poetry 的一些主要功能和特点的总结: 依赖解析:Poetry 使用 pyproject.toml 文件来管理项目依赖,它能够自动解析依赖关系,确保…

【C++】 解决 C++ 语言报错:Use of Uninitialized Variable

文章目录 引言 使用未初始化的变量(Use of Uninitialized Variable)是 C 编程中常见且危险的错误之一。它通常在程序试图使用尚未赋值的变量时发生,导致程序行为不可预测,可能引发运行时错误、数据损坏,甚至安全漏洞。…

掌握 IPython 中的 %%bash 魔法命令:深入探索与实践

IPython 是一个强大的交互式 Python 解释器,它提供了丰富的功能来增强开发体验。其中一个非常实用的功能是 IPython 的“魔法命令”(magic commands),这些命令以 %% 开头,用于执行特定的操作或改变 IPython 的行为。%%…

SpringMVC:SpringMVC执行流程

文章目录 一、介绍二、什么是MVC 一、介绍 Spring MVC 是一种基于Java的Web框架,它采用了MVC(Model - View - Controller)设计模式,通过吧Model、View和Controller分离,将Web层进行职责解耦,把复杂的Web应…

NAS 必备导航页 Homepage 外观简约但功能丰富

本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 NAS 上的应用部署多了之后,不同的服务对应的端口很难记住,在内网中使用,一般也不会绑定域名。 此时就需要有一个导航页将 NAS 上部署的所有服务都罗列出来,方便我们直接点击访问对应的服务。 今天给大家介绍的…

【HICE】转发服务器实验

1.在本地主机上操作 2.在客户端操作设置主机的IP地址为dns 3.测试,客户机是否能ping通

anaconda中下载压缩包并用conda安装包

有时直接conda安装包时会出错;报错PackagesNotFoundError: The following packages are not available from current channels 比如 conda install -y bioconda::ucsc-gtftogenepred #直接安装报错 #直接下载压缩包安装https://blog.csdn.net/weixin_45552562/ar…

C++初学者指南-4.诊断---基础:警告和测试

C初学者指南-4.诊断—基础知识:警告和测试 文章目录 C初学者指南-4.诊断---基础知识:警告和测试1. 术语和技术记住:使用专用类型! 2.编译器警告Gcc/CLang 编译器选项MS Visual Studio 编译器选项 3.断言运行时断言静态断言&#x…

macOS查看系统日志的方法

1、command空格键打开搜索框,输入‘控制台’并打开 2、选择日志报告,根据日期打开自己需要的文件就可以

基础物理-测量1(长度)

引言 科学和工程学基于测量和比较。因此,我们需要制定关于如何测量和比较事物的规则,并且需要实验来建立这些测量和比较的单位。 国际标准单位 1971年,第十四届国际计量大会选定了七个量作为基本量,表中列出了其中三个。 Quan…