项目三公司管理数据系统的表的创建和修改(编辑修改稿)内容摘要:
在列定义外单独定义的,它是多列之间的约束,用 CONSTRAINT关键字定义。 注意 :如果要对一个表中的多个列定义约束,必须首先定义每个列,然后在末尾追加表约束。 1. 主关键字 ( PRIMARY KEY) 约束 一个表中 , 存在这样的字段 , 它在每个记录中的值都是惟一的 , 因此可以用来标识表中的各个不同的纪录。 这样的字段被称为关键字。 在这些列上创建主关键字约束 , 确保数据表的一列或几列的组合的值在表中具有惟一性。 ( 1) 在企业管理器中定义主键约束 “表设计器 ‛ 对话框中 , 选择要设置为主键的列 , 可以选择一个列 , 也可以选择多个列。 在所选的字段左端的选择按钮上右击鼠标 , 在弹出的菜单中选择 ‚ 设置主键 ‛ 或点击工具栏上的图标 按钮。 说明 :如果主关键字包含多个字段 , 则在定义时 , 首先按住 【 Ctrl】 键或 【 Shift】 键 , 再选择字段。 按 【 Ctrl】 键可选择不连续的多个字段 , 按 【 Shift】 键则只能选择连续的多个字段。 ( 2) 使用 TransactSQL语句定义主关键字约束的语法如下 : CONSTRAINT constraint_name PRIMARY KEY [CLUSTERED|NONCLUSTERED] (column_namel[,column_name2,..., column_namel6]) 各参数说明 : constraint_name:指定约束的名称。 约束的名称在数据库中应是惟一的。 如果不指定 , 则系统会自动生成一个约束名。 CLUSTERED|NONCLUSTERED: 指 定 索 引 类 别 ,CLUSTERED为缺省值。 其具体信息请参见索引章节。 Column_name:指定组成主关键字的列名。 主关键字最多由 16个列组成。 说明:每个表只允许存在一个主键约束 ( PRIMARY KEY)。 【 例 6】 创 建 一 个 产 品 信 息 表( product_info) , 以产品编号和名称为主关键字。 CREATE TABLE product_info( 产品 ID int, 产品名称 char(10) not null, 单价 money default 10, 库存量 int null, 总价值 as 单价 *库存量 , /*产品总价值 =单价 *库存量 */ CONSTRAINT P_KP_ID PRIMARY KEY (产品 ID, 产品名称 ) ) 2. 外键 ( FOREIGN KEY) 约束 外键约束定义了 表之间 的关系。 当一个表中的一个列或多个列的组合和其它表中的主关键字属性相同时 , 就可以将这些列或列的组合定义为外关键字 , 并设定已适合哪个表中哪些列相关联。 作用 : 当在定义主关键字约束的表中更新列值时 , 其它与之相关联的外关键字约束的表中的外关键字字段的值也将被自动更新。 当向含有外关键字的表插入数据时 , 如果与之相关联的表的字段中无与插入的外关键字字段值相同的值时 , 系统会拒绝插入数据。 【 例 7】 数据库 pubs 中的 titles 表与 publishers 表有链接,因为在书名和出版商之间存在逻辑联系。 titles 表中的 pub_id 列与 publishers 表中的主键列相对应。 titles 表中的 pub_id 列是到 publishers 表的外键。 Primary Key ( 1) 在企业管理器中创建外键约束 操作步骤如下: 1. 打开 panyinfo数据库 2. 执行 【 新建数据库关系图 】 命令 . 3. 打开创建数据库关系图向导 , 进入数据库关系图创建窗口。 4. 在数据库关系图创建窗口的工具拦中 , 单击 ‚ 在关系图上添加表 ‛ 按钮。 将打开 ‚ 添加表 ‛ 对话框。 5. 在 ‚ 添加表 ‛ 对话框中 , 选择主键表 product表 , 并单击‚ 添加 ‛ 按钮 , 再选择外键表 p_oreder表 , 并单击 ‚ 添加 ‛按钮。 然后关闭 ‚ 添加表 ‛ 对话框。 6. 将鼠标移动到 product表中的 ‚ 产品 ID”左边的选择栏 , 单击左键 , 并将鼠标指针拖动到 p_oreder表中的 ‚ 产品 ID”字段上。 ( 2) 使用 TransactSQL语句定义外关键字约束 语法如下 : CONSTRAINT constraint_name FOREIGN KEY (column_namel[,column_name2,..., column_namel6]) REFERENCES ref_table [(ref_columnl[, ref_column2,..., ref_columnl6])] [ ON DELETE{CASCADE|NO ACTION}] [ ON UPDATE{CASCADE|NO ACTION}]] [NOT FOR REPLICATION] 各参数说明 : REFERENCES:指定要建立关联的表的信息。 ref_table:指定要建立关联的表的名称。 ref_column:指定要建立关联的表中的相关列的名称。 ON DELETE{CASCADE|NO ACTION}:指定在删除表中数据时 , 对关联表所做的相关操作。 在子表中有数据行与父表中的对应数据行相关联的情况下 , 如果指定了值 CASCADE, 则在删除父表数据行时会将子表中对应的数据行删除;如果指定的是 NO ACTION, 则 SQL Server会产生一个错误 , 并将父表中的删除操作回滚。 NO ACTION是缺省值。 ON UPDATE{CASCADE|NO ACTION}:指定在更新表中数据时 , 对关联表所做的相关操作。 NOT FOR REPLICATION:指定列的外关键字约束在把从其它表中复制的数据插入到表中时不发生作用。 【 例 8】 创建一个课程表,然后创建一个成绩表与前面创建的学生表和课程的关联。 脚本文件 31: use students go CREATE TABLE 学生 (学号 char(6) NOT NULL, 性别 char(2) NOT NULL , 姓名 char(10) NOT NULL, 学分 int constraint pk_student_id primary key (学号 ) ) go 脚本文件 32 CREATE TABLE 课程 (课程号 char(12) NOT NULL , 课程名 char(12) NOT NULL , 学时 char(10) NOT NULL , 学分 char(10) NOT NULL constraint pk_course_id primary key (课程号 ) ) Go CREATE TABLE 成绩 (学号 char(6) NOT NULL , 课程号 char(12) NOT NULL, 课程名 char(12) NOT NULL , 成绩 int NOT NULL , 补考成绩 int NOT NULL constraint pk_grade_id primary key(学号 ,课程号 ), constraint fr_student_id foreign key(学号 ) references 学生 (学号 ), constraint fr_course_id foreign key(课程号 ) references 课程 (课程号 ) ) 脚本文件 33 (UNIQUE)约束 唯一性约束指定一个或多个列的组合的值具有唯一性,以防止在列中输入重复的值。 唯一性约束指定的列可以有 NULL属性。 由于主关键字值是具有唯一性的,因此主关键字列不能再设定唯一性约束。 唯一性约束最多由 16个列组成。 ( 1)在企业管理器中定义惟一性键 【 例 9】 将‚ product”表中的产品 ID列设定为唯一性约束。 在‚ product”表上右击鼠标,在弹出的菜单上点击 ‚设计表‛,进入表的设计窗口。 在设计面板的空白处右击鼠标,在弹出的菜单中选择‚属性‛。 选择‚索引 /键‛选项卡 单击‚新建‛按钮,系统分配的名称将出现在‚索引名‛文本框中。 ( 2)使用 TransactSQL语句定义惟一性约束 语法 : CONSTRAINT constraint_name UNIQUE [CLUSTERED | NONCLUSTERED] (column_ namel[, column_ name2,..., column_ name16]) 【 例 10】 定义一个员工信息表,其中员工的身份证号具有惟一性。 CREATE TABLE employee_info( 雇员 ID char(8), 姓名 char(10), 身份证号 char(18) constraint pk_emp_id primary key (雇员 ID), constraint uk_emp_cardid unique (身份证号 ) ) 例: CREATE TABLE jsy_temp3 ( 驾照号 char(8)) PRIMARY KEY , 姓名 varchar(8) NOT NULL, 身份证号 char(18) NOT NULL UNIQUE NONCLUSTERED) ( CHECK)约束 检查约束对输入列或整个表中的值设置检查条件,以限制输入值,保证数据库的数据完整性。 可以对每个列设置符合检查。 ( 1)在企业管理器中设定 CHECK约束的方法 【 例 11】 “product”表中的库存量列设定 CHECK约束,使此列的值限制在 100到 1000之间。 启动企业管理器,展开数据库,在‚ product”表上右击鼠标,在弹出的菜单上点击 ‚设计表‛,进入表的设计窗口。 在设计面板的空白处右击鼠标,在弹出的菜单中选择‚属性‛。 选择‚ CHECK约束‛选项卡,将弹出对话框。 对话框中‚ CHECK约束‛选项卡 单击‚新建‛按钮,‚选定的约束‛列表框显示了由系统分配的新约束名。 系统分配的名称以 CK开始,后跟表名 在‚约束表达式‛框中,为 CHECK约束键入 SQL表达式,如将‚ product”表中的‚库存量‛列的数据限制在 100到 1000之间,即输入:‚库存量 =100 and 库存量 =1000”, 关闭设计表‚ product”的设计器,系统将提示是否保存对表产品的更改,点击‚是‛按钮,保存所创建的 CHECK约束。 ( 2)使用 TransactSQL语句定义检查约束的语法如下 : CONSTRAINT constraint_name CHECK [NOT FOR REPLICATION] (logical expression)。项目三公司管理数据系统的表的创建和修改(编辑修改稿)
相关推荐
夹具 :平口虎钳 (一)复习 G4 G42指令 格式 : _;__ D_Y X G 4 2G 4 1G 0 1G 0 0 顺铣特点 : ①易产生窜动。 (因为丝杠镙母之间的间隙) ②加工表面质量比逆铣高。 逆铣特点 : ①工作稳定性高,不易拉刀。 ②加工表面质量比顺铣低
间满意度。 填写换房表格 填写表格上所有细节: 新旧房号 客人姓名 前台员工姓名 换房原因 通知相关部门员工姓名 更改记录 —— 更改电脑内房间号 —— 在登记卡上取消旧房号并写上新的房间号 —— 根据新房号放入登记卡盒中 【 体验大本营 】 情境模拟( Scenario) 1
30日内报送国家药品不良反应监测中心 定期安全性更新报告 设立新药监测期的国产药品,应当自取得批准证明文件之日起每满 1年提交一次定期安全性更新报告,直至首次再注册,之后每 5年报告一次;其他国产药品,每 5年报告一次。 首次进口的药品,自取得进口药品批准证明文件之日起每满一年提交一次定期安全性更新报告,直至首次再注册,之后每 5年报告一次。 药品重点监测 对新药监测期内的药品和首次进口
务器 任务 3: 有一所高等院校,组建学校的校园网并架设单位内部的 Web服务器和 FTP,同时单位内部的计算机接入互联网,现需要安装并配置一台 DNS服务器为校园网内部的用户提供 DNS服务,使用户能够使用域名访问单位内部的 Web网站和 FTP服务器以及互联网上的各个网站。 架设单位内部 DNS并提供域名解析服务 掌握 DNS服务器的安装方法 ; 掌握正向和反向查找区域的建立方法;
规范评价 情境模拟( Scenario) 2 2020年 4月 30日的下午 14:10,在常州花园饭店,刚做完陈先生预订的接待员看见一位女士迎面走来,对方想定一间安静点的单人间, 5月 1日抵店,住五个晚上。 如果是你接待,将会如何应对呢。 规范评价 注意事项: 本饭店客满情况下,预订客人要求代订房,按以下规范提供服务: 1、问清客人的姓名、国藉、人数、订房种类、间数、联系方式
高度从轨面算起,不得高于。 2)重量限制。 目前,香港铁路局规定,每节车厢总重 (自重 +货重 )不得超过 72吨。 3)货物的均衡发运。 供港商品中配额商品占相当比重,此类商品必须按月配额,按日均衡发送。 因为香港地区市场容量有限,到货过多,造成销售困难。 均衡发货既能满足香港市场的需求,又能卖出适当的价钱。 三.对港货物运输的主要单证 1)供港货物委托书,这是发货人转运、报关