MySQL(10):实体和实体表

1.实体

       数据库管理系统中的各种用于数据管理方便而设定的各种数据管理对象,如:数据库表、视图、存储过程等都是数据库实体。广义上讲,这些对象中所存储的数据也是数据库实体。因为它们也是确切存在着的实体。

2.实体关系(表设计)

(1)1对1的关系:

两个实体表内,存在相同的主键字段;

如果记录的主键值等于另一个关系表内记录的主键值,则两条记录的对应为1对1 对应关系

下图示例:

这里本来这里的学生主信息表 和 学生详细信息表应该水平方向上连接起来,但是这里垂直分割了,这里在优化上称之为:垂直分割

通常一个表中的记录字段过多情况之下,我们通常都要拆分两个或者多个,分为常用信息表和不常用信息表;

只要这些拆分的多个表拥有统一的主键值ID,他们在逻辑上就是关联的。

(2)1对多的关系:

一个实体,对应多个其他实体,例如一个班级对应多个学生:

设计方案:

在多个那端(这里就是多个学生),增加一个字段(班级号),用于指向该实体所属的另外实体的标识;

(3)多对多的关系:

设计典型的利用一个中间表表示实体之间的对应关系。中间表的每一条记录表示一个关系。

 可以分析:一个m:n可拆解为 1:m  1:n来实现:

时间: 2024-10-19 21:10:16

MySQL(10):实体和实体表的相关文章

Navicat MySql 10.1.7软件和注册码

Navicat MySql 10.1.7很精致的软件 地址: 注册码:名,组织,注册码都是:NAVN-LNXG-XHHX-5NOO

Mysql MHA(GTID)配置(实操)

实现环境 centos6.7 MYSQL5.6.36 主:192.168.1.191 从1:192.168.1.145 从2:192.168.1.146 监测:放在从2上 192.168.1.146 虚拟IP:192.168.1.222 准备软件包:下载链接: https://pan.baidu.com/s/1jHYafcU 密码: irbv epel-release-6-8.noarch.rpm   (所有服务器上都要) mha4mysql-node-0.56-0.el6.noarch.rpm

EF6+MySql 软件配置环境 EF连接不到mysql问题 实体数据模型向导 选不到mysql

1.系统环境配置 ①mysql-for-visualstudio-1.2.8    vs的mysql工具  官网下载链接 ②mysql-connector-net-6.10.8   注意版本号 必须与项目代码中的MySql.Data.Entity6.10.8.0 的版本保持一致,否则在实体选择的时候闪退    官网下载链接 ③mysql-connector-odbc-5.3.10-winx64     odbc链接驱动  官网下载地址 以上三步下载安装后在 控制面板->程序->程序功能 中可以

CRM 客户端程序开发:设置实体表单界面字段的值

为了方便演示,我这里新建一个实体,实体定义如下: 还为它定义了如下的自定义字段,每种可定义的类型都有,基本上都是使用默认设置: 并且修改了它的窗体类型为主要的窗体,使它新建记录的界面如下所示: 我这里用代码演示,新建记录的时候为每个字段设置默认值.代码当然是JavaScript代码,需要放到类型为JScript的Web资源中,上传到CRM中并发布,然后和事件挂钩,这样就可以执行了. 我打开以前新建的解决方案,右击 CrmPackge 项目下面的 WebResources 文件夹,选择 添加 >

mysql 10进制与35进制之间的转换 注意Power处理bigint的问题

35进制的目的是防止0和O造成的视觉误差 BEGIN    DECLARE m_StrHex35 VARCHAR(100); -- 返回35进制表示的结果  DECLARE m_Remainder BIGINT; -- 余数  DECLARE m_Base35 VARCHAR(1); SET m_Remainder=0;  SET m_StrHex35='';   WHILE p_Hex10>=35 DO        SET m_Remainder=p_Hex10%35;        SET

mysql数据库管理工具(navicat for mysql) 10.1.7 绿色中文版

最新版navicat for mysql,自带注册码.已经绿化,解压到任意目录就可运行. Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同时连接到 MySQL.Oracle.PostgreSQL.SQLite 及 sql server 数据库,让管理不同类型的数据库更加方便.Navicat Premium 结合了其他 Navicat 成员的功能.有了不同数据库类型的连接能力,Navicat Premium 支持在 MySQL.Oracle.PostgreSQ

MYSQL 10.1.35 kaiqi开启远程连接

1.首先开放3306,允许任何ip连接在/etc/mysql/mariable.conf.d/ vim 50-server.cnf这个位置与网上博客的位置不是很相同.在my.cnf 文件最后一个包含了一个文件夹,进入文件夹自行寻找即可(个人经验,学术才浅,不知其原理)找到bind-address=127.0.0.1将其改成bind-adress=0.0.0.0保存退出.即开放了3306端口.2.对账号进行授权登录数据库后执行命令GRANT ALL PRIVILEGES ON . TO 'root

Mysql(10)_存储过程与流程控制

一  存储过程与if语句 -- ---------------------------- -- Procedure structure for `proc_adder` -- ---------------------------- DROP PROCEDURE IF EXISTS `proc_adder`; DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_adder`(IN a int, IN b int, OUT

iApp(10)实体资料快速生成系统

企业总会需要一些"伪"数据,壮大他们的库,姓名,性别,各种模块