数据表的创建与管理.ppt_第1页
数据表的创建与管理.ppt_第2页
数据表的创建与管理.ppt_第3页
数据表的创建与管理.ppt_第4页
数据表的创建与管理.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/8/13,主讲人:李翠琳,第4章 数据表的创建与管理,2020/8/13,2,SQL Server 2005数据库应用技术 清华大学出版社,技能目标,学会创建数据表; 学会创建和修改销售管理数据库中的数据表; 学会使用约束来保证数据的完整性。,2020/8/13,3,本章新单词,实体完整性 Entity Integrity 域完整性 Domain Integrity 参照完整性 Referential Integrity 用户定义的完整性 User - defined Integrity,2020/8/13,4,SQL Server 2005数据库应用技术 清华大学出版社,表相关的基

2、本概念,表是组织和管理数据的基本单位。 表由行和列组成的二维结构。 表中的一行称为一条记录,表中的一列称为一个字段。 说明: 每个SQL Server数据库可容纳多达20亿个表,每个表中至多可以有1024列,每一行最多允许有8086个字节。,2020/8/13,5,SQL Server 2005数据库应用技术 清华大学出版社,数据类型,数字数据 字符数据 货币数据 日期和时间数据 二进制字符串 其他数据类型,2020/8/13,6,SQL Server 2005数据库应用技术 清华大学出版社,数据类型-数字型,2020/8/13,7,SQL Server 2005数据库应用技术 清华大学出版社

3、,数据类型-货币型,2020/8/13,8,SQL Server 2005数据库应用技术 清华大学出版社,数据类型-日期型,2020/8/13,9,SQL Server 2005数据库应用技术 清华大学出版社,数据类型-字符型,2020/8/13,10,SQL Server 2005数据库应用技术 清华大学出版社,数据类型-字节二进制和图像型,2020/8/13,11,SQL Server 2005数据库应用技术 清华大学出版社,数据类型-其他数据类型,2020/8/13,12,SQL Server 2005数据库应用技术 清华大学出版社,列的属性,列的为空性 没有输入的值,未知或未定义。列值

4、可以接受空值NULL,也可以拒绝空值NOT NULL 。 IDENTITY属性 可以使表的列包含系统自动生成的数字,可以惟一地标识表的每一行,即表中的每行数据列上的数字均不相同。 IDENTITY属性的表达格式如下。 IDENTITY (s, i) 其中,s (seed) 表示起始值,i(increment) 表示增量值,其默认值为1。,2020/8/13,13,SQL Server 2005数据库应用技术 清华大学出版社,创建销售管理数据库的数据表,使用Management Studio 任务一:在销售管理数据库中,利用Management Studio 创建客户表。 使用T-SQL创建数据

5、表 任务二:在销售管理数据库中,利用 Create Table语句,创建部门表和商品表。,2020/8/13,14,SQL Server 2005数据库应用技术 清华大学出版社,创建数据表-使用Management Studio,1、在销售管理数据库中,利用Management Studio 创建客户表。 步骤: (1)启动 Management Studio。 (2)在【对象资源管理器】窗口中,展开【数据库】|【CompanySales】|【表】节点。右击【表】节点,从弹出快捷菜单中,选择【新建表】选项,出现表设计器。,2020/8/13,15,SQL Server 2005数据库应用技术

6、清华大学出版社,创建数据表-使用Management Studio(续),(3)在表设计器中,在【列名】单元格输入字段名“CustomerID”,在同一行的【数据类型】单元格设置该字段的数据类型“int”,并在【允许空】列选择是否允许该字段为空值。如果允许,则选中复选框,如果不允许,则取消选中复选框。 (4)重复(3)步骤设置“CompanyName”列、 “ContactName”列、“Phone”列、“address”列和“EmailAddress ”列。 (5)单击【文件】|【保存】或工具栏上的按钮,在出现的对话框中输入表的名称“Customer”,新表的相关信息即会出现在对象资源管理器

7、中。,2020/8/13,16,SQL Server 2005数据库应用技术 清华大学出版社,使用T-SQL创建数据表,使用CREATE TABLE语句创建数据库的基本语法格式如下。 CREATE TABLE ( NULL | NOT NULL IDENTITY ( seed ,increment ) ,n ),CREATE TABLE 表名 ( 字段1 数据类型 列的特征, 字段2 数据类型 列的特征, . ),列的特征: 包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。,2020/8/13,17,SQL Server 2005数据库应用技术 清华大学出

8、版社,创建数据表使用CREATE TABLE语句(续),2、在销售管理数据库中,利用 Create Table语句,创建部门表和商品表。 USE CompanySales GO CREATE TABLE Department - -创建部门表 ( DepartmentID int NOT NULL, DepartmentName varchar (30) NOT NULL, Manager char(8) NULL, Depart_Description varchar (50) NULL ) GO CREATE TABLE product - -创建商品表 ( ProductID int N

9、OT NULL, ProductName varchar(50) NOT NULL, Price decimal(18, 2) NULL, ProductStockNumber int NULL, ProductSellNumber int NULL ),2020/8/13,18,SQL Server 2005数据库应用技术 清华大学出版社,销售管理数据库的数据表管理,查看表结构 查看数据表的属性 查看表结构 查看表中数据 修改数据表 使用Management Studio 使用Alter Table 语句,2020/8/13,19,(1)添加列 任务三:在部门表Department中,增加两

10、列:部门人数列PersonNum,数据类型为整型,允许为空;办公地点列Office,数据类型为Varchar(50),允许为空。 代码如下: ALTER TABLE Department ADD personNum int NULL, Office Varchar(50) NULL (2)删除列,SQL Server 2005数据库应用技术 清华大学出版社,2020/8/13,20,任务四:在部门表Department中,删除两列:部门人数列PersonNum和办公室列Office。 代码如下: ALTER TABLE Department DROP COLUMN personNum ,Off

11、ice (3)修改列的定义 任务五:在部门表Department中,将部门经理列Manager的数据类型改为Varchar(20)。 代码如下: ALTER TABLE Department ALTER COLUMN Manager varchar(20),SQL Server 2005数据库应用技术 清华大学出版社,2020/8/13,21,(4)修改列名 任务六:在部门表Department中,部门经理列Manager重命名为ManagerName。 代码如下: sp_rename Department.Manager,ManagerName,COLUMN (5)删除数据表 任务七:删除部

12、门表Department。 代码如下: USE CompanySales GO DROP TABLE department Go,SQL Server 2005数据库应用技术 清华大学出版社,2020/8/13,22,(6)重命名数据表 任务八:将商品表product重命名为newProduct,然后删除newProduct表。 代码如下: USE CompanySales GO Sp_rename product,newProduct Go DROP TABLE newProduct GO,SQL Server 2005数据库应用技术 清华大学出版社,2020/8/13,23,SQL Ser

13、ver 2005数据库应用技术 清华大学出版社,数据库数据的完整性,实体完整性(Entity Integrity)约束 要求表中的每一行数据都反映不同的实体,不能存在相同的数据行。 域完整性(Domain Integrity )约束 指给定列的输入有效性。 参照完整性(Referential Integrity)约束 在输入或删除数据行时,参照完整性约束用来保持表之间已定义的 关系。 用户自定义的完整性(User - defined Integrity)约束 用来定义特定的规则。,2020/8/13,24,SQL Server 2005数据库应用技术 清华大学出版社,约束概述,约束定义 约束就

14、是限制,定义约束就是定义可输入表或表的单个列中数据的限制条件。 约束分类 主关键字约束(Primary Key Constraint) 惟一约束(Unique Constraint) 检查约束(Check Constraint) 默认约束(Default Constraint) 外关键字约束(Foreign Key Constraint),实体完整性,域完整性,参照完整性,2020/8/13,25,SQL Server 2005数据库应用技术 清华大学出版社,主键约束,使用Management Studio 创建主键约束 (演示设置主键) 使用T-SQL语句在创建表同时主键约束 在销售管理数据

15、库中,创建部门表。 代码如下: CREATE TABLE Department ( DepartmentID int NOT NULL Primary KEY, DepartmentName varchar (30) NOT NULL, Manager char(8) NULL, Depart_Description varchar (50) NULL ) GO,2020/8/13,26,使用T-SQL语句在一张现有表上添加主键约束 在创建供应商表Provider的ProviderID上,添加主键约束。 代码如下: ALTER TABLE Provider ADD Constraint PK_

16、Provider PRIMARY KEY(ProviderID),SQL Server 2005数据库应用技术 清华大学出版社,2020/8/13,27,SQL Server 2005数据库应用技术 清华大学出版社,外键约束,使用Management Studio 创建外键约束 使用Transact-SQL 语句定义外键 语法格式: CREATE TABLE (列名 数据类型 为空性 FOREIGN KEY REFERENCES ref_table (ref_column) ) 其中,参数说明如下。 REFERENCES:参照 ref_table:主键表名,要建立关联的被参照表的名称 ref_

17、column:主键列名,2020/8/13,28,【例4.21】在销售管理数据库中,创建在第一章设计的销售订单如表 4- 13所示。 代码如下: USE CompanySales GO CREATE TABLE Sell_Order ( SellOrderID int NOT NULL PRIMARY KEY, ProductID int NULL FOREIGN KEY REFERENCES product(ProductID), SellOrderNumber int NULL, employeeID int NULL FOREIGN KEY REFERENCES Employee(Emp

18、loyeeID), CustomerID int NULL FOREIGN KEY REFERENCES customer(CustomerID), SellOrderDate smalldatetime NULL,SQL Server 2005数据库应用技术 清华大学出版社,2020/8/13,29,SQL Server 2005数据库应用技术 清华大学出版社,惟一约束,惟一约束与主键约束的区别 。 惟一性约束指定的列可以有NULL 属性。但主键约束所在的列则不允许; 一个表中可以包含多个惟一约束,而主键约束则只能有一个; 创建惟一约束 创建表的同时创建UNIQUE约束 在现有的表中添加惟一

19、约束,2020/8/13,30,【例4.24】在销售管理数据库中的部门表,为部门名称列添加惟一约束,保证部门名称的不重复。创建后使用Transact-SQL 语句删除此约束。 代码如下: USE CompanySales GO ALTER TABLE department ADD CONSTRAINT un_departName UNIQUE (departmentName) GO ALTER TABLE department DROP CONSTRAINT un_departName GO,2020/8/13,31,建立表间的关系,建立表间的关系实际上就是实施参照完整性约束,建立主表和子表关

20、系。 (1)在SQL Management Studio中,在设计表的时候,在Sell_Order表中的右键菜单选择“关系”,单击“添加”。 (2)单击“表和列规范”最右侧的小按钮,将显示要建立关系的主键表以及主键列对话框。 (3)选择主表Product,主键字段为ProductID,对应的外键表Sell_Order的字段也为ProductID。单击“确定”,主-外键关系就建立了。,2020/8/13,32,SQL Server 2005数据库应用技术 清华大学出版社,检查约束,检查约束(CHECK约束)定义 实际上是验证字段输入内容的规则,表示一个字段的输入内容必须满足CHECK约束的条件,

21、若不满足,则数据无法正常输入。可以对每个列设置CHECK约束。 创建检查约束 使用Management studio 使用Transact-SQL 语句 语法结构: CONSTRAINT 约束名 CHECK ( logical_expression ) ,n,2020/8/13,33,【练习】在销售管理数据库中的商品表中,为了保证数据的质量,确保商品的价格为大于0的数,库存量和已销售量数据为非负数。 ALTER TABLE product ADD CONSTRAINT CK_PTN CHECK (price0) and (ProductStockNumber=0) and (ProductSe

22、llNumber=0),2020/8/13,34,SQL Server 2005数据库应用技术 清华大学出版社,默认值约束,默认值约束(DEFAULT)用于确保域完整性,它提供了一种为数据表中任何一列提供默认值的手段。 创建默认值约束: 1、使用Management studio 创建默认值 例4.28 在销售管理数据库中的员工表中,将“性别”列设定默认值“男”。 2、使用Transact-SQL 语句创建默认值定义 语法: CONSTRAINT 约束名 DEFAULT constant_expression FOR 列名,2020/8/13,35,【例】在销售管理数据库中的员工表中,新员工如果不到特定部门工作的话,新员工全部到“销售部”工作。 代码如下: USE CompanySales GO ALTER TABLE employee ADD CONSTRAINT def_DepartID DEFAULT (1) FOR DepartmentID,2020/8/13,36,默认值和规则,默认值 提问:默认值与默认值约束的区别是?,相同点:当用户向数据表中插入数据行时,如果没有为某列输入值,则由SQL Server自动为该列赋予默认值。 不同点:默认值是

温馨提示

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

评论

0/150

提交评论