精华内容
下载资源
问答
  • 外键的级联删除: 如A表中有主键idA, B表中设置外键(ForeignKey)为A表中的...EntityFramework中默认是开启此功能的, 不需要时可以将其关闭,即不使用"Cascade on delete"约束. 例: class TestDbContext :DbCont...

    外键的级联删除: 如A表中有主键idA, B表中设置外键(ForeignKey)为A表中的主键idA, 当A表中的记录被删除时, B表中所有引用此条记录的记录(即所有外键为idA的记录)将自动被删除

    EntityFramework中默认是开启此功能的, 不需要时可以将其关闭,即不使用"Cascade on delete"约束.

    例:

    class TestDbContext :DbContext
        {
            public TestDbContext() : base("TestDb") 
            { 
                // 禁用延迟加载
                this.Configuration.LazyLoadingEnabled = false;
            }
    
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                //base.OnModelCreating(modelBuilder);
    
          // 禁用默认表名复数形式
          modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    
                //---关闭级联删除
                //  禁用一对多级联删除
          modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
          //  禁用多对多级联删除
          modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();
                //---
    
                //---由于SQLite的EntityFramework库没有代码优先模式下自动创建数据库的功能,所以使用SQLiteCodeFirst 库自动创建数据库,
                //当数据库不存在时创建
                var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<TestDbContext>(modelBuilder);
                Database.SetInitializer(sqliteConnectionInitializer);
                //---
            }
        }

     

    转载于:https://www.cnblogs.com/gmcn/p/5830512.html

    展开全文
  • 创建唯一性约束自动创建了和约束名一样的唯一性索引创建check约束,不会产生索引创建外键约束,不会产生索引启用约束:enable( validate) :启用约束,创建索引,对已有及新加入的数据执行约束.enable novalidate :...

    创建唯一性约束,自动创建了和约束名一样的唯一性索引

    创建check约束,不会产生索引

    创建外键约束,不会产生索引

    启用约束:

    enable( validate) :启用约束,创建索引,对已有及新加入的数据执行约束.

    enable novalidate :启用约束,创建索引,仅对新加入的数据强制执行约束,而不管表中的现有数据.

    禁用约束:

    disable( novalidate):关闭约束,删除索引,可以对约束列的数据进行修改等操作.

    disable validate :关闭约束,删除索引,不能对表进行 插入/更新/删除等操作.

    enable\validate用到的地方

    1、物化视图要实现查询重写时,则必须保证相关联表的主外键约束的状态为enable、validate

    2、要实现星型转换时,必须保证fact表即主表字段的外键约束的状态为enable、validate

    SQL> alter table SALES disable novalidate constraint SALES_CHANNEL_FK;

    Table altered.

    SQL> select constraint_name,constraint_type,status,validated from user_constraints where table_name='SALES' and constraint_type='R' and CONSTRAINT_NAME='SALES_CHANNEL_FK';

    CONSTRAINT_NAME      CONSTRAINT_TYPE      STATUS     VALIDATED

    -------------------- -------------------- ---------- --------------------

    SALES_CHANNEL_FK     R                   DISABLED   NOT VALIDATED

    SQL> alter table SALES disable validate constraint SALES_CHANNEL_FK;

    Table altered.

    SQL> select constraint_name,constraint_type,status,validated from user_constraints where table_name='SALES' and constraint_type='R' and CONSTRAINT_NAME='SALES_CHANNEL_FK';

    CONSTRAINT_NAME      CONSTRAINT_TYPE      STATUS     VALIDATED

    -------------------- -------------------- ---------- --------------------

    SALES_CHANNEL_FK     R                   DISABLED   VALIDATED

    SQL> alter table SALES enable novalidate constraint SALES_CHANNEL_FK;

    Table altered.

    SQL> select constraint_name,constraint_type,status,validated from user_constraints where table_name='SALES' and constraint_type='R' and CONSTRAINT_NAME='SALES_CHANNEL_FK';

    CONSTRAINT_NAME      CONSTRAINT_TYPE      STATUS     VALIDATED

    -------------------- -------------------- ---------- --------------------

    SALES_CHANNEL_FK     R                    ENABLED    NOT VALIDATED

    SQL> alter table SALES enable validate constraint SALES_CHANNEL_FK;

    Table altered.

    SQL> select constraint_name,constraint_type,status,validated from user_constraints where table_name='SALES' and constraint_type='R' and CONSTRAINT_NAME='SALES_CHANNEL_FK';

    CONSTRAINT_NAME      CONSTRAINT_TYPE      STATUS     VALIDATED

    -------------------- -------------------- ---------- --------------------

    SALES_CHANNEL_FK     R                    ENABLED    VALIDATED

    展开全文
  • 目录在企业管理器中创建表一些特殊字段说明查询分析器中创建新表指定自动增长字段创建计算字段显示及修改表的结构为数据表指定主外键约束为已存在的表创建主外键约束为数据表创建约束完整性条件默认值约束 default:...

    在企业管理器中创建表

    在企业管理器中创建:展开数据库,右键点击表-〉新建表,弹出对话框中输入表属性列,完成后关闭对话框同时对表起名。之后在窗口中右键选择新建的表-〉打开表,输入表中的数据。

    一些特殊字段说明

    Image:字段需要存放超过8kb且为可变长度的二进制数据。包括:word文件,excel表格,位图,gif、jpeg、tiff等图片,声音,或ole对象等。Sqlserver对所存储数据不作解释,若想正确解析数据,需要通过各种客户端应用程序。
    Unicode数据类型(nchar、varnchar、ntext):采用unicode编码存储字符,每个字符占2个字节。

    整型数据:bigint(8字节,范围-2^63-1 ~ 263-1);int(4字节,范围:-231-1 ~ 231-1);smallint(2字节,范围:-215-1 ~ 2^15-1);tinyint(1字节,范围0-255)

    精确数字:numeric\decimal,可以指定精度,和小数位数。
    Decimal(精度[,小数位数]) 小数位数可以省略

    timestamp:时间戳,该类型数据为一组二进制数据,表示数据库发生修改的先后顺序与次数,与日期类型date毫无关连。每个表只能有一个该类型字段,并且该字段不能定义为主键(PrimaryKey)。

    Table:该类型不能在表的字段中定义,只能用户定义变量或函数时使用该类型,用来返回一个临时结果集。
    自动增长(自动编号)字段:为表的每一条记录进行流水编号,并随记录的递增而自动增长。Sqlserver没有额外提供自动增长字段,需要自行定义。能够成为自动增长字段的数据类型必须是整型数据,并指定其基本值与递增量。在企业管理器中,对欲将其设为自动增长字段的属性卡中-〉标识-〉是,然后指定标识种子(基本值)与标识递增量。

    NULL值:不代表0值,空字符串或空白,而表示值不存在。字段允许null,表示该字段未知或尚未定义,而且该字段不拥有默认值。某些字段不允许null,比如自动编号字段或主键约束字段等。不允许null值,可以使用户务必在字段中输入数据,保证字段非空,从而使系统数据完整性更容易维护。

    查询分析器中创建新表

    use stu                  --使用当前新建数据库
    go
    create table student(        								--创建student表
    student_id char(8) not null ,
    student_name char(8) not null ,
    sex char(2) not null,
    birth smalldatetime not null,
    class_id char(6) not null,
    entrance_date smalldatetime not null)
    

    指定自动增长字段

    create table student(        
    student_id int identity(1,1) not null ,  --indentity(初始值,步长)
    student_name char(8) not null ,
    sex bit not null,
    birth smalldatetime not null)
    

    创建计算字段

    USE student
    GO
    create table grade
    (
    classname varchar(10) not null,
    math numeric(3,1),
    english numeric (3,1),
    cprograme numeric(3,1),
    total as math+english+cprograme,
    average as (math+english+cprograme)--不可用 total/3 因为total已经调用了其他变量
    )
    

    显示及修改表的结构

    --sp_help [表名] 显示表的结构
    
    --exec sp_help stu
    --alter table tabname add column col type 添加属性列
    --alter table [表名] add 列名1 属性,列名2 属性
    alter table stu add lover char(8) null
    --delete [表名]清空表
    --drop [表名] 删掉表 
    --drop column [列名1,列名2...]删除列
    alter table stu
    drop column lover
    

    为数据表指定主外键约束

    use stu                  使用当前新建数据库
    go
    create table student(        
    student_id char(8) not null primary key,   primary key:建表的同时指定表的主键
    student_name char(8) not null ,
    sex bit not null,
    birth smalldatetime not null,
    class_id char(6) not null,
    ntrance_date smalldatetime not null)
    
    create table class
    (class_id char(6)not null primary key,
    monitor nvarchar(8) null,
    classroom varchar(13)null,
    student_num smallint null default 0 )   default:为列添加默认值约束
    
    create table student2
    ( student_id char(8) not null primary key,
    student_name char(8) not null,
    sex bit not null,
    birth smalldatetime not null,
    class_id char (6) not null references class(class_id),
    class_idd char (6) not null constraint fkClassid foreign key references class(class_id),
    ntrance_date smalldatetime not null)    
    

    为已存在的表创建主外键约束

    为已经建立的表添加主键约束:
    添加主键: Alter table tabname add primary key(col) 
    删除主键: Alter table tabname drop constraint(主键约束名)
    
    constraint 约束名(fkclassid) foreign key references  表名class 列名 :以class_id列作为本表的外键,其引用值从表class中的class_id列获取。
    alter table student
    add constraint fkClassid foreign key (class_id) references class(class_id)
    
    

    为数据表创建约束完整性条件

    默认值约束 default:

    如果字段拥有默认值,在添加数据时如未指定具体值,系统会将定义好的默认值填充。
    Default定义:在创建表字段的同时,在其属性标签中指定默认值,仅在该字段起作用。
    Default对象:右键单击“默认”图标,创建默认值对象,可以绑定多个属性列起作用。
    基本语句:add constraint 约束名 default ‘常量表达式’ for 字段名
    例:

    alter table student       
    add constraint defSex default 1 for sex 
    为表 student 的sex字段添加默认值约束
    
    创建表的同时规定默认值约束:
    Create 表名 (列名 数据类型 CONSTRAINT 约束名 default 常数/表达式)
    例:create table student  (sex bit constraint defSex default 0)
    
    

    检查约束check

    下面展示一些 内联代码片

    alter table student_course
    add constraint chkGrade check (grade >0 and grade<100)
    
    alter table student
    add constraint chkEntr check(entrance_date<getdate())
    alter table student
    add constraint chkBirth check(birth<getdate())
    add constraint 约束名 check(具体规则):为已存在的表列添加检查约束
    getdate():获取当前系统时间
    alter table student
    add constraint chkSex check(sex in ('m','f'))
    
    alter table employee
    add constraint chkPho check(phone like’([0-9] [0-9]) [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]	[0-9] [0-9]) ’ 
    	or phone like’([0-9] [0-9]) [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]	[0-9] ) ’)
    
    alter table employee
    add constraint chkBlo check(bloodType in(’a’,’b’,’ab’,’o’,’rh+,’rh-) 
    

    删除check约束

    alter table 表名 drop constraint 约束名1,约束名2,……
    alter table student drop constraint chkEntr,chkBirth,chkSex
    

    主键约束

    alter table student
    add constraint  pkStudent_id primary key (student_id)
    alter table class
    add constraint  pkClass_id primary key (class_id)
    
    add constraint  约束名 primary key (列名):在指定表的选定字段上设置主键约束
    
    alter table student_course 
    add constraint pkStu_Cou primary key (student_id,course_id)
    

    注意事项

    使用ALTER TABLE 语句的注意问题:
    1、 如果需要同时修改多个字段特性,需要使用多条alter table语句;
    2、 该语句不能更改或只能部分更改已经存在于索引中的字段、用来产生统计信息的字段、已经存在约束条件、默认值的字段等。
    3、不能随意修改自动编号字段,也不能使用此语句将非自动编号字段转换为自动编号字段,如果必须完成此操作,需要到企业管理器中使用表设计器完成。或在查询分析器中使用删除字段drop子句及增加字段子句add分两步完成,前提示表中尚未存在数据。

    展开全文
  • Masonary-简化自动布局

    千次阅读 2015-06-11 00:18:26
    AutoLayout是一种灵活且高效的布局视图的方法,它通过约束简单明确的实现了多屏适配的功能,但是如果不用storyboard而使用,纯代码开发时,使用NSContraints就显得有些繁琐了,而Masonary就是创建自动布局的轻量级框架。...

    Masonary的价值

    在iOS中,AutoLayout是一种灵活且高效的布局视图的方法,它通过约束简单明确的实现了多屏适配的功能,但是如果不用storyboard而使用,纯代码开发时,使用NSContraints就显得有些繁琐了,而Masonary就是创建自动布局的轻量级框架。

    如何安装

    1. 新建一个xcode工程
    2. 在Podfile中 添加 pod ‘Masonry’ (提示:最好在vim下编辑,关闭中文输入法)
    3. 在viewController.m中 #import <Masonry.h>
    4. 复制Masonary提供的例子
    UIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10);
        [view1 mas_makeConstraints:^(MASConstraintMaker *make) {
            make.top.equalTo(superview.mas_top).with.offset(padding.top);
            make.left.equalTo(superview.mas_left).with.offset(padding.left);
            make.bottom.equalTo(superview.mas_bottom).with.offset(-padding.bottom);
            make.right.equalTo(superview.mas_right).with.offset(-padding.right);
        }];

    直接执行是不行的,因为有些变量是还未定义的,
    经过添加一段无聊的代码运行,还是报错 ld: library not found for -lPods-Masonary

    添加链接库

    注:有可能你运行也不会错,如果这样,就忽略好了,还有在原框架的安装时还提示添加prefix.pch,然后加上#define MAS_SHORTHAND,我自己测试没有效果,不知道是不是RP的问题。

    直接看运行的效果:
    效果图

    紫色的view1,与父视图的self.view上下左右都留了10的边距 这就是那段代码的作用,还有更简单的写法,

    // 更短的写法
    [view1 mas_makeConstraints:^(MASConstraintMaker *make) {
        make.edges.equalTo(superview).with.insets(padding);
    }];
    

    结束语

    还有更多的更加细致的用法,我主要记录了自己在刚碰到这个框架遇到的问题,剩下的详情,请直接点击Masonary,英语不好,翻译不到位容易误人,
    源代码
    运行环境:Mac OS X 10.10.3 Xcode 6.3.1 iOS8.3 至少在这上面是绝对可以的。

    展开全文
  • 本文使用的是Android Studio 3.0 (其他版本可能没有一些功能,或者看起来不太一样) 请确保Android Studio约束自动链接关闭 (在Constraint Layout(一)–自动创建约束一节中是打开的)
  • 数据库小结

    2014-07-14 07:15:01
    打开数据服务netstartmssqlserver关闭数据服务netstopmssqlserver创建数据库createdatabase数据库名引用数据库Use数据库名创建表createtable表名约束--primarykey主键--identity自动增长--default默认--check约束--...
  • 对于InnoDB类型的表 按主键顺序插入 因为InnoDB类型的表是安装主键顺序保存的,所以将导入的数据按照主键的顺序排列,可以有效的提高导入效率,如果InnoDB类型的表没有主键...再导入数据前关闭自动提交,结束后开.
  • 盆栽 :evergreen_tree: 盆景使iOS View Controller可以以任意大小和位置以模态... 保留安全区域和自动布局约束 使用CocoaPods安装 BonsaiController可通过。 要安装它,只需将以下行添加到您的Podfile中: use_fram
  • 3表格的列定义了几个重要的约束 4数据库操作 数据库:创建、删除 创建表格创建 插入数据 查询数据: 修改数据 删除数据 截断数据 删除表格 数据排序 聚合数据 存储数据的方法? 基本类型的数组(固定...
  • Oracle管理表

    2017-11-24 21:12:59
    Oracle管理表 Oracle中,一般不会轻易在一个服务器上创建多个数据库,在一个数据库中,不同的项目由不同的用户访问,每一个用户拥有自身创建的数据库对象,因此用户的...添加,删除,开启,关闭约束 删除一张表 常用
  • temporary-表示临时表,仅在此会话中出现,关闭就会自动删除 字段名-就是数据表的列名 字符类型就是字段中保存的数据类型 字段属性-就是约束条件 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 ...
  • k8s 的基本介绍

    2020-01-16 00:22:30
    一、k8s 基本特性 (1)自动装箱 构建于容器之上,基于资源依赖及其他... 支持容器故障后自动重启、节点故障后重新调度容器,以及其他可用节点、健康状态检查失败后关闭容器并重新创建等自我修复机制。 (3)...
  • 一、k8s 基本特性 (1)自动装箱 构建... (2)自我修复(自我治愈) 支持容器故障后自动重启、节点故障后重新调度容器,以及其他可用节点、健康状态检查失败后关闭容器并重新创建等自我修复机制。 (3)水平扩展 支...
  • 一、k8s 基本特性 (1)自动装箱 构建... (2)自我修复(自我治愈) 支持容器故障后自动重启、节点故障后重新调度容器,以及其他可用节点、健康状态检查失败后关闭容器并重新创建等自我修复机制。 (3)水平扩展 支...
  • Kubernetes简述

    2019-02-19 17:08:00
    2、自我修复(自愈) 支持容器故障后自动重启、节点故障后重新调度容器,以及其他可用节点、健康状态检查失败后关闭容器并重新创建等自我修复机制。 3、水平扩展 支持通过简单命令或UI手动水平扩展,以...
  • 3-12 STARTUP 命令 3-15 ALTER DATABASE 命令 3-16 以受限模式打开数据库 3-17 以只读模式打开数据库 3-18 关闭数据库 3-19 关闭选项 3-20 用检测诊断文件管理一个实例 3-22 警报日志文件 3-23 后台跟踪文件 3-24 ...
  • 两种创建方式,一种是以文字的大小为准,此时如果如果内容超过编辑框大小,会自动扩展;另一种添加了对编辑框大小的约束。 CCTextFieldDelegate提供四个回调函数分别是启动和关闭虚拟键盘时的回调函数、在键盘上输入...
  • 8.2.3 创建元件的约束 326 8.3 实战演练 327 8.3.1 联轴器建模与装配 327 实例8-1:创建联轴器组件 327 8.3.2 球阀建模与装配 335 实例8-2:创建球阀组件 335 8.4 创建分解图 349 实例8-3:创建球阀分解图 349 ...
  • 使用SQL 创建约束条件:示例7-20 查看表中的列7-21 查看表的内容7-22 表操作7-23 删除表7-24 截断表7-25 索引7-26 索引类型7-27 B 树索引7-28 位图索引7-30 索引选项7-32 创建索引7-34 vi 什么是视图7-35 创建视图7-...
  • 9.2 管理约束 9.3 创建索引 9.4 创建和使用临时表 9.5 小结 9.6 本章测试题 第10章 结构管理数据和并发性 10.1 使用dml管理数据 10.2 识别和管理pl/sql对象 10.3 监视和解析锁定冲突 10.4 小结 ...
  • 上面的创建外键的方法没有指定约束名称,系统会默认给外键约束分配外键约束名称,命名为student_ibfk_n, 其中student是表名,n是当前约束从1开始的整数。 指定约束名称: create table student( id int auto_...
  • 3.18 节使用可关闭Tabs 创建一个TabNavigator 3.19 节创建和控制Alert 3.20 节根据呼出组件设置对话框的尺寸和位置 3.21 节管理多个弹出对话框 3.22 节在容器中滚动到某个指定的子组件 3.23 节使用IdeferredInstance...
  • 书中内容主要集中在大多数企业常见的问题之上,如安装和升级到oracle database 11g数据库软件、创建数据库、导出和导入数据、数据库的备份与恢复、性能调优,等等。  本书还提供了dba完成本职工作必备的基本的uniix...
  •  ●oracle自动存储管理  ●oracle调度程序  ●自动工作负荷知识库  ●性能调整 作译者  John Watson就职于BPLC Management Consultants,负责公司欧洲和非洲的教学和咨询工作。他拥有数据库和应用服务器管理...
  •  ●oracle自动存储管理  ●oracle调度程序  ●自动工作负荷知识库  ●性能调整 作译者  John Watson就职于BPLC Management Consultants,负责公司欧洲和非洲的教学和咨询工作。他拥有数据库和应用服务器管理...
  • Oraclet中的触发器

    2011-06-04 21:58:17
    (1)触发器能够实施的检查和操作比主键和外键约束、CHECK约束和规则对象等更为复杂。 (2)触发器建立在表一级,它与特定的数据修改事件相对应。 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程不同...
  •  ●oracle自动存储管理  ●oracle调度程序  ●自动工作负荷知识库  ●性能调整 作译者  John Watson就职于BPLC Management Consultants,负责公司欧洲和非洲的教学和咨询工作。他拥有数据库和应用服务器管理...
  • 使用 SQL 创建约束条件:示例 7-20 查看表中的列 7-21 查看表的内容 7-22 对表执行的操作 7-23 删除表 7-24 截断表 7-25 索引 7-26 索引类型 7-27 B 树索引 7-28 位图索引 7-30 索引选项 7-32 创建索引 7...
  • [Oracle.11g权威指南(第2版)].谷长勇.扫描版.pdf

    千次下载 热门讨论 2013-06-23 21:16:09
    本章详细讲述了Oracle数据库的安装、启动、关闭的整个过程,以及如何使用DBCA创建一个数据库。对数据库管理员而言,这些操作都是最基本的。 3.1 在Windows环境下安装的软硬件要求 25 3.2 在Windows环境下安装Oracle ...
  •  《MATLAB R2014a完全自学一本通》结构严谨、内容全面、图文并茂、实例丰富,既适合信号处理、通信工程、自动控制、机械电子、自动化、电力电气等专业的本科生、研究生、教师和科技工作者学习使用,也可以作为广大...

空空如也

空空如也

1 2 3 4 5 6
收藏数 118
精华内容 47
关键字:

关闭自动创建约束