TP2 SQL Server数据库表管理

上传人:仙*** 文档编号:187402049 上传时间:2023-02-13 格式:PPTX 页数:55 大小:1.13MB
收藏 版权申诉 举报 下载
TP2 SQL Server数据库表管理_第1页
第1页 / 共55页
TP2 SQL Server数据库表管理_第2页
第2页 / 共55页
TP2 SQL Server数据库表管理_第3页
第3页 / 共55页
资源描述:

《TP2 SQL Server数据库表管理》由会员分享,可在线阅读,更多相关《TP2 SQL Server数据库表管理(55页珍藏版)》请在装配图网上搜索。

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

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

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

4、号980010021数学约束方法:外键约束约束方法:外键约束10自定义完整性AV121322乔峰CV0016AV372133玄痛CV0015AV378291沙悟净AV0014AV378290猪悟能AV0013AV378289AV378289孙悟空AV0012.会员证会员证用户姓名用户姓名用户编号用户编号约束方法:规那么、存储过程、触发器约束方法:规那么、存储过程、触发器触发器:检查信用值11表操作在企业管理器中演示翻开表、数据输入等操作12创立数据库表-113SQL Server的数据类型14二种:datetime,smalldatetime。说明方法:datetime用 8个字节存储日期时间

5、。日期范围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:00PM15bigint(大整数):8个字节。Int或integer(整数):4个字节(-231_ 231-1)。smallint(短整数):2个字节(-32768

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

7、oney,smallmoney。说明方法:money 两个4个字节整数存储。前面表示货币的整数局部,后面的4个字节表示小数局部。小数点后保存4位数。Smallmoney分别用两个字节表示货币的整数局部和小数局部,小数点后保存4位数。货币常量前加币值符号。例:$-120.35 货币数据类型:18思考q 号码一般使用什么数据类型存储?q 性别一般使用什么数据类型存储?q 年龄信息一般使用什么数据类型存储?q 照片信息一般使用什么数据类型存储?q 薪水一般使用什么数据类型存储?19创立数据库表-220思考q 学员姓名允许为空吗?q 家庭地址允许为空吗?q 电子邮件信息允许为空吗?q 考试成绩允许为空

8、吗?21自定义数据类型通过存储过程sp_addtype创立新的类型;用sp_droptype删除不再使用的自定义类型。sp_addtype type_namesystem_type;“NULL NOT NULL NONULL 自定义数据类型:22自定义数据类型例 在BOOKS数据库中定义一个新的数据类型,类型名称为“图书编码类型,字符型,长度为12位,不允许为空。sp_addtype 图书编码类型,char(12),not null创立用户自定义数据类型:23q练习:使用系统存储过程定义一个新的数据类型,类型名称为“价格类型,货币型,允许为空。USE BOOKSGOEXEC sp_addtyp

9、e 价格类型,money,null24自定义数据类型例 删除用户自定义数据类型“图书编码类型。USE BOOKSGOEXECUTE sp_droptype 图书编码类型删除用户自定义数据类型:25创立数据库表-326思考q 在主键列输入的数值,允许为空吗?q 一个表可以有多个主键吗?q 在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗?27选择主键的原那么q最少性q尽量选择单个键作为主键q稳定性q尽量选择数值更新少的列作为主键28创立数据库表-4q表中没有适宜的列作为主键怎么办?29思考q 标识列允许为字符数据类型吗?q

10、 如果标识列A的初始值为1,增长量为2,那么输入三行数据以后,再删除两行,下次再输入数据行的时候,标识值从多少开始?30创立数据库表-531创立数据库表-6演示建立主-外键关系32关系图演示关系图33主表和从表q 1、当主表中没有对应的记录时,不能将记录添加到子表成绩表中不能出现在学员信息表中不存在的学号;q 2、不能更改主表中的值而导致子表中的记录孤立把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变;q 3、子表存在与主表对应的记录,不能从主表中删除该行不能把有成绩的学员删除了q 4、删除主表前,先删子表先删学员成绩表、后删除学员信息表34创立数据库表-7演示建立检查约束35创立

11、数据库表完毕!输入数据项,验证主键、主外键关系、检查约束输入数据项,验证主键、主外键关系、检查约束36导入-导出数据演示导出数据为EXCEL文件37回忆表的根底知识 q 建表的根本步骤:q 确定表中有哪些列q 确定每列的数据类型q 给表添加各种约束q 创立各表之间的关系q SQL Server中的数据类型 整型数据:int smallint 浮点数据:float numeric字符数据固定长度:char(6)可变长度:varchar(10)unicode编码:nchar(10)布尔数据真/假 bit:1/0 货币数据 money日期数据 datetime38创立表q建表的语法CREATE TA

12、BLE 表名(字段1 数据类型 列的特征,字段2 数据类型 列的特征,.)列的特征:包括该列是是否为空NULL、是否是标识列自动编号、是否有默认值、是否为主键等。39创立数据表qT-SQL创立数据表的语法:CREATE TABLE 表名(字段1 数据类型 列的特征,字段2 数据类型 列的特征,.)数据类型 (长度,小数 )40创立数据表 NOT NULL 取空值约束 DEFAULT 缺省值 IDENTITY(种子值,增量)自动增量标识 CHECK 检验表达式 UNIQUE 唯一值约束 PRIMARY KEY 主键 FOREIGN KEY 外键字段名41建表例如 1USE stuDB -将当前数

13、据库设置为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),-座位号,自动编号 stuAddress TEXT -住址,允许为空,即可选输入)GONUMERIC(18,0)代表18位数字,小数位数为0演示:创立学员信息表stuInfoIDE

14、NTITY起始值,递增量 42建表例如 2CREATE TABLE stuMarks(ExamNo CHAR(7)NOT NULL,-考号 stuNo CHAR(6)NOT NULL,-学号 writtenExam INT NOT NULL,-笔试成绩 LabExam INT NOT NULL -上机成绩)GO演示:创立学员成绩表 stuMarks43删除表q 如果当前数据库中已存在stuInfo表,再次创立时系统将提示出错。如何解决呢?44删除表q删除表的语法:DROP TABLE 表名USE stuDB -将当前数据库设置为stuDB,以便在stuDB数据库中建表GOIF EXISTSSE

15、LECT*FROM sysobjects WHERE name=stuInfo DROP TABLE stuInfoCREATE TABLE stuInfo /*-创立学员信息表-*/(.)GO45回忆SQL Server的约束q 约束的目的:确保表中数据的完整型q 常用的约束类型:q 主键约束Primary Key Constraint:要求主键列数据唯一,并且不允许为空q 唯一约束Unique Constraint:要求该列唯一,允许为空,但只能出现一个空值。q 检查约束Check Constraint:某列取值范围限制、格式限制等,如有关年龄的约束q 默认约束Default Constr

16、aint:某列的默认值,如我们的男性学员较多,性别默认为“男q 外键约束Foreign Key Constraint:用于两表间建立关系,需要指定引用主表的那列46添加约束 q 添加约束的语法:ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束类型 具体的约束说明q 约束名的取名规那么推荐采用:约束类型_约束字段q 主键Primary Key约束:如 PK_stuNoq 唯一Unique Key约束:如 UQ_stuIDq 默认Default Key约束:如 DF_stuAddressq 检查Check Key约束:如 CK_stuAgeq 外键(Foreign Key)

17、约束:如 FK_stuNo 47添加约束例如ALTER TABLE stuInfo ADD CONSTRAINT PK_stuNo PRIMARY KEY(stuNo)ALTER TABLE stuInfo ADD CONSTRAINT UQ_stuID UNIQUE(stuID)ALTER TABLE stuInfo ADD CONSTRAINT DF_stuAddress DEFAULT(地址不详)FOR stuAddressALTER TABLE stuInfo ADD CONSTRAINT CK_stuAge CHECK(stuAge BETWEEN 15 AND 40)ALTER T

18、ABLE stuMarks ADD CONSTRAINT FK_stuNo FOREIGN KEY(stuNo)REFERENCES stuInfo(stuNo)GO演示:给学员信息表stuInfo添加约束添加主键约束stuNo作为主键添加唯一约束因为每人的身份证号全国唯一添加默认约束如果地址不填,默认为“地址不详添加检查check约束,要求年龄只能在1540岁之间添加外键约束主表stuInfo和从表stuMarks建立关系,关联字段为stuNo48添加约束例如演示:查看约束结果49删除约束q如果错误地添加了约束,我们还可以删除约束 q删除约束的语法ALTER TABLE 表名 DROP CO

19、NSTRAINT 约束名 例如:删除stuInfo表中地址默认约束ALTER TABLE stuInfo DROP CONSTRAINT DF_stuAddress50总结q SQL Server创立表的过程是规定数据列的属性的过程,同时也是实施数据完整性包括实体完整性、引用完整性和域完整性等保证的过程q 实体完整性数据行不能存在重复,引用完整性要求子表中的相关项必须在主表中存在q 域完整性实现了对输入到特定列的数值的限制q SQL Server中存在五种约束,分别是:主键约束、外键约束、检查约束、默认约束和唯一性约束唯一性约束将在后续课程中使用SQL语句实现51总结q 创立数据库表需要:确定

20、表的列名、数据类型、是否允许为空,还需要确定主键、必要的默认值、标识列和检查约束q 如果建立了主表和子表的关系,那么:q 子表中的相关工程的数据,在主表中必须存在;q 主表中相关项的数据更改了,那么子表对应的数据项也应当随之q 更改;q 在删除子表之前,不能够删除主表;52上机实验q1.在BOOKS数据库中,创立一个新的数据表,名称为“图书借阅信息表。q2使用企业管理器向“读者根本信息表中录入6条新记录.。q3使用SQL语言中的INSERT语句向“图书借阅信息表中参加5条新记录。53上机实验q4上机练习修改数据表中的记录信息。q5上机练习修改数据表的名称。q6上机练习使用两种方法删除数据库中的数据表。54作业q1、两种方法创立数据库Test,在此数据库中建立一个表student,包含四个字段Student_ID(整型),Student_Name(字符型),Sex字符型,要求默认值为“男,年龄整型,要求设定年龄范围在13-25范围内,设置Studetn_ID为主键,完成之后保存。q2、练习使用导入/导出数据,把示范数据库NorthWind的表Publishers导出到Excel文件。q下课之前交到156885931163 55

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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