数据库基础与实例教程(达梦DM8) 课件 项目3 数据库对象管理_第1页
数据库基础与实例教程(达梦DM8) 课件 项目3 数据库对象管理_第2页
数据库基础与实例教程(达梦DM8) 课件 项目3 数据库对象管理_第3页
数据库基础与实例教程(达梦DM8) 课件 项目3 数据库对象管理_第4页
数据库基础与实例教程(达梦DM8) 课件 项目3 数据库对象管理_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库基础(基于达梦DM8)数据库对象管理33.1数据库、实例的创建及管理02创建数据库及实例01数据库及实例创建规划03查看数据库信息04启动及停止数据库服务05删除数据库、数据库实例及数据库服务数据库及实例创建规划3.1.13.1.1数据库及实例创建规划1)在创建数据库之前需要做如下准备工作。规划数据库表和索引,并估算它们所需的空间大小;确定字符集。所有字符集数据,包括数据字典中的数据,都被存储在数据库字符集中,用户在创建数据库时可以指定数据库字符集,如不指定则使用默认字符集GB18030;规划数据库文件的存储路径,可以指定数据库存储路径、控制文件存放路径、日志文件存放路径等,应注意在指定的路径或文件名中尽量不要包含中文字符,否则可能由于数据库与操作系统编码方式不一致导致不可预期的问题;3.1.1数据库及实例创建规划1)在创建数据库之前需要做如下准备工作。配置数据库时区,如中国是+8:00时区;设置数据库簇大小、页大小、日志文件大小,在数据库创建时由EXTENT_SIZE、PAGE_SIZE、LOG_SIZE初始化参数来指定,并且在数据库创建完成之后不能修改此参数。3.1.1数据库及实例创建规划2)创建数据库之前,必须满足以下必要条件。安装必需的DM软件,包括为操作系统设置各种环境变量,并为软件和数据库文件建立目录结构;必须有足够的内存来启动DM数据库实例;在执行DM的计算机上要有足够的磁盘存储空间来容纳规划的数据库。创建数据库及实例3.1.23.1.2创建数据库及实例

可以在安装DM数据库软件时创建数据库,也可以在安装之后创建数据库。创建步骤参见2.3.1。查看数据库信息3.1.3查看数据库信息

登录DM管理工具,通过表空间属性,可以查看数据文件路径、总空间大小、空闲空间大小、使用率等信息。查看数据库信息

通过DM控制台工具,查看实例配置属性,可以查看到如下信息:文件位置、实例名、内存池和缓冲区、线程、查询、检查点、输入输出、数据库、日志、事务、安全、兼容性、请求跟踪、进程守护、ORACLE数据类型兼容和配置文件启动及停止数据库服务3.1.4启动及停止数据库服务

安装DM数据库后(默认情况下安装成功后DM服务会自动启动)。对DM数据库服务的管理,可通过在Windows/Linux的开始菜单选项中选择如图所示的菜单项中的DM服务查看器可以启动/停止DM数据库的服务。启动及停止数据库服务

在弹出界面中选中所要启动的数据库,单击鼠标右键,在菜单栏中选择启动/停止。删除数据库、数据库实例及数据库服务3.1.51.删除数据及实例

删除数据库,包括删除数据库的实例、数据文件、日志文件、控制文件和初始化参数文件。为了保证删除数据库成功,必须保证dmserver已关闭。可以使用数据库配置工具来删除数据库,选择“删除数据库实例”。1.删除数据及实例

根据数据库名称,选择要删除的数据库,如图所示,也可以通过指定数据库配置文件删除数据库。2.删除数据服务

删除数据库服务,只删除用于启动和停止数据库的服务文件,不会删除数据库的数据文件、日志文件、控制文件和初始化参数文件。用户删除数据库服务可以通过图形化界面实现,如图所示,选择“删除数据库服务”项。2.删除数据服务

根据数据库服务名称,选择要删除的数据库,也可以通过指定数据库配置文件删除数据库服务谢谢观看数据库基础(基于达梦DM8)数据库对象管理33.2表空间创建及管理02创建表空间01理解表空间03查看表空间04修改表空间05删除表空间理解表空间3.2.1理解表空间

在DM数据库中,表空间由一个或者多个数据文件组成。DM数据库中的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中。理解表空间

在DM8数据库内部,所有的数据文件组合在一起被划分到一个或者多个表空间中,所有的数据库内部对象都存放在这些表空间中。同时,表空间被进一步划分为段、簇和页(也称块)。通过这种细分,可以使得DM数据库能够更加高效地控制磁盘空间的利用率。理解表空间

在创建DM数据库时,会自动创建5个表空间:SYSTEM表空间、ROLL表空间、MAIN表空间、TEMP表空间和HMAIN表空间,如左图所示,在创建数据库时默认设置了表空间对应的数据文件。创建表空间3.2.2创建表空间的原则01通过SQL语句创建表空间02通过图形化工具创建表空间031.创建表空间的原则创建表空间需要遵守以下几个原则。表空间名在数据库中必须唯一;一个表空间中,数据文件和镜像文件一起不能超过256个;如果全库已经加密,就不再支持表空间加密;SYSTEM表空间不允许关闭自动扩展,且不允许限制空间大小。2.通过SQL语句创建表空间CREATETABLESPACE<表空间名><数据文件子句>

[<数据页缓冲池子句>]

[<存储加密子句>]

[<指定DFS副本子句>]创建表空间的SQL语法格式如下。2.通过SQL语句创建表空间CREATETABLESPACE<表空间名><数据文件子句>

[<数据页缓冲池子句>]

[<存储加密子句>]

[<指定DFS副本子句>]“CREATETABLESPACE”是创建表空间关键字;“表空间名”指定表空间的名称,最大长度128字节;“数据文件子句”指定表空间存储文件的说明,格式为DATAFILE

<文件说明项>{,<文件说明项>};2.通过SQL语句创建表空间CREATETABLESPACE<表空间名><数据文件子句>

[<数据页缓冲池子句>]

[<存储加密子句>]

[<指定DFS副本子句>]“数据页缓冲池子句”、“存储加密子句”、“指定DFS副本子句”是可选项,需要时才进行指定。2.通过SQL语句创建表空间【案例3-1】以SYSDBA身份登录数据库后,创建表空间COMPANY,指定数据文件CMP.dbf,大小128M。

分析该案例可确定SQL语句为CREATETABLESPACE<表空间名><数据文件子句>。创建表空间SQL语句的各参数如下

①<表空间名>为COMPANY。

②<数据文件子句>可分解为DATAFILE<文件路径>SIZE<文件大小>。

③<文件路径>中的文件名为CMP.dbf,文件路径请根据实际情况提供一个确实存在的路径。该案例中以c:\作为表空间数据文件存储的路径。

④<文件大小>为128,默认的单位为M。2.通过SQL语句创建表空间【案例3-1】以SYSDBA身份登录数据库后,创建表空间COMPANY,指定数据文件CMP.dbf,大小128M。创建语句为:

CREATETABLESPACECOMPANYDATAFILE'c:\CMP.dbf'SIZE128;3.通过图形化工具创建表空间【案例3-2】以SYSDBA身份登录数据库后,创建表空间FACTORY,指定数据文件FCT.dbf,大小128M。创建语句为:

CREATETABLESPACECOMPANYDATAFILE'c:\CMP.dbf'SIZE128;查看表空间3.2.3查看表空间用户可以通过执行如下语句来查看表空间相关信息。一般表空间查看语句。SELECT*FROMDBA_TABLESPACES;或SELECT*FROMV$TABLESPACE;HUGE表空间查看语句。SELECT*FROMV$HUGE_TABLESPACE;修改表空间3.2.4当需要对表空间相关的名称、文件名、文件大小等属性进行调整时可以对表空间进行修改。通过执行SQL语句修改表空间的语法格式如下所示。修改表空间ALTERTABLESPACE<表空间名>[ONLINE|OFFLINE|CORRUPT|<表空间重命名子句>|<数据文件重命名子句>|<增加数据文件子句>|<修改文件大小子句>|<修改文件自动扩展子句>|<数据页缓冲池子句>]当需要对表空间相关的名称、文件名、文件大小等属性进行调整时可以对表空间进行修改。通过执行SQL语句修改表空间的语法格式如下所示。修改表空间【案例3-3】将表空间FACTORY名字修改为TS_FACTORY。修改语句为:

ALTERTABLESPACEFACTORYRENAMETOTS_FACTORY;修改表空间【案例3-4】增加一个大小为128M、路径为c:\FCT_1.dbf的数据文件到表空间TS_FACTORY。修改语句为:

ALTERTABLESPACETS_FACTORYADDDATAFILE'c:\FCT_1.dbf'SIZE128;删除表空间3.2.5删除表空间具有相应权限的用户可以删除表空间。删除表空间应注意以下几点。在命令行中删除不存在的表空间会报错。若指定IFEXISTS关键字,删除不存在的表空间,不会报错;SYSTEM、RLOG、ROLL和TEMP表空间不允许删除;系统处于SUSPEND或MOUNT状态时不允许删除表空间,系统只有处于OPEN状态下才允许删除表空间。删除表空间删除表空间的语法如下:DROPTABLESPACE[IFEXISTS]<表空间名>谢谢观看数据库基础(基于达梦DM8)关于SQL语句符合的约定为了便于后续具体的SQL语句的讲解,对描述SQL语句的一些符号进行约定。关于SQL语句符合的约定<>表示一个语法对象,但是括号本身不能出现在语句中。语法对象可以是一个包含多个语法对象的语法对象。<>CREATETABLESPACE<表空间名><数据文件子句>其中<表空间名>和<数据文件子句>都是语法对象。<数据文件子句>对象的内容为:DATAFILE<文件说明项>{,<文件说明项>}。可见一个语法对象内还可以包含其他语法对象。案例关于SQL语句符合的约定::=定义符,用来定义一个语法对象。定义符左边为语法对象,右边为相应的语法描述。::=<数据文件子句>::=DATAFILE<文件说明项>{,<文件说明项>}该案例说明<数据文件子句>语法对象被定义为“DATAFILE<文件说明项>{,<文件说明项>}”。案例关于SQL语句符合的约定{}大括号指明大括号内的语法选项在实际的语句中可以出现0…N次(N为大于0的自然数),但是大括号本身不能出现在语句中。{}DATAFILE<文件说明项>{,<文件说明项>}该案例说明语法中定义“DATAFILE

<文件说明项>”后,还可以出现0次或者N次“,<文件说明项>}”。案例关于SQL语句符合的约定[]中括号指明中括号内的语法选项在实际的语句中可以出现0…1次,但是中括号本身不能出现在语句中。[]ALTERTABLE[<模式名>.]<表名>

RENAMETO<表名>该案例说明语法中定义“<模式名>.”可以出现0次1次。案例关于SQL语句符合的约定“|”或者符,或者符限定的语法选项在实际的语句中只能出现一个。|ALTERTABLE[<模式名>.]<表名>

RENAMETO<表名>|MODIFY<列定义>|ADD<表级约束定义>该案例说“RENAMETO<表名>”“MODIFY<列定义>”“ADD<表级约束定义>”只出现一个。也就是该修改表的语句能够进行修改表名、修改列定义、添加表级约束定义中的任意一个操作。案例谢谢观看数据库基础(基于达梦DM8)数据库对象管理33.4模式创建及管理02创建模式01理解模式03设置模式04删除模式理解模式3.3.13.3.1理解模式1.模式的概念用户的模式(SCHEMA)指的是用户账号拥有的对象集,在概念上可将其看作是包含表、视图、索引和权限定义的对象。DM模式可以通过SQL语句进行操作。DM模式主要包含以下的模式对象:表、视图、索引、触发器、存储过程/函数、序列、全文索引、包、同义词、类、外部链接。3.3.1理解模式2.模式的引用在引用模式对象的时候,一般要在模式对象名前面加上模式名,具体格式如下。[模式名].对象名要引用的模式对象所属的模式在当前模式中时,可以省略模式名。如果访问对象时没有指明对象属于哪一个模式,系统就会自动在对象前加上缺省的模式名。3.3.1理解模式3.使用模式的优点

允许多个用户使用一个数据库而不会干扰其他用户;把数据库对象组织成逻辑组,让它们更便于管理;第三方的应用可以放在不同的模式中,这样可以避免和其他对象的名字冲突。模式类似于操作系统层次的目录,只不过模式不能嵌套。创建模式3.3.23.3.2创建模式1.创建模式时应注意在创建新的模式时,如果已存在同名的模式,或当存在能够按名字不区分大小写匹配的同名用户时(此时认为模式名为该用户的默认模式),那么创建模式的操作会被跳过;AUTHORIZATION<用户名>标识了拥有该模式的用户;它是为其他用户创建模式时使用的;缺省拥有该模式的用户为SYSDBA;使用该语句的用户必须具有DBA或CREATESCHEMA权限;DM使用DMSQL程序模式执行创建模式语句,因此创建模式语句中的标识符不能使用系统的保留字;3.3.2创建模式1.创建模式时应注意定义模式时,用户可以用单条语句同时建多个表、视图,同时进行多项授权;模式一旦定义,该用户所建基表、视图等均属该模式,其他用户访问该用户所建立的基表、视图等均需在表名、视图名前冠以模式名;而建表者访问自己当前模式所建表、视图时模式名可省;若没有指定当前模式,系统自动以当前用户名作为模式名;模式未定义之前,其他用户访问该用户所建的基表、视图等均需在表名前冠以建表者名。3.3.2创建模式2.创建模式语法CREATESCHEMA<模式名>[AUTHORIZATION<用户名>][<DDL_GRANT子句>{<DDL_GRANT子句>}];其中<模式名>是必须指定的;<模式名>指明要创建的模式的名字,最大长度128字节;3.3.2创建模式【案例3-7】使用SYSDBA用户,通过执行SQL语句创建模式SCH_FACTORY,建立的模式属于SYSDBA。

在创建模式后,还需要通过AUTHORIZATION将该模式的归属设置为指定的用户。创建语句如下:CREATESCHEMASCH_FACTORYAUTHORIZATIONSYSDBA;设置模式3.3.33.3.3设置模式1.设置模式语法一个用户可能拥有多个模式。通过设置模式可以在不同的模式之间切换,注意只能设置成属于自己的模式。模式切换后该用户创建的表、视图、索引等对象默认创建在该模式下。设置语法如下:SETSCHEMA<模式名>;3.3.2创建模式【案例3-9】使用命令行将SYSDBA用户的模式设置为SCH_FACTORY。

使用SYSDBA用户身份连接数据库后,在命令行执行如下命令。SETSCHEMASCH_FACTORY;删除模式3.3.43.3.4删除模式1.删除模式语法当某个模式不再使用或者不再需要时,可以对其进行删除。但只能是具有DBA角色的用户或被删除模式的拥有者才能执行删除模式操作。删除语法如下:DROPSCHEMA[IFEXISTS]<模式名>[RESTRICT|CASCADE];3.3.4删除模式1.删除模式语法DROPSCHEMA[IFEXISTS]<模式名>[RESTRICT|CASCADE];①删除不存在的模式会报错。若指定IFEXISTS关键字,删除不存在的模式,不会报错;②如果使用RESTRICT选项,只有当模式为空时删除才能成功,否则,当模式中存在数据库对象时则删除失败。默认选项为RESTRICT选项;③如果使用CASCADE选项,则将整个模式、模式中的对象,以及与该模式相关的依赖关系都删除。谢谢观看数据库基础(基于达梦DM8)数据库对象管理33.4表创建及管理02表单创建01理解表的常规数据类型03表的更改04管理完整性约束05表的删除理解表和常规数据类型3.4.13.4.1理解表和常规数据类型1.表的概念一个关系是对应一张由行和列组成的二维表。表是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础表是数据库中数据存储的基本单元,是对用户数据进行读和操纵的逻辑实体。3.4.1理解表和常规数据类型2.常规数据类型关系表中的每一列(即每个属性或字段)都来自同一个域,属于同一种数据类型。创建数据表之前,需要为表中的每一个属性设置一种数据类型。常见的数据类型如表所示。3.4.1理解表和常规数据类型2.常规数据类型3.4.1理解表和常规数据类型2.常规数据类型3.4.1理解表和常规数据类型2.常规数据类型表的创建3.4.23.4.2表的创建1.创建表语法数据表是由行和列组成的,创建数据表的过程就是定义数据表的列的过程,也就是定义数据表结构的过程。创建表需指定表名、表所属的模式名;列定义;完整性约束等。CREATETABLE[<模式名>.]<表名>(<列定义>{,<列定义>}[,<表级约束定义>{,<表级约束定义>}])[<STORAGE子句>]3.4.2表的创建1.创建表语法CREATETABLE[<模式名>.]<表名>(<列定义>{,<列定义>}[,<表级约束定义>{,<表级约束定义>}])[<STORAGE子句>]创建表中的参数说明如下。①<模式名>指明该表属于哪个模式,缺省为当前模式;②<表名>指明被创建的基表名,基表名最大长度128字节;③<列名>指明基表中的列名,列名最大长度128字节;④<数据类型>指明列的数据类型;3.4.2表的创建1.创建表语法<列定义>具体语法为。<列名><数据类型>[DEFAULT<列缺省值表达式>|<IDENTITY子句>|<列级约束定义>]③<列名>指明基表中的列名,列名最大长度128字节;④<数据类型>指明列的数据类型;3.4.2表的创建1.创建表语法<列定义>具体语法为。<列名><数据类型>[DEFAULT<列缺省值表达式>|<IDENTITY子句>|<列级约束定义>]⑤<IDENTITY子句>可以将某列定义为自增列具体语法为IDENTITY[(<种子>,<增量>)]。<种子>和<增量>分别制定IDENTITY的起始值和增量值;3.3.2创建模式1.创建表语法<列定义>具体语法为。<列名><数据类型>[DEFAULT<列缺省值表达式>|<IDENTITY子句>|<列级约束定义>]⑥<列缺省值表达式>通过DEFAULT指定的一个缺省值,当该写入数据行时如该列的值为指定,则使用缺省值。DEFAULT表达式串的长度不能超过2048字节;3.4.2表的创建【案例3-10】使用命令行以SYSDBA用户身份登录,创建一个表TEST。该表有两个列,第一个列的列名是ID,数据类型是INT,并且该列是自增列,从2022001开始,增量为1;第二列的列名是NAME,数据类型是VARCHAR(50)。思考该表创建在哪个模式下。创建语句为:CREATETABLETEST(

IDINTIDENTITY(2022001,1),

NAMEVARCHAR(50));

如在登录后未设置模式,则登录后的模式应为默认模式。SYSDBA的默认模式为SYSDBA模式。那么TEST表应该创建在SYSDBA模式下。表的更改3.4.33.4.3表的更改1.表的更改想更改的表如果在所属当前用户的模式中,用户必须具有ALTERTABLE数据库权限;若在其他模式中,用户必须有ALTERANYTABLE的数据库权限。3.4.3表的更改1.表的更改通过更改表,用户可以对数据库中的表作如下修改。重命名表;添加或删除列,修改现有的列的定义(列名、数据类型、长度、默认值);添加、修改或删除与表相关的完整性约束;启动或停用与表相关的触发器;增删自增列等。3.4.3表的更改2.表的更改语法ALTERTABLE[<模式名>.]<表名>RENAMETO<表名>| --修改表名ADD<<列定义>|(<列定义>{,<列定义>})>| --添加列定义MODIFY<列定义>| --修改列定义DROP<<列名>|IDENTITY>| --删除列|自增列属性3.4.3表的更改2.表的更改语法ALTER[COLUMN]<列名> --指定要修改的列名<

SETDEFAULT<列缺省值表达式>| --设置列的缺省值

DROPDEFAULT| --删除列的缺省值

RENAMETO<列名>| --修改列名为新名字

SET<NULL|NOTNULL>| --设置列是否允许空值

SET[NOT]VISIBLE| --设置列是否可见>3.4.3表的更改2.表的更改语法MOVETABLESPACE<表空间名>| --移动表至新的表空间ADD<列名>[<IDENTITY子句>] --添加列的自增属性ADD<表级约束定义>| --添加表级约束ADD[CONSTRAINT[<约束名>]]<表级完整性约束>[<CHECK选项>][ENABLE|DISABLE]|3.4.3表的更改2.表的更改语法DROPCONSTRAINT<约束名>[RESTRICT|CASCADE]|

--删除约束MODIFYCONSTRAINT<约束名>TO<表级完整性约束>[<CHECK选项>][RESTRICT|CASCADE]

|

--更改表级约束<ENABLE|DISABLE>CONSTRAINT<约束名>

--启用或停用约束3.4.3表的更改【案例3-14】在案例3-11中创建了SCH_FACTORY模式中的TEST表,现将其表名修改为TEST1。

ALTERTABLESCH_FACTORY.TESTRENAMETOTEST1;3.4.3表的更改【案例3-16】在TEST1中添加“电话号码”列,数据类型为CHAR(13);“籍贯”列,数据类型为VARCAHR(50);“备注”列,数据类型为VARCHAR(255)。

ALTERTABLESCH_FACTORY.TEST1ADD( 电话号码CHAR(13), 籍贯VARCHAR(50), 备注VARCHAR(255)

);3.4.3表的更改【案例3-17】将TEST1中“籍贯”列使用MODIFY修改为数据类型为VARCAHR(75),且默认值为‘重庆’。

ALTERTABLESCH_FACTORY.TEST1MODIFY籍贯VARCHAR(75)DEFAULT'重庆';3.4.3表的更改【案例3-18】将TEST1中“备注”列删除;将“ID”列的自增列属性删除。ALTERTABLESCH_FACTORY.TEST1DROP备注;ALTERTABLESCH_FACTORY.TEST1DROPIDENTITY;管理完整性约束3.4.41.完整性约束的概念

完整性约束规则,限制表中一个或者多个列的值的规则。

关系完整性包括实体完整性、参照完整性和域完整性。经定义后的完整性约束被存入系统的数据字典中,用户操作数据库时,并由数据库管理系统进行完整性控制。1.完整性约束的概念

列级约束和表级约束都是为了实现完整性约束,从名称上较好理解。

列级约束:只能应用于一列上,用空格分隔后直接跟在该列的其他定义之后。非空约束和默认约束仅能在列级约束中定义。表级约束:与列定义相互独立,一般在完成列定义后定义,与列定义用“,”分隔。约束可应用于一列上,也可以应用在一个表中的多个列上,可定义约束名。1.完整性约束的概念

如果完整性约束只涉及当前正在定义的列,则既可定义成列级约束,也可以定义成表级约束;如果完整性约束涉及该基表的多个列,则只能在定义语句的后面定义成表级完整性约束。

定义列级或表级完整性约束时,可以用CONSTRAINT<约束名>子句对约束命名,系统中相同模式下的约束名不得重复。如果不指定约束名,系统将为此约束自动命名。1.完整性约束的意义

就如法律保障了国家治理体系的系统性、规范性、协调性、稳定性,完整性约束根据定义的约束规则,数据库按照规则进行完整性控制,确保数据在添加、更新后仍然满足完整性约束,保证了数据库的正确运行。2.执行SQL语句管理完整性约束<列级约束定义>::=<列级完整性约束>

{_<列级完整性约束>}1)列级约束定义语法格式如下。注意:

此处“_”为空格,在实际编写语句时要替换为空格。即多个列完整性约束定义在一个列上时用空格分隔开。2.执行SQL语句管理完整性约束<列级完整性约束>::=[CONSTRAINT<约束名>]<column_constraint_action>[ENABLE|DISABLE]1)列级约束定义语法格式如下。

系统中相同模式下的约束名不得重复。如果不指定约束名,系统将为此约束自动命名。2.执行SQL语句管理完整性约束<列级完整性约束>::=[CONSTRAINT<约束名>]<column_constraint_action>[ENABLE|DISABLE]1)列级约束定义语法格式如下。

可以指定一个约束是启用(ENABLE)或停用(DISABLE)。如果启用一个约束,那么在插入数据或者是更新数据时会对数据进行检查,不符合约束的数据被阻止进入。如果约束是停用(DISABLE)的,不符合约束的数据被允许进入数据库。2.执行SQL语句管理完整性约束<column_constraint_action>::=[NOT]NULL|

PRIMARYKEY|

UNIQUE|

[NOT]CLUSTERPRIMARYKEY|

CLUSTER[UNIQUE]KEY|

[FOREIGNKEY]REFERENCES[<模式名>.]<表名>[(<列名>{[,<列名>]})]|

CHECK(<检验条件>)|

NOTVISIBLE1)列级约束定义语法格式如下。

2.执行SQL语句管理完整性约束【案例3-22】每个部门有一个部门经理,每个经理只担任一个部门的经理。在SCH_FACTORY模式中创建如后表要求的部门表DEPT,其中部门不能重名,命名规范要求必须以“部”结尾。使用列级约束创建相关约束。列级约束定义案例2.执行SQL语句管理完整性约束

列级约束定义案例列名数据类型是否允许为空约束备注部门号INT×主键自增列部门名VARCHAR(50)×CHECK(部门名LIKE'%部')

经理号INT×REFERENCESSCH_FACTORY.MANAGER(经理号)2.执行SQL语句管理完整性约束CREATETABLESCH_FACTORY.DEPT(

部门号INTIDENTITY(100001,1)PRIMARYKEY,

部门名VARCHAR(50)NOTNULLUNIQUECHECK(部门名LIKE'%部'),

经理号INTNOTNULLFOREIGNKEYREFERENCESSCH_FACTORY.MANAGER(经理号));

列级约束定义案例3.图形界面管理完整性约束<表级约束定义>::=[CONSTRAINT<约束名>]<表级完整性约束>[ENABLE|DISABLE]2)表级约束定义语法格式如下。表级约束定义也可以指定一个约束是启用(ENABLE)或停用(DISABLE)。3.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论