实体与实体之间的联系

单张表的缺点:

      表的结构不清晰

      造成数据冗余

      表的可扩展性差

一.外键

  • 一个表的的主码的在另一张表中出现充当非主码字段(Foreign Key)
  • 表与表之间用外码进行连接
  • 外键虽然能够帮你强制建立表关系 但是也会给表之间增加数据相关的约束,通过cascade可以进行级联更新
  • 外键约束
    • 1.在创建表的时候 必须先创建被关联表
    • 2.插入数据的时候 必须先插入被关联表的数据

二.实体与实体之间的关系

  • 一对一关系

    • 外键字段放在使用频率高的表上
  • 一对多关系
    • 外键字段放在多的一方
  • 多对多关系
    • 建在关系表中

三.修改表的完整语句

1.修改表的完整语句
            1. 修改表名
                  ALTER TABLE 表名
                                      RENAME 新表名;
            2. 增加字段
                  ALTER TABLE 表名
                                      ADD 字段名  数据类型 [完整性约束条件…],
                                      ADD 字段名  数据类型 [完整性约束条件…];
                  ALTER TABLE 表名
                                      ADD 字段名  数据类型 [完整性约束条件…]  FIRST;  # 直接移到最前面
                  ALTER TABLE 表名
                                      ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;  # 寻找插哪个字段的后面
            3. 删除字段
                  ALTER TABLE 表名
                                      DROP 字段名;
            4. 修改字段  # modify只能改字段数据类型完整约束,不能改字段名,但是change可以!
                  ALTER TABLE 表名
                                      MODIFY  字段名 数据类型 [完整性约束条件…];
                  ALTER TABLE 表名
                                      CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];

四.复制表

复制表结构+记录 (key不会复制: 主键、外键和索引)
create table 表一 select * from 表eer;

ps:查询语句执行的结果是一张虚表

原文地址:https://www.cnblogs.com/Cpsyche/p/11386139.html

时间: 2024-11-04 08:49:39

实体与实体之间的联系的相关文章

Datatable和实体还有实体集List的区别与转化

机房收费系统大家想必不是做完,就是已经在手上了,在一开始做的时候就明确规定,我们必须用实体,而不能使Datatable,因为说是Datatable直接面向了数据库,当时不是很明白,于是也没有再深究,就去实现代码部分了,现在终于把三层的机房收费系统做完了,回过头再看的时候,有了那么一点小认识. 去年的时候,师哥师姐们用的是Datatable,也都实现了三层,在网上查了一些小Dome,也都是datatable ,于是我们就会发现这样真的有意义吗. 那么我们先来看看Datatable和Dataset吧

Datatable和实体还有实体集List的差别与转化

机房收费系统大家想必不是做完.就是已经在手上了,在一開始做的时候就明白规定.我们必须用实体.而不能使Datatable,由于说是Datatable直接面向了数据库,当时不是非常明白,于是也没有再深究,就去实现代码部分了.如今最终把三层的机房收费系统做完了,回过头再看的时候,有了那么一点小认识. 去年的时候,师哥师姐们用的是Datatable.也都实现了三层.在网上查了一些小Dome.也都是datatable ,于是我们就会发现这样真的有意义吗. 那么我们先来看看Datatable和Dataset

实体、实体集及其运用

一.实体 实体 在C#中的写法 在C#中 写法(1): public class UserInfo { public int UserID { get; set; } } 写法(2): public class UserinfoEntity { private string userid; '定义字段名 public string ID '定义属性项 { get{return userid;} '取值[Get--End Get,是可省的] set{userid = value;} '赋值[Set

WinForm开发-界面控件到实体,实体到界面控件自动绑定

在WinForm开发中,我们是不是为绑定界面控件的数据而每个控件每个控件的赋值?在保存修改时是不是也是每个控件每个控件的赋值到实体中?字段一多,那简直就是噩梦.有没有像Web中那样方便的方法直接就自动映射了呢?现在不用如此繁琐,在RDIFramework.NET开发框架的WinForm部分新增了界面控件到实体,实体到界面控件自动绑定,一句话就搞定了,非常的方便.主要是引用“RDIFramework.WinForm.Utilities.dll”dll文件,再调用下面两个方法即可: 1.实体到界面控

crmsql语句查询实体窗体实体字段关系信息

在crm里面如何用sql语句查询这些信息? 查询实体信息: --查询实体信息,实体名称:account select * from MetadataSchema.Entity where name= 'account' 查询窗体信息: --查询窗体信息,ObjectTypeCode: 实体的code select * from systemform where ObjectTypeCode = 1 查询视图信息: --查询视图信息,ReturnedTypeCode:实体的code select

自定义ORMapping—关系表转换为实体或实体集合对象

概述 ORMapping,中文翻译过来就是,关系对象的映射,他的作用就是使我们编程时,不用过多的关注持久层,只需要关注对象,关注业务就可以了.ORMapping主要完成两个功能:自动生成SQL语句和DataTable To Objects. 特性和反射 特性是用来描述元数据的,元数据就是源代码编译好后的代码.反射是运行时,获得对象或类的所有信息,通过这些信息,我们可以创建类获得特性信息等等 关系表转换为实体或实体集合对象的实现方式 对于关系表转换为实体或实体集合对象的实现方法可以有多种,这里说一

权限模块_整体方案说明_设计实体&映射实体_实现初始化权限数据的功能

权限模块_整体方案说明 要点说明 权限就是控制功能的使用(功能对应着URL). 对功能的控制就是对URL的访问控制. 在我们的程序中,一个功能对应一个或两个URL: 1,例如列表或删除功能,只对应一个URL. 2,例如添加或修改功能,对应两个URL:..add, ..addUI 权限模型 权限方案: 用户 *----* 角色 *----* 权限 与权限相关的功能具体有哪些: 初始化数据:... 分配权限:... 使用权限:... 具体有哪些功能 初始化数据(安装) 权限数据. 超级管理员. 分配

EF6基础系列(十)---离线场景保存实体和实体图集

离线场景保存和删除实体/实体图集 这一节的内容是在离线场景中保存实体和实体图集 在离线场景中,当我们保存一个离线的实体图集或一个单独的离线实体时,我们需要做两件事.首先,我们要把实体附加到新的上下文中,让上下文了知道存在这些实体.其次,我们需要手动设置每个实体的EntityState,因为新的上下文不知道这些离线实体都经过了些什么操作,所以新的上下文不能自动地给实体添加EntityState.上一节我们清楚了附加离线图集的方法,附加离线图集时默认添加的EntityState不一定合适,所以我们就

十、EnterpriseFrameWork框架的分层架构及意义(控制器、业务对象、实体、Dao之间关系)

本章内容主要包括两个方面,一是框架分层(控制器.业务对象.实体.Dao)的详细说明,二是对比常用三层结构的区别和优势: 我们先看一下前面实例中的解决方案目录: 我们再看各层之间的调用关系: 上图描叙的控制器有四种方式来操作数据库, 1)控制器调用实体,通过框架中的ORM来实现单表的操作 2)控制器直接操作数据库对象(oleDB),通过编写SQL语句访问数据库 3)控制器通过调用Dao操作数据库 4)控制器调用业务对象,业务对象再调用Dao操作数据库 还有就是每一层在程序结构中承担的角色: 一.D