表格模板-TP2 SQL Server数据库表管理 精品.ppt

上传人:lao****ou 文档编号:13487 上传时间:2022-09-21 格式:PPT 页数:55 大小:1.77MB
下载 相关 举报
表格模板-TP2 SQL Server数据库表管理 精品.ppt_第1页
第1页 / 共55页
表格模板-TP2 SQL Server数据库表管理 精品.ppt_第2页
第2页 / 共55页
表格模板-TP2 SQL Server数据库表管理 精品.ppt_第3页
第3页 / 共55页
表格模板-TP2 SQL Server数据库表管理 精品.ppt_第4页
第4页 / 共55页
表格模板-TP2 SQL Server数据库表管理 精品.ppt_第5页
第5页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《表格模板-TP2 SQL Server数据库表管理 精品.ppt》由会员分享,可在线阅读,更多相关《表格模板-TP2 SQL Server数据库表管理 精品.ppt(55页珍藏版)》请在第一文库网上搜索。

1、1第二章第二章SQL Server数据库表管理2回顾q数据库的作用q数据库的发展过程以及当前流行的数据库q数据库基本概念:数据存储方式、实体和记录、数据库和数据库表、数据冗余和数据完整性q使用企业管理器创建组、注册、用户q在企业管理器中创建数据库q收缩、移动和配置数据库的选项3本章目标q使用企业管理器创建数据库表q设置表的主键、外键和建立表之间的关系q为表增加约束4再论数据完整性 2-1数据完整性数据完整性可靠性可靠性准确性准确性5再论数据完整性 2-2q 数据存放在表中q “数据完整性的问题大多是由于设计引起的”q 创建表的时候,就应当保证以后数据输入是正确的错误的数据、不符合要求的数据不允

2、许输入创建表:保证数据的完整性创建表:保证数据的完整性 = 实施完整性约束实施完整性约束6完整性包括2-1q 输入的类型是否正确?年龄必须是数字q 输入的格式是否正确?身份证号码必须是18位q 是否在允许的范围内?性别只能是”男”或者”女”q 是否存在重复输入?学员信息输入了两次q 是否符合其他特定要求?信誉值大于5的用户才能够加入会员列表q 列值要求(约束)整行要求(约束)7完整性包括2-2域完整性实体完整性参照完整性自定义完整性8实体完整性河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012. .地址地址姓名

3、姓名学号学号江西南昌雷铜0010014约束方法:唯一约束、主键约束、标识列约束方法:唯一约束、主键约束、标识列9域完整性河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012. .地址地址姓名姓名学号学号湖北江门李亮8700000000约束方法:限制数据类型、检查约束、外键约束、约束方法:限制数据类型、检查约束、外键约束、默认值、非空约束默认值、非空约束10参照完整性河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012地址地址姓名姓名

4、学号学号980010021数学约束方法:外键约束约束方法:外键约束科目学号分数数学001001288数学001001374语文001001267语文001001381数学00100169811自定义完整性AV121322乔峰CV0016AV372133玄痛CV0015AV378291沙悟净AV0014AV378290猪悟能AV0013AV378289AV378289孙悟空AV0012. .会员证会员证用户姓名用户姓名用户编号用户编号约束方法:规则、存储过程、触发器约束方法:规则、存储过程、触发器帐号姓名信用.00192孙悟空700288猪悟能612333段誉890111虚竹4093000岳不群

5、-10触发器:检查信用值12表操作在企业管理器中演示打开表、数据输入等操作13创建数据库表-114SQL Server的数据类型分类分类备注和说明备注和说明数据类型数据类型说明说明二进制数据类二进制数据类型型存储非子符和文本的数据存储非子符和文本的数据Image可用来存储图像可用来存储图像文本数据类型文本数据类型字符数据包括任意字母、符字符数据包括任意字母、符号或数字字符的组合号或数字字符的组合Char固定长度的非固定长度的非 Unicode 字字符数据符数据Varchar可变长度非可变长度非 Unicode 数据数据Nchar固定长度的固定长度的 Unicode 数据数据Nvarchar可变

6、长度可变长度 Unicode 数据数据Text存储长文本信息存储长文本信息Ntext存储可变长度的长文本存储可变长度的长文本日期和时间日期和时间日期和时间在单引号内输入日期和时间在单引号内输入Datetime 日期和时间日期和时间数字数据数字数据该数据仅包含数字,包括正该数据仅包含数字,包括正数、负数以及分数数、负数以及分数intsmallint整数整数floatreal数字数字货币数据类型货币数据类型用于十进制货币值用于十进制货币值MoneyBit数据类型数据类型表示是表示是/否的数据否的数据Bit存储布尔数据类型存储布尔数据类型15二种:datetime,smalldatetime。说明方

7、法: datetime用 8个字节存储日期时间。日期范围1753/1/19999/12/31。精度到3/100秒。 smalldatetime用4个字节存储。范围1900/1/12079/6/6。精度到分。常量用单引号引起,有多种格式。时间日期数据类型:08/10/2004或08-10-2004-分隔符数字方式08102004 -数字方式A 10,2004 -英文数字例:常量2004年8月10日下午5点30分:2004-8-10 17:30:00或者8/10/2004 5:30:00PM16bigint (大整数):8个字节。Int或integer(整数):4个字节(-231_ 231-1)

8、。smallint (短整数):2个字节(-32768-32767)。tinyint (微短整数):1个字节(0-255)。Bit:只能取0、1 或 NULL。bit类型的字段或变量输入0和 NULL以外的数值都作为1处理。整数数据类型:17二种:decimal,numeric,等价。存储实数值。由数字09、正负号、小数点组成。最多38位。由整数部分和小数部分构成。说明方法:decimal(p,s)或numeric (p,s) 。 P为精度,S为小数位数;默认精度18位,默认小数位0位。精确数据类型:例:例:decimal(12,4)表示数值中表示数值中共有共有12位,位,4位小数,位小数,8

9、位整数。位整数。字段的精度为字段的精度为12位。位。18二种:money,smallmoney。说明方法: money 两个4个字节整数存储。前面表示货币的整数部分,后面的4个字节表示小数部分。小数点后保留4位数。 Smallmoney分别用两个字节表示货币的整数部分和小数部分,小数点后保留4位数。货币常量前加币值符号。例:$-120.35 货币数据类型:19思考q 电话号码一般使用什么数据类型存储?q 性别一般使用什么数据类型存储?q 年龄信息一般使用什么数据类型存储?q 照片信息一般使用什么数据类型存储?q 薪水一般使用什么数据类型存储?20创建数据库表-221思考q 学员姓名允许为空吗?

10、q 家庭地址允许为空吗?q 电子邮件信息允许为空吗?q 考试成绩允许为空吗?22自定义数据类型通过存储过程sp_addtype创建新的类型;用sp_droptype删除不再使用的自定义类型。sp_addtype type_namesystem_type;“NULL” ”NOT NULL” ”NONULL” 自定义数据类型:23自定义数据类型例 在BOOKS数据库中定义一个新的数据类型,类型名称为“图书编码类型”,字符型,长度为12位,不允许为空。sp_addtype 图书编码类型, char(12) , not null创建用户自定义数据类型:24q练习:使用系统存储过程定义一个新的数据类型,

11、类型名称为“价格类型”,货币型,允许为空。USE BOOKSGOEXEC sp_addtype 价格类型, money , null25自定义数据类型例 删除用户自定义数据类型“图书编码类型”。USE BOOKSGOEXECUTE sp_droptype 图书编码类型删除用户自定义数据类型:26创建数据库表-327思考q 在主键列输入的数值,允许为空吗?q 一个表可以有多个主键吗?q 在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗?28选择主键的原则q最少性q尽量选择单个键作为主键q稳定性q尽量选择数值更新少的列作为主

12、键29创建数据库表-4q表中没有合适的列作为主键怎么办?30思考q 标识列允许为字符数据类型吗?q 如果标识列A的初始值为1,增长量为2,则输入三行数据以后,再删除两行,下次再输入数据行的时候,标识值从多少开始?31创建数据库表-532创建数据库表-6演示建立主-外键关系33关系图演示关系图34主表和从表q 1、当主表中没有对应的记录时,不能将记录添加到子表成绩表中不能出现在学员信息表中不存在的学号;q 2、不能更改主表中的值而导致子表中的记录孤立把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变;q 3、子表存在与主表对应的记录,不能从主表中删除该行不能把有成绩的学员删除了q 4、

13、删除主表前,先删子表先删学员成绩表、后删除学员信息表35创建数据库表-7演示建立检查约束36创建数据库表完毕!输入数据项,验证主键、主外键关系、检查约束输入数据项,验证主键、主外键关系、检查约束37导入-导出数据演示导出数据为EXCEL文件38回顾表的基础知识 q 建表的基本步骤:q确定表中有哪些列q确定每列的数据类型q给表添加各种约束q创建各表之间的关系q SQL Server中的数据类型 整型数据:int smallint 浮点数据:float numeric字符数据固定长度:char(6)可变长度: varchar(10) unicode编码:nchar(10) 布尔数据(真/假) bi

14、t: 1/ 0 货币数据 money日期数据 datetime39创建表q建表的语法CREATE TABLE 表名 ( 字段1 数据类型 列的特征, 字段2 数据类型 列的特征, .)列的特征:包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。 40创建数据表qT-SQL创建数据表的语法:CREATE TABLE 表名 ( 字段1 数据类型 列的特征, 字段2 数据类型 列的特征, .) 数据类型 ( 长度 , 小数 ) 41创建数据表 NOT NULL 取空值约束 DEFAULT 缺省值 IDENTITY (种子值 , 增量) 自动增量标识 CHECK 检

15、验表达式 UNIQUE 唯一值约束 PRIMARY KEY 主键 FOREIGN KEY 外键字段名42建表示例 1USE stuDB -将当前数据库设置为stuDB GOCREATE TABLE stuInfo /*-创建学员信息表-*/( stuName VARCHAR(20) NOT NULL , -姓名,非空(必填) stuNo CHAR(6) NOT NULL, -学号,非空(必填) stuAge INT NOT NULL, -年龄,INT类型默认为4个字节 stuID NUMERIC(18,0), -身份证号 stuSeat SMALLINT IDENTITY (1,1), -座位

16、号,自动编号 stuAddress TEXT -住址,允许为空,即可选输入) GONUMERIC (18,0)代表18位数字,小数位数为0演示:创建学员信息表stuInfoIDENTITY(起始值,递增量) 43建表示例 2CREATE TABLE stuMarks( ExamNo CHAR(7) NOT NULL, -考号 stuNo CHAR(6) NOT NULL, -学号 writtenExam INT NOT NULL, -笔试成绩 LabExam INT NOT NULL -上机成绩)GO演示:创建学员成绩表 stuMarks44删除表q 如果当前数据库中已存在stuInfo表,再次创建时系统将提示出错 。如何解决呢?45删除表q删除表的语法:DROP TABLE 表名USE stuDB -将当前数据库设置为stuDB ,以便在stuDB数据库中建表GOIF EXISTS(SELECT * FROM sysobjects WHERE name=stuInfo ) DROP TABLE stuInfoCREATE TABLE stuInfo /*-创建学员信息表-*/(.)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 技术资料 > 统计图表

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服