当前位置:文档之家› 表的建立与维护

表的建立与维护


一般情况下,计算列是未实际存储在表中的虚拟列。
3.1.3 创建表
1.使用SSMS创建表
使用SQL Server Management Studio创建表
在这个交互式多媒体中,你可以 了解如何使用SQL Server Management Studio创建表,请 注意你需要为表指定一个自动增 长的列作为ID,同时另外一列将 拥有默认值。
2.使用T-SQL命令创建表 例:在xscj数据库下创建student表
2018年10月5日
第11页
3.1.2 表的数据类型
种 类 decimal, numeric float, real money, smallmoney datetime, smalldatetime char, varchar, varchar(max), text nchar, nvarchar, nvarchar(max), ntext 数据类型 int, bigint, smallint, tinyint
整数
数字
精确数值 近似数值 货币
日期和时间
字符 Non-Unicode Unicode
二进制
图像 全局标识符 XML 特殊
binary, varbinary, varbinary(max)
image uniqueidentifier
xml
bit, cursor, timestamp, sysname, table, sql_variant
3.1.1 什么是表
表类型: 普通表: 分区表: 临时表: 系统表: 表需要包含的列,每列的数据类型、精度 表中哪些列允许空值或不允许空值 表中是否设置主键,在何处设置主键 表中是否设置约束、默认值、规则 表中是否设置外键以及在何处设置
表中是否设置索引、在何处设置以及设置什么样的索引
2018年10月5日
第7页



主键是唯一确定每一行数据的方式,是一种数据完 整性对象。 主键往往是一个列或多个列的组合。一个表中最多 只能有一个主键。 一般地,应该为每一个表都指定主键,借此可以确 定行数据的唯一性。
2018年10整性对象,用来 确保表中的数据质量。 对表中数据的查询操作,只能在满足定义的约束、 默认值、规则等条件下,才能执行成功。 这些因素的考虑往往与表中数据的商业特性相关。
2018年10月5日
第5页


确定了表之后,就要确定表的内容。每一个表包含多个列, 每一个列都有一个数据类型,数字数据类型的列还需要确 定列的精度和约度,这些都是设计表时必不可少的因素。 数字列应该使用数字数据类型,字符列应该使用字符数据 类型,日期列应该使用日期数据类型。 对于数字列,需要认真考虑其精度和约度,对于字符列, 应该考虑其是否使用定长字符列和字符长度。 考虑这些因素的目标是:使得表中的列的数量尽可能地少。 如果列的数量过多,应该考虑将该表分解成两个表或多个 表。
2018年10月5日
第17页
2018年10月5日
第18页
2018年10月5日
第19页

计算列由可以使用同一表中的其他列的表达式计算 得来。表达式可以是非计算列的列名、常量、函数, 也可以是用一个或多个运算符连接的上述元素的任 意组合。表达式不能为子查询。 例如,在 AdventureWorks 示例数据库中, Sales.SalesOrderHeader 表的 TotalDue 列具有 以下定义:TotalDue AS Subtotal + TaxAmt + Freight。
一个单元可以包含以下内容中的一个:
一个单词 一个字母 一个数字 一个日期 一个NULL值,它表示该单元中没有数据
行(记录)



设计数据库实际上就是设计数据库中的表。在设计 表时,要使用尽可能少的表数量,在达到设计要求 的前提下,使每个表中包含的列的数量尽可能地少。 合理的表结构,可以大大提高整个数据库数据的查 询效率。 为了提高数据库的效率,设计出高质量的存储数据 的表,在设计表时,应该从整体上考虑下面7个因 素。
use xscj go create table student (学号 char(10) not null, 姓名 varchar(8) not null, 性别 char(2) not null, 专业 varchar(30), 出生日期 smalldatetime not null, 简历 text )
2018年10月5日
第9页

在ER图中,需要绘制出实体之间的关系。在表的设 计时,实体之间的关系需要借助主键——外键对来 实现。因此,该因素也是确保ER图完整实施的一个 重要内容。只有通过这种关系,才能确保表和表之 间强制的商业性关系。
2018年10月5日
第10页



索引也是一种数据库对象,是加快对表中数据检索 的手段,是提高数据库使用效率的一种重要方法。 在哪些列上使用索引,在哪些列上不使用索引,是 使用聚集索引,还是使用非聚集索引,是否使用全 文索引,等等。 对这些因素的认真考虑和实现,也是对表质量的更 高的要求。



ER图是描述数据库中所有实体以及实体之间关系的图形, 是辅助设计关系模型的工具。 表就是关系模型,也对应着模型中的实体,是存储数据的 对象。 在设计表时,应该综合考虑这些问题: ◦ 数据库中将要包含哪些数据? ◦ 数据库中应该包含多少表? ◦ 每一个表将要包含哪些数据? ◦ 表和表之间是否存在关系?如果存在关系,那么存在什 么样的关系?
2018年10月5日
第6页



列允许空值,表示该列可以不包含任何的数据,空值既不 是数字0,也不是空字符,而是表示未知。如果允许列包 含空值,表示可以不为该列输入具体的数据;如果不允许 列包含空值,在输入数据时必须为该列提供数据。 例如,在包含订单的orders表中,订单代码、产品代码、 客户代码等列不允许空置,但是订单描述列则可以包含空 值。 考虑这个因素的目标是,尽可能地不使用允许空值的列, 因为空值列有可能带来意想不到的查询效果。如果不得不 允许某些列为空,那么应该使得这些列的数量最少。
相关主题