




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项 目 3,表的创建与管理,项 目 目 标,了解表的数据类型 掌握创建表的方法 掌握修改表的方法 掌握删除表的方法 理解数据的完整性 掌握约束的创建和管理,相 关 知 识,1. 表的基本概念 列 每一列用来保存对象的某一类属性 行 每一行用来保存一条记录,是数据对象的一个实例,相 关 知 识,2. 表的类型 (1)分区表 (2)临时表 (3)系统表,相 关 知 识,3. 表的数据类型,表3-4 sql的数据类型,相 关 知 识,表3-4 sql的数据类型 (续),相 关 知 识,4. 数据完整性 (1)实体完整性 (2)参照完整性 (3)用户自定义完整性,相 关 知 识,5. 表的设计 设计表时需要确定如下内容: 表中需要的列以及每一列的类型(必要时还要有长度) 列是否可以为空 是否需要在列上使用约束、默认值和规则 需要使用什么样的索引 哪些列作为主键,数据库的创建与管理,项 目 描 述,当建立好了数据库后,就应该创建数据表,我们将在网上选课系统中创建学生表student、课程表course、选课表sc等。为数据表设置约束,如果表的设计不够理想,还可以进行修改。,技 术 要 点,1. 数据库表的创建方法 (1)直接利用sql server management studio创建表 (2)通过transact-sql语句创建表,技 术 要 点,2. t-sql语句 (1)创建表:create table (2)修改表:alter table (3)删除表:drop table,任务1:为onlinecs数据库创建表,1. 利用界面的方法创建表,2. 利用t-sql语句创建表 在创建表时要遵循严格的语法定义。在transact-sql语言中,必须满足以下规定: 每个表有一个名称,称为表名或关系名。表名必须以字母开头,最大长度为30个字符。 一张表包含若干列,列名惟一,列名也成为属性名。 同一列的数据必须要有相同的数据类型。 表中的每一列数值必须为一个不可分割的数据项。 表中的一行称为一条记录。,任务1:为onlinecs数据库创建表,2. 利用t-sql语句创建表 create table命令的语法格式 create table database_name. owner .| owner. table_name ( | column_name as computed_column_expression | ,.n ) on filegroup | default textimage_on filegroup | default := column_name data_type default constant_expression | identity ( seed , increment ) not for replication rowguidcol .n ,任务1:为onlinecs数据库创建表,2. 利用t-sql语句创建表 例3.1:在onlinecs数据库中,用t-sql语句创建学生表,其结构为:student(stuid,stuname,age)。数据类型分别为int,char(10),smallint。将stuid设置为主键。 use onlinecs go create table student ( stuid int not null primary key, stuname char(10) not null, age smallint, ),任务1:为onlinecs数据库创建,sql server 2005系统为了保证数据库数据的正确性、一致性和安全性而提供了一种重要技术,即数据完整性。 约束是sql server提供的自动保持数据库完整性的一种方法,对表的约束可以分为列约束和表约束两种 。 sql server 2005提供了6种约束:not null约束、主键约束、外键约束、唯一性约束、检查约束和默认约束。,任务2:约束的创建与管理,决定使用何种约束,1. not null 约束 not null约束用于设定列的值不能为空 例3.3:在sql server management studio中建立和管理not null约束,任务2:约束的创建与管理,图3-11 not null约束,2. 主键约束 主键是每行的唯一标识符,必须包含唯一的值(因此不能为null) 例3.4:在sql server management studio中建立和管理主键约束,任务2:约束的创建与管理,图3-12 移除主键,primary key 约束,primary key 约束在表中定义了一个惟一标识每一列的主键 语法:constraint 约束名 primary key clustered | nonclustered (列,.n) 应用 primary key 约束的注意事项 每张表只能有一个 primary key 约束 输入的值必须是惟一的 不允许空值 将在指定列上创建惟一索引,primary key 约束,primary key 约束示例 在 customers 表上创建 primary key 约束,指明表的主键值是 customerid,并且创建非聚集索引以强制约束,use northwind alter table dbo.customers add constraint pk_customers primary key nonclustered (customerid),任务2:约束的创建与管理,3. 外键约束 外键是用来实现参照完整性的 例3.6:在sql server management studio中建立和管理外键约束,图3-13 选择“关系”命令,foreign key 约束,foreign key 约束:定义到同表或其他表中具有 primary key 或者 unique 约束的列的引用 语法:constraint 约束名foreign key(列,n) references 引用表 (引用列 ,n) 具有 foreign key 约束的列的取值范围只能是被引用的列的列值,foreign key 约束,foreign key 约束的示例 使用 foreign key 约束,确保 orders 表中的客户标识与 customers 表中的有效的客户标识相关联,use northwind alter table dbo.orders add constraint fk_orders_customers foreign key (customerid) references dbo.customers(customerid),级联引用完整性,foreign key 约束包含一个 cascade 选项,允许对一个定义了 unique 或者 primary key 约束的列的值的修改自动传播到引用它的外键上,这个动作称为级联引用完整性 语法:constraint 约束名 foreign key (列,n) references 引用表 (引用列 ,n). on delete cascade | no action on update cascade | no action no action:任何企图删除或者更新被其他表的外键所引用的键都将引发一个错误,对数据的改变会被回滚。no action 是默认值 cascade:若父表中的行变化了,则引用表中相应的行也自动变化,任务2:约束的创建与管理,4. 唯一性约束 指定列中的每个值必须是唯一的。 例3.9:在sql server management studio中建立和管理,图3-26 选择“索引/键”命令,unique 约束,unique 约束指明列中的任意两行不能有相同的值 语法:constraint 约束名 unique clustered | nonclustered (列,.n ) 应用 unique 约束的注意事项 允许一个空值 在一个表上允许多个 unique 约束 可在一个或者多个列上定义 是通过一个惟一索引强制约束的,unique 约束,unique 约束示例 在 suppliers 表的公司名列上创建 unique 约束,use northwind alter table dbo.suppliers add constraint u_companyname unique nonclustered (companyname),任务2:约束的创建与管理,5. 检查约束 定义列中可接受的数据 例3.11:在sql server management studio中建立和管理check约束,图3-29 建立check约束,check 约束,限制输入到指定列的值只能为某些特定值 语法: constraint 约束名 check (逻辑表达式) 两种强制域完整性的方法:check 约束和规则 check 约束定义了一个表达式,若数据修改语句使得表达式值为 false 的话,将拒绝语句执行 规则的功能和 check 约束基本相同,除了语法不同,能力稍弱。规则是为了向下兼容而保留的 规则可定义一次,然后对多个列分别绑定;而 check 约束则需要对每个列定义。但 check 约束的功能略强一些(例如引用同行中其他列的值和调用系统函数等),check 约束,check 约束示例 为 employees 表中的 brithdate 增加 check 约束,使出生日期处于可接受的日期范围内,use northwind alter table dbo.employees add constraint ck_birthdate check (birthdate 01-01-1900 and birthdate getdate(),任务2:约束的创建与管理,6. 默认约束 用户在输入数据时,如果没有为该列提供数据,那么系统就把默认值赋给该列,default 约束,应用 default 约束的注意事项(续) 允许使用一些系统提供的值:user、current_user、session_user、system_user 及 current_timestamp 有可能会和 check 约束冲突 为具有 primary key 或 unique 约束的列指定默认值是没有意义的 常量值外面可以加或者不加括号,字符或者日期常量必须加上单引号或双引号 在一个 insert 语句中对一个列,default 约束,default 约束示例 为 northwind 数据库中的 customers 表的 contactname 列创建 default 约束,当 insert 语句中此列的值没有提供的时候,自动使用“unknown”作为它的值,use northwind alter table dbo.customers add constraint df_contactname default unknown for contactname,任务2:约束的创建与管理,例3.13:在sql server management studio中建立和管理default约束,图3-33 设置默认约束,任务3:onlinecs数据库表的修改与删除,1. 修改表student (1)利用界面的方法修改学生表student,1. 修改表student (2)利用t-sql语句修改表 alter table table_name alter column column_name /*修改已有列的属性*/ new_data_type(precision,scale) nullnot null addcolumn_definition,n /*增加新列*/ dropconstratintconstraint_namecolumn,n /*删除列*/,任务3:onlinecs数据库表的修改与删除,例3.14:在用户信息表中修改“图书明细表”的属性。将字段名为“图书名称”的列长度由原来的50改为60,将名为“日期”的列的数据类型由原来的smalldatetime改为datetime。,任务3:onlinecs数据库表的修改与删除,use 图书管理系统 alter table 图书明细表 alter column 图书名称 nvarchar(60) go alter table 图书明细表 alter column 日期 datetime go,任务3:onlinecs数据库表的修改与删除,2. 删除表sc (1)利用界面的方法删除选课
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药品安全培训目的课件
- 行政办公用品采购与管理制度手册
- 中小学校党风廉政建设存在的主要问题及整改措施
- 2023年度计算机二级练习题(综合题)附答案详解
- 2025-2026学年导游资格考试试卷附答案详解【轻巧夺冠】
- 行业培训资源申请模板
- 2024年安全监察人员自我提分评估含答案详解(B卷)
- 导游资格考试能力提升B卷题库附完整答案详解【易错题】
- 执业药师资格证之《西药学专业二》检测卷讲解附答案详解【巩固】
- 建筑防腐保温工程施工现场安全保障
- 建筑施工项目管理平台使用指南
- 全球低空经济2025年技术规范与实施白皮书
- 老年人安全防范措施课件
- 民法典买租赁合同课件
- 水泵房巡检流程培训课件
- 东海证券面试题及答案
- 2025年高考数学全国新课标Ⅱ卷试卷评析及备考策略(课件)
- T_CCA 024-2022 预制菜
- MPU-2FK中频炉控制板说明书(共12页)
- 工程法语讲义-第一部分-工程总概念
- 特高压瓷绝缘子项目可行性研究报告写作范文
评论
0/150
提交评论